While the official history of the digital camera begins with a Kodak engineer tinkering around with digital electronics in 1975, the first digital camera was actually built a few months prior. At the Vintage Computer Festival East, [William Sudbrink] rebuilt the first digital camera. It’s wasn’t particularly hard, either: it was a project on the cover of Popular Electronics in February, 1975.
[William]’s exhibit, Cromemco Accessories: Cyclops & Dazzler is a demonstration of the greatest graphics cards you could buy for S-100 systems and a very rare, very weird solid-state TV camera. Introduced in the February, 1975 issue of Popular Electronics, the Cyclops was the first digital camera. This wasn’t a device that used a CCD or a normal image sensor. The image sensor in the Cyclops was a 1 kilobit DRAM from MOS, producing a digital image thirty-two pixels square.
The full description, schematic, circuit layout, and theory of operation are laid out in the Popular Electronics article; all [William] had to do was etch a PCB and source the components. The key part – a one kilobit MOS DRAM in a metal can package, carefully decapsulated – had a date code of 1976, but that is the newest component in the rebuild of this classic circuit.
To turn this DRAM into digital camera, the circuit sweeps across the rows and columns of the DRAM array, turning the charge of each cell into an analog output. This isn’t a black or white camera; there’s gray in there, or green if you connect it to an oscilloscope.
This project in Popular Electronics would be manufactured by Cromemco in late 1975 and was released as their first product in January, 1976. The Cromemco was marketed as a digital camera, designed to interface with the MITS Altair 8800 computer, allowing anyone to save digital images to disk. This was the first digital camera invented, and the first digital camera sold to consumers. It’s an amazing piece of history, and very happy [William] was able to piece this together and bring it out to the Vintage Computer Festival this weekend.
[Dirk] has some great documentation to go with his computer. He started with a classic MOS 6502 processor. He surrounded the processor with a number of support chips correct for the early 80’s period. RAM is easy-to -use static RAM, while ROM is handled by UV erasable EPROM. A pair of MOS 6522 Versatile Interface Adapter (VIA) chips connect the keyboard, LCD, and any other peripherals to the CPU. Sound is of course provided by the 6581 SID chip. All this made for a heck of a lot of wires when built up on a breadboard. The only thing missing from this build is a way to store software written on the machine. [Dirk] already is looking into ways to add an SD card interface to the machine.
The home building didn’t stop there though. [Dirk] designed and etched his own printed circuit board (PCB) for his computer. DIY PCBs with surface mount components are easy these days, but things are a heck of a lot harder with older through hole components. Every through hole pin and via had to be drilled, and soldered to the top and bottom layers of the board. Not to mention the fact that both layers had to line up perfectly to avoid missing holes! To say this was a lot of work would be an understatement.
[Dirk] designed a custom 3D printed case for his computer and printed it out on his Ultimaker. To make things fit, he created his design in halves, and glued the case once printing was complete.
If awesome hardware and a case weren’t enough, [Dirk] also spent time designing software for the machine. He wrote his own abbreviated BASIC interpreter along with several BASIC programs. You can find everything over on his GitHub repository.
We always love writing up well-documented, and just generally awesome projects like [Dirk’s]. If you know of any retro computers like this one, drop us a tip!
In the before-time (I’m talking about the 1980’s here), when home computers were considered to be consumer items, there was the Commodore C64. The C64 derived its vast array of superpowers from two Integrated Circuits (IC) named VIC and SID standing for Video Interface Chip and Sound Interface Device. Chip names were part of our culture back them, from VIC up to Fat AGNES in the end.
We spoke about VIC and SID as if they were people or distant relatives, sometimes cantankerous or prone to sudden outburst, but there was always an underlying respect for the chips and the engineers who made them. VIC and SID together made one of the world’s best video and sound experiences; movement and noise, musical notes and aliens.
If you listen to [Bil Herd] and the rest of the Commodore crew, you’ll quickly realize the folks behind Commodore were about 20 years ahead of their time, with their own chip foundries and vertical integration that would make the modern-day Apple jealous. One of the cool chips that came out of the MOS foundry was the 6500/1 – used in the keyboard controller of the Amiga and the 1520 printer/plotter. Basically a microcontroller with a 6502 core, the 6500/1 has seen a lot of talk when it comes to dumping the contents of the ROM, and thus all the code on the Amiga’s keyboard controller and the font for the 1520 plotter – there were ideas on how to get the contents of the ROM, but no one tried building a circuit.
[Jim Brain] looked over the discussions and recently gave it a try. He was completely successful, dumping the ROM of a 6500/1, and allowing for the preservation and analysis of the 1520 plotter, analysis of other devices controlled by a 6500/1, and the possibility of the creation of a drop-in replacement for the unobtanium 6500/1.
The datasheet for the 6500/1 has a few lines describing the test mode, where applying +10 VDC to the /RES line forces the machine to make memory fetches from the external pins. The only problem was, no body knew how to make this work. Ideas were thrown around, but it wasn’t until [Jim Brain] pulled an ATMega32 off the top of his parts bin did anyone create a working circuit.
The code for the AVR puts the 6500/1 into it’s test mode, loads a single memory location from ROM, stores the data in PORTA, where the AVR reads it and prints it out over a serial connection to a computer. Repeat for every location in the 6500/1 ROM, and you have a firmware dump. This is probably the first time this code has been seen in 20 years.
Now the race is on to create a drop-in replacement of what is basically a 6502-based microcontroller. That probably won’t be used for much outside of the classic and retro scene, but at least it would be a fun device to play around with.