Tech News
← Back to articles

Front-Panel Booting an ATmega88 Microcontroller

read original related products more articles

Front-Panel Booting an ATmega88 Microcontroller

Your computer contains both hardware and software. Even if you buy a PC motherboard separately, there's software (called BIOS) in one of the chips, otherwise nothing would happen when you turn on the power. That chip was programmed in a factory by a computer-controlled system, and that computer-controlled system also came with software, perhaps in a boot ROM. That boot ROM was again programmed by a computer, or manufactured from a blueprint that was generated on a computer.

But if you keep tracing this lineage backwards in time, you eventually reach a point of deus-ex-machina: A bootstrap routine that was programmed by hand, by a human being, most likely on the front panel of a minicomputer.

I wanted to experience that process first hand. There are minicomputer emulators, of course, but they cannot serve this particular purpose: With an emulator you're not bringing software to hardware, you're bringing software to some other software that's already up and running.

Besides, I wanted to do this on a computer that meant something to me personally, a computer from my own lifetime. So I was delighted to realise that the good old ATmega88 just happens to have a front-panel-compatible programming interface!

Presentation video

This video starts with a brief tour of minicomputers and front panels in general, and goes on to explain how I constructed my own front panel for the ATmega88. It culminates with me using it to enter a small program to blink some LEDs: Computer hardware, delivered without software, and brought to life for the first time by hand.

I collected photographs and music from a number of sources, most notably Wikimedia Commons. You can read the full credits here.

The historical narrative is simplified for brevity. For a more thorough account, I can highly recommend the Wikipedia article on Booting.

Schematics and gotchas

... continue reading