This repository contains a ESP-32 based Syntheziser as a proof of concept board for the extension of the IES Elctronics Lab Drum Machine. The Project contains:
- Hardware design files (KiCad schematics, PCB, symbols, footprints, and 3D models)
- Firmware experiments for an ESP32-S2 using PlatformIO and Arduino framework
- Production export files (BOM, pick-and-place, netlist)
- LTspice simulation files for signal and quantization analysis
Synthesizer.kicad_pro,Synthesizer.kicad_sch,Synthesizer.kicad_pcb: Main KiCad projectPower.kicad_sch,Human_IO.kicad_sch: Additional schematic sheets/modulesDrumMachine.pretty/,Sythezizer.pretty/: Custom footprint libraries3D Modells/: 3D models used by KiCadCode/Synthesizer/: ESP32-S2 firmware workspace (PlatformIO)production/: Manufacturing exports (bom.csv,positions.csv,designators.csv,netlist.ipc)Simulations/: LTspice simulation setups and results
- KiCad 8 or newer recommended
- Optional: LTspice for simulation files in
Simulations/
- Open KiCad.
- Open
Synthesizer.kicad_pro. - Verify custom footprint libraries are available:
DrumMachine.pretty/Sythezizer.pretty/
- If 3D models are missing, map paths to files in
3D Modells/.
Manufacturing data for production via JLC PCB is available in production/:
bom.csv: Bill of materialspositions.csv: Pick-and-place coordinatesdesignators.csv: Reference designator mappingnetlist.ipc: IPC netlist export
Firmware code is in Code/Synthesizer/ and uses PlatformIO. The Project is intended for 3rd Semester Students, therefore the Code is intended to be simple and easy to undesrtand without prior Coding experience.
- VS Code + PlatformIO extension
- Or PlatformIO Core CLI (
pio) installed - USB data cable for ESP32-S2 board
From Code/Synthesizer/platformio.ini:
- Platform:
espressif32 - Framework:
arduino - Board:
esp32-s2-saola-1 - Monitor/upload speed:
460800 - USB CDC enabled on boot (
ARDUINO_USB_CDC_ON_BOOT=1)
A custom board file also exists at Code/Synthesizer/boards/Synth.json.
From Code/Synthesizer/ run:
pio run -e onetimeConversionTimeDelta
pio run -e onetimeConversionTimeDelta -t upload
pio device monitor -b 460800If auto-port detection fails, set upload_port and monitor_port in platformio.ini.
- Most source files in
src/are standalone experiments/tests. test-DAClibpins the platform to a specificplatform-espressif32release URL inplatformio.ini.- One source name differs by case (
cosineTest.cppin folder vsCosineTest.cppin config). If your OS/toolchain is case-sensitive, align these names.
Simulations/ includes LTspice assets such as:
QuantizationPWM.asc- FFT/log/raw outputs for waveform and quantization studies
This project is licensed under the MIT License.
See the LICENSE file for details.
