Official page: frank.rh1.tech — hub for all FRANK boards and firmware.
Text web browser for Raspberry Pi Pico 2 (RP2350) with HDMI output, PS/2 keyboard, and WiFi via ESP-01 module.
Renders HTML pages to an 80x30 character grid over HDMI. Connects to the internet through an ESP-01 running the frank-netcard AT modem firmware.
- Browses HTTP and HTTPS sites
- Parses HTML as it arrives (no full-page buffering)
- Follows redirects (301/302/307/308)
- Displays Cyrillic text (Win-1251 font with UTF-8 decoding)
- Stores WiFi credentials in flash
Uses the M2 GPIO layout. Tested on the FRANK board (RP2350-based, HDMI, PS/2, I2S audio).
- RP2350 board with M2 GPIO layout
- HDMI connector (directly connected via resistors)
- PS/2 keyboard
- ESP-01 WiFi module running frank-netcard
- I2S DAC (optional, for beeps)
HDMI (via 270 ohm resistors):
| Signal | GPIO |
|---|---|
| CLK- | 12 |
| CLK+ | 13 |
| D0- | 14 |
| D0+ | 15 |
| D1- | 16 |
| D1+ | 17 |
| D2- | 18 |
| D2+ | 19 |
PS/2 Keyboard: CLK=2, DATA=3 PS/2 Mouse: CLK=0, DATA=1 ESP-01: TX=21 (to ESP RX), RX=20 (from ESP TX) I2S Audio: DATA=9, BCLK=10, LRCLK=11
| Key | Action |
|---|---|
| Up / Down | Scroll one line |
| PgUp / PgDn | Scroll one page |
| Home / End | Top / bottom of page |
| Tab | Next link |
| Shift+Tab | Previous link |
| Enter | Follow link |
| Backspace | Back |
| Ctrl+L | Enter URL |
| Escape | Cancel / exit URL input |
| F1 | Help |
| F2 | WiFi setup |
| F5 | Reload |
You need the Pico SDK (2.2+) and ARM GCC.
git clone https://github.com/rh1tech/frank-manul.git
cd frank-manul
# Display library (required, not included)
git clone https://github.com/Panda381/DispHSTX.git lib/DispHSTX
./build.sh# BOOTSEL mode:
picotool load build/frank_manul.uf2
# Or with device running:
./flash.shThe ESP-01 must run the frank-netcard firmware, which turns it into an AT command modem (WiFi, TCP, TLS, DNS). See that repo for flashing instructions.
GPL-3.0. See LICENSE.
Hardware drivers from iris-2350 (GPL-3.0). Display library: DispHSTX by Miroslav Nemecek (permissive).
Mikhail Matveev xtreme@rh1.tech