Mathijs van den Berg's PICOx86 Emulator Turns the Raspberry Pi Pico Into a Vintage 80186 PC
Work-in-progress project builds on an open-silicon 80186 and Luke Wren's DVI video output mod to create an ultra-compact x86 PC.
Developer Mathijs van den Berg has created an emulator which turns the Raspberry Pi Pico microcontroller into a vintage x86 desktop PC — complete with 8MB of RAM, a VGA-capable DVI video output, and emulated floppy drive.
Released late last month, the Raspberry Pi Pico is a surprisingly powerful device for a $4 fully-functional microcontroller development board. Its two Arm Cortex-M0+ cores run at up to 133MHz stock or higher outside spec, which gives it enough grunt for jobs like TinyML computer vision and NES console emulation. It can even run an interactive UNIX-like operating system — and now it can run x86 code, too.
"I started this project inspired by the fact that the Pi Pico can actually output DVI streams without any external component (only 8 resistors and a connector)," van den Berg explains, referring to Luke Wren's Raspberry Pi Pico add-on which puts a DVI signal down an HDMI connector to give the microcontroller video output capabilities.
"A similar x86 project is also made by Nicolae Dumitrache with his FPGA version of a 80186, however it would be very cool if a simple MCU can have a minimal implementation too using PIO,DMA and some trial and error."
The work-in-progress emulator requires a few extra components on top of the Raspberry Pi Pico itself: In addition to the HDMI connector and resistors required for video output, the PICOx86 emulator build uses a 16Mb SPI flash chip to act as an emulated floppy drive and a 64Mb quad-SPI pseudo-static RAM (PSRAM) for operating memory.
The result: A Raspberry Pi Pico which believes itself to be an Intel 80186 PC, complete with 640x480 one-bit video output running at 60Hz, 8MB of RAM, and an emulated 1.44MB floppy drive. "The goal is that this can be programmed by connecting the Pico with USB and a simple loader," ven den Berg notes.
Thus far van den Berg has not released any source code or firmware for the project, but his progress can be followed on GitHub.