Skip to the content
PCBKitNew board
2 layers50 × 50 mmShuttle, the printed circuit board in 3D

Schematics and PCB layout for the BASIC Engine home computer

Size
50 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
46
Pads
136
Tracks, vias
401, 32
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
28 Apr 2018
Updated
12 Sep 2018

Overview

Shuttle is an open-source printed circuit board by uli, from the uli/basicengine-pcb repository on GitHub. It is a 2-layer board of 50 × 50 mm with 21 parts on 46 nets, routed with 401 tracks and 32 vias.

It is built around the ESP32-WROOM-32 and AMS1117. Its parts include 8 connectors, 5 resistors, 3 capacitors, 2 ICs and 1 switch. It belongs with the ESP32 boards of this library.

Main components

2

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

21
QtyValueFootprintReferences
510kResistors_SMD:R_1206R1, R2, R3, R4, R5
222uCapacitors_SMD:C_1206C1, C2
1100nCapacitors_SMD:C_1206C3
1AMS1117ab2_sot:AB2_SOT223U1
1Audiorca:rca_uniJ3
1ESP32-WROOMESP32-footprints-Lib:ESP32-WROOMU2
1EXPPin_Headers:Pin_Header_Straight_2x10_Pitch2.54mmJ1
1KBDConnectors:USB_AJ5
1LOGODocuments:basic_engineG***
1MicroSD Carddevrom3_pcb:Conn_uSDcardJ6
1PS2_KBDmini-din-6-f:MINI-DIN-6-FULL-SHIELDJ4
1RESETab2_input_devices:AB2_PB_MOM_6MM_PTH_BLKSW1
1USB_PWRConnectors:USB_B_MUSB_StraightJ7
1USB_PWR_Uab2_usb:AB2_USB_MICRO_SMDJ8
1Videorca:rca_uniJ2

The 20 most common of 21 parts.

Questions

How big is the Shuttle PCB?

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

What parts does the Shuttle use?

21 parts, built around the ESP32-WROOM-32 and AMS1117. 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 Shuttle KiCad files?

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

Can I use the Shuttle 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 layers85 × 56 mmBasicengine, the printed circuit board in 3D

    Basicengine

    uli/basicengine-pcb

    Schematics and PCB layout for the BASIC Engine home computer

    115 parts48

Similar boards

  • 2 layers130 × 77 mmNano keyboard, the printed circuit board in 3D

    Nano keyboard

    Freireg/Custom-Macro-Keypad

    Custom macro mechanical keypad

    49 parts4
  • 4 layers63.2 × 49.3 mmRiMon, the printed circuit board in 3D

    RiMon

    RafaelEstevamReis/MonitoramentoRios

    Repositório do projeto de monitoramento de Rios

    58 parts2MIT
  • 2 layers45 × 55 mmDongleALIVEv2.0, the printed circuit board in 3D

    DongleALIVEv2.0

    joaogabrielsantosD/Dongle-eaLIVE-PCB

    PCB of the DongleEALIVE for reading data from the vehicle's CAN bus with telemetry via BLE, supporting GPS and accelerometer.

    77 parts1
  • 2 layers97.3 × 40.6 mmGate opener, the printed circuit board in 3D

    Gate opener

    Leczok12/gate-opener

    This device can open gate remotly using ESP RainMaker app or Google home.

    29 parts1
  • 2 layers165 × 110 mmClean room, the printed circuit board in 3D

    Clean room

    trieuhuyduc/Clean_room_slave

    ESP32-based slave controller board for cleanroom equipment — RS485/Modbus, isolated I/O, 220V mains control (KiCad)

    213 parts1
  • 2 layers52.8 × 68.5 mmMP3, the printed circuit board in 3D

    MP3

    amkhan2009/GameBoy-Mp3-Plater

    Portable ESP 32 based MP3 Player

    40 partsMIT
  • 2 layers80 × 100 mmAirstream controller, the printed circuit board in 3D

    Airstream controller

    klaus-liebler/self-balancing_robot

    hardware and software for a super cheap self balancing robot

    77 partsMIT