2
\$\begingroup\$

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].

  • \$\endgroup\$

    closed as not a real question by Leon Heller, Brian Carlton, Dave Tweed, W5VO Oct 23 '12 at 8:16

    It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

    • \$\begingroup\$ Your main decision is going to be if you want to use an off-the-shelf microprocessor, or implement your own CPU in an FPGA (or if you feel like spending a year of evenings wiring, discrete TTL). Raspberry pi is a bit of a red herring given its extreme complexity, part of which is unreleased to the public. \$\endgroup\$ – Chris Stratton Oct 22 '12 at 20:50
    • \$\begingroup\$ What is your goal? Do you want to learn the low-level details about how computers work, or are you more interested in building useful things that incorporate computers? \$\endgroup\$ – Dave Tweed Oct 22 '12 at 20:51
    • \$\begingroup\$ @DaveTweed actually both, but after I acquire a better understand of the first issue I'd like to focus on the building part. \$\endgroup\$ – Eugen Oct 22 '12 at 20:57
    • 1
      \$\begingroup\$ @AlfredCentauri I've skimmed through the website and the book and it seems the type of project I am looking for. However I noticed the computer being built is not interfacing with any I/O device. Anyway, thank you for sharing the resource ! \$\endgroup\$ – Eugen Oct 23 '12 at 21:10
    • 1
      \$\begingroup\$ The screen (and to a lesser extent, keyboard) will greatly increase the amount of work. Consider separating the problem into building a computer for use with a serial terminal, and perhaps building a serial terminal (for example in an FPGA) that drives an LCD -or you can use a PC with a terminal program. \$\endgroup\$ – Chris Stratton Oct 23 '12 at 21:42
    6
    \$\begingroup\$

    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.

    \$\endgroup\$

    Not the answer you're looking for? Browse other questions tagged or ask your own question.