Microcomputers for Homebrew Projects?
tengwar asks: "Way back when I was at university, I did a course on microcomputers which went into enough detail to design, build and program a Z80-based system - more or less state of the art at the time. Now that my lecture notes are firmly embedded in the Carboniferous layer, I'd like to have a go at doing this with a more modern chip, and I wondered what's available. I'm not brilliant at electronics, and I liked the way the Z80 peripheral chips integrated easily with the CPU. Obviously I'm not looking to just slot together the latest PC motherboard with the latest Pentium, but I'd need to go for something where the board design won't get too complicated, which probably rules out processors with full 32-bit external interfaces on space grounds. I'm not really concerned about performance, but it would be nice to be able to port a JRE to it rather than working entirely in assembler. Any thoughts on suitable starting points?"
We have made a few ARM Boards to teach undergraduate students. They work with ARM Angel or with our own debugger KMD. You can write code in asm or C or any even gcc front end (inc java).
The best feature for me is the huge FPGA's to play around with. Its quite easy to pick up any electronic equipment and plug it into it. Lots of fun and great experience gaining stuff.
The board total was around 100 GBP (inc board manufacture and mounting) and I think if you ask nicely the designs will be available.
Alternatively you could use something like a 6809 or an 8051 but then writing code for them is a pain. The best idea if you use someting old is to emulate a better processor. You can then run your favorite ARM/MIPS/x86 code on an emulation and forget the real system.
Mouse powered Chips, Open source Processors and Lego
You might try an Arm processor, many of which have great built-in features (like NIC, daq, memory management). You can get demo boards, and run linux + related gnu tools on them. ARM-based systems make great embedded/distributed systems (aka 'the future'), and are a useful to learn for the old-resume.
mx
Firstly, these are good, and cheap: http://www.oopic.com/
:)
They can be programmed with java, c and much more, yet are basic. They are made to work well with servos and such, and are very versitile (read up on vitural circuit)
For a more expensive option, the famous mini-itx boards are great, and robot sized heh http://www.mini-itx.com/
Starting at about the same price as a microcontroller (well, some)!! Java is here too
I suppose I'm more looking into cpus for robots, so maybe this is not ideal.
puts ("Python r0cks\n");
Those BASIC Stamps you are talking about are really Microchip PIC's (Periferal Interface Controllers) with an interperator program. You can buy your own, though, and assembly code them or download the C compiler for it and use a subset of C.
If you don't feel like spending too much time mucking around with assembly or C, or dropping 50 dollars on a programmer, or putting together all the supporting circuitry around the chip (the clock, adc, etc.), then you should probably try the BX-24. It's programmed in a Basic environment (which I guess could be either good or bad depending on who's using it), so it's dead easy to get something up and running really quickly.
Make that a few hundred MHz and a few cm.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
Better I would think to start with an FPGA. I did a lab like this when I was in school - not that it was being taught in the course, just that I was bored with the labs so decided to make my lab reports more interesting. Take an adder (in my case it was an actual 74181) and show how it's incorporated into a "real" CPU. Then counters, memory, etc. You can introduce it a module at a time, build a lab project around it (like wiring the FPGA as a basic adder and flipping switches on the workbench) then use it as part of the next project to make a more complex ALU. Keep going piece by piece and you've not only made everyone relatively comfy with a soldering iron and proto boards, you've also prepared them for senior classes and CAD tools.
There's a bazillion premade CPUs on the market now that have several on chip peripherals. But every one of them in low quantity is relatively expensive at $20 or more. Why not just spend that on an FPGA (or even twice that) and teach some skills that will help qualify students for something better than "skilled labor" assembly line work?