Skip to the content
PCBKitNew board
2 layers398.1 × 116 mmKbd cherry, the printed circuit board in 3D

Elwro 800 Junior replica

Size
398.1 × 116 mm
Copper layers
2
Thickness
1.6 mm
Parts
87
Nets
20
Pads
422
Tracks, vias
808, 45
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
7 Apr 2025
Updated
24 Sep 2025

Overview

Kbd cherry is an open-source printed circuit board by codepainters, from the codepainters/e800j repository on GitHub. It is a 2-layer board of 398.1 × 116 mm with 87 parts on 20 nets, routed with 808 tracks and 45 vias.

Its parts include 76 switches and 1 diode.

README

e800j_rev_c/README.md

Elwro 800 Junior replica - mainboard

This part of the project is the exact clone of the original Elwro 800 Junior PCB revision C. The PCB was reverse engineered from scanned images of the original PCB. All dimensions and mounting holes placements have been preserved, so the board can be used as a replacement for the original one.

Note: Read this README file carefully, it contains some important assembly instructions!

Files

This directory contains the KiCAD 9 project, plus:

  • Schematics in PDF format - color and b&w
  • Gerber files (JLCPCB-compatible zip files)
  • Interactive BOM (you need to download the file and open it locally)
  • scans of the original PCB used for reverse engineering

For files to be programmed into EPROMs, see here.

Note: KiCAD PCB file still embeds the scanned images used for reverse engineering, so don't be surprised by the file size! The project passes PCB vs schematic parity check.

Conventions

Schematics:

  • For (hopefully) better readability, original schematic diagram has been split into separate blocks (total of 14 schematic sheets, mostly A4-size, with the exception of address decoder, DRAM, memory controller and video parts, which exceeded A4 size). I believe it's easier to analyze the schematic drawn in this manner. The PCB passes validation against schematic diagrams, so it can be assumed that the schematics are correct.
  • In the top-level schematic sheet I decided to only draw some wires / buses between blocks. Global signals (like MEMR, or IOR) are only connected using labels, as the wires would clutter the drawing too much otherwise.
  • Original schematics use somewhat unusual notation for signal names - prefixed with + or - sign for active-high (e.g. +RELOK) and active-low (e.g. -MEMR) signals, respectively. My schematic diagrams use standard notation with active-low signals with a bar above the name.
  • Most of the signal names correspond directly to the original Elwro schematics, however some new signal names were added (mostly because of the cross-sheet connections). To differentiate them, upper-case names are used for signals from the original documentation, and lower-case is used for signal names introduced by me.
  • Original schematic uses "topological" reference designators for integrated circuits - the PCB is divided into numbered columns and rows marked with letters, and chip reference designators denote the chip placement, e.g. J16, I5, etc. I decided to use standard U1, U2, ... numbering, but original reference designators are stored as OrigRef attribute (also visible in the PCB editor in User.Comments layer).
  • Original design uses 2% E48 series resistors for no good reason (most likely because of availability), my replica uses standard 5% E24 series resistors. Original values are stored in the schematic as OrigValue attributes.
  • Some IC types differ between Elwro documentation and the actual PCB used for reference. In such cases actual IC types as used on the board (e.g. Russian ones) are stored under OrigType attribute for cross-reference.

PCB:

  • some connections on the board are made with pieces of wire (on top or bottom side of the PCB, the boards I used for reference has all these connections made on the top side, but I've seen original boards with wire connections made on the bottom side as well, I've chosen the bottom side for my build). In order to make the board pass schematic parity checks I have drawn these connections on In1.Cu and In2.Cu layers (typically used for 4-layer PCB projects).
  • to make assembling easier the points that have to be connected are annotated with numbers on the bottom silkscreen layer, see the assembly instructions below.
  • the original PCB contains some factory mods that involve cutting the traces. I decided to make the gaps on the PCB so no trace cutting is necessary (it is of course necessary to assemble other parts of the mods, see the assembly instructions).

