The FRANK 386 project enables the Raspberry Pi Pico 2 (RP2350) microcontroller to function as a full i386 PC emulator, supporting legacy software such as Windows 3.x, Windows 95, and Linux. By porting the Tiny386 engine to the RP2350, the project allows users to run vintage computing environments on a modern, low-cost microcontroller platform equipped with VGA/HDMI output and SD card storage.

This image represents the project's platform for emulating i386 PC environments.
Core Emulation and Hardware Support
FRANK 386 provides a comprehensive emulation suite for the i386 architecture, including peripheral support for the 8259 PIC, 8254 PIT, 8042 keyboard controller, and VGA. It is designed to work with the RP2350's specific hardware capabilities, such as its ability to interface with external memory and display outputs.
The project supports a variety of audio devices, including the PC Speaker, Tandy, Covox, and Disney Sound Source. Graphics are supported in both text modes and graphical modes up to a resolution of 640x480 via VGA or HDMI connections.
“i386 PC Emulator for RP2350 (Raspberry Pi Pico 2) with VGA/HDMI output, SD card storage, PS/2 and USB keyboard/mouse, NES gamepad, and audio output.”
— GitHub - rh1tech/frank-386: Tiny386 port to RP2350
Storage and Input Mechanisms
The system utilizes an SD card in SPI mode to provide storage for floppy, hard disk, and CD-ROM images. A dedicated runtime disk manager, accessible via the Win+F12 shortcut, allows users to insert or eject these images without restarting the system.

This screenshot illustrates the file management capabilities of the FRANK 386 project.
Input is handled through multiple methods: native PS/2 keyboard and mouse connections, or modern USB HID support. For specific boards like the Waveshare Z2, the system can utilize a PIO-USB implementation to handle USB host functions.
Memory Architecture and Performance Trade-offs
To achieve the memory requirements of legacy systems, FRANK 386 supports up to 8MB of RAM using an external QSPI PSRAM chip. This PSRAM must be wired to specific GPIO pins (XIP CS1) to share the bus with the flash memory.
A technical constraint exists regarding memory access speeds. While the RP2350 is significantly faster than the original 386 chips, accessing memory beyond the internal SRAM may introduce a 40-cycle access delay. This could potentially cause stuttering in certain circumstances when the emulated software frequently accesses the external PSRAM.
What Hacker News readers are saying
- Technical note: One commenter expressed concern that the RP2350's memory architecture might cause performance issues, noting that accessing memory beyond the first 640kb could result in significant cycle delays and stuttering during emulation. comment ↗
- Alternative: A commenter pointed out that a similar project already exists which runs on an ESP32. comment ↗
- Open question: One reader inquired whether the project emulates specific hardware ports like RS232 or printers, which would be necessary for reusing old embedded equipment. comment ↗
Summarized opinions from the Hacker News thread, not verified facts. Read the full discussion ↗