Skip to the content
PCBKitNew board
2 layers85 × 56 mmBasicengine, the printed circuit board in 3D

Schematics and PCB layout for the BASIC Engine home computer

Size
85 × 56 mm
Copper layers
2
Thickness
1.6 mm
Parts
115
Nets
84
Pads
379
Tracks, vias
1,373, 101
Pours
3
Routed
Yes
KiCad
KiCad 4
Created
28 Apr 2018
Updated
12 Sep 2018

Overview

Basicengine is an open-source printed circuit board by uli, from the uli/basicengine-pcb repository on GitHub. It is a 2-layer board of 85 × 56 mm with 115 parts on 84 nets, routed with 1,373 tracks and 101 vias.

It is built around the ESP-12E, PCF8575DB and VS23S010D-L, with the 74HC04D and AMS1117 among its other parts. Its parts include 13 capacitors, 12 resistors, 12 connectors, 5 ICs and 1 switch. It belongs with the ESP8266 boards of this library.

Main components

5

README

README.md

BASIC Engine logo BASIC Engine PCB

The BASIC Engine is a very low-cost single-board home computer with advanced 2D color graphics and sound capabilities, roughly comparable to late-1980s or early-1990s computers and video game consoles. It can be built at home without special skills or tools and using readily available components for under 10 Euros in parts, or mass-produced for even less.

This repository contains KiCAD schematics and the PCB layout. Gerber files for ordering PCBs can be found in the release section.

Software can be found in the BASIC Engine firmware repository.

Hardware features

  • ESP12-E/F module with ESP8266 SoC and 4 MB flash memory
  • VS23S010 video controller with 128k RAM and composite video output in PAL or NTSC
  • 5-bit PCM sound from I2S controller
  • MicroSD card slot
  • PS/2 and PS/2-compatible USB keyboard interface
  • PlayStation controller port
  • PCF8575 I/O extender with 16 GPIO pins
  • I2C and SPI busses on I/O expansion connector
  • power supplied via Micro-USB socket or pin header
  • RCA connectors for video and audio

Revision 1 board

Components

The BASIC Engine does not use any obsolete components that may be difficult to obtain. Nevertheless, you will have to put in at least three orders to get all required parts.

I would recommend to get the circuit board from JLCPCB or Smart Prototyping, the VS23S010D-L chip from TME, and all other parts from AliExpress. AE usually has the lowest price, and this project is all about the cheap.

You will usually have to order more components than you actually intend to use, because

  • they are only offered in larger quantities,
  • you may want to save on shipping in case you decide to build more BASIC Engines,
  • you are likely to break or lose a few parts while building the device, or
  • all of the above.

Note: Unless noted otherwise, all links lead to suppliers and components I have bought myself in the past and that have received the "Good Enough for BASIC Engine" seal of approval. Nevertheless you order at your own risk, and I cannot be held responsible for the quality of the services or products provided to you. I am not affiliated with any of the linked suppliers.

Required components

QtyNamePackageWhere to get itLinks
1Circuit BoardAny board houseJLCPCB, Smart Prototyping.
1VS23S010D-L video controllerTME (small quantities), VLSI (for large orders)TME, VLSI
1ESP-12F or ESP-12E microcontroller moduleAliExpress, eBay, Amazon, various smaller retailersAliExpress: 1, 2, 3
8Resistor 10K1206Generic partAliExpress: 1, 2
1Resistor 1M1206Generic partAliExpress: 1
1Resistor 75 Ohms1206Generic partAliExpress: 1, 2 (untested supplier)
2Resistor 1K1206Generic partAliExpress: 1
8Capacitor 100nF1206Generic partAliExpress: 1, 2, 3, 4
2Capacitor 56pF1206Generic partAliExpress: 1
1Electrolytic capacitor 10uF (Revision 1 board only!)THTGeneric partAliExpress: 1, 2
2Electrolytic Capacitor 220uF (Revision 1 board only!)THTGeneric partAliExpress: 1
1Capacitor 10uF (Revision 2 board only!)1206Generic partAliExpress: 1, 2
2Capacitor 22uF (Revision 2 board only!)1206Generic partAliExpress: 1, 2
2RCA connectorsTHTGeneric, but often overpriced partAliExpress: 1 (untested supplier); no longer available: red, yellow
1Micro-USB connectorSMTGeneric, but often overpriced partAliExpress: 1, 2, 3, 4
1Regulator AMS1117 3.3VSOT-223Generic, sometimes overpriced partAliExpress: 1; eBay DE: 1
174HC04 hex inverterSOIC-14Generic partAliExpress: 1, 2
1Crystal 3.579545 MHz (NTSC) or 4.433619 MHz (PAL)HC49-SGeneric partAliExpress: NTSC, PAL (untested supplier)
1PS/2 keyboard connector (female)THTAliExpress, some distributorsAliExpress: green, purple

