DIY 4-channel bluetooth MIDI module Dec 4, 2022 23:51:40 GMT pol, rockysmalls, and 5 more like this
Post by ampersands on Dec 4, 2022 23:51:40 GMT
Following on from the programming forum thread - and with kudos to duddex for getting the ball rolling
This thing was a squeeze!!
Note i'm neither a coder nor an electronics whizz, so please forgive any glaring errors/bad practice. It basically works how i wanted it to, so that's good enough for me at the moment
DIY module kit
A few resistors and caps
Patience & a steady hand!
I'd decided not to use any controls on this as i wanted a pretty dedicated 4x gate and 4x CV out arrangement, thinking this would leave the whole upper board free to use. Only when i had a DIY module in my hands did i realise the top board is really pre-populated for pots, switches and LEDs, so everything ended up crammed onto the 2nd layer. It just fit - with the DAC hanging slightly over the bottom edge (in turn just leaving room for the bus connector to attach...)
Another thing i didn't realise about the DIY board until i started testing for continuity is that the 8 outputs are paired in groups of 2, so there's only 4 discrete values available. I'd planned for 4 each of both gate and CV, so settled on sending gates out on the left hand side where there would usually be inputs 1-4, and just CVs out of the regular outputs on the right.
On the breadboard i'd had trouble with noise when using the headphone amp, i tried to minimise this by squeezing a 100uf smoothing cap in between +5 and gnd right beside the ESP32, and on the upper board there was enough headroom to pop in a 470uf where power comes in off the bus. It's not perfect, but it seems to help a fair bit.
(In testing, i managed to get a quiet signal by using a DC-DC converter and putting caps on both the input and output of that, but i didn't have any space for that here - also it added about 10ma to the power consumption, and this already sucks quite a lot of juice)
I also put a secret switch under the front panel 🤫 to break the power circuit if i'm not using the module and am really worried about noise or want to save the power draw (or need to reset the board for whatever reason)
Soldering the bottom board was a challenge, there is almost zero clearance between that board and the bottom of the case - there isn't enough room even for cables to cross over - so some serious planning was needed to get everything where it needed to go. I used solder traces/bare wire where possible and only put in shrouded wire where i really had to. A few wires had to go 'round the edge' and over the top of the board to get from one end to the other.
Not having any topside pots or switches or LEDs meant i could use the pre-defined traces for those to get signals up from the lower board to the top where they could pass through small resistors before going to outputs. This came out a little chaotic with resistors criss-crossing each other madly (didn't plan this part very well), but it works! (There are defined lower connections for the outputs of course, but it was impossible to reach them with a soldering iron by this point). I was fumbling in the dark a little with the resistor values, i put tiny 47ohm ones on the gate outs, and 330ohm on the CVs. Seems to work fine. I didn't want to chance having nothing.
Finally, i wanted a nice minimalist front panel. The DIY one has pre-cut snap-out sections for controls, so I ordered a black frontpanel for the 2CVADD-HQ module, as that has no controls either. Flipped it over to get a plain black panel, and voila!
You can really see how little space there is under that module!
I did a bunch of testing with it, it works pretty well with ipad apps like Xynthesizer / Fugue Machine and other apps where you can send to multiple MIDI channels at once. I still find the timing is unreliable when using my laptop & something like Orca - this is probably a Linux thing(?). Because of the occasional timing blip i think this'll mostly be useful for slower ambient type things where strict tempo is less of an issue but i'm still glad i made it, it was an interesting challenge. Will keep me occupied until Robert finishes that long awaited MIDI module