• Overview video

    Jonathan Brodsky11/11/2022 at 21:37 0 comments

    I made a quick video to show off a bit more about this synth for folks that are into visuals / audio for learning.

    https://diode.zone/w/2onodSXxjpuVyNCV715uzE

    Also, I got reverb working after I made this video, so here is a tune with reverb

    https://www.instagram.com/p/Ck39LkPsGd0/

  • Still in progress

    Jonathan Brodsky11/01/2022 at 20:17 0 comments

    Since my last post ... many things have happened:

    I shared a prototype with a friend and got some good feedback. This was a huge milestone for me.

    I discovered that I really don't like the buttons! So many indie electronics projects use them, but I found that they could tear off quite easily, with just a little bit of lateral force. I did a test board to try out ninja flex clear buttons - this feels like close to the correct solution - I love the brightness, and the feeling is pretty good. And most importantly, they feel much more solid than the existing buttons.

    The downside of course is that its more cost per unit, but I'm ok with that trade off. The second downside is slightly less front panel lableling space, but that's probably ok.

    I've mostly done work on the firmware since the last update. I feel like I'm closing in on a feature set now:

    • 8 channels of sampler / synthesizer (organized in two banks that mute their pair when triggered) or 16 midi. These assignments can be set per channel.
    • per pattern / channel trigger rate and loop length, 1-64 step loops, 2x-1/8x trigger rate, with a smattering of triplet rates in there
    • ~3 minutes of sampling capacity (I might make this lower to add a "song mode")
    • midi in / out sync
    • channel muting mode (like your old roland groovebox)
    • per step parameter locks (2048 per song, so you can run out ... but I'm running out of ram here)
    • per channel effects send - I've got a basic delay in, I think I can afford some other cheap effect, like a chorus or LUT based distortion

    The above is more or less working. Below are things that I'd really like to finish before the next hardware rev

    • 2 assignable AD envelopes, 2 assignable LFOs per channel - I've prototyped this, but I need to put in the ui for the assignments and make everything work more predictably.
    • midi note in - I've tested this, but there are some bad decisions with how I store notes that I need to unwind.
    • slides / legato for both internal synths and midi
    • PO / volca click sync support

    I'm also planning on cutting some features, in particular the onboard speaker / amp. I don't feel like it really makes the unit that much better, and folks will either have headphones or some other speaker. If they want a PO quality speaker, they can buy a PO, they are cheap.

    I'm 90% sure that I've figured out the horrible noise that I'm getting from the addressable LEDs, its just a matter of throwing a little RC filter on the power for them, and it goes away. Unfortunately this also means a voltage drop, but in testing I've found that I can lower the noise a sufficient amount and still keep the lights on. I'm a bit worried that when I put this on the actual unit, it won't actually work, but we will see.

    In October 22, I spent some time making loops with the unit, just to play around with it some. Not all the loops on this page use it, listen to the ones labeled TDM. Try out loop 1 (for a silly sampler workout), 7, and 16.

  • low effort log

    Jonathan Brodsky01/14/2022 at 21:58 0 comments

    Low effort project log. New enclosure, more streamlined assembly (rp2040 direct onboard). Pocket Operator for scale. Been working on firmware a bunch as well.

  • ffwd

    Jonathan Brodsky09/20/2021 at 18:32 0 comments

    This is a short update - projects not dead. Rev 5 has been built and is functional. Quick video here: https://www.instagram.com/p/CRMyKk9BBYB/

    I made the git for the project public, and uploaded schematics for rev 6.

    update 11/2/2022 I've now made the project on git not public. The reasons are: that I don't want people ordering these boards with all the issues, I'd like to sell a few of them first before people start ordering them, and I'm unsure exactly the level of opensource I want to be on.

  • rev 3

    Jonathan Brodsky04/30/2020 at 01:36 0 comments

    Assembled rev 3 over the course of the past three days - this one makes some pretty major changes:

    • dropped the AA batteries in favor of a lipo & charge circuit
    • samd10 on the frontboard to manage the buttons & LEDs. this is now fast enough to support PWMing the LEDs
    • fixed the issues with the speaker & amp, actually sounds nice now
    • sd card on sdio (yay, fast, 4bits at a time)
    • line in detection works, headphone still isn't (I swear I worked this out on the breadboard)
    • I put the wrong footprints in for the mic, so that won't work. I might be able to fix if I had hot air rework, but I don't.

    This time I bit the bullet and actually soldered stuff in, rather than putting female headers everywhere so I could rescue the expensive bits. This let me mostly assemble it, with two execeptions. I stacked up the two ffc connectors that are underneath the teensy, rather than offsetting them. Also the ffc connector doesn't actually fit underneath the battery, so I can't fit it inside the sandwich.

    I think both of these issues are fixable.


    The larger question I'm up against is if I want to take a hard turn away from teensy, and just make this an stm32 board. It would majorly lower the complexity in some ways, and definitely lower the cost. I could potentially also make it a single board, rather than this sandwich stackup.

    I think in need to grind on that question for a few more days, while I'm working on the firmware. Luckily the work that I'm doing on the firmware is transferable to whatever arm chip I end up slotting into the thing, so that isn't a huge issue.

  • Rev 1 & Rev 2

    Jonathan Brodsky04/25/2020 at 13:55 1 comment

    The Basics
    This project started because I thought it would be interesting to build my own pocket operator. There are a few other projects diy projects that come do this as well, the Teensy Beats Shield, the Wee Noise Maker, and the polaron in particular are pretty nice!

    The core was going to be a teensy 4, since it is wildly overpowered as an embedded audio platform, and I expect I can get a bunch of synth channels running at once. Outside of that, the goal is to make everything battery powered, pocket sized, and with a similar ui layout to the pocket operator.

    Rev 1
    The initial revision had the following modules:

    • A boost chip to get the AA batteries up to 3.3v - I followed the boost section from the powerboost1000.
    • A pam class d amp for the onboard speaker
    • flash memory chip
    • sgtl5000 codec (the same as the teensy audio shield)
    • audio in / out over 1/8 inch jacks

    I also build an io board that had

    • 25 buttons
    • 25 leds
    • 2 encoders
    • and a spot to drop in the oled 96x64 oled display I was using.

    This io board just broke all the various parts out to a giant pin header, and I ran the matrix from an arduino pro mini clone I had lying around. The arduino pro mini was communicated with over i2c from the teensy 4. This was the part of the project that actually worked! I got nice pwm control of the LEDs, I could get fast button responses, all sorts of nice stuff.

    The part that didn't work so well was the back board. I got the boost chip working, and the amp seemed to work (when I fed it external audio) but I irrecoverably messed up the power supply for the codec, so I couldn't get it dumping audio out. I tried changing the configuration of the codec (its a big blob of i2c nonsense you send it) but there was no audio no matter what I did. Turns out the issue was elsewhere.

    You may notice this revision is dusty as heck. The front board was ordered in september, and the backboard was from november.

    Rev 2

    I didn't make a ton of changes to the main board on this one, other than fixing the issue with the power supply for the audio codec. Once I had that up and running though, I discovered that the audio still wasn't working. I went digging, and found that the in and out lines for the i2s interface were flipped. I had copied the schematic from the teensy audio shield, and those had them flipped. Luckily I was able to easily bodge a fix for this.

    you will notice the front board is listed as r.1, I started numbering them at zero, but then changed it. Bad version control, whoops.

    The front board went through more changes. I decided not to bring the pro mini onto the board, but rather use an i2c gpio expander. I didn't do the calculations up front, but it turned out that I couldn't push data to it fast enough to accomplish pwm brightness control of the LEDs.

    I messed up the pin header for the oled, so I couldn't actually solder it into place, and due to the fact that I was adding female headers to socket the teensy, that meant it was too tall for me to mechanically assemble the sandwich anyways. I also ordered the wrong amp chip, it was a class a/b instead of a class d. I don't know that this really affected the output a ton, but I couldn't get a clean sound out of my speaker.


    The good news was that the buttons and lights basically worked, the oled basically worked, and I could write software for it. I started building a sampling drum machine for it, but got kinda bored of writing dsp code I knew had been written a million times before. A few months passed while I worked on other projects, and then I came back to it and decided to port mutable instruments plaits so I could quickly get a ton of really nice sounds.

    I also started thinking about what rev 3 for the hardware would look like. I have the hardware on hand now, and will post...

    Read more »