KIM Uno: Simple KIM-1, Apple-1 & Cosmac Elf remake

A pocket-sized KIM-1/Apple-1/Cosmac Elf with added '6502 programmable calculator mode'. Parts cost is about $10.

Similar projects worth following
The KIM Uno is a pocket-sized replica of the KIM-1 computer. A 6502 programmable calculator mode and Apple-1 compatibility are added, as well as microchess and some other vintage 6502 programs. Sized identical to the keyboard/display area of the original KIM, the Uno provides a faithful KIM 'experience'. Alternative firmware turns the board into a Cosmac Elf with 1802 CPU and OLED "Pixie" display.
It is a very simple project to build: 11 resistors, 24 buttons, LED display & Arduino Pro Mini.

The Pro Mini runs Mike Chambers' 6502 emulator or Al Williams' 1802 emulator at its heart. This was designed with education in mind: as a first soldering project, after which it teaches something about how CPUs really work. See for details.

Running the emulator on any Arduino (without the KIM Uno PCB)

Actually, the software will run on any Arduino, it does not need the PCB. Just compile the source code from the project site. Without a physical keyboard and LED display, it will only let you use it over the serial port of course. You can choose between two 'Modes' though. Mode 1: use a terminal program such as puTTY (9600bps) to look at the six digits like they would be present on the physical hardware, or (Mode 2:) just press [TAB] to switch the KIM-1 to its normal serial mode operation. In Mode 2, the KIM-1 ROM operates a bit differently in terms of keystrokes. See the!kim-uno-summary/c1uuh">project web site for details.

  • 1 × Arduino Pro Mini
  • 24 × PCB switches 6x6mm standard type
  • 3 × 2 to 4.7K Resistors Precise value does not matter
  • 8 × 1K Resistors Lower resistors draw too much current from Arduino
  • 2 × 3461BS 7 Segment Displays

View all 6 components

  • Is that a KIM-1 on your wrist?

    Oscarv08/18/2020 at 07:21 1 comment

    Quarantaine silliness.

    Because why not? This is the KIM Uno version for the TTGO T-Watch 2020, a very nice $28 package in the shape of a smartwatch that is really just an esp32 with lots of nice extras added. This version of the KIM Uno is just a quick hack, and really it's more the TTGO than my little hack that I recommend... but I'm tempted to develop it a bit more. Fun little platform!

  • Update: now it's 3-1: KIM-1, Apple-1 and 6502 programmable calculator

    Oscarv08/17/2020 at 21:46 0 comments

    Well, 4-in-1: it's all about the built-in collection of tiny 6502 programming gems. The Pocket Museum.

    It's been six years since I made the KIM Uno. For about $10 in parts cost, based on a hidden Arduino Pro Mini, its purpose (purpose?) is best summarised in a picture:

    Inspired by my late, great friend Marcel van Kervinck, who hacked Apple-1 compatibility into just 930 logic gates with his Gigatron, this is my rather more modest attempt at Apple-1 fun, but it is pocket-sized. The software does not even need the PCB; all it takes is an Arduino, esp32 or STM 32 Blue Pill over a serial port.

    The main benefit of the Apple-1 feature is that you can run WozMon and (thanks to some archaeology of Mike Barry) the Baum/Wozniak 850-byte mini-assembler. You can flip back between KIM-1 hex coding and the interactive mini-assembler with just a keypress. For when you don't know the hex code for that 6502 instruction. 

    The other updates: the EEPROM in the microcontroller now acts as solid-state cassette tape for storage.

    And the code now runs on the more powerful Blue Pill and esp32 as well: I hit all the limits of the atMega328 (RAM, Flash, speed) and although I much enjoy shaving bytes off code to make things fit, it can't hold any more than it does now. Whilst the future of 6502 development, as is well-known, is a bright area of growth... All details & download on my KIM Uno web pages.

  • New firmware morphs KIM into an 1802 Cosmac Elf - with Pixie display

    Oscarv08/04/2017 at 01:10 1 comment

    Al Williams decided it was time to put an 1802 processor in the brain of the KIM Uno, morphing it into a Cosmac Elf. See his blog post here. Which triggered me to add a 1861 Pixie display to it. Using a $3 OLED, this now plays a nice set of vintage 1802 games - and thanks to Al's serial monitor code, it's a pretty mean and lean 1802 development environment. See my in-depth blog post for details. 

    Here's a quick Youtube video of the UNO1802. 

    That's all of $13 of parts in action... thanks, Al! Vintage computers never die.

  • Added VTL-02 interpreter

    Oscarv07/09/2016 at 00:57 1 comment

    VTL-02 is a nifty little programming language - 1020 bytes of code gives you something close to Basic. Written in 1976 for the Altair 6800 by Frank McCoy and Gary Shannon, it was only recently ported to the 6502 by Mike, and then tuned by Klaus, on the 6502 forum (link). It counts as one of the top early microcomputer programming achievements.

    I was able to wedge it into the KIM Uno's ROM map, so it now boasts not only a machine language monitor and (Wozniak's original) disassembler, but also an easy-to-use interpreted language. Well, easy after you read the manual (here). It does require a serial terminal, or more likely a USB-to-Serial cable to your laptop used as a terminal. Because the on-board hex display really won't cut it :)

    One more example of what you can do with less than 1024 bytes of code. And one more vintage 6502 coding gem in the KIM Uno. Thanks, Mike & Klaus!

    The KIM UNO Firmware update is here, at the bottom of the page.

  • Compiling with Arduino 1.6

    Oscarv03/29/2015 at 18:10 0 comments

    The KIM Uno code was written for the 1.5 version. Scott tipped me off that you need to make one change when compiling under 1.6:

    change "prog_uchar" to "const unsigned char" in cpu.



  • Convert dead calculators

    Oscarv03/16/2015 at 19:57 0 comments

    Scott over at modified the firmware to run on an old calculator display. Not published on his site yet, but he then proceeded to convert a dead calculator from the 70s. So I'm now looking for suitable transplantation candidates as well :)

View all 6 project logs

  • 1
    Step 1

    Instructions are in the PDF here.

    User manual is in a PDF here.

View all instructions

Enjoy this project?



Martian wrote 01/26/2017 at 16:06 point

Just wanted to say, I found this on your brilliant website some time ago, and I've had my serial based KIM-1 clone for sometime now.  Can't wait to update it with VTL-02.  Thanks!

  Are you sure? yes | no

Oscarv wrote 10/01/2015 at 09:31 point

How cool is that! See my pvt email as well - I'd like to include it in the KIM Uno firmware if that's OK with you. 

  Are you sure? yes | no

Arduino Enigma wrote 10/01/2015 at 00:26 point

Wrote a Clock App for your KIM Uno:

Code comments are here:

Thanks for the fun project.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates