This is an Arduino-based emulation of the KENBAK-1 Kenbak-1 - Wikipedia, considered by some to be the first "personal computer", first advertised for sale in the September 1971 issue of Scientific American.
I'd been thinking for a while that emulating an old-school switches-and-lamps computer would be a fun Arduino project, but had stalled looking at things like the Altair 8800 with its 30+ lights and 20+ switches. However, when I stumbled upon the Kenbak I thought it was something I could pull off as my first real Arduino project. Naturally I called it the KENBAK-uino.
This is the end-product, it can be programmed via the buttons on the front panel and show outputs on the LEDs. It's a faithful emulation of the original CPU but with a few enhancements thrown in like pre-loaded sample programs and access to a real time clock.
See the set on flickr with more photos and a couple of videos KENBAK-uino | Flickr.
Get the Sketch from here:Mark Wilson's Home Page - Software/Arduino/KENBAK-uino.
The enclosure came with a black plastic front panel which sat in a slot in the case. I used thinner white plastic and had intended to laser-print the labels on an Overhead Projector transparency, but it kept smudging, so instead I printed it on heavy acid-free paper. The design of the front panel was done by writing custom PostScript code. Small bolts ran through the paper and plastic backing to the front-panel PCB. The paper+plastic sandwich slid into the slot in the case.
Thank you for posting that; its really a great looking project - heck, it deserves to be a kit! It would complement the "mini-Altair" emulation kit that's out there (which uses a PIC processor, IIRC)...
That was so clever. Good job. On the transparencies, I once tried that, but I had the same problem as you. Additionally I had the letters try to flake off when they were touched and it just wouldn't cooperate with me. What I finally ended up doing was reversing the lettering so that when I turned it over, it read correctly. Then I mounted it backwards to the panel I was using. It looked really cool for a few months and the darn transparency started to turn yellow. I understand they have that problem fixed now and it could work. Haven't tried it though.
Next question, how did you punch those perfect holes in it. I could understand a hole punch, but you have different size holes there.
In case you haven't noticed, I'm stealing your ideas.
Thanks for your kind words. I'd love to see some other KENBAK-uino's out there.
I was also going to do the "reverse" trick on transparency, but couldn't get past the smudging (especially after punching 33 holes, that's a lot of handling). I'll keep an eye on my test pieces and see if they yellow, for future reference.
I used a "Revolving Punch Plier" like this http://www.handscraftstore.com/shop/show_single_product.php?prod=1060 (but thankfully a cheaper model). The secret is to put a few extra layers of sacrificial paper behind the work-piece, a single piece of paper won't punch very well. And then it was a matter of carefully placing the punch over the faint circles I rendered on the front panel.
revolving punch plier.....I didn't even know such a thing existed. One day, we should all get together and share ideas about making projects look nice. Things like bezels for LCD displays, lettering, drilling holes, etc. The newbies would love it and us folk that have tried a thousand ideas just to have one work would save a bunch of time.
I mailed John Blankenbaker yesterday the original creator of the KENDAK this thread ( - http://www.kenbak-1.net/ - )
From his reply "... I have often wondered how much physically smaller the Kenbak-1 computer could have been made using modern technology. The limitation is in the switches and lights, not in the logic."
BTW, some of my original captions on flickr were wrong: September 1971 is FORTY years ago not thirty!
No, I don't know how I screwed that up but I was in a slight hurry to post before the end of September.
draythomp:
revolving punch plier.....I didn't even know such a thing existed. One day, we should all get together and share ideas about making projects look nice. Things like bezels for LCD displays, lettering, drilling holes, etc. The newbies would love it and us folk that have tried a thousand ideas just to have one work would save a bunch of time.
Thank you very much.
There's also a tool out there called a "chassis punch", which has hard steel anvils in various shapes to punch different sized holes thru various materials (thin sheet metal, typically). You can find a set via Harbor Freight and other places (also used to punch holes in the old days on metal car dashboards). I've yet to find a set, though, that has square punches (back in the day, these were typical - not sure what happened to the square ones).
Awesome project. It makes me want to add a friendlier user interface to it (LCD + number keypad).
This emulation project makes me think of another emulation project: what if I use an arduino and a 128*64 GLCD to emulate a 20X8 HD44780 character LCD with 4-bit interface????
I thought the basic font ont the GLD is 75 so 86 space is enough to fit one character with boarders on the bottom and right. I'll have to check. I have a GLCD on a breadboard.
With 13 pins for the GLCD and 6 pins to emulate HD44780 LCD, I still have one pin left, what to do???
The real question is, will LiquidCrystal library work with this size display (8 rows).
Seems to me these could be Arduino-emulation-worthy and interesting projects:
COSMAC ELF, COSMAC ELF - Wikipedia
11 toggles, 1 push-button and two seven-segment displays