
CPU 6809 board
roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.
MOS MultiSerial ram is an open-source printed circuit board by roberto314, from the roberto314/Unicomp2 repository on GitHub. It is a 2-layer board of 100 × 100 mm with 50 parts on 553 nets, routed with 1,248 tracks and 77 vias.
It is built around the 74AHC1G08GW, 74AHC1G14GV and 74HC14, with the 74LVC595AD and SN74LVCC4245ANSR among its other parts. Its parts include 22 connectors, 10 ICs, 5 capacitors and 4 resistors. It belongs with the retro computing and games boards of this library.
A modular 8-bit Computer able to recreate (nearly) every microcomputer of the mid 70s to early 80s in Hardware without FPGAs (although an FPGA can be added). Can also be used as a teaching tool for:
It is different from other designs because of these points:
Version 2.00
Unicomp plus Logic Analyzer:

Input board:
CPU board:
6502 Board:

Multi Serial Board:

Multi Parallel boaŕd:
RAMROM board:
Prototype board:
MAX-II (EPM240) board:
self made module:
The configuration is done with 128kx8 fast ram on the peripheral boards. These will be configured from the STM32F401. One bit is for one Output (of which there are two) and for two addresses (resolution for chipselect is 2 bytes). The cs = 15 is for writing the main RAM, cs = 14 is the chip select for the RAMROM board. The rest is free. With two chip select lines per board these are 28 lines. One byte in the mapping ram has the following format:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Bits |
|---|---|---|---|---|---|---|---|---|
| 7,6 | 5,4 | 3,2 | 1,0 | 7,6 | 5,4 | 3,2 | 1,0 | Address |
| /CS0 | /CS0 | /CS0 | /CS0 | /CS1 | /CS1 | /CS1 | /CS1 | Peripheral |
| /CS | /CS | /CS | /CS | WP | WP | WP | WP | RAMROM |
So 128k are good for 128kx8 Bytes of Addressspace (=1MByte) The data gets transferred to the STM32 in compact form. Only the Start address, the chipselect and the bitmask (which is Low-active) for every addresses where someting changes are transferred. A 0xFE for a bitmask means Peripheral chipselect /CS1 is active for two addresses. If the board is the RAMROM board the low nibble is Writeprotect (Hi-active).
A simple configuration block looks líke this:
(RAM: 0-9FFF, ACIA0: A000-A001, ACIA1: A010-A011, ROM: C000-FFFF)
00 00 00 0E 00 : RAM
00 A0 00 00 EF : ACIA0
00 A0 02 FF FF : HOLE
00 A0 10 00 FE : ACIA1
00 A0 12 FF FF : HOLE
00 C0 00 0E 0F : ROM
01 00 00 FF FF : END
00 00 00 : noting further| Name | prim. IO | chips used | os | weblink |
|---|---|---|---|---|
| Grant Searle 6502 board | serial | MOS6502, MC6850 | OSI Basic | Link: http://searle.x10host.com/6502/Simple6502.html |
| Daryl Rictor 6502 board | serial | MOS6502, R6551 | SBC-2 (monitor only) | Link: https://sbc.rictor.org/info2.html |
| Daryl Rictor 6502 board | serial | MOS6502, MC6850 | SBC-2 (monitor only) | Link: https://sbc.rictor.org/info2.html |
| SYM1 | serial | MOS6502, UM6532 | SYM1 ( +BASIC +RAE) | Link: http://retro.hansotten.nl/6502-sbc/synertek-sym-ktm/sym-1/ |
| KIM1 | serial | MOS6502, UM6532 | KIM1 | Link: http://retro.hansotten.nl/6502-sbc/kim-1-manuals-and-software/ |
| Apple I | serial | MOS6502, MĆ6821 (plus Arduino) | Wozmon + BASIC | Link: http://retro.hansotten.nl/6502-sbc/apple-1/ |
| Motorola MEK D2 | serial | MC6802, MĆ6850 | newbug, xswtbug, mondeb | Link: https://www.retrotechnology.com/restore/smithbug.html |
| Motorola MEK D1 | serial | MC6802, MĆ6821 (plus Arduino) | Mikbug | Link: https://www.retrotechnology.com/restore/smithbug.html |
| Heathkit ET3400 | serial | MC6802, MĆ6850 | MITS BASIC, TSC MicroBASIC,... | Link: https://github.com/jefftranter |
| SWTPC 6800 | serial | MC6802, MĆ6821 (plus Arduino) | Mikbug | Link: https://deramp.com/swtpc.com/ |
| SWTPC 6800 | serial | MC6802, MĆ6850 | SWTBUG, SWTBUGA, Mondeb, xSWTBUG | Link: https://deramp.com/swtpc.com/ |
| DREAM 6800 | BAS (Video) | MC6802, MAX-II | DREAM operating System (Chip8) | Link: http://www.mjbauer.biz/DREAM6800.htm |
| HD6303 Board (Eric Klaus) | serial | HD6303 | Monitor +BASIC | Link: https://sites.google.com/site/ericmklaus/projects-1/hd6303cpuboard |
| MC3 Computer | serial | HD6303 | Monitor | Link: https://www.waveguide.se/?article=mc3-a-diy-8-bit-computer |
| Psion Organizer I | LCD | HD6303 | Psion OS | Link: https://www.jaapsch.net/psion/index.htm |
I uses an olimex A20 SBC (olinuxino A20) which has a lot of peripherals (4x UART, 2x SPI, 2x I2C, a lot of GPIOs, SATA, 2x SDCARD, VGA, HDMI, LAN,...) and it is open hardware. The board is connected with three 40 pin cables (like old IDE cables) plus two 10 pin cables to the input board.
To access all the peripherals i use python with the pyA20 library here: https://pypi.org/project/pyA20/
The debian image (bullseye minimal) can be found at: http://images.olimex.com/release/a20/
To configure the image after downloading there are helper scripts in the unicomp folder under: olimex Board/config
I use fbterm and tmux for a nice terminal output. Here are some pictures:
tmux main window:

