Talko 2 Firmware & Manuals

image_pdfimage_print

Choose the manual for the firmware installed on your Talko 2. The instrument announces its firmware version when it starts.

Standard Talko 2 firmware

The firmware supplied with Talko 2. See the manual for its speech banks, controls and the standard firmware download.

Read the standard Talko 2 user manual

Talko S.A.M.

An alternate voice for the same instrument, with six presets, live effects and Visual Console lip sync. The manual covers test version 0.6.

Read the Talko S.A.M. user manual

Build your own firmware

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).

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)