Some Questions and Answers... Q1. How is my program downloaded from the computer to the unit? (IR? Wire?) By wire. The Handy Board has an RJ-11 jack (same as a telephone). There's a "charging" board that provides conversion from the RJ-11 to RS-232. The idea is that you plug your AC adaptor and computer into the charging board, then just use a single cable between the charging board and the Handy Board to both communicate with the board and charge the battery pack. Q2. What is the practical difference between an analog and digital input? (Does digital just mean "the sensor is a leaf-switch"?) The analog inputs can be read by the CPU's on-chip ADC (Analog/Digital converter). Digital inputs are just normal CMOS inputs. In practical terms, this means that the analog inputs can sense different voltage levels - say the temperature from a thermistor or the light level from a photocell, while the digital inputs can only tell the difference between "on" and "off" (for say a switch). Q3. You mention a commercial version of the Interactive C language. For people like me who havn't programed for a while (and even then, most of it being in basic... :) how accessible would this be? (Are there any "frontend" programs or simple scripting languages that allow for simple quick start, so that I can already be doing stuff while I'm still getting a grasp of C?) Interactive C will probably be fine for you. Since it is interactive, it is very easy to experiment and quickly try out different small programs and observe the results. All of the motor/sensor stuff is provided in simple library functions that are very easy to use. There's also a "simulator" built into the development environment so you can try out your programs without even hooking up a handyboard. Q4. Giving that I don't know C, is it very difficult to find out what value a sensor is returning (ie does it involve telling the software which port or whatever it has to look in, and which protocol or whatever to use, and to find out these things I need to look through some book of schematics, or is it all dead simple? :) Very simple. There's a function called analog() that reads the analog value of a port. Let's say you want to turn on a motor 1 if analog port 2 has a value greater than 50: if (analog(2) > 50) fd(1) The fd() function turns the specified motor on in the forward direction at full speed. There a more flexible motor() function that takes both the motor number and the speed as arguments. Q5. Are values from variable sensors returned in units of voltage (ie a light sensor returns 3.56 meaning 3.56v) or some other way? Analog values are returned as integers between 0 and 255, where 0 = 0V and 255=5V. Q6. Is the IR comms stuff easy to use? Does it require writting your own protocols? If not, does it allow this? It depends on what you want to send. If you just want to send out a simple "beacon" signal, or try to sense a beacon, it is very easy. There are function to turn on/off the transmitter and receiver, and well as functions for controlling the frequency and sending pulses. For something more complicated you would have to implement your own protocol. Q7. What batteries does it take? (Does the one set of batteries powers all the sensors, motors, and the unit? What is the power supply if I want to use a transformer?) The board is powered by a pack of 8 AA NiCad cells. This supplies power for the CPU as well as the motors and sensors. There is also a provision for a simple modification so that your motors can be powered from a separate supply - this is useful if you have 12v motors. The battery suggested battery pack is the same type used for R/C racing - as a result I used the R/C style connector for my battery pack instead of soldering it directly to the board. This allowed me to use a commercial R/C pack without modification, and gives me the option of switching packs if I wanted to. There is also provision for a wallpack style AC adaptor to be used to power and/or charge the system. There is a problem, however, that many wallpacks have some internal resistance to them that make them not work very well when loads are suddenly increased (which is the case when you first turn on the board). As a result, if you are using the AC adaptor without a battery pack the board may "lock up". Of course, if you have the battery pack attached, it will smooth out the transients and everything will work fine. Q8. Does switching it off erase your program? Is there an off option which turns it off but maintains the memory? (like in my camera :-) As long as the battery is connected (and charged) the memory will be maintained. I haven't done the math, but the shelf life is probably something like a week or so of memory retention from a normal NiCad pack.