Not strictly required, but strongly recommended components

QtyNamePackageWho can supply itLinks
1Pin header 1x7 (programming header)Generic partAliExpress: 1 (1x40 headers, cut them to size)
1MicroSD socketSMTAliExpress, eBayAliExpress: 1, 2; eBay DE: 1
1Push button 6x6x4.3 mmTHTGeneric partAliExpress: 1, 2
1PCF8575TS I2C I/O extenderSSOP-24Generic part; AliExpress recommended for priceAliExpress: 1
1Raspberry Pi 3 caseGeneric partAliExpress: 1, 2, 3, 4, 5

Optional components

QtyNamePackageWho can supply itLinks
1Pin header 1x3 pins (alternative power supply)AliExpress recommended for pricesee "Pin header 1x7"
1USB A connector (alternative keyboard connector)THTGeneric partAliExpress: 1, 2
1Pin header 2x20 pins (expansion connector)AliExpress recommended for priceAliExpress: 1 (2x40 headers, cut them in half)
1PlayStation controller connector (female)AliExpressAliExpress: 1, 2

Programming tools

Used to flash the firmware into the microcontroller module. You only need one set of these.

QtyNamePackageWho can supply itLinks
1USB-to-serial converterAliExpress, eBayAliExpress: 1, 2
7Dupont wires female/female (for wiring the converter to the programming header)AliExpress, eBayAliExpress: 1 (untested supplier), 2 (untested supplier)

Ordering the PCB

If you have never had a custom circuit board made, you may find the multitude of options you are presented with on the board house's ordering page confusing. The good news is that you do not have to worry about most of them, because they have been set to reasonable defaults already. If you order with JLCPCB or Smart Prototyping using the links above, all you have to do is upload the ZIP file containing the Gerber files that you can find in the release section and specify the dimensions of the board (85x56 mm). All other options can be left as is.

(Just to be on safe side: At the time of writing these options were: 2 layers, 1.6 mm thickness, HASL with lead, 1oz copper weight, material FR4.)

Assembling the BASIC Engine

Even though it uses some small-pitch components, the BASIC Engine has been designed to be easy to assemble.

Click on the thumbnail below to watch a one-hour silent video showing how to build it using a soldering iron, a heat gun, tweezers, solder wire and side cutters, without fancy tools, mad soldering skills and with only a minimal amount of patience:

Assembling the BASIC Engine

PCB Errata

Revision 2 of the PCB contains one error:

  • R6 value is given as "22R", should be "75R".

Revision 1 of the PCB contains two errors:

  • R6 value is given as "22R", should be "75R".
  • C3 and C4 values are given as "10p", should be "56p".

Parts

