Skip to the content
2 layers101.6 × 147.3 mmKarabas pro revER, the printed circuit board in 3D

Karabas pro revER

andykarpov/karabas-pro37

FPGA based retrocomputer with FDD and HDD controllers

Size
101.6 × 147.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
223
Nets
345
Pads
1,285
Tracks, vias
4,250, 688
Pours
3
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
21 Jun 2020
Updated
28 Oct 2026

Overview

Karabas pro revER is an open-source printed circuit board by andykarpov, from the andykarpov/karabas-pro repository on GitHub, published under the MIT licence. It is a 2-layer board of 101.6 × 147.3 mm with 223 parts on 345 nets, routed with 4,250 tracks and 688 vias.

It is built around the 74LS384N, ATMEGA328-AU and EP4CE10E22C8N, with the EPM3128ATC100-10N, ESP-12E and LM2596S-5.0 among its other parts. Its parts include 81 resistors, 62 capacitors, 22 ICs, 10 connectors and 6 diodes. It belongs with the fPGA and programmable logic boards and the ESP8266, AVR (ATmega, ATtiny) and FPGA and CPLD boards of this library.

Main components

12

README

README.md

Karabas-Pro

Build AVR Firmware

Yet another FPGA ZX Spectrum clone ;)

Intro

ZX Spectrum compatible machine with a soft CPU, FDD and HDD (CF card) controllers, PS/2 keyboard/mouse, ESP8266 UART, RTC, VGA output and all logic inside the Altera FPGA EP4CE10.

The idea

The idea was to make a smaller Profi (Профи) ZX Spectrum clone, with real FDD and HDD controllers. The board size fits the dimensions of the real 3.5" floppy drive.

Firmwares

The main firmware is finished and currently it implements:

  1. ZX Spectrum classic and profi hi-res hi-color mode (with palette) (512x240)
  2. ZX Profi CMR ports for extended peripherial
  3. FDD controller that works both in CP/M and classic modes
  4. HDD controller (works in Profi CP/M mode and PQ-DOS mode)
  5. PS/2 keyboard (XT keyboard emulation)
  6. PS/2 mouse (kempston mouse and serial MS mouse emulation)
  7. VGA output (requires a monitor with 50Hz support)
  8. Turbosound (2 x AY-3-8912), Soundrive and SAA1099 (SAA will work only on EP4CE10 due to lack of free LEs in EP4CE6)
  9. Kempston joystick support
  10. SEGA joystick support
  11. RTC (profi), emulated read/write support
  12. SD card access via Z-Controller emulation as well as DivMMC
  13. Turbo 7 MHz (nowait) and Turbo 14 Mhz (with wait cycles)
  14. ZX UNO simple UART @115200 for ESP8266 module, ZiFi API support (a secondary ZX UNO UART available on uBus connector for EP4CE10)
  15. An additional ROM bank with PQ-DOS BIOS
  16. An additional ROM bank with Flash Tool by Doctor Max to upgrade the FGPA firmware and ROM banks without programmer
  17. An additional ROM bank with FDImage Tool by Doctor Max to extract TRD, SCL, PRO, TD0 and FDI images on real floppies
  18. OSD menu
  19. OSD full-screen overlay with easy-to-change options, RTC setup, etc.

More info

ERRATA for PCB rev.A: See ERRATA Rev.A.

ERRATA for PCB rev.B: See ERRATA Rev.B.

ERRATA for PCB rev.С: See ERRATA Rev.С.

Latest stable revision: rev.Ї.

PCB changelog: PCB changelog.

Profi firmware Download a Profi firmware.

Donations See DONATIONS.md.

Development & Building

AVR Firmware

The ATmega328P supervisor firmware is built using PlatformIO:

bash
cd firmware/src/avr
pio run

This compiles the universal firmware, generates all revision-specific .eep files, and automatically syncs them to firmware/releases/.

To automatically rebuild and stage updated firmware binaries whenever you commit AVR changes, install the git hooks:

bash
./scripts/install-hooks.sh

Pre-production renders:

image

image

Parts

