ESP32 Waveform Generator

Tell us about your projects. Update us regularly.
Post Reply
parkview
Guru Maker
Posts: 603
Joined: Tue Jun 24, 2014 8:25 pm
Location: Busselton
Contact:

ESP32 Waveform Generator

Post by parkview » Tue Mar 08, 2022 4:55 pm

Last Saturday Hack-a-Day posted this interesting project by Debraj: https://hackaday.com/2022/03/05/low-cos ... generator/ (check out his video) I looked up the IC's he used and pondered what could be done using a ESP32. I had already found some ESP32 code to generate frequencies from 50Hz to 200KHz, so I initially thought that I didn't have a use for this. On Sunday I went for a long swim and it gave me time to reflect and flesh out a design in my head. When I arrived back home, it didn't take long to sketch out a design in KiCAD. I spent the next day laying out the PCB and as time when on, adding more features as one does when working deep on a project.

ESP32 Waveform Generator project features:
  • ESP32-Pico-D4, controls the board and can output a 50Hz to 200KHz 8bit waveform via DMA with the built in DAC
  • AD9833 SPI sine waveform generator up to 1MHz
  • MCP6S22 SPI dual channel Programmable Gain (PGA) amplifier
  • MCP4017 i2C Digital potentiometer - volume control
  • ESP32 2nd DAC to ADC pin to profile ADC linearity. Can also use this to control the frequency via a voltage, ie: a low frequency VCO
  • Rotary Encoder for onboard menu control and selection
  • power/user LED
  • WS2812B RGB LED for some status light bling
  • onboard USB UART for easy programming and serial control/reporting etc
  • WiFi webpage config and control
  • i2C OLED screen or i2C Slave function if required
  • provision for a SPI based LCD screen (I am a bit dubious about this, as there is no CS pin on my LCD)
  • provision for a static harmonic second order low pass filter - or at least 0603 pads to experiment with something if I want too
The 51mm x 48mm 4 layer PCB gerbers have been sent off to JLCPCB for manufacture, so I should have something back in early April?

Front view:
ESP32-Waveform-Generator_Front_V0.5sml.jpg
ESP32-Waveform-Generator_Front_V0.5sml.jpg (62.32 KiB) Viewed 10946 times
And the backside, with lots of GPIO info:
ESP32-Waveform-Generator_Back_V0.5sml.jpg
ESP32-Waveform-Generator_Back_V0.5sml.jpg (62.6 KiB) Viewed 10946 times

This project will be open sourced once I have something (software/hardware) that works.

Post Reply