Assembling

PCB variants

There are two variants of the Gerber files available:

  • e800j_rev_c_v1.1.zip - a "modern" one, with tented vias and silkscreen (on both sides of the board!) - most likely what you want. The board manufactured from this set of files looks like this:

  • e800j_rev_c_v1.1_retro.zip - a "retro" variant, without via tenting and silkscreen, which aims to look as much like the original PCB as possible (which might be useful for restoration projects):

Unless you specifically need the retro variant, I highly recommend the standard one, with tented vias and silkscreen - it makes assembly much easier.

Part selection

Most of the parts used on the board are standard TTL 74xx chips, with some exceptions:

  • 74S474 512x8 PROM memories, used in the I/O and memory address decoders, are hard to find and difficult to program. As part of the project, I've prepared two replacement options:

​ Both options have been verified to work properly.

  • The 2716 EPROM (U11 on the schematics, used to generate video signal timing) can be replaced with a 2732 memory (with the content doubled, see roms for the appropriate file).

  • Some chips required replacement:

    • U1 - I had to replace a perfectly valid 74LS04 with another brand, as it didn't want to oscillate, eventually I got it working with a UCY74LS04 from Cemi. Similarly, I had to replace the U4 chip (74LS04) with UCY74LS04 as well. These chips work in specific, semi-analog circuits, so the choice of actual chips might be important.
    • Initially, the computer was very picky about DRAM chips, only working properly with a few chips from my collection. As it turned out, replacing U28..U31 (perfectly valid Motorola 74LS153 address multiplexers) with SN74LS153N from Texas Instruments solved the issue, and virtually every 4164 DRAM chip I could find works properly now.
  • for GT1 connector (used to plug-in floppy disk controller), you can use original Eltra 841 84-pin socket, if available. This is the recommended way if you want to use the original FDC (or a clone with an Eltra plug). Otherwise simple pin-header sockets will do (and pin headers work with Eltra 841 too. My future expansion PCBs are going to use pin headers):

  • for keyboard connectors ( W1 and W2 ) one can use standard pin headers (10-pins long) - it works well with Eltra plugs.

PCB mods

I decided to fully replicate the original factory mods, to better match the look and feel of the PCB.

Changes involve:

  • Clock section - soldering C83 (120pF) and R118 (510 ohm)
  • Memory controller - soldering R119 (100 ohm)

The soldering points are marked with small dots on the silkscreen layer:

Wire connections

Finally, 11 wire connections are needed on the bottom of the PCB. Soldering points are numbered - connect 1 to 1, 2 to 2 and so on.

Bring-up

If assembled from functional parts, the board requires no tuning and should work from the first power-up.

  • for initial bring-up it's best to use monochrome composite video output (pad J51). If you can't get properly synchronized video, double-check U19 (2716 EPROM responsible for generating video timing signals). Some programmers (including my TL866A) are known to be occasionally problematic with 2716 memories, what sometimes helps is programming the memory twice (without erasing).
  • U1 and U4 chips might need replacement (see parts section above), in case of issues it's best to check the clock signals with an oscilloscope.
  • if you observe random instabilities or persistent artifacts on the screen, replace U28..U31 (again, see above for explanation).

That's all, folks!

Parts

