Thomas' Labs

Prototype 1

Temuco, Chile, March 03, 2019
Last edited: Bremen, Germany, February 02, 2021

Background

Back in 2015 I used to watch gameplays of the just released Fallout 4. From this game the thing I loved the most was the pip-boy, so much so, that I had the brilliant idea, Why don't I build my own pip-boy? I mean, How hard could it be?.

Unsurprisingly, it turned to be harder than expected. I only knew how to program at an application level (I wasn't that good at it either) and had basically no knowledge of electronics, assembly language, nor did I even have the components at my disposal.

Beginning

Some time after this idea, I got myself an atmel328p and a programmer. I learned to instruct this AVR to draw text on a 16x4 lcd and could get input from buttons.

But I had some challenges. First, microcontrollers are usually based on the Harvard architecture. This means that running programs from ram was virtually impossible.

Added to this was the fact that the AVR had only 2K of ram and no way to add more. I avoided serial alternatives, because they are slower and can't be used as normal RAM inside C code.

These problems were ultimately fixed by switching to a Z80 microprocessor. The Z80 could in fact handle more memory and run code from its RAM, but with it came also the limitation of size. All memory had to be external to the chip's package and the processor itself came with no peripherals, as microcontrollers usually do.

First prototype

Three years later, and with the help of many people, I finally managed to get all the components and build my first working prototype. It did not look beautiful, but it was functional.

prototype1.jpg
Figure 1: Prototype 1 together with its serial terminal

I wasn't satisfied with this prototype though. It was not what I had envisioned. I wanted to have a pocket computer and this was nothing like that. It was huge and full of parts.

Partial conclusion

Thanks to this project I learned a lot about electronics, programming, circuit design and the inner workigs from a computer.

Reinventing the wheel wouldn't have been the only way to acquire this knowledge. But I would definitely recommend it to anyone wanting to learn about the internals of computers.

This being said, I can't deny that I still have a lot left to learn.

The end?

I wouldn't publish something on the Internet just to say I wasn't able to accomplish my dream. Or would I?

It turned out that the idea managed to stay alive long enough, to see the day in which I decided to give it another try. This time, hoping that the collected knowledge allows me to get further.

This requires its own series of articles though.