Breadboard Prototype

Build guide for the full hardware prototype — matching the interactive mockup on the home page

BRAIN + AUDIO ENCODERS (13) BUTTONS (16) PADS + LEDS DISPLAYS + WIFI NAV + MIXER I/O + STATUS
+5V GND
+5V GND
AUDIO SHIELD SGTL5000 (stacked)
TEENSY 4.1 600MHz ARM Cortex-M7 Main MCU + SD card
VOL
PAN
FILT
FX
DECAY
CUT
RES
ATK
REL
DLY
GLT
GRN
CRU
5x CTRL 4x SYNTH 4x FX
PIC
SND
INT
JRN
MENU
BACK
SHFT
PAGE
DUB
FILL
CLR
SCN
BANK
TRANSPORT / MODE / NAV FUNC
5" IPS LCD 800x480 SPI
Main Display (ILI9488)
128x64
SSD1306 Map OLED
ESP32 WiFi + BT + GPS ESP32-WROOM DevKit
NAV Joystick
PREV
NEXT
MIC
SMP
SYN
RAD
X-FADE
MPR121 Touch Sensor I2C
1
2
3
4
5
6
7
8
WS2812B x8
OUT Audio Out
HP Headphones
IN Audio In
STATUS
5V Power
Ground
I2C (SDA/SCL)
SPI (LCD)
GPIO (encoders/buttons)
ADC (faders)
UART (ESP32)
NeoPixel Data

Wiring 41 pins used

Pin assignments matching the interactive mockup. I2C devices share pins 18/19. Audio Shield I2S pins are reserved. Encoders and faders connect via MCP23017 I/O expanders + ADS1115 ADCs on the I2C bus.

Component Teensy Pin(s) Bus Notes
Audio Shield (I2S) 2, 7, 20, 21, 23 I2S SGTL5000 codec — RESERVED, do not reuse
5" LCD (ILI9488) 36 CS, 37 DC, 38 RST SPI 800x480, shares SPI bus (MOSI=11, SCK=13)
SSD1306 OLED 18 SDA, 19 SCL I2C Address 0x3C, 128x64 map display
MPR121 Touch 18 SDA, 19 SCL, 15 IRQ I2C Address 0x5A, 8 copper tape pads
5x Main Encoders 3-6, 8-12, 14, 24, 25 GPIO VOL, PAN, FILT, FX, DECAY (3 pins each)
8x Synth/FX Encoders via MCP23017 I2C CUT, RES, ATK, REL, DLY, GLT, GRN, CRU
16x Buttons 26-29 + via MCP23017 GPIO/I2C Transport, Mode, Nav, Func (4 direct + 12 expanded)
5-Way Joystick via MCP23017 I2C Up/Down/Left/Right/Select + PREV/NEXT
4x Mixer Faders via ADS1115 I2C/ADC MIC, SMP, SYN, RAD (10K linear pots)
Crossfader via ADS1115 I2C/ADC X-FADE (10K linear slide pot)
WS2812B LEDs 30 Data 8-LED ring, 5V logic
ESP32 (Serial2) 16 RX, 17 TX UART WiFi/BT/GPS @ 115200 baud
Status LEDs (3) 31, 32, 33 GPIO GPS, WiFi, Error indicators
MCP23017 #1 18 SDA, 19 SCL I2C Address 0x20 — 16 extra GPIO for encoders
MCP23017 #2 18 SDA, 19 SCL I2C Address 0x21 — 16 extra GPIO for buttons + joystick
ADS1115 18 SDA, 19 SCL I2C Address 0x48 — 4-ch 16-bit ADC for faders

Bill of Materials — Diotronic Barcelona

Diotronic — Carrer Muntaner 49, 08011 Barcelona. Mon-Fri 9:00-13:30 & 16:00-19:15, Sat 10:00-13:30. All prices include 21% IVA.

