Giter VIP home page Giter VIP logo

basicengine-pcb's Introduction

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

Qty Name Package Where to get it Links
1 Circuit Board Any board house JLCPCB, Smart Prototyping.
1 VS23S010D-L video controller TME (small quantities), VLSI (for large orders) TME, VLSI
1 ESP-12F or ESP-12E microcontroller module AliExpress, eBay, Amazon, various smaller retailers AliExpress: 1, 2, 3
8 Resistor 10K 1206 Generic part AliExpress: 1, 2
1 Resistor 1M 1206 Generic part AliExpress: 1
1 Resistor 75 Ohms 1206 Generic part AliExpress: 1, 2 (untested supplier)
2 Resistor 1K 1206 Generic part AliExpress: 1
8 Capacitor 100nF 1206 Generic part AliExpress: 1, 2, 3, 4
2 Capacitor 56pF 1206 Generic part AliExpress: 1
1 Electrolytic capacitor 10uF (Revision 1 board only!) THT Generic part AliExpress: 1, 2
2 Electrolytic Capacitor 220uF (Revision 1 board only!) THT Generic part AliExpress: 1
1 Capacitor 10uF (Revision 2 board only!) 1206 Generic part AliExpress: 1, 2
2 Capacitor 22uF (Revision 2 board only!) 1206 Generic part AliExpress: 1, 2
2 RCA connectors THT Generic, but often overpriced part AliExpress: 1 (untested supplier); no longer available: red, yellow
1 Micro-USB connector SMT Generic, but often overpriced part AliExpress: 1, 2, 3, 4
1 Regulator AMS1117 3.3V SOT-223 Generic, sometimes overpriced part AliExpress: 1; eBay DE: 1
1 74HC04 hex inverter SOIC-14 Generic part AliExpress: 1, 2
1 Crystal 3.579545 MHz (NTSC) or 4.433619 MHz (PAL) HC49-S Generic part AliExpress: NTSC, PAL (untested supplier)
1 PS/2 keyboard connector (female) THT AliExpress, some distributors AliExpress: green, purple

Not strictly required, but strongly recommended components

Qty Name Package Who can supply it Links
1 Pin header 1x7 (programming header) Generic part AliExpress: 1 (1x40 headers, cut them to size)
1 MicroSD socket SMT AliExpress, eBay AliExpress: 1, 2; eBay DE: 1
1 Push button 6x6x4.3 mm THT Generic part AliExpress: 1, 2
1 PCF8575TS I2C I/O extender SSOP-24 Generic part; AliExpress recommended for price AliExpress: 1
1 Raspberry Pi 3 case Generic part AliExpress: 1, 2, 3, 4, 5

Optional components

Qty Name Package Who can supply it Links
1 Pin header 1x3 pins (alternative power supply) AliExpress recommended for price see "Pin header 1x7"
1 USB A connector (alternative keyboard connector) THT Generic part AliExpress: 1, 2
1 Pin header 2x20 pins (expansion connector) AliExpress recommended for price AliExpress: 1 (2x40 headers, cut them in half)
1 PlayStation controller connector (female) AliExpress AliExpress: 1, 2

Programming tools

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

Qty Name Package Who can supply it Links
1 USB-to-serial converter AliExpress, eBay AliExpress: 1, 2
7 Dupont wires female/female (for wiring the converter to the programming header) AliExpress, eBay AliExpress: 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".

basicengine-pcb's People

Contributors

uli avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.