223
QtyValueFootprintReferences
40100nCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC11, C12, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27 +24
2310kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR30, R31, R33, R34, R35, R36, R37, R38, R39, R40, R41, R42, R43, R44, R45, R46 +7
8100nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC13, C55, C56, C58, C59, C60, C61, C63
8MountingHoleMountingHole:MountingHole_3.5mm_Pad_ViaH1, H2, H3, H4, H5, H6, H7, H8
71kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR6, R11, R14, R17, R74, R75, R76
6330Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR64, R65, R66, R67, R68, R69
64k7Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR7, R8, R21, R22, R23, R24
5100Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR63, R70, R71, R72, R73
527Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR4, R57, R77, R78, R79
5470Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR28, R29, R54, R55, R56
310uFfootprints:CP_EIA-7343-31_Kemet-D-uniC7, C8, C9
31kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR82, R83, R84
32kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR10, R13, R16
32k4Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2, R3
3510Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR12, R15, R18
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1, C2
21uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC3, C10
222pCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC4, C5
275Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR19, R20
2750Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR26, R27
2BAT54CPackage_TO_SOT_SMD:SOT-23D3, D8
2CY62167EV30LLPackage_SO:TSOP-I-48_18.4x12mm_P0.5mmU2, U19
2LOGOfootprints:karabas_pro_logo_rus2_copperG***, G***
2Polyfuse_SmallFuse:Fuse_1812_4532Metric_CastellatedF1, F2
2TXB0104PWPackage_SO:TSSOP-14_4.4x5mm_P0.65mmU7, U8
2W25Q16footprints:SOIC-8_5.23x5.23mm_P1.27mm-LONGU3, U3''1
1100uFfootprints:CP_EIA-7343-31_Kemet-D-uniC54
112ВConnector_BarrelJack:BarrelJack_Wuerth_6941xx301002CON8
112В ВКЛJumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mmJP1
115k*Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR48
116MHzCrystal:Crystal_HC49-U_VerticalY2
11MResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR62
11N4148WDiode_SMD:D_SOD-123D10
11N5820Diode_THT:D_DO-201AD_P15.24mm_HorizontalD5
11nCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC6
1220uFCapacitor_THT:CP_Radial_D7.5mm_P2.50mmC50
1300Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR61
132768HzCrystal:Crystal_AT310_D3.0mm_L10.0mm_Horizontal_1EP_style2Y1
133Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR32
133kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR81
13n3Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC57
13Вfootprints:BAT_BS-7-BLUEBT1
1470uFCapacitor_THT:CP_Radial_D8.0mm_P3.80mmC48
15k1Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR80
168uHInductor_SMD:L_12x12mm_H6mmL1
174LS06Package_DIP:DIP-14_W7.62mmU17
174LS38Package_DIP:DIP-14_W7.62mmU18
1820Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR25
1AMS1117-1.2Package_TO_SOT_SMD:SOT-223-3_TabPin2U14
1AMS1117-2.5Package_TO_SOT_SMD:SOT-223-3_TabPin2U13
1AMS1117-3.3Package_TO_SOT_SMD:TO-252-2U12
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U21
1ATMEGA328-AUPackage_QFP:TQFP-32_7x7mm_P0.8mmU5
1AVR JTAGConnector_IDC:IDC-Header_2x03_P2.54mm_HorizontalJ5
1AVR UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1BC847Package_TO_SOT_SMD:SOT-23Q2
1BC856Package_TO_SOT_SMD:SOT-23Q1
1BS62LV1600Package_SO:TSOP-II-44_10.16x18.41mm_P0.8mmU20
1DS1307Z+Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU9
1EP4CE10E22C8Nfootprints:ALTERA-QFP-145U1
1EPM3128ATC100-10NPackage_QFP:LQFP-100_14x14mm_P0.5mmU4
1ESP-12ERF_Module:ESP-12EU10
1ESP-BUSConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ7
1FPGA JTAGConnector_IDC:IDC-Header_2x05_P2.54mm_HorizontalJ2
1Ferrite_BeadInductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolderFB1
1LM2596S-5Package_TO_SOT_SMD:TO-263-5_TabPin3U15
1LM311Package_SO:SO-8_3.9x4.9mm_P1.27mmU16
1LOGOfootprints:andy_karpov_logo4_silkG***
1MB8877APackage_DIP:DIP-40_W15.24mmU6
1SG-7050CANOscillator:Oscillator_SMD_SeikoEpson_SG8002CA-4Pin_7.0x5.0mmX1
1SM6T6V8ADiode_SMD:D_SMBD9
1SW_SPSTButton_Switch_THT:SW_CuK_OS102011MA1QN1_SPDT_AngledSW4
1TDA1543Package_DIP:DIP-8_W7.62mmU11
1UART2Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ4
1X*Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR53
1АКТИВНОСТЬLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD2
1ВНЕШН. ДЖОЙСТИКConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ10
1ДЖОЙСТИКConnector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmCON4
1ДИСКОВОДConnector_IDC:IDC-Header_2x17_P2.54mm_VerticalJ1
1ЗВУКConnector_Audio:Jack_3.5mm_CUI_SJ1-3535NG_HorizontalCON7

