How to build the own single-board computer


For fun, I would like to build my own single-board computer which I can later program. I know there are already many development kits out there, sold by companies such as Altera and Xilinx, but I want to try to build such a board from scratch.

I'm aiming for something very simple. It should have system clock running on perhaps 1MHz, an 8-bit CPU (onchip multiply-and-divide unit is not required; I can simulate that in software), a small RAM (some KB should be enough) and an EEPROM where I can store my program. I would also like to connect some sensors, for example to read the temperature in the room.

I have read some digital design and CPU architecture courses, so I'm not worried about the components themselves. What I am worried about is the interconnects, especially if I need resistors and capacitors inbetween. I have some experience with analog circuitry, but it is limited. I have built my own board once for controlling four fans in my computer case using some opamps and resistors.

I don't mind writing my own compiler if need be, but it makes things much easier if such is already available. Also, getting the program on the EEPROM might be a bit difficult…

Do you know of any good books, websites or other resources to point me to in order to learn how to build my own single-board computer? Any help is much appreciated.

Best Answer

I don't know how on-topic this is, but I'm going to answer anyway.

Your first step would be to take some time to browse through potential candidates for each component and to decide how low-level you want to go. Do you want to build CPU from discrete components or use preassembled CPU or get a microcontroller which would have all basic parts in one package. Next step would be to obtain and read datasheets for each component you plan to use. Usually you'll be able to find some example circuits and information about what kinds of coils or capacitors you'd need to use. Coils are mostly used to filter out AC signals while capacitors are often used to filter out DC signals.

Next step would b to try to obtain some sort of circuit simulation program. It's going to make everything much easier.

After that you'd need to "set-up shop". For getting data to the chip you'll need a programmer. Cheapest ones can be made from parallel or serial ports while more expensive ones will use USB and come with nice program which will load data to chip. Here you can't go wrong if you obtain programmer recommended by chip manufacturer. For example this one is recommended for AVR chips. You'll also need to decidd if you are going to make a printed circuit board or use proto-boards only. If you are going to go the PCB way, you'll need electronics soldering iron and related tools. You'll also need to decide if you are going to find someone to fabricate PCB or make one yourself. There are lots of ways to make PCB yourself, but some of them involve use of strong acids so they can be pretty dangerous.

You'll also need an IDE for the chip you decide to use. I can't help you much there is you don't know what you are going to use, but most popular chips today have an IDE which at least supports C.

I know that I've been imprecise with this answer, but I can't go into details unless I know what you are actually planing to do.

Also, consider going to with this question. It seems it would fit there better.

Related Question