87
QtyValueFootprintReferences
8MountingHole_3.2mm_M3_DIN965MountingHole:MountingHole_3.2mm_M3_DIN965MH1, MH2, MH3, MH4, MH5, MH6, MH7, MH8
2ALTcherry:SW_Cherry_MX_1.00u_PCBSW6, SW71
2Conn_01x10_SocketConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalG1, G2
1,<cherry:SW_Cherry_MX_1.00u_PCBSW36
1-=cherry:SW_Cherry_MX_1.00u_PCBSW44
1.>cherry:SW_Cherry_MX_1.00u_PCBSW37
1/?cherry:SW_Cherry_MX_1.00u_PCBSW30
10-cherry:SW_Cherry_MX_1.00u_PCBSW28
11!cherry:SW_Cherry_MX_1.00u_PCBSW35
12"cherry:SW_Cherry_MX_1.00u_PCBSW34
13#cherry:SW_Cherry_MX_1.00u_PCBSW33
14$cherry:SW_Cherry_MX_1.00u_PCBSW32
15%cherry:SW_Cherry_MX_1.00u_PCBSW31
16&cherry:SW_Cherry_MX_1.00u_PCBSW24
17'cherry:SW_Cherry_MX_1.00u_PCBSW25
18(cherry:SW_Cherry_MX_1.00u_PCBSW26
19)cherry:SW_Cherry_MX_1.00u_PCBSW27
1:*cherry:SW_Cherry_MX_1.00u_PCBSW51
1;+cherry:SW_Cherry_MX_1.00u_PCBSW50
1@\cherry:SW_Cherry_MX_1.00u_PCBSW29
1Acherry:SW_Cherry_MX_1.00u_PCBSW49
1Bcherry:SW_Cherry_MX_1.00u_PCBSW3
1BScherry:SW_Cherry_MX_1.00u_PCBSW15
1Ccherry:SW_Cherry_MX_1.00u_PCBSW53
1CRcherry:SW_Cherry_MX_1.50u_PCBSW14
1CTRLcherry:SW_Cherry_MX_1.00u_PCBSW2
1Dcherry:SW_Cherry_MX_1.00u_PCBSW47
1DELcherry:SW_Cherry_MX_1.00u_PCBSW23
1DIRcherry:SW_Cherry_MX_1.00u_PCBSW70
1DOScherry:SW_Cherry_MX_1.00u_PCBSW73
1Echerry:SW_Cherry_MX_1.00u_PCBSW40
1ERAcherry:SW_Cherry_MX_1.00u_PCBSW74
1ESCcherry:SW_Cherry_MX_1.00u_PCBSW16
1Fcherry:SW_Cherry_MX_1.00u_PCBSW46
1Gcherry:SW_Cherry_MX_1.00u_PCBSW45
1Hcherry:SW_Cherry_MX_1.00u_PCBSW10
1Icherry:SW_Cherry_MX_1.00u_PCBSW19
1Jcherry:SW_Cherry_MX_1.00u_PCBSW11
1Kcherry:SW_Cherry_MX_1.00u_PCBSW12
1Lcherry:SW_Cherry_MX_1.00u_PCBSW13
1LEDLED_THT:LED_D5.0mmD1
1LOADcherry:SW_Cherry_MX_1.00u_PCBSW72
1Mcherry:SW_Cherry_MX_1.00u_PCBSW5
1Ncherry:SW_Cherry_MX_1.00u_PCBSW4
1Ocherry:SW_Cherry_MX_1.00u_PCBSW20
1Pcherry:SW_Cherry_MX_1.00u_PCBSW21
1Qcherry:SW_Cherry_MX_1.00u_PCBSW42
1Rcherry:SW_Cherry_MX_1.00u_PCBSW39
1Scherry:SW_Cherry_MX_1.00u_PCBSW48
1SAVEcherry:SW_Cherry_MX_1.00u_PCBSW75
1SHIFTcherry:SW_Cherry_MX_1.00u_PCBSW56
1SHIFTcherry:SW_Cherry_MX_1.50u_PCBSW76
1SH_LOCKcherry:SW_Cherry_MX_1.00u_PCBSW8
1SPACEcherry:SW_Cherry_MX_6.25u_PCBSW7
1Tcherry:SW_Cherry_MX_1.00u_PCBSW38
1TABcherry:SW_Cherry_MX_1.00u_PCBSW9
1Ucherry:SW_Cherry_MX_1.00u_PCBSW18
1Vcherry:SW_Cherry_MX_1.00u_PCBSW52
1Wcherry:SW_Cherry_MX_1.00u_PCBSW41
1Xcherry:SW_Cherry_MX_1.00u_PCBSW54
1Ycherry:SW_Cherry_MX_1.00u_PCBSW17
1Zcherry:SW_Cherry_MX_1.00u_PCBSW55
1[{cherry:SW_Cherry_MX_1.00u_PCBSW43
1]}cherry:SW_Cherry_MX_1.00u_PCBSW22
1^-cherry:SW_Cherry_MX_1.00u_PCBSW1
1Ócherry:SW_Cherry_MX_1.00u_PCBSW62
1Ącherry:SW_Cherry_MX_1.00u_PCBSW57
1Ćcherry:SW_Cherry_MX_1.00u_PCBSW65
1Ęcherry:SW_Cherry_MX_1.00u_PCBSW63
1Łcherry:SW_Cherry_MX_1.00u_PCBSW60
1Ńcherry:SW_Cherry_MX_1.00u_PCBSW58
1Ścherry:SW_Cherry_MX_1.00u_PCBSW61
1Źcherry:SW_Cherry_MX_1.00u_PCBSW59
1Żcherry:SW_Cherry_MX_1.00u_PCBSW64
1←cherry:SW_Cherry_MX_1.00u_PCBSW66
1↑cherry:SW_Cherry_MX_2.00u_PCBSW68
1→cherry:SW_Cherry_MX_1.00u_PCBSW67
1↓cherry:SW_Cherry_MX_2.00u_PCBSW69

