ESP32 WROOM Educational Modular Synth Thing PCB Design

For the context of this PCB design, see: Educational DIY Synth Thing.

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

The Circuit

The key design decisions have already been documented here: Educational DIY Synth Thing – Part 2 so I won’t go over the details again now.

In considering the schematic, there are several key sections, each of which has been discussed in the above mentioned post.

Potentiometers and Multiplexer

There are three unused potentiometer inputs to the 4067 MUX so I’ve broken them out to header pins. These can be left as future expansion if required.

Trigger and Gate Inputs

There are four identical circuits for the trigger and gate inputs. Recall that the actual signal received by the microcontroller is inverted, so has to be treated as an active LOW signal.

Conrtol Voltage Inputs

These inputs should be able to cope with over or under voltage inputs whilst ensuring only a 0-3V3 signal is received by the ESP32.

PWM Oscillator Outputs

Recall that each PWM output stage uses a 470Ω resistor and 68nF capacitor for a frequency cutoff of around 5kHz. I might leave the capacitors off the two square wave outputs though (see previous discussion).

Amplifier

A speaker and line-out option has been left in the circuit, but it remains to be seen if the speaker output will be of any use or not. I am expecting to really only use the line out at this stage.

There is a simple volume control on the line out but not the speaker.

Rest of the Circuit

The remaining elements cover the ESP32 module itself, the MIDI IN circuit and the power supply.

PCB Design

The PCB design has had to follow the initial layout for the panel (as described in the previous post) so that has limited the options somewhat, but I seem to have been able to get everything in that I wanted.

This is actually a fourth or fifth iteration. As I’ve been testing the individual circuit components, the design has evolved somewhat.

Key features:

  • Rather than single-pin header inputs, there are dual inputs. This is both for the practical reason that dual-pin headers can be bought in bulk, but single pin header sockets can’t; but also that it leaves an additional pin header that could be used for an oscilloscope connection.
  • The board has included dual 3V3 and a single 5V (all plus GND) connection off to the right that can be used to power a solderless breadboard to encourage experimentation.
  • All external connections (MIDI, audio, power, power switch, etc) have been left as pin headers to be connected to an appropriate socket affixed in an appropriate place – e.g. the side of a box or enclosure; or additional panel.
  • I’ve done my best to position things accurately and neatly, including on the silkscreen.
  • The silkscreen shows component values to aid construction, but also has enough detail for the inputs and outputs to be used without a front panel if necessary.
  • The ESP32 and 7805 regulator are to be mounted on the underside of the board.

Unfortunately, the footprint for the 4067 is wrong! I’ve used a narrow 24-pin DIP socket rather than a wide 24-pin DIP. Doh! Massively annoying, but I’ll come back to that in a moment.

Panel Design

I took a copy of the PCB once laid out and pasted the pots and header pin sockets over into a new KiCAD project. This allowed me to use them as the reference for positioning the cutouts and holes for a panel design:

The pot holes are the MountingHole_8.4mm_M8_Pad footprint but I edited it to make the pad thinner. My initial thought was to allow a connection to the metal body of a potentiometer and have it screwed down.

But having ordered some pots that don’t require nuts (deliberately so – they have black shafts that can be used directly), with hindsight I’d have probably kept the solder mask on the top layer right up to the edge of the hole

The cutouts for the pin headers are made using edge cuts in the normal way. Inputs have a thin line around them – outputs have a thick line around them.

There is also a 3mm cutout for the power LED.

4067 24-pin DIP Footprint Error

As mentioned above, I made a mistake with the 4067 footprint. This was largely as I started with a 4051, 8-way multiplexer, which has the narrow footprint and when I moved to the 4067 to get more outputs, I changed the footprint for the increased number of pins without thinking it might be of a different width.

Whenever I’ve used a 4067, it has always been the SOIC version on one of those cheap breakout boards. It was only when I realised I didn’t actually have any chips and went to order some that I spotted they were only available as wide DIP packages.

Unfortunately a simple “stick it at an angle and extend the pins” bodge won’t work as it would probably make the chip too high for installation between the two rows of ADSR pots whilst remaining under the panel. This also means a stripboard converter is not an option either as there is no room on the topside of the PCB between the pots.

Annoyingly, in an earlier iteration I had the 4067 mounted on the underside of the PCB and swapped it as I decided there was no need!

In the end I designed and ordered a converter PCB to both extend and reverse the pinouts. I’ve made a PCB with three of them on, to be cut apart once received.

This will hopefully allow me to install the 4067 on the underside of the PCB instead. This will allow me to get on and test the board and possibly even use it “as is” without needing a rework straight away.

Naturally at some point I’ll rework everything, but if I do I might rework it to use one of those cheaply available 4067 breakouts instead anyway.

Closing Thoughts

Given how many times I was careful about the placing of components and silkscreen and then how many more times I reworked the board as I found out something else about the circuit, I still can’t believe I got something so fundamental as the DIP footprint wrong for the 4067.

Oh well, these things happen.

Apart from that, as a design activity, I’m quite pleased with how this has turned out so far.

Of course, I won’t actually know until I have a board in my hand, populated with components, and powered up with no magic smoke.

To be continued…

Kevin

5 thoughts on “ESP32 WROOM Educational Modular Synth Thing PCB Design

  1. @diyelectromusic.wordpress.com As usual great work. I wanted to mention two things that could be simpler and will also help with battery life. The L7805 is detrimental since it generates heat and wastes power. On the 3 volt designs, I use protected lipo cells with nothing more than a diode (with the picos and attinys) and those run stable ( for long periods of time). On my nano/lgt8 designs I use 4 AAA cells .

    Liked by 1 person

  2. @diyelectromusic.wordpress.com Your trigger circuit can also be simplified although I'm less careful than you and it's more a 'note'. I simply use 10K resistors and a 2N3904 (or BC variants). For trigger, this works reliably with the POs and the korg micromodular (and the software side is the tricky bit).

    Liked by 1 person

  3. @diyelectromusic.wordpress.com My 'much less' carefully designed rampart I use to interact with mini-mos, bastl drums & kastle, a korg micromodular and my own analog keep. I have yet to damage any of the devices. I do, however, also like the 'flaky' nature of my style 🙂

    Last thing, I have a spare mini-mo board if you'd like one. I exchanged builds with Jose a few years ago and he sent me a bunch. A very nice person.
    I wish I had more time to do this properly.

    Liked by 1 person

    1. All great comments – many thanks – will take a look over your suggestions.

      Thanks for the offer of a MiniMo, but I have several DIY versions based on the schematics, so I’m probably good on that front.

      Best wishes,
      Kevin

      Like

Leave a comment