Monday, May 16, 2011

The Computer Renaissance: Return of the Homebrew Computer

I can't recall when and where I read it particularly, but the saying I think still rings true and goes:

If you love software, you have to make your own hardware

One of the reasons I cherish my college alma mater is that I found in their library the book Build Your Own Z80 Computer, that fortunately is now available in free to download PDF here, which served as my guide on homebrew computer design, gave me a peek into how the likes of Apple's legendary Steve Wozniak think and compelled me to have more respect and take a second look at (digital) electronics.

During my college days (yes the 90s), I made a bet that software is where the money is, and thankfully, that bet paid off by having a software development career that pay the bills and serve food on the table. But recently, I have observed that the hardware and software we use in the workplace is not fit for educational purposes. The hardware and software platform we have is so advanced that it's technically the new main frame machines that was so valuable to the corporate world, but offers very little or no educational benefit.

How many computer engineers know at least a little about VHDL, and how to design a computer hardware, like microprocessors, from scratch? I pity the software developer who lacks the basics of standard C programming language and ability to write software for the bare metal or more popularly known as systems programming. The knowledge of hardware and software interface programming I fear is now a lost and forgotten art.

But all hope is not lost, the complexity will make many yearn for the simplicity, thus, many searching for the path to understand the current computer technology will look back to the root or basics of what we have now to gain understanding and knowledge.

Arduino and the its cousin Netduino, in my opinion is a glimpse of those yearning to go back to the basics. Aside from the PDF I shared earlier, here are some of the homebrew computer projects I found online that hopefully may pique your interest and learn from:

There are more resources online on homebrew computer design and creation, like this resource on making your own microcontroller, there are still also trade publications like Steve Ciarcia's (the same author of the Build Your Own Z80 Computer book above) Circuit Cellar Magazine that you can have in one hefty bundle here (I have to recommend a very good resource if possible).

No matter how much criticism many throws at Richard Stallman, we have to admit if it's not for the movement he started, we won't have wider access to free and open source software, and now, also open source hardware. One of the breakthrough is the proliferation of free and open source microprocessor designs, like OpenSPARC, and this spawned an industry of SPARC V8-compatible processors, ensuring that we have a reliable, field-tested CPU architecture that we can learn from.

Some may argue that the web is the platform now and cloud computing is the future, and knowledge of how the hardware works is economically not sound if not obsolete. Pitifully, this thinking is trying to play like Michael Jordan without learning the basics, and this, like in basketball, is prone to injury and develop bad habits (i.e. many developers now failing to understand the hardware are helpless when backward compatibility in source and binary code are cut-off).

What we have here is an opportunity to be like Wozniak and other computer pioneers to also learn what they have known and maybe start the next technological revolution from the garage again.

Mobile hardware built on NDA-free if not free and open source reference hardware may also shed light of hope now with Project Novena, the open computing laptop.


  1. your website is very interesting for computer learner because every computer learner want to get more knowledge.

    Custom Logo Design Service

  2. Solidary with commentary , information is really interesting , but what do you think of such a resource as data room m&a

  3. The main IT undertakings have outlined and built up a product based Application Delivery Networking Platform to control the information movement in the system. Secure bit technologies