Skip to the content
2 layers96.5 × 96.5 mmBionic base, the printed circuit board in 3D

Modern platform to run retro CPUs

Size
96.5 × 96.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
41
Nets
107
Pads
361
Tracks, vias
789, 132
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
6 Mar 2024
Updated
7 Nov 2026

Overview

Bionic base is an open-source printed circuit board by tgtakaoka, from the tgtakaoka/retro-bionic repository on GitHub. It is a 2-layer board of 96.5 × 96.5 mm with 41 parts on 107 nets, routed with 789 tracks and 132 vias.

It is built around the TEENSY 4.1, TXS0108EPW and CSL1901UW1. Its parts include 12 capacitors, 7 ICs, 7 connectors, 5 resistors and 1 diode. It belongs with the retro computing and games boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

3

README

README.md

License PlatformIO CI Targets Boards

retro-bionic

Run real vintage CPUs on a modern Cortex-M7 — with a debugger, assembler and disassembler built in.

Bionic CPU boards

Contents

  • CPUs — every target supported and planned, with the variants each detects
  • Hardware — the board stack, signal naming and the awkward chips
  • 3.3 V base — planned second base board, its keying and what it unlocks
  • Debugger — full command reference
  • Build & run — toolchain, flashing, serial ports
  • Samples — the programs and how to run them
  • CPU speed by an assembly-language Mandelbrot — the benchmark's seconds per frame on each chip
  • Demos — recorded terminal sessions, and what to watch for in them

What is this?

Put a real MC6809, Z80, TMS9900 or CDP1802 into a ZIF socket and single-step it, one bus cycle at a time, from a terminal on your desk.

Bionic runs genuine vintage processors — not emulations of them. A Teensy 4.1 is wired to every pin of the target CPU and drives the whole system around it: the clock, every bus cycle, and the memory and peripherals the chip thinks it is talking to. One firmware image — about 470 kB including every assembler, disassembler and debugger — covers all 50 supported targets, and the board tells the controller which one it is.

Bionic hardware architecture

The hardware is two boards:

  1. Base — the Teensy 4.1, five TXS0108E level shifters for 3.3 V ↔ 5 V translation, data bus holders, the 48-pin ZIF socket and the HALT/RUN switch.
  2. CPU adapter — one small board per processor, holding little more than the chip itself, its identity EEPROM and whatever power the part demands. The TMS9900 board, for example, generates its own +12 V and −5 V rails and a non-overlapping four-phase clock, and CPUs with large address spaces carry an address bus multiplexer.

Bionic base board

The 48 signals crossing the connector are named P10–P57, and each CPU board maps them to its own pinout in a small TOML file. See docs/hardware.md.

Debugger features

  • Single-step a physical CPU and print every bus cycle it performed (S).
  • Live disassembly of the next instruction after each register dump, via libasm.
  • Registers read back by injecting instructions and capturing the resulting cycles — read and write them (r, =).
  • Breakpoints, up to 4 plus one temporary for run-until-address (B, b, g).
  • Memory dump and patch, separate program and data spaces for Harvard architectures (d, p, m, M), plus a write-protect area on targets that need one (P).
  • Upload Intel HEX or Motorola S-record straight over the serial link (U).
  • Emulated peripherals — MC6850 ACIA and i8251 USART — and on-chip serial ports of MCU targets bridged to your terminal (I).
  • Automatic board identification from a UNI/O serial EEPROM, plus runtime variant detection: one 6502 board reports MOS6502, G65SC02, R65C02, W65C02S or W65C816S depending on which die actually responds.
Debugging a TMS9900
A real TMS9900 session: registers, disassembly, single-stepping with the bus trace, then drawing the Mandelbrot set.

Supported CPUs

All 50 targets, grouped by vendor and architecture:

