[Bjonnh.net]# _

Projects / EMMG Midi Synth >


categories projects music hack techniques rp2040 electronics midi

EMMG Midi Synth

I’m organizing a MIDI workshop at PumpingStation One in September 2024. I decided to try to Work with the garage door up, and share everything as I am doing it, in the end I didn’t share as much as I wanted to. This is not meant to be a full-fleshed finished documentation more splattering my brain on a wall so I can see more clearly.

Constraints

  • Initially I was going to make two devices each < $20 but that’s more work and more risk of getting it wrong. So decided to do a roughly $25 device that combines both.
  • Can be soldered by beginners in a reasonable amount of time, so the SMDs will be pre populated.
  • Can be made by JLCPCB
  • Provide several modalities to interact (touch, rotary)
  • Provide feedback (display or leds)
  • MIDI and USB-MIDI connectivity

Reality

  • Device cost is $22 when making 20. For the first workshop I am also asking for $8 to cover the development costs (The 5 prototype boards were almost as expensive as the 20 ones!) [[#Cost breakdown]]
  • In the end, most of it will be pre-soldered except for those that want to learn. The Pico-clone I have used has bridges really close to decoupling capacitors. And the midi ports are close to SMDs so these are tricky to install as well (to fix in v3)

Software

Probably going to use CircuitPython because of synthio and other modules that are relatively easy to use for beginners. Only issue is that it is only single core, so for more advanced uses that will be insufficient. Not even sure it can drive display and touch and sound together reliably.

2024-07-13 - I received a few I2S DACs so here is the kind of sounds that thingy is going to be able to do:

A led that changes color slowly next to a tea cup with cute cats on it

Hardware

  • Raspberry Pico a new version is coming soon really excited
  • A PCM5120 I2S board this is a big chunk of the cost but it is also an annoying one to make
  • 8 Potentiometers 10K
  • Analog Multiplexer 74HC4051DRG - SSD1306 display (SPI 4 wire)
  • 1 Switch
  • Cap sensing

This leaves 2 GPIOs out of the PICO which I’ll probably leave free if they want to do their own extensions.

Current files are here: https://github.com/bjonnh/2024_emmg_workshop_midi

Current version

2024-09-05 Received the 20 boards for the workshop

20 Boards verified

2024-07-12 I have sent 5 of them for production to JLCPCB. Current cost is around $25, not including eventual customs. The cost should be a bit lower with more units, but we are still above the expected $20. Some components moved a little bit from the design below but nothing big in the DRC (for once).

Rendering of Plan 2 seen from the front with a Raspberry Pico on the top left, a tiny oled screen on its right a jack on the right of the screen. Below the screen are two jacks that cannot be seen on this render. There are 8 potentiometers vertical. A button and pads arranged in 4x3

I liked this one better, it is smaller, only one layer to solder things on, and overall a better usability. There is still some things to change, especially moving the SMDs out of the way of the MIDI ports, switch to a cap sense chip to reduce CPU load and get more GPIOs.

Schematic

Sources of inspiration

https://www.tindie.com/products/todbot/qtpy_synth/ https://diyelectromusic.com/

Cost breakdown

This is the cost when building 20, if you build only one it will likely be more expensive.

Populated boards: $8 ($5 for the board, $3 for shipping…) $1.2 for the PCB - $3.8 for the components and assembly JLCPCB Bill of material

So really, the majority of the cost is shipping and pots…

To this you need to add: - Pico or pico clone - I used those: https://www.amazon.com/dp/B0CG9BY48X $4.3 mostly because they (can) have more flash and are USB-C - PCM5102 I2S module - I used those : https://www.amazon.com/dp/B09C5QX228 they may be cheaper on your local Chinese delivery service (the one I tried to use aliexpress never let me order from them and kept flagging the account for fraud) $4.6 - Screens - Be careful about the pinouts they are not all the same what you want is GND-VCC-SCL-SDA. I used those: https://www.amazon.com/dp/B0B7RP2CVT $2.2 - Female Headers, a few cents per board I didn’t count them (used 3 20 pin, two full for the pico and a split one for screen + i2s module)

For the workshop I am adding 3d printed pot heads, and a minimal case you can slide the device in so you don’t risk shorts (at least on the bottom).

Accessories

Screen stacking pins

Spacers for screen

Holder

Made with OpenSCAD, pretty basic.

Holder for the board

Pots heads

Made with OpenSCAD as well. A bit of engineering for those, as you need them to not slip on the pots (unfortunately the pots I used for the prototype weren’t available anymore so I had to use striated ones). It has a textured surface for a nice feeling and a cross to lock into the pot.

Pots heads

Top of the pot

FAQ

  1. I want to buy one Nope this was only for a workshop with real meat in a real room. if you want something to buy, todbot is selling a similar thing on Tindie he is the one who inspired that so give it back to him.
  2. I want to build one Sure, all the code, schematics and PCBs are available here: https://github.com/bjonnh/2024_emmg_workshop_midi