Skip to the content
PCBKitNew board
2 layers59.1 × 29.2 mmIgnitron, the printed circuit board in 3D

An ESP32 based foot pedal to control the Spark Amp and connect to the App using Bluetooth LE.

Size
59.1 × 29.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
23
Pads
92
Tracks, vias
116, 0
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
22 Aug 2021
Updated
23 Jul 2026

Overview

Ignitron is an open-source printed circuit board by stangreg, from the stangreg/Ignitron repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 59.1 × 29.2 mm with 27 parts on 23 nets, routed with 116 tracks and 0 vias.

Its parts include 12 resistors, 6 diodes, 6 switches, 2 connectors and 1 IC. It belongs with the audio and music boards and the ESP32 and RISC-V boards of this library.

README

hardware/README.md

Ignitron - Hardware

This document describes the hardware side of the Ignitron foot pedal.

The software that controls the Spark amp runs on an ESP32 microcontroller which needs to be connected to the actual hardware so that it's able to react to hardware events, e.g. foot switch presses, and to indicate the current state via the LEDs. All of these connections, except the power supply via USB, are made via a PCB that piggybacks onto the ESP32 board.

One objective of the PCB design was to keep things as modular as possible. This means that no cables coming from the hardware should be soldered directly to the PCB or the ESP32. For example the foot switches, LEDs and the external power supply are supposed to be connected by PCB connectors that can be connected and disconnected. In case you cannot find such connectors you can of course still solder the cables directly to the PCB.

Bill of Materials (BOM)

To keep things clean the bill of materials will differentiate between hardware like the enclosure, switches, etc. and everything that's needed to assemble the PCB.

Hardware

ComponentQuantityComment
ESP321Make sure that the dimensions and pin order matches with the PCB (details below).
SSD1306 OLED Display 128x64 0.96"1Make sure that the dimensions of the display you choose fit the OLED frame!
1590DD Enclosure1
SPST Momentary Footswitch6
LED 5mm6
LED Holder6
DC Power Jack1Optional if you only want to power via USB using the adapter.
USB Adapter Cliff CP30208N1Optional if you only want to power using the DC power jack.
USB A to Micro USB Cable1Optional if you only want to power using the DC power jack.
OLED Frame1Details below.

PCB

The PCB is provided as a KiCad PCB project (Ignitron.kicad_pcb) and must be manufactured at a service that supports KiCad projects. This can for example be OSH Park (if you are located in the USA), Aisler (if you are located in Europe). Just download the PCB project Ignitron.kicad_pcb from this site and and upload it to the service that you want to use.

The schematics for the PCB can be found here.

To populate the PCB itself you will need the following components:

RefQuantityComponentValueComment
D1, D2, D3, D4, D5, D66PCB connector with two pins-Alternatively connect the LEDs directly with cables
SW1, SW2, SW3, SW4, SW5, SW66PCB connector with two pins-Alternatively connect the switches directly with cables
J11PCB connector with two pins-Alternatively connect the power jack directly with a cable
J211x4 angled pin header-For the connection of the OLED display. Solder to lower side to be able to read the values on the top
IC121x19 female pin header-If possible get two 1x19 headers. Otherwise use 1x20 headers and cut off the unused leg.
R1, R2, R3, R4, R5, R66¼ W Resistor470RResistors for the "Drive" (R1), "Mod" (R2), "Delay" (R3), "Reverb" (R4), "Noise Gate" (R5) and "Comp" (R6) LEDs. Match with the actual LEDs.
R7, R8, R9, R10, R11, R126¼ W Resistor1KResistors for the switches

OLED Frame

The OLED frame was designed with OpenSCAD. The project file is tinyOledBezel.scad which is an adjusted version of this design.

The final STL file that can be printed at a 3D printing service is tinyOledBezel.stl. If you are located in Germany you can for example get it printed at FDM Druckservice.

The design consists of the actual frame and two bars that can be used to hold the display in place. Snap off the bars and the connector so that you are left with the frame and the two bars.

Enclosure

The following assumes that the enclosure will be ordered at Tayda Electronics. Order the following hardware/services on their main page.

