TurboFRANK M1

TurboFRANK M1 is the most advanced model based on the RP Pico/Pico 2 board, which uses the RP2040/2350A chip.

This manual will guide you through our carefully engineered maze of jumpers and ports.

  • Raspberry Pi Pico/Pico 2 + Raspberry Pi Zero for USB keyboard/mouse support
  • HDMI/VGA/Soft Composite/external TFT video output
  • MicroSD (TF) card slot (combined large and small versions)
  • Two DB9 gamepad ports (compatible with Atari/Sega controllers)
  • RS232 port using MAX232 chip
  • PS/2 Keyboard port
  • USB Keyboard & Mouse ports
  • Standard 3.5mm audio output
  • Tape input (3.5mm)
  • TDA1387 DAC
  • Two AY-3-8910 sound chips (TurboSound)
  • Output to stereo speakers through a separate amplifier
  • USB Hub with two ports
  • PSRAM
Latest HW Revision
1.07
Compatibility
M1P1M1P2
Source CodeRepository
LicenseGPL v3
Gerber FilesDownload
Bill of MaterialsView
SchematicsDownload

Our recommended soldering sequence: SMD components first, through-hole parts second, sanity checks never. The board comes 99% pre-configured for maximum frustration and 1% 'why did I think this was a good idea?' moments.

Remember: Soldering SMD components is like a puzzle game where the prize is basic functionality and the penalty is buying a new board.

To start up the device, you will need to solder at least the Pico board pins, one of the video outputs, and the PS/2 connector.

To flash firmware, you need to press the "Boot" button on your Pico board and connect your TurboFRANK to your computer. When connected, release the "Boot" button, and a new disk will appear. Copy your firmware file to the disk. After the firmware is copied, reboot the device to load the new firmware. Remember that each firmware is designed for a specific video output, so make sure you connect the proper one before testing.

Jumpers (JP1)

PWM LPWM (software) audio output jumper, left channel. Enable if you want to use software audio output on the left channel.
PWM RPWM (software) audio output jumper, right channel. Enable if you want to use software audio output on the right channel.
TDA LTDA1387 DAC audio output jumper, left channel. Enable if you want to use the TDA1387 DAC for high-quality audio output (left channel).
TDA RTDA1387 DAC audio output jumper, right channel. Enable if you want to use the TDA1387 DAC for high-quality audio output (right channel).
TRS LHardware TurboSound audio output jumper, left channel. Enable if you want to use TurboSound.
TRS RHardware TurboSound audio output jumper, right channel. Enable if you want to use TurboSound.
SHNDShort circuit this jumper to disable the PAM8403 amplifier. This will mute the speakers if connected.
TAPE INTape loading jumper. Enable if you want to load programs from tape. Connect the audio source to the Tape In jack.
MS DATAMouse Data jumper. When enabled, the mouse data pin is connected to the Pico board's GPIO. Required for firmware with mouse support.
MS CLKMouse Clock jumper. When enabled, the mouse clock pin is connected to the Pico board's GPIO. Required for firmware with mouse support.
GPAD1First gamepad jumper. When enabled, the first gamepad is connected to the Pico board. Ensure this is set if you plan to use Gamepad 1.
GPAD2Second gamepad jumper. When enabled, the second gamepad is connected to the Pico board.
PSRAMPSRAM jumper. When enabled, the PSRAM chip is connected to the Pico board. This is required for firmware that uses PSRAM.
ZERO VBUSRP2040-Zero jumper. When enabled, the RP2040-Zero module is powered up. Enable this if you want to use the USB keyboard/mouse ports. Remember to flash the correct firmware to the Zero module.
RS232 TX, RS232 RX, RS232 CTS, RS232 RTSRS232 switches. When enabled, the corresponding RS232 pins are connected to the Pico board's GPIOs. Only enable these if you plan to use the RS232 port to avoid conflicts with other functions.
HUB VBUSUSB hub power jumper. When enabled, the USB chip is powered on.

Jumpers (JP2-JP4)

Some features require solder jumpers to be closed. These are small pads on the PCB that can be bridged with a blob of solder. Use a small amount of solder and a fine-tipped iron for best results.

JP2If you have soldered the PSRAM chip, you must also solder this jumper. It signals to the firmware that PSRAM is present.
JP3The board includes an advanced Low-Dropout Positive Fixed Voltage Regulator (NCP1117). If you choose not to install this regulator, you must solder this jumper so that +3V3 is powered by the Pico's internal regulator (not recommended for high-power setups).
JP4This (non-solder) jumper enables the Mono mode. If you are using only one speaker, you will need to short circuit this. Note: this will also enable the mono mode for all audio outputs.