VendorArchitectureTargets
Motorola6800MC6800 MB8861, MC6801 HD6301, MC6802 MB8870, MC68HC11A, MC68HC11D
6805MC146805E2, MC68HC05C0, MC68HC08AZ0
6809MC6809 HD6309, MC6809E HD6309E
68HC12MC68HC12B
68HC16MC68HC16Z
MOS Technology6502MOS6502 G65SC02, R65C02, W65C02S, W65C816S
ZilogZ80Z80, Z180, NSC800, KL5C80A12, HD64180S
Z280Z280
Z380Z380
Z8000Z8001, Z8002
Z8Z86C91, Z88C00
IntelMCS-48P8048 P8039, MSM80C39
MCS-51P8051
MCS-80/85P8080, P8085
MCS-96P8095BH, N8097BH, S80C196K S80C196KB, S80C196KC, S80296SA
Texas InstrumentsTMS9900TMS9900, TMS9980, TMS9981, TMS9995, TMS99105 TMS99110
TMS7000TMS7000 TMS7002
TMS370TMS370Cx5x
TMS320TMS320C15
DECPDP-8IM6100, HD6120
RCACOSMACCDP1802 CDP1804A
FairchildF8F3850
NationalSC/MP IIINS8060
SC/MP IIIINS8070
Signetics2650SCN2650
ToshibaTLCS-90TMP90C802
HitachiH16HD641016
PanafacomMN1610MN1613 MN1613A

Targets in italics are variants the firmware identifies at runtime, by executing instructions that behave differently on each die — not by anything written on the board.

See docs/supported-cpus.md for the full table, including the CPUs still to be supported.

Repository layout

PathContents
debugger/Teensy 4.1 firmware — shared framework plus 25 per-family back ends
schematics/KiCad projects: base, mezzanine, PLCC adapter and 54 CPU adapter boards, with gerbers and PDFs
pinout/Pin-map definitions consumed by dip
samples/Test programs — Mandelbrot, arithmetic suites, serial echo — ported to every CPU
scripts/Bench control, regression, cycle recording and timing scripts, and the PlatformIO compile_commands.json helper

Related projects

ProjectRole
libasmThe assembler and disassembler engine — 41 architectures, 119 CPU variants, small enough to run on an AVR
libcliThe serial command-line front end the debugger is built on
dipDraws the pinout diagrams from the TOML files in pinout/

Resources

License

Licensed under the Apache License, Version 2.0.

Parts

41
QtyValueFootprintReferences
120.1uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C10, C11, C12, C13, C14
6MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3MH1, MH2, MH3, MH4, MH5, MH6
5TXS0108EPWti:PW20-MU1, U2, U3, U4, U5
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3, R4
2SN74ACT1071DRti:D14-MU6, U7
2USB_C_USB2.0_16Pbionic-base:GCT_USB4085-GF-A_REVBJ2, J3
11.6kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5
14.7kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1
1560Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
1Bionic_ZIF_Socket_48pinbionic-base:Aries_ZIF_socket_DIP-48-pinJ1
1CSL1901UW1rhom:LED_CSL1901UW1_ROM-MD1
1DebugConnector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_HorizontalJ7
1DebugConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1P1/P2Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_HorizontalJ4
1P3/P4Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_HorizontalJ5
1P5Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_HorizontalJ6
1Teensy4.1bionic-base:Teensy 4.1B1
1USR_SWbionic-base:SW_PUSH_LED_6mmSW1

More from tgtakaoka/retro-bionic

