Electronic – How to start implementing your own computer?

developmentintegrated-circuitraspberry pisoldering

The question

As a first step I need to select a circuit board, CPU & RAM/ROM chips and I/O connectors. How do I select a board that can interconnect all these components? Perhaps you could give examples of a full configuration (board and chip models). What type of board would you recommend for a beginner (solderless, stripboard, PCB, …) ?

Project Outcome: create a motherboard by myself to which I could connect a monitor and a keyboard and the monitor would display the keys I've typed. An additional extension would be receiving and sending data from a network interface.

Question background

I have a fairly decent background in software development. However I would like to start doing some hardware projects in my spare time.

I've been looking around on the internet for materials to understand how programs are executed on hardware. Two great resources I've found are the http://nand2tetris.org/ which I am currently undergoing and the raspberrypi motherboard which seems like a simple hardware platform to write your first OS. Given the understanding I can get about the basic workings of operating systems from those resources I would like to start to assemble my own motherboard using standard ICs and write programs for it.

Could you give some initial pointers on where to look for information regarding such kind of projects? In particular I have no idea which ICs would make up a working computer, which kind of board to use to assemble them, how to create the circuits between the ICs. Any kind of information on those basic things would be useful to get me started.

UPDATE:

Since the question seems to be considered vague (how else it could be if you need some kick-start information on an unknown topic) I would like to emphasize that I know programming (Java, C/C++, Python, Assembler x86), i've also done some projects in tools like OrCAD etc. The problems I am struggling with are:

  • I've never learned the basics for working with physical components
  • I have little knowledge in components other than general purpose CPU and RAM/ROM chips and how they interconnect with CPU and memory chips in order to make a working computer (the clock, power supply unit, keyboard/monitor/network interface units)

    So given all this I need some pointer to resources that contain step-by-step instructions on buying the necessary components and assembling them into a working mini computer. An example of such a resource is the one given by Alfred Centauri in the comments below. [A Homebuilt Z-80 Computer].

  • Best Answer

    If you really want to do this, I suggest looking at old processors; something of the 6502 or 8080 vintage. In those days, you could take a cpu and some external chips and assemble a working - if limited - computer. Newer processors are much more exacting and challenging to work with.

    Note that this is huge undertaking; do a search for the apple 1 schematic, and you'll get some idea of what it will take. Then you get to start writing software for it, and you'll get to do at least some of it in assembly.

    If you're actually trying to get things done, the current crop of microcontrollers are so much easier to use; you can write in C/C++, they have great built-in capabilities, and they're cheap.