Once you have ordered the items listed above go to Tayda Tool Box page and create a drill and print template.

Drill template

Setup a drill template with the following holes:

ElementSideDiameter (mm)X Position (mm)Y Position (mm)
LED DriveA8.210-75
LED ModA8.210-25
LED DelayA8.21025
LED ReverbA8.21075
LED NoiseA8.2-4725
LED CompA8.2-4775
Switch DriveA12.236.5-75
Switch ModA12.236.5-25
Switch DelayA12.236.525
Switch ReverbA12.236.575
Switch NoiseA12.2-20.525
Switch CompA12.2-20.575
Display LargeA32.2-20.5-64.2
Display Small 1A5.4-7.2-50.9
Display Small 2A5.4-33.8-50.9
Display Small 3A5.4-33.8-77.5
Display Small 4A5.4-7.2-77.5
USB BodyC24.2050
USB Screw 1C3-9.562
USB Screw 2C39.538
PowerC12.20-75

UV print

Download Ignitron-UV-Print.pdf from this site and upload it as a UV print template at the Tayda Tool Box.

⚠️ Please note that you must use a PDF viewer that supports layers if you want to take a look at the PDF on your computer. Otherwise you will likely only see the GLOSS layer which covers the actual design. If you open the PDF with a recent version of Firefox you should be able to switch the layers on and off.

Connect the drill and design template with the order

A few minutes after you have placed your order at Tayda it should be possible to connect the services from your order with the templates that you have just created. Follow the instructions on the Tayda Tool Box page.

Assembly

The following assumes that you have received the UV printed and drilled enclosure from Tayda and that you have everything else from the BOM.

Enclosure preparation

The display (frame) needs a rectangular hole in the enclosure but unfortunately it is not possible to order rectangular holes at Tayda Electronics. Therefore it is necessary to manually file away the excess material that could not be removed by the round drills in the area of the display hole. Try to file away only so much material that the OLED frame fits and can be snapped into the hole without having to glue anything. Also make sure that the enclosure is not scratched by scrap material.

  1. Cover the whole enclosure except for the display hole area with tape.
  2. File away the excess material. If you have used the provided enclosure design then the area where the display will be located is printed in white. File away (almost) all white material in that case.
  3. Once you have made sure that the OLED frame fits carefully remove the tape and clear the enclosure, e.g. by holding it under running water. Make sure that the enclosure is not scratched by scrap material!

PCB assembly

Follow these steps to solder the PCB:

  1. Solder the resistors R1 - R6. These are for the LEDs and you might need to adjust their values to adjust the brightness of the chosen LEDs.
  2. Solder the resistors R7 - R12. These are all 1 K resistors for the switches.
  3. Solder the receiving ends of the PCB connectors D1 - D6, SW1 - SW6 and J1.
  4. Solder the two 1x19 female pin headers. Please note that these go on the "lower" side of the board that says "IC1"! In general make sure that they are soldered in such a way that you can connect corresponding pins on the ESP32 and the PCB, i.e. 3V3 goes to 3V3, GND goes to GND, etc. To make sure that the headers fit well on the ESP32 once they are soldered to the PCB you can lay the ESP32 on it's back, put the two headers on it and then put the PCB on top of that to solders the first few points. If you need to use 1x20 headers the two excess pins will be in the area of the 3V3 and GND pin. Snap their electrical contacts once you have soldered the headers to the board.
  5. Solder the 1x4 angled pin header to J2. Attach it to the "lower" side of the board so that you can still read the values on the "upper" side of the board.

Final assembly

