vanheusden.com

A PDP11/70 emulator running on POSIX and ESP32 systems

It is capable of running UNIX 5 upto and including UNIX 7 in multi-user mode. Since recently (April 12, 2026) it can also run BSD 2.11 UNIX in multi-user mode on an ESP32 (using DZ11 serial port multiplexer emulation). Floating point emulation is missing but that'll change eventually.

Devices supported:

And of course 4 MB RAM, MMU and 11/70 CPU.

GitHub link: kek on GitHub

Thanks a lot to Neil Webber for his help and for his python PDP emulator (which allowed me to compare disassembly of runs). Neil's emulator can be found on github.

speed

An ESP32-S3 takes about 15 minutes to boot BSD 2.11, an Intel i5-11400H needs a second.

For benchmarks, look here.

how to use it

Most things can be configured via the commandline. Run "kek -h" to see a list of commandline switches.

In the console (run kek with -d), there's on-line help available by entering "help" (+ enter).

Kek can create snapshots. That way you can restart the emulated system exactly from the point you snapshotted it. Enter "ser filename" in the console/debugger for that. Afterwards kek can be (re-)started with "kek -D filename". Note: kek must be started with the -P switch for this to work (=create disk snapshots).

It can also use a PiDP11 for the blinkenlights. For that, only run server11 on the PiDP11 and start kek with -8 ip-address.

pictures

Running on an ESP32 connected to a real VT510 terminal.
In this photo it (old version of kek) runs the XXDP diagnostics software. It booted over the network using the NBD protocol (this is a convenience feature of the emulator).

Running on Linux (should run also on *BSD and microsoft windows systems):

Also a 'SHA2017 badge' is capable of running this emulator:

Test setup: Wemos32 with a card-reader and a serial port and a led ring (which simulates the panel):

Lolin S2 mini ESP32 running UNIX 7 with the included chess program:

Picture on an ESP32S3 on which BSD 2.11 is running. Only the ESP though :-) This ESP32S3 has 4.3 MB of RAM (and 8 MB flash): more than enough to run a multi-user BSD setup.

videos

Old video showing it running UNIX 5 (in debug mode):

More recent video showing it booting UNIX 7:

Another more recent video showing it booting UNIX 7 and playing chess:

Multi user on an ESP32:

on the Internet

Since May 11, 2026 it is somewhat capable of emulating an Ethernet adapter (DEQNA). I implemented a very limited and simple HTTP-server for it. Things are reachable on http://pdp.komputilo.nl:8080/ (no ip6, no https) until it crashes.




For contact info, see this page.


bad crawlers