Single Chip Computer

The CIP03 Computer

If you’ve seen the about section of my blog, you know that I was trained as a software developer. I entered the software world when I was 10 years old, and my first computer was the Romanian CIP03 (ZX Spectrum compatible) running the BASIC Interpreter (it had it preinstalled in ROM). The specs of the CIP03 included the MMN-80 cpu, running at 3.5MHz, it had 64KB of RAM and 16KB of ROM (used for the Spectrum OS and the BASIC Interpreter). The video offered a 256×192 resolution on 16 colors. Power supply was a huge unit, outputting 5V @3A.
cip03_tastatura_small cip03_placa_small basic_program_notes
It was a great unit, that offered me and others using it, endless possibilities for learning early programming techniques. The last picture shows some of my old programs in BASIC, saved to paper as saving them on tape was unreliable on my unit. The graphics were designed and computed using 8×8 tiles as binary matrixes involving lots of conversions from binary to decimal.

Single Chip Computer

Time passed since the old BASIC programs. Lately we’ve seen a lot of progress in most of the technical fields, and electronics is no exception. Smaller components, smarter ICs, larger flash memories or faster microprocessors. Taking advantage of all these improvements are the applications, and we’re seeing an increasingly larger number of those as well. So all in one, the future’s bright and this is excellent news for the DIY hobbyists.
Using a single AVR Microcontroller, namely the Atmega1284p, I once again had a BASIC computer at my fingertips, thanks to the PCB designed by Dan. I got a PCB from him directly (he has a few on sale on Ebay), then purchased the components and finally soldered everything together.
single_chip_computer_1 single_chip_computer_2 single_chip_computer_3
This circuit and the software running on the microcontroller, offers USB Keyboard support, RCA Video signal output (connectable directly to a TV, like the original ZX Spectrum units), and a BASIC Interpreter (namely the tinyBASIC). Here’s a demo showing the unit at work, with a simple BASIC program typed on the fly (yes, I still remember some of the BASIC syntax after all these years):

Circuit details

To build your own, you will need the circuit diagram, the PCB layout, the fuse settings and the .hex code, all included below:
Single Chip Computer_schem single_chip_computer_4 single_chip_computer_5

This article has 7 Comments

  1. La ce pret poate ajunge ?
    Ce alte versiuni de BASIC se pot folosi si cum il incarci?.
    Ce alte sisteme de operare se mai pot incarca pe el.
    Poti rula jocuri vechi?
    Se poate updata astfel incat sa se conecteze prin wifi… sau prin usb la un device pentru afisare/SD, microsd ( nimeni nu mai are tv vechi si ma gandesc ca ar trebui sa ai un sistem de incarcare a jocurilor vechi)?

  2. salut Catalin,

    Pe mine m-a costat mai mult 1284-ul, si PCB-ul. Varianta de BASIC curenta am scris-o direct in Flash-ul uC, e vorba de tinyBASIC, compilat pentru AVR, cu suport pt video out si tastatura usb.

    Ca alte sisteme de operare, sunt cele orientate catre avr-uri (ca si femto os, pico os). Ubuntu pe un 1284 ca si al meu:

    Jocuri vechi se pot rula, in limita memoriei disponibile. Wifi/USB/SD sunt si ele posibile, dar ar lua destul de mult timp.

  3. buna ziua am si eu o intrebare
    de unde iau schema cablajului
    de unde iau bin-ul sa construiesc si eu un HC ca si acesta
    Cum se pot incarca jocuri de pe caseta adica unde se leaga firele de la casetofon !?
    Cum pot sa ii pun unitate de floppy si seriala !???
    Stiu ca acel integrat are ceva conexiune pe seriala ma gandesc sa il leg de un max 232 si sa imi ofere seriala sau poate aveti voi niste idei mai bune !

  4. salut Ion. O sa pun schema pcb-ului si hex-ul pentru microcontroller.

    Restul intrebarilor sunt foarte bune, dar deloc usor de implementat. As zice pentru inceput sa construiesti ce vezi aici, pentru ca e un montaj foarte simplu, si cu restul vedem pe viitor.


  5. Hello! I need help with programming atmega 1284 bootloader with program, how do it?

Leave a Reply