Once the enclosure is prepared and the PCB is assembled we can finally put everything together. On the main page you can find an image that shows how everything is fit into the enclosure and what goes where.

  1. Put the OLED display into the OLED frame, secure it with the bars and put the frame with the display into the enclosure.
  2. Put some insulating tape in the area where the ESP32 with the attached PCB will go.
  3. Install the LEDs and switches into the enclosure and measure how long the cables of the PCB connectors must be for each of them so they reach the PCB. Please refer to the resistor listings for R1 - R6 in the PCB BOM on how the numbers are mapped to "Drive", "Mod", etc. Example: SW1 refers to the switch for "Drive", D1 refer to the LED for "Drive".
  4. Take out the switches again to make it easier to solder them later. Keep the LEDs inside because you will need to solder them in an installed state anyway.
  5. Install the USB adapter if you want to use it.
  6. Solder the PCB connectors to the switches. The order of the cables does not matter in this case.
  7. Solder the PCB connectors to the installed LEDs. ⚠️ Please note that the order matters in this case because the connector will only connect to the receiver in one way! If you connect it the wrong way then the LEDs will not light up.
  8. Solder the PCB connector to the power jack if you want to use it. ⚠️ As with the LEDs order matters here!
  9. Install the switches into the enclosure again.
  10. Install the power jack if you want to use it.
  11. Connect the LEDs correctly to D1 - D6, the switches to SW1 - SW6 and the power jack to J1.
  12. Connect the display to the PCB.
  13. Use the USB A to Micro-USB cable to connect the adapter to the ESP32.
  14. Close the enclosure.

Test everything.

Additional Features

Battery Indicator

Starting from version 1.7.2, Ignitron can be powered by an internal battery pack and displays the remaining capacity on the LED screen.

This section explains how to build the hardware for this feature. To enable it in software, see this guide.

BOM
ComponentQuantityComment
5.5*2.1 DC JackxOptional. To power other pedals.
5.1k resistor1For voltage divider.
15k resistor1For voltage divider.
Battery pack1Supports 2S and 3S Li-ion or LiFePO4 packs.
LDO module, e.g., LM317xOptional. To reduce voltage for pedals.
AMS1117 5.01For powering ESP32.
Power switch1Power switch.

Choose the battery pack: If your pedals require 9V, a 2S Li-ion pack is a good choice as it matches the discharge profile of a 9V alkaline battery. For 12V pedals, use a 3S Li-ion pack and add an LDO to reduce the output voltage to 9V for 9V pedals. If you don't need power output, choose any battery that provides more than 5V.

Why use a 2S/3S battery pack with an LDO instead of a 1S battery with a voltage booster? LDOs do not introduce audible buzz like voltage boost chips, although they waste more energy as heat.

Connection

See Ignitron-Battery-Indicator-Schematics.pdf for details.

3D Printed case

3D Case 3D Case internal

Link to Thingiverse: Ignitron case - foot pedal for Positive Grid Spark amps

A 3D printed case that is custom made for Ignitron is contributed by user @Barsk (orginal design by @Intaker). Note that the design is made for a 1.3" OLED display (original design uses 0.96") and a 38 pin ESP32 devkit board featuring four mounting holes. There are many clones and any with the same dimension will do. A version without the holes may work, it is untested though and migh t need some hot glue perhaps for mounting.

The case is designed to power the ESP32 board directly by its own USB port, which is available from a port in the outer casing.

The case is made with an internal part that needs to be printed with a translucent filament so the LEDs can shine through. Natural PLA (uncolored transparent) works fine, transparent PETG is an option. The outer shell should be printed in an opaque color of choice. It is easy to print outer shells in various colors and change the "skin" of the Ignatron. The texts for TUNER, MAN FX, AMP, Reboot icon, LOOPER and Bank Up/Down is punched by default and will work fine if a simple one filament print is used. There is also the possibility (and recommended if you have the possibility) to print the texts with a contrasting color to make it more readable. Please view the thingiverse pages for more information.

There are two LED slots for lighting the Ignitron label on the case. The following approach is suggested. The LEDs can be powered from the +5V pin on the ESP32 which is fed from USB power. Solder a wire to +5V and to one of the GND pins and put the two LEDs in series with a 47 ohm resistor (suitable for 5mm red, yellow or green). Note that blue leds do not work here since they have to high forward voltage drop. The suggested approach is to use the J1 connector (if the PCB is used) that is unused since we instead power directly from USB. The J1 connector is already connected to +5V and GND.

Optional dedicated Preset LEDs

