I originally intended to fully build and test this but time got away from me. I'm posting it due to lots of request to see what i've done. I've spent a grand total of about 30 hours on the design, and 1 hour on this webpage, so a lot of the design is probably still locked up in my head. If i've made any mistakes or omissions, please email me and let me know. :D
Feel free to use as much or as little as you want, but it would be great if you could email me as I'd love to know where my design / ideas are being used.
Design Specs:
Predominantly designed to be used in the robocup Soccer domain.
3 x 1A motor drivers to allow for omnidrive base
8 x Analog sensor inputs
8 x LED's for debugging purposes
For the processor, I chose an ATMega128, which I believe is perfectly suited for this application. The development environment is very easy to setup and a programmer is also quite easy to build.
Tutorials :
http://www.itee.uq.edu.au/~damien/AVR/

The 3 PWM outputs are controlled by OCA, OCB and OCC pins, and are generated using the AVR's 16 timer module. 3 I/O pins on PORTC control which direction they're going in. The H-Bridges used to drive the motors are L293D's or SN754410's
The 8 analog inputs are connected to PORTF and make use of the AVR's A/D Converter. Each header has the A/D line as well as power and ground for each sensor.
The program switches can be used as an ID so that you can store several programs at once. (similar to the RCX's 5 program slots)

Power is supplied from a 7805 regulator, allowing an input range of around 7-12V. Decoupling caps either side help smooth the rails. An LED indicates the power is turned on.
the 8 LED's are connected to PORTA, and is useful for outputting whole register values for debugging purposes. The Jumper at the bottom allows the LED's to be disconnected and the pins used as IO's
An RS232 chips is implemented, to convert the TTL signals generated by the AVR, to levels compatible with the serial port on a PC.
The Programming header uses the standard AVR 10 pin IDC connector. The programming dongle interfaces through PINS SDA, SCL, CLK, RESET, PWR and Ground

Didn't get around to it, but the I2C can be brought out to a header to accomodate the popular Devantech Compass and the SFR04 ultrasonic sensors
The remaining IO pins can be used for bump sensors etc.
I started laying out the PCB, and got the placement pretty much finished, but never got around to routing it.

Unfortunatley I didn't get time to actually build this, but this is what I had planned to do. I take no responsibility for this design, as I never got around to building it, and it may need a little more work but I'm pretty confident that the vast majority is there.
Good luck!!
Damien Kee 10/02/05