115
QtyValueFootprintReferences
65TESTtest_point-supermini:Measurement_Point_Round-SMD-Pad_SmallTP1, TP2, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21, TP22, TP23 +49
8100nCapacitors_SMD:C_1206_HandSolderingC1, C2, C5, C6, C7, C8, C10, C13
810KResistors_SMD:R_1206_HandSolderingR1, R2, R4, R5, R7, R9, R10, R12
21KResistors_SMD:R_1206_HandSolderingR8, R11
222uCapacitors_SMD:C_1206_HandSolderingC11, C12
256pCapacitors_SMD:C_1206_HandSolderingC3, C4
110uCapacitors_SMD:C_1206_HandSolderingC9
11MResistors_SMD:R_1206_HandSolderingR3
122RResistors_SMD:R_1206_HandSolderingR6
13.5795MHzCrystals:Crystal_HC49-U_VerticalY1
174HC04Housings_SOIC:SOIC-14_3.9x8.7mm_Pitch1.27mmU5
1AMS1117ab2_sot:AB2_SOT223U4
1AUDIOrca:rcaJ7
1Conn_01x01Pin_Headers:Pin_Header_Straight_1x01J10
1Conn_01x03Pin_Headers:Pin_Header_Straight_1x03J4
1Conn_01x06Pin_Headers:Pin_Header_Straight_1x06J3
1Conn_02x20_Counter_ClockwisePin_Headers:Pin_Header_Straight_2x20J12
1ESP-12EESP8266:ESP-12E_SMDU2
1LOGODocuments:basic_engineG***
1MicroSD Carddevrom3_pcb:Conn_uSDcardJ1
1PCF8575Housings_SSOP:SSOP-24_5.3x8.2mm_Pitch0.65mmU3
1PS2mini-din-6-f:MINI-DIN-6-FULL-SHIELDJ8
1PSX CONTROLLERpsx-conn-female:psx-con-femaleJ17
1SW_Pushab2_input_devices:AB2_PB_MOM_6MM_PTH_BLKSW1
1USB KBDConnect:USB_AJ6
1USB KBD AltConnect:USB_AJ2
1USB PWRab2_usb:AB2_USB_MICRO_SMDJ9
1VIDEOrca:rcaJ5
1VS23S010Housings_QFP:LQFP-48_7x7mm_Pitch0.5mmU1

The 110 most common of 115 parts.

Questions

How big is the Basicengine PCB?

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

What parts does the Basicengine use?

115 parts, built around the ESP-12E, PCF8575DB, VS23S010D-L and 74HC04D. 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 Basicengine KiCad files?

From the uli/basicengine-pcb repository on GitHub, at the commit this page was made from: the board is basicengine_rev2/basicengine.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Basicengine design in my own project?

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

More from uli/basicengine-pcb

1
  • 2 layers50 × 50 mmShuttle, the printed circuit board in 3D

    Shuttle

    uli/basicengine-pcb

    Schematics and PCB layout for the BASIC Engine home computer

    21 parts48

Similar boards

  • 2 layers61.3 × 53.3 mmP42Display, the printed circuit board in 3D

    P42Display

    wolfgangfriedrich/P42Display

    Arduino Video Display Shield

    47 parts21
  • 6 layers200 × 200 mmMotherboard, the printed circuit board in 3D

    Motherboard

    c4puter/motherboard

    609 parts22CC0-1.0
  • 2 layers150 × 150 mmBoardGame, the printed circuit board in 3D

    BoardGame

    jkordek1/Man-Don-t-Get-Angry-Board-game

    "Man don't get mad" - electronic board game

    218 parts5
  • 4 layers100 × 160 mmPrimecamLNABiasPotVreg, the printed circuit board in 3D

    PrimecamLNABiasPotVreg

    asu-rdl/Primecam-Bias

    80-144 Channel Programmable Bias Supply

    271 partsMIT
  • 2 layers137.2 × 111.8 mmHa pcb, the printed circuit board in 3D

    Ha pcb

    cristi-zz/ha-pcb

    PCB for my home automation. For reviewing purposes.

    55 parts
  • 2 layers120 × 80 mmVolyaEth, the printed circuit board in 3D

    VolyaEth

    d-ashesss/VolyaEth

    Scheme and PCB for VolyaEth

    20 parts