Skip to main content

Firmware ↔ rev G pin map

Defines live in toern.ino. Net names below are from the rev G PCB.

Core defines

FirmwareTeensy pinBoard use
DATA_PIN17WS2812 / matrix data (17_A3_TX4_SDA1 net family)
INT_PIN27Shared encoder interrupt (pad 5 on encoder sockets)
INT_SD10microSD chip-select
SWITCH_12Touch / TTP223 — single mode
SWITCH_23Touch — menu
SWITCH_34Touch — record
SWITCH_46Extra switch net (board-dependent)
SWITCH_539Extra switch net (board-dependent)
BATT_ADC_PINA16 (40)VBAT divider

MIDI on Serial8 uses pins 34/35 (RX8/TX8) with enlarged buffers — TRS jacks go through the opto / buffer stage (TLP2361 U4, Schmitt 74LVC2G14 U5).

Buses (by convention)

BusPinsDevices
I²C018 / 19Encoders + SGTL5000 control
SPI (SD)10–13microSD J8
I²S (codec)(Audio library defaults on Teensy 4 + SGTL wiring)U3 data/clocks — see schematic
USBD+/D− pads on U6Via USB-C J4

When changing pins

  1. Update the PCB net / jumper and the #defines.
  2. Re-check encoder INT (must be common open-drain style as wired).
  3. Re-check SD CS vs any other SPI CS uses.
  4. Battery divider ratios in firmware must match the assembled resistors.