The 204 most common of 223 parts.

More from andykarpov/karabas-pro

5
  • 2 layers101.6 × 147.3 mmKarabas pro revEU, the printed circuit board in 3D

    Karabas pro revEU

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    223 parts37MIT
  • 2 layers101.6 × 147.3 mmKarabas pro revE, the printed circuit board in 3D

    Karabas pro revE

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    220 parts37MIT
  • 2 layers101.6 × 147.3 mmKarabas pro revD, the printed circuit board in 3D

    Karabas pro revD

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    201 parts37MIT
  • 2 layers101.6 × 147.3 mmKarabas pro revC1, the printed circuit board in 3D

    Karabas pro revC1

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    151 parts37MIT
  • 2 layers19.8 × 15.7 mmKarabas pro tapeMod revA, the printed circuit board in 3D

    Karabas pro tapeMod revA

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    15 parts37MIT

Similar boards

  • 2 layers100 × 100 mmZxevo1010 main, the printed circuit board in 3D

    Zxevo1010 main

    UzixLS/zxevo1010-board

    10x10cm PCB variant of ZX-Evolution project for G738/G706 enclosure

    252 parts26
  • 4 layers120 × 92 mmKehvm, the printed circuit board in 3D

    Kehvm

    knewter/kvm-board

    An open-source KVM-over-IP device built with a Milk-V Duo S (RISC-V) and ESP32-S3. Remotely control any computer's keyboard, video, and mouse over your network — at the hardware level, independent of the target's OS.

    70 parts2
  • 2 layers100 × 90 mmNano5, the printed circuit board in 3D

    Nano5

    RJLABS/flatcracker

    tempalate board

    187 partsAGPL-3.0
  • 2 layers180 × 56 mmCB Retrofit, the printed circuit board in 3D

    CB Retrofit

    lacyrhoades/KiCad

    Kicad schematics of components

    24 partsMIT
  • 2 layers20.3 × 12.7 mmTda1543 breakout, the printed circuit board in 3D

    Tda1543 breakout

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    12 parts253GPL-3.0
  • 2 layers137.2 × 116.8 mmAudioBoard, the printed circuit board in 3D

    AudioBoard

    andreaslagler/giove8k

    Giove 8k audio synthesizer project

    98 partsGPL-3.0
  • 2 layers100 × 100 mmMist1010, the printed circuit board in 3D

    Mist1010

    UzixLS/mist1010-board

    10x10cm PCB variant of MIST FPGA project for G738/G706 enclosure

    271 parts43MIT
  • 4 layers70 × 69.8 mmKarabas mini, the printed circuit board in 3D

    Karabas mini

    andykarpov/karabas-mini-pcb

    Karabas Go Mini PCB

    222 parts2

Questions

How big is the Karabas pro revER PCB?

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

What parts does the Karabas pro revER use?

223 parts, built around the 74LS384N, ATMEGA328-AU, EP4CE10E22C8N and EPM3128ATC100-10N. 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 Karabas pro revER KiCad files?

From the andykarpov/karabas-pro repository on GitHub, at the commit this page was made from: the board is pcb/revER/karabas-pro-revER.kicad_pcb and its schematic pcb/revER/karabas-pro-revER.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Karabas pro revER design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).