12
  • 4 layers30.5 × 88.9 mmBionic tms9900, the printed circuit board in 3D

    Bionic tms9900

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    35 parts6
  • 2 layers25.4 × 68.6 mmBionic cp1610, the printed circuit board in 3D

    Bionic cp1610

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    33 parts6
  • 4 layers25.4 × 68.6 mmBionic mc9s12x, the printed circuit board in 3D

    Bionic mc9s12x

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    29 parts6
  • 2 layers25.4 × 68.6 mmBionic p8080, the printed circuit board in 3D

    Bionic p8080

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    27 parts6
  • 4 layers25.4 × 68.6 mmBionic mc68hc16z, the printed circuit board in 3D

    Bionic mc68hc16z

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    26 parts6
  • 2 layers96.5 × 80 mmMezzanine, the printed circuit board in 3D

    Mezzanine

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    22 parts6
  • 2 layers25.4 × 68.6 mmBionic tms9980, the printed circuit board in 3D

    Bionic tms9980

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    21 parts6
  • 4 layers31.7 × 68.6 mmBionic mc68000fn, the printed circuit board in 3D

    Bionic mc68000fn

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    20 parts6
  • 4 layers31.7 × 68.6 mmBionic n80c286, the printed circuit board in 3D

    Bionic n80c286

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    20 parts6
  • 4 layers25.4 × 68.6 mmBionic z380, the printed circuit board in 3D

    Bionic z380

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    20 parts6
  • 2 layers25.4 × 68.6 mmBionic mc9s12d, the printed circuit board in 3D

    Bionic mc9s12d

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    19 parts6
  • 2 layers36.8 × 68.6 mmBionic hd641016, the printed circuit board in 3D

    Bionic hd641016

    tgtakaoka/retro-bionic

    Modern platform to run retro CPUs

    18 parts6

Similar boards

  • 2 layers22 × 17 mmLIDPCB, the printed circuit board in 3D

    LIDPCB

    dwynnychuk/SmartSmoker

    Upgrades for Traeger to add smart capability

    10 parts
  • 2 layers17.8 × 61 mmRocketometer teensy, the printed circuit board in 3D

    Rocketometer teensy

    kwan3217/rocketometer_teensy

    Rocketometer -- inertial, pressure, and maybe GPS sensors for measuring a sounding rocket

    16 partsBSD-3-Clause
  • 2 layersTeensy ansi, the printed circuit board in 3D

    Teensy ansi

    toshok/tansi

    toshok ansi disk emulator? teensy ansi emulator? for now it's both.

    45 parts
  • 2 layers100 × 100 mmTeensyv, the printed circuit board in 3D

    Teensyv

    kitspace-test-repos/kicad6-file-collection

    89 partsMIT
  • 4 layers68.6 × 53.3 mmIcezum, the printed circuit board in 3D

    Icezum

    FPGAwars/icezum

    :star2: IceZUM Alhambra: an Arduino-like Open FPGA electronic board

    218 parts357GPL-3.0
  • 2 layers94.5 × 74.4 mmAx58100-stm32-ethercat, the printed circuit board in 3D

    Ax58100-stm32-ethercat

    MetalMusings/MyOwnEtherCATDevice

    Documentation accompanying the "Make My Own EtherCAT device" video serie on Youtube.

    184 parts93
  • 4 layers80 × 100 mmBaseboard, the printed circuit board in 3D

    Baseboard

    NVIDIA-AI-IOT/my-jetson-nano-baseboard

    An open source Jetson Nano baseboard and tools to design your own.

    240 parts91
  • 4 layers80 × 73.8 mmESP32-Bit Pirate Dock, the printed circuit board in 3D

    ESP32-Bit Pirate Dock

    AndreiVladescu/ESP32-Bit-Pirate-Hardware

    Carrier breaker-board for the ESP32-S3 Devkit. Works great with the ESP32-Bit-Pirate firmware.

    49 parts85CERN-OHL-W-2.0

Questions

How big is the Bionic base PCB?

It measures 96.5 × 96.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bionic base use?

41 parts, built around the TEENSY 4.1, TXS0108EPW and CSL1901UW1. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Bionic base KiCad files?

From the tgtakaoka/retro-bionic repository on GitHub, at the commit this page was made from: the board is schematics/base/bionic-base.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bionic base design in my own project?

Its repository states no licence, so its author keeps all rights: ask tgtakaoka before reusing the design.