genuinequality

Download free music MP3s on genuine quality, the world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, The world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, stats, charts, biographies and concerts. stats, charts, biographies and concerts.

Saturday, December 7, 2024

ESP32 WROOM Mozzi Experimenter PCB Design

Before building my Educational DIY Synth Thing I was playing with the ESP32 WROOM dev boards I'd found and was thinking about doing some Mozzi experiments. This post started to document some of the things I'd found out about the boards, but never …
Read on blog or Reader
Site logo image Simple DIY Electronic Music Projects Read on blog or Reader

ESP32 WROOM Mozzi Experimenter PCB Design

By Kevin on December 7, 2024

Before building my Educational DIY Synth Thing I was playing with the ESP32 WROOM dev boards I'd found and was thinking about doing some Mozzi experiments. This post started to document some of the things I'd found out about the boards, but never made it to a complete post.

I've now gone back and finished off the design for an experimenter pcb using the dev boards to allow me to do some more playing around with Mozzi and synthesis.

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

If you are new to microcontrollers, see the Getting Started pages.

Background Information

I'm using an entire ESP32 WROOM 32-D DevKit (as shown above) and not just the module itself. This isn't the official DevKit (note the VIN/3V3/GND pins are different I believe) but it is widely available.

Using the DevKit means I get a few extras "for free", namely:

  • Onboard voltage regulation to 3V3 via a NCP1117.
  • USB serial interface via a CH340.
  • Reset (EN) and Boot buttons.
  • Onboard LED on D2.
  • Normal pin headers including extra pins for additional GND connections and VIN.
  • USB C connector.

Power Supply

Power is provided via USB or VIN. According to the schematics I've found online (which seem to agree with what I can trace out on my board) the power circuit is as follows:

I've found some discrepancy in the capacitors values - another schematic suggests C1 here is 100nF. I also found one schematic that shows VCCUSB connected directly to VIN on the NCP1117 rather than via a diode, but my board seems to match the above.

Taking VIN on the module pinout as being the input to the NCP1117 and with a maximum dropout voltage of 1.2V (as per the NCP1117 spec) then the input range for VIN should be 4.5V up to 20V.

As already mentioned, there is an officially documented Espressif ESP32 DevKit (details here and here) but the pinout for this is different to the modules I've found that seem pretty common online.

Audio Output

In an effort to keep things relatively simple, I'm keeping with the on-board (internal) DAC of the ESP32. Marcel Licence has a great video ("ESP32 synthesizer with NODAC") showing how to hook up the two internal DAC channels to an external line out, so I'm going with essentially the same design here. From Marcel's video:

The Circuit

The PCB will support the following:

  • 8 potentiometer inputs.
  • Audio out from the two DAC channels.
  • MIDI IN and OUT (selectable UART 0 or 1).
  • Small prototyping area.
  • Direct power in (5-12V) to the on-board regulator.

One thing I wasn't sure about was the use of the strapping pins, so I've included solder bridge options to allow the re-patching (or even disconnecting) of two of the pots if required.

The pin mapping used is as follows:

2 GPIO36 / ADC1_CH0 RV2 option
3 GPIO39 / ADC1_CH3 RV1 option
4 GPIO34 / ADC1_CH6 RV8
5 GPIO35 / ADC1_CH7 RV7
6 GPIO32 / ADC1_CH4 RV6
7 GPIO33 / ADC1_CH5 RV5
8 GPIO25 / DAC 1 Audio Output
9 GPIO26 / DAC 2 Audio Output
10 GPIO27 / ADC2_CH7 RV4
11 GPIO14 / ADC2_CH6 RV3
12 GPIO12 / ADC2_CH5 RV2 option
13 GPIO13 / ADC2_CH4 RV1 option
21 GPIO16 / UART1 RX MIDI IN option
22 GPIO17 / UART1 TX MIDI OUT option
27 GPIO3 / UART0 RX MIDI IN option
28 GPIO0 / UART0 TX MIDI OUT option

All non-used GPIO pins will also be broken out to additional prototyping headers.

PCB Design

The PCB includes additional header pin connections for all pins of the DevKit and also breaks out the unused GPIO pins to a header row near the prototyping area. There is also a row of 3V3 and GND next to the prototyping area.

I've used solder jumpers on the underside of the board to change the GPIO option for RV1 and RV2.

There is also a jumper header to allow the selection of UART 0 or UART 1 for the MIDI links and MIDI supports either TRS or DIN sockets.

There is a stereo TRS for audio output connected to the two DAC outputs. With hindsight, I should have allowed a jumper option for a single DAC to drive both audio channels, but that could be easily supported with an additional jumper wire.

Closing Thoughts

Whilst a bit late for my main experiments with the ESP32, there are still plenty of things I'd like to do with them, and I've really not done very much with Mozzi itself, so I think this will end up being really quite handy.

Kevin

Comment
Like
You can also reply to this email to leave a comment.

Simple DIY Electronic Music Projects © 2024.
Manage your email settings or unsubscribe.

WordPress.com and Jetpack Logos

Get the Jetpack app

Subscribe, bookmark, and get real‑time notifications - all from one app!

Download Jetpack on Google Play Download Jetpack from the App Store
WordPress.com Logo and Wordmark title=

Automattic, Inc.
60 29th St. #343, San Francisco, CA 94110

Posted by BigPalaceNews at 6:25 AM
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

Search This Blog

About Me

BigPalaceNews
View my complete profile

Blog Archive

  • October (64)
  • September (112)
  • August (116)
  • July (96)
  • June (100)
  • May (105)
  • April (95)
  • March (131)
  • February (111)
  • January (104)
  • December (98)
  • November (87)
  • October (126)
  • September (104)
  • August (97)
  • July (112)
  • June (113)
  • May (132)
  • April (162)
  • March (150)
  • February (342)
  • January (232)
  • December (260)
  • November (149)
  • October (179)
  • September (371)
  • August (379)
  • July (360)
  • June (385)
  • May (391)
  • April (395)
  • March (419)
  • February (356)
  • January (437)
  • December (438)
  • November (400)
  • October (472)
  • September (460)
  • August (461)
  • July (469)
  • June (451)
  • May (464)
  • April (506)
  • March (483)
  • February (420)
  • January (258)
  • December (197)
  • November (145)
  • October (117)
  • September (150)
  • August (132)
  • July (133)
  • June (117)
  • May (190)
  • January (48)
Powered by Blogger.