Mini replica of DEC PDP-11 computer runs 2.11 BSD UNIX on ESP32 SoC

The relatively popular Digital Equipment Corporation (DEC) PDP-11 16-bit minicomputers started selling in the 70s, and were still available in the earlier 90s. While being stuck in Europe due to COVID-19 restrictions, Jeroen Domburg (aka Sprite_tm) decided to design a tiny replica of a DEC VT102 PDP-11 terminal based on ESP32 wireless SoC and running 2.11 BSD UNIX through SimH PDP11 emulator.

ESP32 PDP-11 mini replica

Jeroen had to do significant work to make SimH works on ESP32 however, with notably the need to optimize the memory footprint:

Obviously, ‘just port SIMH to an ESP32’ is a bit of a understatement for the effort that was needed. Even while SIMH is a pretty nice program when it comes to not using any unique APIs, it still is a system developed for a full-blown workstation and assumes RAM is cheap and plentiful. In order to get it running on an ESP32 and still have some memory left we can use as RAM for the emulated machine, I needed to strip it down first.

He has to significantly strip the network stack and the configuration parser in order for the emulator to fit into ESP32 memory and flash storage, and also removed non-necessary peripherals including tape drives, vector monitors, punch card readers, etc… This allowed ESP32 to emulate a PDP11-23 clone (Russian made ELEKTRONIKA 60M) and run Tetris on a ESP-WROVER32-Kit with display.

ESP32 Tetris SimH emulator

Tetris was only using a few tenths of KB of RAM, while the ESP32 was also equipped with 4MB PSRAM adding to the internal RAM, so Jeroen decided to port 2.11 BSD UNIX with a full TCP/IP networking stack to the chip. The latter required the use of ESP-NETIF from the ESP-IDF tying together network interfaces and higher-level code like TCP/IP stacks.

Finally, a case had to be designed, and the final results looks cute enough, and more important appears to work just fine.

You’ll find more details about the full development process on http://spritesmods.com/?art=minipdp11spritesmods blog, as well as all resources to build your own on Github.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
7 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications