Jeroen "Sprite_tm" Domburg has been working on a build with a difference: It's an ultra-compact replica of a Digital DEC VT-102 terminal, emulating a PDP-11 running 2.11BSD — all on the top of an Espressif ESP32 microcontroller.
"The thing that attracted me to the PDP11 is that the PDP line in general always has been a family of 'hackers' machines,'" Sprite_tm explains. "Its members were cheap enough to allow people to do fun stuff on, and for instance the first computer game, SpaceWar!, was written on a PDP1. It wouldn't be the last game written on a PDP machine, though: Apart from the aforementioned arcade games, all the way in Russia on a cloned PDP-11, Russian software engineer Alexey Pajitnov wrote a certain title called 'Tetris,' which later was spread all over the world."
"Nowadays, through the miracle of emulation, we can still enjoy the historical PDP-11 software. The go-to PDP-11 emulator is SIMH, which seems to run on most POSIX'y OSses. The ESP32, with ESP-IDF, has fairly decent POSIX compatibility, so why not give porting the emulator over a try?"
The software porting process, which included having to remove the ability to dynamically reconfigure the emulated PDP-11 and various unnecessary peripherals and debugging functionality, was tricky but ultimately successful — proven by running the original PDP-11 version of Tetris. Next came work on porting 2.11BSD and its TCP/IP networking stack — connected to the outside world via the ESP32's Wi-Fi radio and the ESP-NETIF abstraction layer.
Finally, Sprite_tm needed to make the project look good - so created a custom housing using a resin-based 3D printer. "I thought that for a device that's mostly there for its looks and interactivity, perhaps I'd house it in one of the things users would mostly look at it: An age-appropriate serial terminal," he notes. "I decided to pick the DEC VT-100 here (actually specifically the more common DEC VT-102) as it has a very nice industrial look and is easily recognizable."
"Additionally, actually hiding the entire PDP-11 into that terminal wasn't without precedent: the VT-100 range was designed to be expanded, and e.g. the VT-103 could incorporate a small PDP-11 system. In the case of the miniaturized PDP-11 I was building, the VT-100 would give me ample room to put in the logic board and some more."