FRANK M1 is the advanced model based on the RP Pico/Pico 2 board, which uses the RP2040/2350A chip. This board is designed for hobbyists and professionals who want a flexible, feature-rich platform for retro computing. Below you will find a detailed overview of its features, assembly tips, and usage instructions.
Latest HW Revision | 1.17 |
Compatibility | M1P1M1P2 |
Source Code | Repository |
License | GPL v3 |
Gerber Files | Download |
Bill of Materials | View |
Schematics | Download |
Proper assembly is crucial for reliable operation. Before you begin, gather all required components and tools, including a fine-tipped soldering iron, quality solder, tweezers, and flux. Work in a well-lit, ventilated area. Take your time and double-check component placement before soldering.
To start up the device, you must solder at least the Pico board pins, one of the video outputs (HDMI, VGA, Composite, or TFT), and the PS/2 connector. The rest of the components are optional but highly recommended for the best experience and full functionality. Take extra care with the orientation of polarized components such as electrolytic capacitors and diodes.
To flash firmware, press and hold the "Boot" button on your Pico board, then connect your FRANK to your computer via USB. When connected, release the "Boot" button. A new disk drive will appear on your computer. Copy your firmware file (.uf2 file) to this disk. After the firmware is copied, reboot it and start the new firmware. Each firmware is designed for a specific video output, so make sure you connect the proper one before testing. Always use the latest firmware version for best compatibility and performance.
If you encounter issues during flashing, ensure your USB cable supports data transfer (not just charging), and try a different USB port or cable if necessary. Avoid using USB hubs during flashing.
FRANK M1 includes several switches that allow you to configure hardware features. Refer to the silkscreen labels on the PCB for exact locations.
MSD | Mouse Data switch. When enabled, the mouse data pin is connected to the Pico board's GPIO. Required for firmware with mouse support. |
MSC | Mouse Clock switch. When enabled, the mouse clock pin is connected to the Pico board's GPIO. Required for firmware with mouse support. |
GP1 | First gamepad switch. When enabled, the first gamepad is connected to the Pico board. Ensure this is set if you plan to use Gamepad 1. |
GP2 | Second gamepad switch. When enabled, the second gamepad is connected to the Pico board. |
PSR | PSRAM switch. When enabled, the PSRAM chip is connected. Required if you have soldered the PSRAM chip for expanded memory. |
ZERO | RP2040-Zero switch. 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. |
TX, RX, CTS, RTS | RS232 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. |
PWL | PWM (software) audio output switch, left channel. Enable if you want to use software audio output on the left channel. |
PWR | PWM (software) audio output switch, right channel. Enable if you want to use software audio output on the right channel. |
BPR | Beeper switch. Enable if you want to have a beeper for sound effects. Only required for PWM audio mode. |
TDL | TDA1387 DAC audio output switch, left channel. Enable if you want to use the TDA1387 DAC for high-quality audio output (left channel). |
TDR | TDA1387 DAC audio output switch, right channel. Enable if you want to use the TDA1387 DAC for high-quality audio output (right channel). |
TAPE | Tape loading switch. Enable if you want to load programs from tape. Connect the audio source to the Tape In jack. |
Some features require solder jumpers (JP3, JP4) 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.
JP3 | If you have soldered the PSRAM chip, you must also solder this jumper. It signals to the firmware that PSRAM is present. Don't forget to also enable the "PSR" switch on JP1. |
JP4 | The board includes an advanced Low-Dropout Positive Fixed Voltage Regulator (NCP1117). If you choose not to install this regulator, you must solder the JP4 jumper so that +3V3 is powered by the Pico's internal regulator (not recommended for high-power setups). |
You can power up the FRANK by connecting any compatible +5V power source to any of the USB ports. For best results and reliability, use a high-quality USB power supply capable of delivering at least 1A. If you solder the USB Type C port below the Pico module, it's recommended to use it as the main power input. This leaves the other USB Type C ports on the Pico and RP2040-Zero available for data or peripheral connections.
For a more stable power source, solder the NCP1117 3.3V voltage regulator. If you don't have this regulator or choose not to install it, you must solder the JP4 jumper to use the Pico's built-in voltage regulator. Note that the Pico's regulator may not be sufficient for all peripherals.
FRANK supports four video output options: HDMI, VGA, Soft Composite, and external TFT display. Each output requires the corresponding connector to be soldered. There is no need to configure switches for video output, as each firmware version is tailored for a specific output. Check the firmware documentation to see which output is supported and ensure you have the correct connector installed.
You can use your keyboard (and mouse in supported firmware) with FRANK. There are two options: connect a PS/2 keyboard/mouse to the PS/2 port, or use a USB keyboard/mouse. USB support is provided by the RP2040-Zero module, which acts as a USB to PS/2 adapter.
PS/2 and USB ports cannot work at the same time, so you need to choose which to use. For PS/2, no additional configuration is needed. To use the USB ports, turn on the corresponding switches of JP1:
You will need to flash the ps2x2pico firmware to the RP2040-Zero board. The mainstream version won't work because FRANK 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.
FRANK M1 supports both software-based (PWM) and TDA1387 DAC (I2S) audio output. To select the desired output, turn on the corresponding switch of JP1:
The TDA1387 DAC module is optional. If you do not plan to use it, you can skip soldering it and use the default PWM audio output. For best sound quality, use shielded cables (Audiophiles: your moment has come).
You may also wish to turn on the "BEEP" switch on JP1 to connect the beeper. This will allow you to hear sound effects from the beeper in addition to the main audio output. The beeper is only required for PWM mode; disconnect it when using the TDA1387 DAC to avoid interference.
FRANK allows you to load programs and games from vintage tape players or other audio sources. Connect the audio output of your tape player to the "Tape In" input. The signal will be amplified and digitized by the Pico board, then processed by the firmware. To activate tape input, short the corresponding pin of JP1:
For best results, use a shielded cable for the tape input and keep it away from power lines and digital signals to minimize noise (and: Bonus points if you can explain to your friends what a tape is).
FRANK uses the MAX232 chip to convert the Pico board's TTL-level signals to RS232 levels, allowing connection to computers or devices using the RS232 protocol. The RS232 port is available on the DB9 connector. To activate RS232 functionality, short the corresponding pins of JP1:
Because Gamepad 1 and PSRAM share the same GPIO pins, you may wish to disable these functions by removing the turning off the corresponding switches on JP1 when using the RS232 port. This will help avoid potential conflicts, although in practice issues are rare.
It's recommended to flash firmware that supports RS232 communication, such as VersaTerm.
PSRAM is an optional feature that expands the memory of your FRANK and is used by several firmware packages. Although optional, it is recommended to solder the PSRAM chip to avoid performance issues and to ensure compatibility with more software. To activate the soldered PSRAM, you must:
Take care when soldering the PSRAM chip, as it is sensitive to heat and static electricity. Use ESD protection and avoid prolonged contact with the soldering iron.
You may connect up to two gamepads to your FRANK for multiplayer gaming in supported firmware. The gamepads connect to the DB9 connectors labeled "Gamepad 1" and "Gamepad 2". To activate gamepad functionality, turn on the corresponding switches of JP1:
Use high-quality DB9 connectors and ensure all pins are soldered securely. Test gamepad functionality in firmware after assembly.
With careful assembly and configuration, your FRANK M1 will provide a versatile and reliable platform for retro computing, gaming, and hardware experimentation. Enjoy your build! (And remember: If it works, it's not a bug—it's a feature.)
Every release is available on the Github repository.
1.17 | Stable tested version |