This instructable will document and explain my latest project, a standalone computer system based upon a single chip (IC); the ATmega 1284P. The 1284P is responsible for all aspects of the system, including running the BASIC interpreter, generation RCA video signals and reading keyboard input. This computer system runs TinyBASIC just like my Arduino BASIC Shield but this project is completely standalone meaning no Arduino is needed and only a single AVR is needed.
This single chip computer has a video output via RCA, allows a PS/2 keyboard to be connected, allows circuits and components to be connected using the IO headers and runs the TinyBASIC programming interpreter. All components are placed on a single sided PCB which has a simple layout and is easy to produce. The onboard ATmega 1284P is running on a 16MHz crystal. This computer is also low power (it does not draw large amounts of current as it uses a micro-controller which are generally low power devices and the circuit current draw is limited by the voltage regulator to 1A) and some of the PCB components are reusable (such as the ATmega 1284P and the resistors etc).
The images of the blue PCB are for the second version of this computer (details for this board can be found on Hackaday projects: https://hackaday.io/project/1260-single-chip-avr-basic-computer
Update (07/12/14): I updated the design of the computer by adding an additional EEPROM IC allowing full size BASIC programs to be saved. The new design of this computer is documented on Hackaday projects at the following link: https://hackaday.io/project/3537-avr-basic-computer-v01
I had PCBs for this new computer design created professionally at a board house and I am selling the remaining PCBs on eBay at the following link: http://www.ebay.co.uk/itm/121510974344
Update (28/07/14): I have ordered more PCBs (sent PCB files to the board house) and will be putting the boards up on eBay when I receive them (I will post the listing link when I receive the boards). I have slightly updated the design of the PCB to include a USBasp programming header, a few more GPIO pins and a header which allows a small PCB containing a 64Kbit EEPROM IC (an EEPROM storage card) to be connected (used for storing BASIC programs).
1 x ATmega 1284P Microcontroller
1 x DIL 40 Pin 0.6″ IC Holder
1 x 40 Pin Female Pin Header (to be cut down into smaller headers)
1 x 16 MHz Crystal
2 x 22pF Ceramic Capacitors
1 x 2.1mm Barrel Jack
1 x L7805 Voltage Regulator
1 x 0.1uF Electrolytic Capacitor
1 x 0.33uF Electrolytic Capacitor
1 x RCA PCB Mount Socket
1 x PS/2 Mini Din PCB Mount Socket
2 x 470 Ohm Resistors
1 x 1k Ohm Resistor
2 x 0 Ohm resistors (used as jumpers)
1 x 3mm LED
1 x PCB / Strip-board / Matrix-board (depending on how the computer is going to be constructed. If a PCB is not used, different components may be needed as some have footprints such as the RCA socket which cannot be placed on strip-board)
Additionally, tools are needed to construct the PCB including a soldering iron, solder, needle nose pliers and wire cutters.
To operate (use) the computer, a PS/2 keyboard, RCA enabled display (such as a TV) and a power source (such as a PP3 battery or wall mounted PSU) are needed. To bootload and program the 1284P, a programmer is needed (I used an Arduino UNO as an ISP).