KIM Uno: a DIY clone of the KIM-1
Update your KIM Uno with the 2020 firmware to gain Apple-1 compatibility and solid-state cassette tape storage...
Note: The KIM Uno software can run on any standard Arduino Uno. It does not need the KIM Uno board presented here, but without the additional hardware, it of course can only talk to you through the serial port.
KIM-1 and KIM Uno (click to zoom)
The KIM Uno is a very simple "open-source hardware" project that started out as a replica of the classic 1976 KIM-1 computer. Later, Apple-1 compatibility and a 6502 programmable calculator mode were added, plus a built-in 'early 6502 software gems' collection. We just keep tweaking and adding.
It costs about $10 in commonly available parts (board & parts without case or power supply), but provides a faithful KIM-1 'experience'. An Arduino Pro Mini mounted on the back contains all the logic and memory.
If you are curious about how the very first microcomputers worked, or you want to learn about how microprocessors work in general, this may be an interesting board. The KIM offered a reasonably comfortable programming environment, but you are working straight on the bare bones of a microprocessor – with nothing in-between.
The KIM Uno has some of the most interesting 6502 software of that early period built in to ROMs. So you can also play chess, use it as a programmable calculator and experience some of the earliest software development tools written by pioneers like Steve Wozniak, Jim Butterfield and Peter Jennings – dating back to a period when microprocessors had only been in existence for 2-3 years. Software archaeology!
The KIM Uno is a simple kit to build:
The basic version consists of 11 resistors, 24 buttons, a LED calculator display and the Arduino Pro Mini, soldered on a circuit board. Building it requires no particular experience in soldering.
A bit more detail
The front side of the board provides the user interface as the KIM-1 offered it back in 1976: a keyboard and segment LED digits. The only differences are:
A toggle button instead of a slide switch for SST
Display with 7 instead of 6 digits, and adding decimal points.
These extras are not used in KIM-1 mode, but allow the Calculator Mode to display floating point numbers.
The KIM's serial port is also present, so you can hook up the KIM Uno to a terminal/PC just like the original.
The KIM Uno contains some extra ROMs with vintage KIM software:
Programming tools to disassemble, move & relocate code. The goal was to power up the KIM Uno with all the development tools that were loaded from tape and/or soldered on ROM cards back in the 70s.
Microchess to play chess.
Fltpt65, a floating point math library, that enables the KIM Uno to be a 6502 programmable calculator.
VTL-02 is a Basic-like language, showing this can actually be done in 1020 bytes.
Storage is provided through the atMega's 1K eeprom, pretending to be a cassette tape.
As it turned out, it was easy to make the KIM Uno compatible with the KIM-1 and Apple-1 at the same time. So, WozMon and an Apple-1 version of the Apple mini-assembler were built in too.
The original KIM-1 had an Expansion Connector. Although not supported by the ROM, it was there for whatever hardware hacks a user wanted to add. The KIM Uno has its own version of it, providing I2C and SPI. All sorts of cheap components could be hooked up, from a little OLED display to sensors, motor drivers, etc.
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 beautifully 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.
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.