Chapter 6. Building Hardware
Hardware: the part of a computer that you can kick.—Anon.
Before we get into the designs later in this book, let’s spend some time looking at how you would produce the physical machine. Building a computer that doesn’t work is really easy. You may have a perfect design and flawless code, but ignore the physical environment in which the machine will exist, and you’ll have built yourself a very intricate paperweight. In this chapter, I’ll also show you how to lay out a circuit board (and what to be careful of) and how you debug your hardware. We will look at how you physically produce a computer by laying out the design for the ATtiny15 computer, presented in Chapter 15. I’ll assume that you’re hand-building in small quantities and target the discussion accordingly. What I present here is not the state of the art in circuit board design or assembly, but guidelines for “cottage-industry” computer production. If you need to make production runs of hundreds of thousands, either you already know what you’re doing (and can skip this section) or you need to talk to a professional.
To design and build an embedded computer, you have to start with the right tools. The first thing you will need to design a computer is another computer. It’s a chicken-and-egg problem. You will need software tools to create the design (schematic and circuit board layout), and you will need software tools not only to write your code, but also to download it into your embedded ...