Kim Uno - A 6502 Kim-1 Computer On Arduino

About the project

Replicate the 1976 KIM-1 computer on an Arduino. Pocket-sized 6502 coding! Use serial port, or add small PCB to make a stand-alone device.

Project info

Difficulty: Easy

Platforms: ArduinoSparkFun

Estimated time: 1 hour

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Momentary Pushbutton Switch - 12mm Square Momentary Pushbutton Switch - 12mm Square x 25
I2C 4-DIGIT 7-SEGMENT DISPLAY I2C 4-DIGIT 7-SEGMENT DISPLAY x 2
Resistor 330 Ohm 1/6th Watt PTH Resistor 330 Ohm 1/6th Watt PTH x 3
Resistor 1K Ohm 1/4 Watt PTH - 20 pk Resistor 1K Ohm 1/4 Watt PTH - 20 pk x 8
PiGRRL 2.0 Custom Gamepad PCB PiGRRL 2.0 Custom Gamepad PCB x 1
Arduino Pro Mini 328 - 5v/16mhz Arduino Pro Mini 328 - 5v/16mhz An (any) Arduino even without any of the other hardware will run the KIM Uno. You can then only use the serial terminal mode. The PCB adds a physical keyboard and LED display. Careful: If you use the PCB design, check you have a Pro Mini with the same footprint for A4 and A5 pins. There are other variants. x 1

Story

The KIM Uno is an open source hardware project to replicate the classic 1976 KIM-1 computer. It doubles up as a 6502 programmable calculator, plays chess, and is a pretty good machine language learning tool including the amazing 550-byte disassembler Woz wrote in 1976. Costs are about $12 in commonly available parts.

This can either be a software-only project on any Arduino, or be made into a stand-alone device using the custom PCB. Or just convert a dead calculator!

It is a very simple project to build: 11 resistors, 24 buttons, LED display & Arduino Pro Mini. Send the Gerber files to a PCB manufacturer, or you can buy the whole thing as a kit (hobby, not for profit) from me here.

The KIM Uno as a kit

This was designed with education in mind: as a first soldering project, after which it teaches something about how CPUs really work. See the web site for details and manual.

Why do this?

  • Historical interest. The KIM-1 was hugely important in early microcomputer development.
  • Educational value. Programming a KIM-1 is a great way to understand the deep inner guts of any computer.
  • Appreciation of art. KIM-1 software is beautiful minimalistic coding, to be savoured like any art form...
  • Hacking fun. The KIM-1 core is simple, and many things can be done with it. Improve the 6502 with extra instructions, or hook up peripherals through I2C.
  • My real KIM-1 no longer works.

History of the KIM-1

1976... Microprocessors have existed for less than 24 months. Less than 12 months ago, the Altair 8800 became the first commonly available microcomputer, using an Intel 8080. It costs over $600, a big box containing 256 bytes of RAM and no ROM. You toggle in your program bytes bit-by-bit. Alas, you can't save your program, unless you buy add-on boards that are just appearing on the market.

The Real Thing from 1976: KIM-1 Single Board Computer

Enter the new KIM-I, intended as just a demonstration board by MOS Technology to showcase their brand-new 6502 microprocessor. One year after the Altair, the KIM-1 sports 1152 bytes of RAM, plus 2K of ROM with a monitor program that is much easier than the Altair's front panel. And it has a serial port to connect a printer or terminal. And it has a cassette interface so you can save your programs. All that on a small board for $245.

It may have surprised MOS Technology, but with hindsight it's obvious that the KIM-1 would find a huge market in hobbyist buyers. This second generation of microcomputers was not only affordable, but actually usable without $1000 in add-on expansion boards. So the KIM-1 became the birthplace of many things, including the very first commercial games software (Microchess at $10) and the first software development tools. And actually, you could expand the KIM with add-on boards just like an Altair. You just did not have to so, in order to do something with it...

Commodore bought MOS Technology the same year, and built upon the KIM-1's momentum by introducing the PET and later the VIC-20 and C-64. Apple too built its empire on the 6502, as did Atari and Nintendo.

Schematics, diagrams and documents

Kicad Project file Schematics and Board Layout

See web site for latest version

Schematics (PDF)

User Manual

Software (Arduino IDE code)

Tested on IDE 1.6.8

CAD, enclosures and custom parts

3D printed case

In case you have a 3D printer. A ready-made case is also available.

Code

Software (Arduino IDE code)

Tested on Arduino Pro Mini, Arduino Uno, Nano, Mega etc.

Credits

Leave your feedback...