Make Your Own 'Home Computer'

39,760

372

14

Introduction: Make Your Own 'Home Computer'

About: I enjoy making things - both hardware and software. I run a small company that makes the Open Source Espruino JavaScript interpreter (http://www.espruino.com) as well as the R4 and Morphyre Music Visualisers...

Many of us learnt to program on a Sinclair Spectrum, Commodore 64, BBC Micro or similar - 8/16 bit Home Computers. These computers booted straight up to a command prompt and encouraged you to write code and play with them.

You can now make your own (that runs JavaScript) in a few hours using a Espruino Pico microcontroller!

YOU'LL NEED


  • An Espruino Pico
  • A piece of plastic of wood to act as a base
  • A Breadboard
  • 4x 4x4 KeyPads
  • Lots of Stickers
  • 40x Male->Male Dupont-style Jumper wires - a multicoloured strip of them makes life a lot easier
  • An old VGA cable

Step 1: The Keyboard

  • Stick your 4 KeyPads next to each other on your base (they're sticky-back). You may want to trim their edges down, but be careful not to trim too far or you might cut some contacts off.
  • Stick your breadboard down in the middle - it's sticky-back too!
  • Split the jumper wire into 4 lengths of 8 - try and keep the colours the same on each.
  • Stick the wires into the KeyPads, making sure the colours all match. Fold the wires back and tape them to the rear of your base. You might want to add some sticky feet to save the wires from getting bent at too much of an angle.

Step 2: Wiring

  • Now you need the extra pins on your Espruino Pico. Get some solid core wire and solder it to the 0.05" pins, checking none of them are shorted!
  • Put the Pico into the left-hand side of the breadboard, strip and place the wires as in the picture above.
  • Now you need to wire the keyboard. Do it as shown in the picture (check the colours of wires), with left to right:

    • KeyPad 1 First 4 wires -> B6,B5,B4,B3
    • KeyPad 1 Second 4 wires -> B9,B8,A8,B7
    • KeyPad 2 First 4 wires -> B6,B5,B4,B3
    • KeyPad 2 Second 4 wires -> A4,A3,A2,A1
    • KeyPad 3 First 4 wires -> B10,B13,B14,B15
    • KeyPad 3 Second 4 wires -> B9,B8,A8,B7
    • KeyPad 4 First 4 wires -> B10,B13,B14,B15
    • KeyPad 4 Second 4 wires -> A4,A3,A2,A1

Step 3: Wiring Up VGA

  • Cut an old VGA cable in half and strip out the wires. The colours of the wires will be different, so use a multimeter to work out which wire goes to which pin on the VGA cable (they're numbered in the diagram above).
  • To make connecting easier, you may want to cut up some of the left-over dupont wires you used for the keyboard and twist/solder them onto the 4 wires from the VGA connector.

Step 4: Keyboard Keys

  • Take the sticky labels and put them on all the keypad keys.
  • Label each one the way you want the keyboard. It'll be easier if you do it as in the picture above (as that's what the software is for), but if you're used to non-english keybaords and want to use different keys, go for it!

Step 5: Software

  1. Next, you need to program the Espruino Pico. Follow all the instructions at http://www.espruino.com/Quick+Start to get the Web IDE working and update the firmware to the latest version.
  2. Download the attached code file
  3. Then, in the Web IDE, click load and choose the code file. It should bring it around 100 lines of code.
  4. You'll see pretty clearly there are two sets of strings that say things like QWERTYUIOP - these are the KEYMAPLOWER and KEYMAPUPPER variables. If you used a different layout for your keyboard, put the new characters in the right order in these.
  5. Click 'Send to Espruino'
  6. When that is done type save() in the left-hand pane of the IDE. It'll save the code to Espruino and your Home computer should start working!

Attachments

Arduino All The Things! Contest

Participated in the
Arduino All The Things! Contest

Be the First to Share

    Recommendations

    • Pocket-Sized Speed Challenge

      Pocket-Sized Speed Challenge
    • Super-Size Speed Challenge

      Super-Size Speed Challenge
    • Audio Challenge 2020

      Audio Challenge 2020

    14 Discussions

    0
    GLaDOS_
    GLaDOS_

    3 years ago

    cool

    0
    SrivishnuT
    SrivishnuT

    4 years ago

    hello dude, awesome project bro

    0
    IsaacPierce
    IsaacPierce

    4 years ago

    I wish I could Favorite it more than once. I was wondering if you could tell me what type of code is used to program the Espruino.

    0
    gfwilliams
    gfwilliams

    Reply 4 years ago

    Thanks! You program Espruino in JavaScript - it's an interpreter, so the code you put in isn't compiled - it still exists as human-readable text in the chip, in case you need to edit it later.

    0
    gdawgtuk
    gdawgtuk

    4 years ago

    It's funny, the only thing I think of when I see this is, "I wonder if I could get Doom to work on it!" Then I get really excited at the thought of re-living the 90's.

    0
    osiixy
    osiixy

    4 years ago

    So funny, creative and astonishing piece of work at the same time.

    0
    Ambles
    Ambles

    4 years ago

    Very, very cool. Wow! What more can I say?

    0
    pcarew
    pcarew

    4 years ago

    Yes, definitely takes me back to ZXSpectrum and the like.

    I had not heard of the "Espruino Pico" before, I'll have to take a look.I wonder if there is a market for a zxspectrum like re-do with one of these at it's heart..........

    0
    RobertZ7
    RobertZ7

    4 years ago

    Man this is the most rudimentary computer I have ever seen. Cool!

    0
    dark32
    dark32

    4 years ago

    Nice! What display did you use?

    0
    gfwilliams
    gfwilliams

    Reply 4 years ago

    It's just a normal VGA monitor - it looks a bit rough because it was salvaged from something, but pretty much any VGA display should work!

    0
    Raphango
    Raphango

    4 years ago

    Nice =D