The case also has mounting sockets for 4 extra dedicated preset LEDs. To enable this optional functionality in the firmware please see the related section under the source Readme. If enabled it also modifies the behaviour of Ignatron to light up the FX LEDs for the selected preset instead of displaying the FX symbols in the OLED display. This way it is easy to see which Preset slot is used and exactly which FX pedals that are in use as each of them are lit by its own LED. If choosing not to use this optional functionality then just leave those extra sockets empty.

The LEDs has no connections on the PCB as this is a new addition to the functionality. Instead you need to solder the wires for the LEDs directly to the bare pins on the ESP32 board. The wires need to have the LED and a 470 ohm resistor in series. Make sure to use heat shrinkable tubes where approriate so not to short out anything. Each LED needs a connection to a GPIO pin + LED + resistor and then to ground. Make sure to connect the cathod leg to ground otherwise the LED will not light up.

Preset slotGPIO
10
24
312
415
Hardware (BOM)

The printed 3D case uses the same ESP32 board as the orginal design above. Same foot switches and same LEDs for the FX pedal sockets. In addition there are two extra 5 mm green LEDs (for the IGNITRON label) these are connected in series with one 47 ohm 1/4W resistor. Four yellow 5 mm LEDs for the preset LEDs and four 470 ohm 1/4W resistors (optional)). The OLED display is replaced by a larger SH1106 1.3" 128x64 i2C OLED.

The orginal enclosure, LED holder, USB jack and OLED frame are not used with the 3D printed case.

Parts

27
QtyValueFootprintReferences
61KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR7, R8, R9, R10, R11, R12
6LED00 Project Footprints:Conn_Socket_LEDD1, D2, D3, D4, D5, D6
1ESP32-Pinout00 Project Footprints:ESP32-PinoutIC1
1PowerIn00 Project Footprints:Conn_Socket_PowerJ1
1R_BDResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5
1R_BUResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR6
1R_P1Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
1R_P2Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2
1R_P3Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
1R_P4Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
1SSD_130600 Project Footprints:SSD_1306J2
1SW_BDNG00 Project Footprints:Conn_Socket_SwitchSW5
1SW_BUCOM00 Project Footprints:Conn_Socket_SwitchSW6
1SW_P1DRV00 Project Footprints:Conn_Socket_SwitchSW1
1SW_P2MOD00 Project Footprints:Conn_Socket_SwitchSW2
1SW_P3DLY00 Project Footprints:Conn_Socket_SwitchSW3
1SW_P4REV00 Project Footprints:Conn_Socket_SwitchSW4

Questions

How big is the Ignitron PCB?

It measures 59.1 × 29.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ignitron use?

27 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Ignitron KiCad files?

From the stangreg/Ignitron repository on GitHub, at the commit this page was made from: the board is hardware/Ignitron.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ignitron design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers47.6 × 27.3 mmMmc usb 1, the printed circuit board in 3D

    Mmc usb 1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    27 parts1.2k
  • 2 layers77.4 × 77.4 mmCORAZON LEDS CON FADE, the printed circuit board in 3D

    CORAZON LEDS CON FADE

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    27 parts915
  • 2 layers44.2 × 29.3 mmI2c tiny usb, the printed circuit board in 3D

    I2c tiny usb

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    27 parts454
  • 2 layers22 × 42 mmNvme bm to e, the printed circuit board in 3D

    Nvme bm to e

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    27 parts253GPL-3.0
  • 2 layers80 × 61 mmPicoProducer, the printed circuit board in 3D

    PicoProducer

    pjgpetecodes/pico-streamdeck

    This project is an OBS Controller using a Raspberry Pi Pico and CircuitPython.

    27 parts230MIT
  • 2 layers186 × 45 mmAddOnD, the printed circuit board in 3D

    AddOnD

    freeDSP/freeDSP-aurora

    freeDSP ADAU1452 with 8 analog input, 8 analog outputs, S/P-DIF I/O, ADAT I/O, USB Audio Class2, WiFi, Bluetooth

    27 parts226CC-BY-SA-4.0
  • 2 layers29.6 × 40.6 mmDbwifi revB, the printed circuit board in 3D

    Dbwifi revB

    ugcs/ddc

    Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.

    27 parts223