tmux serial window:

-- all scripts have to be executed with sudo bacause of direct hardware access!
set_reset.py [0,1,xx]
UC_check_jtag.sh
UC_write_cpld.sh [0..?] [.jed file]
Prepare new SD-Card:
compiling the vhdl (or verilog) code must be done on a computer with the Xilinx ISE 14.7 toolchain installed. Link: https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/archive-ise.html
compiling itself can be done inside ISE or with the supplied makefile (look inside the bord directory in cpld firmware)
a simple make will compile the firmware and a make transfer will transfer the file to the sbc (if you changed the ip address to your address inside the makefile and the path inside project.cfg)
on the sbc in the work folder one can find the .jed file. For programming type: UC_write_cpld [JTAG-position] [filename.jed]
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100n | Capacitor_SMD:C_1206_3216Metric | C1, C2, C3, C4, C5 |
| 5 | Conn_01x01 | Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_Vertical | J5, J9, J12, J22, J24 |
| 5 | Conn_02x36_Counter_Clockwise | my_own_conn:Proto_2x36 | J15, J16, J17, J18, J19 |
| 4 | BUS | Connector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_Vertical | J1, J2, J3, J4 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 1k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R2, R3, R4 |
| 2 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6, J13 |
| 2 | Conn_01x12 | Connector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_Vertical | J20, J21 |
| 2 | PH2 | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP1, JP4 |
| 1 | . | Connector_PinHeader_2.00mm:PinHeader_1x01_P2.00mm_Vertical | J8 |
| 1 | 10k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R1 |
| 1 | 6551 | Package_DIP:DIP-28_W15.24mm_LongPads | U1 |
| 1 | 65C52 | Package_DIP:DIP-40_W15.24mm_Socket_LongPads | U3 |
| 1 | 74AHC1G08 | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U10 |
| 1 | 74AHC1G14 | Package_TO_SOT_SMD:SOT-23-5 | U8 |
| 1 | 74HC14 | Package_DIP:DIP-14_W7.62mm_Socket | U2 |
| 1 | 74LVC253 | Package_SO:SO-16_3.9x9.9mm_P1.27mm | U6 |
| 1 | 74LVC595 | Package_SO:SO-16_3.9x9.9mm_P1.27mm | U7 |
| 1 | CLK | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP3 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J14 |
| 1 | Conn_02x04_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J7 |
| 1 | Conn_02x32_Counter_Clockwise | my_own_conn:Proto_2x32 | J23 |
| 1 | IS63WV1288DBLL-10xLI | Package_SO:TSOP-II-32_21.0x10.2mm_P1.27mm | U5 |
| 1 | Jumper_3_Open | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP2 |
| 1 | MC6850 | Package_DIP:DIP-24_W15.24mm_LongPads | U4 |
| 1 | R/W | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP5 |
| 1 | SN74LVCC4245ANSR | Package_SO:SO-24_5.3x15mm_P1.27mm | U9 |
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
50 parts, built around the 74AHC1G08GW, 74AHC1G14GV, 74HC14 and 74LVC595AD. 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.
From the roberto314/Unicomp2 repository on GitHub, at the commit this page was made from: the board is MultiSerial v2/schematic/MOS MultiSerial_ram/MOS MultiSerial_ram.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask roberto314 before reusing the design.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp2
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

roberto314/Unicomp3
A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

ms0216/hhkb-split
HHKB Professional HYBRID Type-S の使い勝手を再現する完全分割型キーボード(ZMK / XIAO nRF52840 / build123d による寸法駆動CAD)

MLeggiero/taxelscan
TaxelScan reads a 16 × 32 pressure surface (512 taxels) at 80 frames per second by default and has been measured at 200 fps.

perriestudios/SMD-Soldering-PCB
A PCB I designed as a TA for EE 201 at UW over the Winter 2024

jerry-kerenzikov/ytterbium
Project files for Ytterbium modular CPU platform and Yprog programming tool

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

greatscottgadgets/urti-mainboard
Mainboard of URTI, the Universal Radio Test Instrument

hnz1102/sdcdmux-emmc
SD CARD and eMMC Device Multiplexer with Infrared Remote Controller