# Component Diotronic Ref Qty Unit Total
Core Boards (order online)
1 Teensy 4.1 PJRC / BricoGeek 1 €29.75 €29.75
2 Audio Shield (Rev D) PJRC / BricoGeek 1 €13.75 €13.75
3 ESP32-WROOM DevKit BricoGeek / Amazon 1 €8.00 €8.00
4 MPR121 Breakout BricoGeek / AliExpress 1 €5.00 €5.00
5 5" IPS LCD 800x480 (ILI9488 SPI) AliExpress / Amazon 1 €28.00 €28.00
6 MCP23017 I/O Expander BricoGeek / AliExpress 2 €3.00 €6.00
7 ADS1115 16-bit ADC BricoGeek / AliExpress 1 €4.00 €4.00
8 5-Way Joystick Module AliExpress 1 €2.00 €2.00
From Diotronic
9 Breadboard 830pts VTBB2N 2 €6.53 €13.06
10 Jumper wires 140pcs WJW140 2 €5.63 €11.26
11 OLED SSD1306 0.96" I2C MDIO9092 1 €8.29 €8.29
12 Rotary encoder EC11 w/switch EC11E2020SW 13 €4.54 €59.02
13 Tactile button 6x6mm DTS61N 16 €0.24 €3.84
14 Slide potentiometer 45mm 10K Diotronic / AliExpress 5 €2.50 €12.50
15 WS2812B 8-LED NeoPixel ring MDIO3212 1 €5.87 €5.87
16 Copper tape 5mm x 25m VTCFT1 1 €8.45 €8.45
17 Jack 3.5mm stereo chassis CBS35 3 €0.76 €2.28
18 Pin header male 40-pin 40PY 3 €0.79 €2.37
19 Pin header female 40-pin 40SYA 3 €0.99 €2.97
20 Resistor 10K 1/4W (pull-ups) 1035025 20 €0.02 €0.40
21 Capacitor 100nF ceramic (decoupling) CER10463 10 €0.12 €1.20
22 Capacitor 10uF electrolytic ELR10025 5 €0.05 €0.25
23 USB cable A to Micro-B 1m AK300110010S 1 €1.94 €1.94
Tools (if you don't have them)
24 Soldering station 48W VTSS4N 1 €17.15 €17.15
25 Solder wire 1mm 100g HIF00637 1 €7.50 €7.50
26 Flux paste PDS 1 €3.18 €3.18
27 Third hand 4-arm + solder holder VTHH7 1 €24.95 €24.95
Core boards + modules (items 1-8) €96.50
Diotronic parts (items 9-23) €133.70
Tools (items 24-27, if needed) €52.78
TOTAL (parts only) €230.20

MPR121 breakout is not stocked at Diotronic — order from BricoGeek, AliExpress, or Amazon. 5" LCD and MCP23017/ADS1115 modules also sourced online. Faders: look for 45mm 10K linear slide potentiometers at Diotronic or order from AliExpress (~€2.50 each).

Quick Start

  1. Solder headers onto Teensy 4.1, Audio Shield, ESP32, MCP23017s, and ADS1115. Stack the Audio Shield on top of the Teensy.
  2. Place boards on breadboards. Teensy + Audio Shield on the left breadboard, ESP32 + displays on the right. Bridge 5V and GND rails between both boards.
  3. Wire the I2C bus. Connect Teensy pin 18 (SDA) and pin 19 (SCL) to: SSD1306 OLED, MPR121, both MCP23017s, and the ADS1115. Add 4.7K pull-ups on SDA/SCL to 3.3V.
  4. Wire the 5" LCD. Connect via SPI: CS to pin 36, DC to pin 37, RST to pin 38, MOSI to pin 11, SCK to pin 13. Power from 3.3V.
  5. Wire the 5 main encoders directly to Teensy GPIO (VOL: 3/4/5, PAN: 6/14/8, FILT: 9/10/11, FX: 12/24/25, DECAY: via MCP). Use internal pull-ups.
  6. Wire the 8 synth/FX encoders to MCP23017 #1 (addr 0x20). Each encoder needs CLK + DT + SW on MCP port pins.
  7. Wire the buttons. 4 direct to Teensy (MODE: 26, SHIFT: 27, REC: 28, PLAY: 29), remaining 12 + joystick via MCP23017 #2 (addr 0x21).
  8. Wire the 4 faders + crossfader. Connect wiper pins to ADS1115 channels A0-A3 (addr 0x48). Crossfader on A3 or second ADS1115. Power from 3.3V reference.
  9. Wire the touch pads. 8 copper tape strips to MPR121 channels 0-7. Add a ground plane of copper tape underneath for better sensitivity.
  10. Wire the LED ring + jacks. WS2812B data to pin 30 with 330Ω series resistor. Connect the 3 jacks (Audio Out, Headphones, Audio In) to the Audio Shield headers.
  11. Connect ESP32. Teensy pin 17 (TX) to ESP32 RX, pin 16 (RX) to ESP32 TX. Share 3.3V and GND.
  12. Prepare the SD card. Format microSD as FAT32. Create: /samples/, /patterns/, /recordings/, /presets/. Add WAV files (44.1kHz, 16-bit) to /samples/.
  13. Flash and test. Run pio run -e teensy41 -t upload. Both displays should light up. Test pads, encoders, faders, and buttons. Press PLAY to start the sequencer.