ESP32 Waveform Generator
Posted: 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:
Front view: And the backside, with lots of GPIO info:
This project will be open sourced once I have something (software/hardware) that works.
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
Front view: And the backside, with lots of GPIO info:
This project will be open sourced once I have something (software/hardware) that works.