Talko Alternative firmwares
Talko Alternative firmwares
On this page we will list all the alternative firmwares available for Talko.
If you are a developer and you want to write your own firmware, the section below summarizes the Talko2 hardware pin map
Important note: in the Talko irmware, most inputs are configured with INPUT_PULLUP. This means they are normally HIGH and become LOW when the switch closes to GND.
Gate input note: the gate signal is inverted by a transistor on the hardware, so the RP2040 pin sees an active-low signal when an external gate is present. For this reason, the Talko firmware attaches the gate interrupt on a FALLING edge (active-low trigger).
Available alternative firmwares
- Coming soon (send me your firmware or link and I will add it here).
Hardware pin map (Talko2 / RP2040-Zero)
| Signal (firmware name) | RP2040 pin | Direction | Description | Notes |
|---|---|---|---|---|
| PIN_AUDIO | GPIO1 | OUT (PWM) | Audio PWM output | Low pass filtered PWM |
| PIN_POT_SOUND | GPIO26 / ADC0 | IN (ADC) | Sound potentiometer | Read with analogRead() |
| PIN_POT_FX | GPIO27 / ADC1 | IN (ADC) | FX potentiometer | Read with analogRead() |
| PIN_POT_SPEED | GPIO28 / ADC2 | IN (ADC) | Speed potentiometer | Read with analogRead() |
| PIN_POT_PITCH | GPIO29 / ADC3 | IN (ADC) | Pitch potentiometer | Read with analogRead() |
| PIN_GATE | GPIO2 | IN (pull-up) | Gate / trigger input | INPUT_PULLUP. The gate is inverted by a transistor on the hardware, so the RP2040 sees an active-low signal. Interrupt on FALLING in the reference firmware. |
| PIN_ROTA | GPIO3 | IN (pull-up) | Rotary encoder A | INPUT_PULLUP, interrupt on CHANGE |
| PIN_ROTB | GPIO4 | IN (pull-up) | Rotary encoder B | INPUT_PULLUP, interrupt on CHANGE |
| PIN_SELECT | GPIO13 | IN (pull-up) | Rotary select / click | INPUT_PULLUP |
| PIN_ERROR | GPIO0 | IN (pull-up) | Push button | INPUT_PULLUP |
| PIN_MODE_A | GPIO15 | IN (pull-up) | Mode select A | INPUT_PULLUP |
| PIN_MODE_B | GPIO14 | IN (pull-up) | Mode select B | INPUT_PULLUP |
| WS_PIN | GPIO16 | OUT | NeoPixel (WS2812) data | Single on-board NeoPixel |
| PIN_SEG_A | GPIO5 | OUT | 7-segment display: segment A | Digital output |
| PIN_SEG_B | GPIO6 | OUT | 7-segment display: segment B | Digital output |
| PIN_SEG_C | GPIO7 | OUT | 7-segment display: segment C | Digital output |
| PIN_SEG_D | GPIO8 | OUT | 7-segment display: segment D | Digital output |
| PIN_SEG_E | GPIO9 | OUT | 7-segment display: segment E | Digital output |
| PIN_SEG_F | GPIO10 | OUT | 7-segment display: segment F | Digital output |
| PIN_SEG_G | GPIO11 | OUT | 7-segment display: segment G | Digital output |
| PIN_SEG_DP | GPIO12 | OUT | 7-segment display: decimal point | Digital output |
If you publish your own firmware, you can send me:
- a short description
- a link (GitHub, zip, or release page)