Questions

How big is the Kbd cherry PCB?

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

What parts does the Kbd cherry use?

87 parts. 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 Kbd cherry KiCad files?

From the codepainters/e800j repository on GitHub, at the commit this page was made from: the board is kbd_cherry/kbd_cherry.kicad_pcb and its schematic e800j_rev_c/addr_dec.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kbd cherry design in my own project?

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

More from codepainters/e800j

2
  • 4 layers308 × 225.4 mmE800j rev c, the printed circuit board in 3D

    E800j rev c

    codepainters/e800j

    Elwro 800 Junior replica

    483 parts16
  • 2 layers308 × 53.1 mmPorts pcb, the printed circuit board in 3D

    Ports pcb

    codepainters/e800j

    Elwro 800 Junior replica

    95 parts16

Similar boards

  • 2 layers175.8 × 184.8 mmSofleKeyboard, the printed circuit board in 3D

    SofleKeyboard

    josefadamcik/SofleKeyboard

    A split keyboard based on Lily58, Crkbd and Helix keyboards

    87 parts2.6k
  • 2 layers58.2 × 38.1 mmUsb sniffer, the printed circuit board in 3D

    Usb sniffer

    ataradov/usb-sniffer

    Low-cost LS/FS/HS USB sniffer with Wireshark interface

    87 parts1.3kBSD-3-Clause
  • 2 layers65 × 56 mmHat, the printed circuit board in 3D

    Hat

    pa3gsb/Radioberry-2.x

    Ham Radio hat for Raspberry PI

    87 parts678
  • 2 layers57 × 111 mmSIM POWER PANEL, the printed circuit board in 3D

    SIM POWER PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    87 parts431
  • 2 layers128.2 × 150.3 mmSplit 3x, the printed circuit board in 3D

    Split 3x

    MangoIV/dracuLad

    QMK-powered 34-36 key split keyboard

    87 parts230
  • 2 layers88.9 × 80 mmEdk, the printed circuit board in 3D

    Edk

    ciaa/Hardware

    Hardware de la CIAA

    87 parts216
  • 2 layers68.6 × 53.3 mmArduino UNO R4 Minima, the printed circuit board in 3D

    Arduino UNO R4 Minima

    sabogalc/KiCad-Arduino-Boards

    A collection of Arduino boards recreated from scratch in KiCad. Legacy USB connectors have been replaced with USB-C where applicable.

    87 parts95WTFPL