Power Source

You can power up the TurboFRANK by connecting any compatible +5V power source to any of the USB ports. If you decide to solder the USB Type C port under the Pico module, it's a good idea to use it to power up the device, so other USB Type C ports of Pico & RP2040-Zero will be ready for other purposes.

If you want a more stable power source, you will need to solder the NCP1117 3.3V voltage regulator. In case you don't have it now or don't want to solder it, you will need to solder the "JP3" jumper to utilize the built-in voltage regulator of your Pico board.

Video Output

Firmware comes in three exciting flavors: 1. Works with HDMI 2. Works with VGA 3. Works on Steve's development TV via Soft Composite and is not available for public consumption. If you find yourself in the third category, congratulations! You're now part of an exclusive club of developers who enjoy the thrill of debugging on a screen that only they can see.

There is no need to configure anything because each firmware has support for different video outputs. Check the firmware documentation to see which output is supported.

Keyboard & Mouse

You can use your keyboard (and mouse in supported firmware). There are two options: either connect your PS/2 keyboard/mouse to the PS/2 port, or use a USB keyboard/mouse. To work properly, USB utilizes the built-in RP2040-Pico module which acts as the USB to PS/2 adapter here. Some firmware also support the native USB functionality, so you may use USB devices without connecting the RP2040-Zero module.

PS/2 Keyboard/Mouse Connection

  • "No jumpers required" for basic PS/2 operation
  • Connect PS/2 devices directly to the dedicated 6-pin Mini-DIN port
  • "Essential mouse configuration:" Set both "MS CLK" and "MS DATA" (JP1) jumpers to closed position

USB via RP2040-Zero Module (Because One Pico Wasn't Enough)

  • "Power configuration:" Enable "ZERO VBUS" jumper (JP1) before device connection
  • "Hardware prerequisite:" U9 chip (MW7211A) must remain "unsoldered"
  • "Hub isolation:" Keep "HUB VBUS" jumper (JP1) "disconnected"
  • Connect USB devices to RP2040-Zero's Type-C port
  • "Mouse activation:" Close both "MS CLK" and "MS DATA" (JP1) jumpers

You will need to flash the ps2x2pico firmware to the RP2040-Zero board. The mainstream version won't work because TurboFRANK uses PIO pins, so the proper UF2 file needs to be downloaded here (use the "Stacked" version). Press the "Boot" button on your RP2040-Zero board and connect it to your computer. When connected, release the "Boot" button, and a new disk will appear. Copy your firmware file to the disk. After the firmware is copied, the device will reboot and start the new firmware.

USB via Internal Hub

  • "Component requirement:" Solder MW7211A (U9) chip
  • "Power management:" Set "HUB VBUS" jumper (JP1) to closed position
  • "Module restriction:" Keep RP2040-Zero slot (CON3) "empty"
  • Connect J21 header to Raspberry Pi Pico using a cable
  • Attach USB devices to board's Type-A host port
  • "Mouse activation:" Close both "MS CLK" and "MS DATA" (JP1) jumpers
  • "Firmware note:" Native USB host mode requires custom firmware (limited firmware support)

Universal Requirements

  • "Mandatory for all mice:" Close "MS CLK" and "MS DATA" jumpers regardless of connection method
  • Verify jumper states match selected operation mode before power-on
  • Use cables with 1.5mm socket for J21-Pico connections with maximum 15cm length
  • Ensure 5V DC power supply meets USB specification requirements

Troubleshooting

If devices fail to respond: 1) Verify jumper positions 2) Check USB cable orientation on J21 3) Confirm U9 chip presence/absence per selected mode 4) Test with known-good PS/2 device first.

Audio Output

TurboFRANK supports software-based (PWM), TDA1387 DAC (I2S) and hardware TurboSound output. To choose the required output, you will need to set the corresponding jumpers of JP1:

  • "PWM L" and "PWM R" to use the software audio output
  • "TDA L" and "TDA R" to use the TDA1387 DAC
  • "TRS L" and "TRS R" to use TurboSound output

The PAM8403D integrated circuit on your board serves as an audio amplifier for connecting speakers to your audio system. For proper operation, please note the following connection instructions. The board features two dedicated speaker output connectors, JP10 and JP11, which allow you to connect left and right channel speakers respectively. When you need to temporarily disable audio output without powering down the entire system, you can utilize the "SHND" jumper located on JP1, which activates the “shutdown” pin on the PAM8403D chip, placing it in a low-power state while preserving your settings. For applications requiring only one speaker output, the JP4 jumper can be installed to activate Mono mode, which combines both audio channels into a single output. This configuration is particularly useful for space-constrained applications or when stereo separation is not required. Always ensure proper speaker impedance matching for optimal audio performance and to prevent potential damage to the amplifier circuitry.

