2 x wheels. I 3D printed mine, but you can make these from many other things, such as a bottle cap or a cardboard circle.
2 x light sensitive resistors (LDR). < 1 USD each.
A battery pack with 3 rechargeable AA NiMH batteries, totalling 3.6 volts (Don’t use alkaline! If you want to use alkaline, use two, not three batteries)
The light sensitive resistors make the robot turn towards lighter or darker areas automatically, dependent on your program. They act very well as a cheap obstacle avoidance sensor because obstacles typically are darker close by. A simple code change makes it into a line following robot, but I leave that as a challenge for you.
The source code is available here (Google login required).
If you want to make this robot even lower cost, you can mount the msp430 chip on the prototype board itself, and just use the launchpad for programming. The msp430 chip is very cheap and it would make the total cost 6 dollars.
Program the Launchpad, connect one servo to pin P1.0, one to P1.1. Connect the two resistors in series with VCC and GND in each and, and connect the middle point of them to P1.5. Then connect the power to the servos and to the VCC/GND of the Launchpad. Add a power switch for convenience. 3 x NiMH AA make 3.6 Volt which is fine for the Launchpad. If you use Alkaline batteries, the voltage may be too high, and Alkalines aren’t very good for robots anyway.
This robot can be modified for example to a line (black tape) following robot, quite easily.
Here’s the circuit, leaving out the power and ground connections to the servo:
Here’s the video:
There are also plenty of IO on the msp430 to add more sensors, LEDs, distance sensor, infrared diode for remote control or others. With infrared you can also add the ability to talk between multiple robots. If you budget allows for a few more dollars