Skip to the content
PCBKitNew board
2 layers308 × 53.1 mmPorts pcb, the printed circuit board in 3D

Elwro 800 Junior replica

Size
308 × 53.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
95
Nets
76
Pads
215
Tracks, vias
398, 68
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
7 Apr 2025
Updated
24 Sep 2025

Overview

Ports pcb is an open-source printed circuit board by codepainters, from the codepainters/e800j repository on GitHub. It is a 2-layer board of 308 × 53.1 mm with 95 parts on 76 nets, routed with 398 tracks and 68 vias.

It is built around the BC557. Its parts include 57 connectors, 6 resistors, 2 switches, 1 capacitor and 1 fuse.

Main components

1

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

95
QtyValueFootprintReferences
39Conn_01x01_SocketConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ1, J2, J3, J10, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, J24, J30 +23
54k7Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4, R5
5BC557Package_TO_SOT_THT:TO-92_InlineT1, T2, T3, T4, T5
5mth32e800j_custom:mth32MH2, MH3, MH4, MH6, MH7
4~Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ37, J38, J39, J40
3, ,
3Conn_01x01_Socketports_pcb:pin24J11, J12, J13
2G***kibuzzard-67F911F0kibuzzard-67F911F0, kibuzzard-67F911F0
2Junetports_pcb:CUI_SDS-50JJ104, J105
2mth25e800j_custom:mth25MH1, MH5
10R*Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR6
1100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC1
12AFuse:Fuseholder_Clip-5x20mm_Littelfuse_445-030_Inline_P20.50x5.20mm_D1.30mm_HorizontalF1
15V/2AConnector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_HorizontalJ107
1Conn_01x02Connector_Molex:Molex_KK-254_AE-6410-02A_1x02_P2.54mm_VerticalJ108
1FONConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP4
1G***kibuzzard-67F91771kibuzzard-67F91771
1G***kibuzzard-67F9119Bkibuzzard-67F9119B
1G***kibuzzard-67F8F98Ekibuzzard-67F8F98E
1G***kibuzzard-67F91269kibuzzard-67F91269
1G***kibuzzard-67F911BAkibuzzard-67F911BA
1G***kibuzzard-67F91296kibuzzard-67F91296
1Joy_P8Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1JoystickConnector_Dsub:DSUB-9_Pins_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ100
1Powerports_pcb:PS-22F03SW2
1PrinterConnector_Dsub:DSUB-25_Socket_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ102
1RESET1e800j_custom:pinJ41
1RESET2e800j_custom:pinJ42
1RGBConnector_Dsub:DSUB-9_Socket_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ101
1Resetports_pcb:PS-22F03SW1
1SynHConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP2
1SynVConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP3
1Tapeports_pcb:CUI_SDS-50JJ106
1Videoports_pcb:CUI_SDS-50JJ103
1logoports_pcb:logoIMG1

Questions

How big is the Ports pcb PCB?

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

What parts does the Ports pcb use?

95 parts, built around the BC557. 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 Ports pcb KiCad files?

From the codepainters/e800j repository on GitHub, at the commit this page was made from: the board is ports_pcb/ports_pcb.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 Ports pcb 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 layers398.1 × 116 mmKbd cherry, the printed circuit board in 3D

    Kbd cherry

    codepainters/e800j

    Elwro 800 Junior replica

    87 parts16

Similar boards

  • 2 layers56 × 65 mmSeaTalk1, the printed circuit board in 3D

    SeaTalk1

    dotnet/iot

    This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

    24 parts2.4kMIT
  • 2 layers178 × 145 mmUltra DB X51 v1, the printed circuit board in 3D

    Ultra DB X51 v1

    ExploreEmbedded/8051_DevelopmentBoard

    Design files and sample code for 8051 development Ultra Boards

    145 parts70
  • 2 layers148.8 × 132.2 mmUsbflashprog, the printed circuit board in 3D

    Usbflashprog

    robsonsmartins/usbflashprog

    A memory device programmer (Flash/EPROM/E2PROM) board and software, connected to PC by USB port.

    125 parts36
  • 2 layers47 × 25 mmMonotron cv adapter, the printed circuit board in 3D

    Monotron cv adapter

    matthewcieplak/monotron-cv-adapter

    A eurorack control voltage to Korg Monotron CV adapter board.

    8 parts35
  • 2 layers83.8 × 72.4 mmVoice board, the printed circuit board in 3D

    Voice board

    Windfisch/analog-synth

    A low-cost semimodular analog synthesizer

    131 parts31GPL-3.0
  • 2 layers13 × 0.5 mmKamstrup, the printed circuit board in 3D

    Kamstrup

    Hal9k-dk/kamstrup

    Kamstrup IR-øje

    11 parts19
  • 2 layers167.8 × 200.6 mmRandom Jazz Generator, the printed circuit board in 3D

    Random Jazz Generator

    telec16/modular-synth

    Little side project, don't expect much updates.

    132 parts16
  • 2 layers60 × 55 mmEPS, the printed circuit board in 3D

    EPS

    AMSAT-EA/easat-2

    EASAT-2 satellite

    105 parts15