PAM8403D and TDA1387 modules are optional; you don't need to solder them if you don't plan to use them. The software audio output (PWM) is available by default.

You may also wish to short circuit the "BEEP" jumper on your JP1 to connect the beeper. This will allow you to hear the sound from the beeper in addition to the audio output. It is only required for PWM mode; please disconnect BEEP for TDA1387 and TurboSound. The TurboSound audio enhancement system on your board employs dual AY-series sound generator chips to deliver rich, multi-channel audio output. These integrated circuits work in tandem to produce stereo waveforms or synchronized dual-mono signals, depending on configuration requirements. The SW2 (TS RST) tactile reset button provides hardware reset capabilities, allowing targeted troubleshooting without disrupting the entire audio subsystem. System status is visually communicated through LD2 and LD3 indicator LEDs. This dual-chip architecture enables advanced audio features such as layered waveform synthesis and parallel effects processing, with automatic phase synchronization between the two channels ensuring coherent output. For optimal performance, both AY chips receive stable clock signals from the designated oscillator (X1).

Tape Input

You may wish to load programs and games from your old tape player or another audio source. To do so, connect the audio output of your tape player to the "Tape In" input of TurboFRANK. The audio signal will be amplified and digitized by the Pico board, and then it will be used by the firmware. To activate the tape input, you will need to short circuit the corresponding pin of JP1:

  • "TAPE IN" to use the audio input

RS232 Port

TurboFRANK uses the MAX232 chip to convert the TTL level of the Pico board to the RS232 level (and vice versa). This allows you to connect your TurboFRANK to your computer or another device using the RS232 protocol. The RS232 port is available on the DB9 connector. To activate the RS232 functionality, you will need to short circuit the corresponding pin of JP1:

  • "RX" to connect the RX pin of the MAX232 and GPIO17 of the Pico board
  • "TX" to connect the TX pin of the MAX232 and GPIO16 of the Pico board
  • "CTS" to connect the CTS pin of the MAX232 and GPIO18 of the Pico board
  • "RTS" to connect the RTS pin of the MAX232 and GPIO19 of the Pico board

Because the gamepad 1 and PSRAM share the same GPIO pins, you may wish to disable these functions by removing the corresponding jumpers from JP1. This will allow you to use the RS232 port without any conflicts (which I haven't noticed yet, but just in case).

It's a good idea to flash firmware that works with the RS232 port, such as VersaTerm.

PSRAM

PSRAM is an optional feature that allows you to expand the memory of your TurboFRANK and is used by several firmware. Although it's optional, it's recommended to solder it to avoid any performance issues and to get compatibility with more software. To activate the soldered PSRAM, you will need to:

  • Solder the PSRAM chip
  • Short circuit the "PSRAM" jumper on the JP1 connector

Gamepads

You may connect up to two gamepads to your TurboFRANK to play games with your friends in supported firmware. The gamepads are connected to the DB9 connectors ("Gamepad 1" and "Gamepad 2", correspondingly). To activate the gamepad functionality, you will need to short circuit the corresponding pins of JP1:

  • "GPAD 1" to activate the first gamepad
  • "GPAD 2" to activate the second gamepad

Troubleshooting: When Magic Fails

  • No power? Check if you remembered that whole 'electricity' thing
  • No video? Try all firmware versions while questioning life choices
  • Random crashes? It's a feature - we're simulating vintage hardware!

When all else fails: The reset button is there for your emotional relief. Pound it like it owes you money.

Changelog

Every release is available on the Github repository.

1.07Added support for speakers via PAM8403D amplifier. Added USB hub support via MW7211A chip. Correct TurboSound resistor values. Audio schematics updated to support the same value levels for PWM/I2S/TS modes (thanks @VXDRV_RT). Updated PCB schematics (thanks @ponikrf).
1.03Stable release, all features are working. However, in order to get the TurboSound working at its best, you will need to perform the following modifications to the board schematics: 1. R3, R4, R5, and R6 need to be soldered with 4.7K resistors. 2. R9, R10, R11, and R12 need to be soldered with 2K resistors. 3. Do NOT solder R7, R8, R13, and R14 resistors.
1.01Second release, there is a bug with tape loading which does require fixing with wires. This release is not recommended for use.
1.00Initial release, there was a bug with incorrect jumper tracks. This release is not recommended for use.