handyboard.com
Home
FAQ
Docs
Software
Hardware
Get One
Community
Links

The Handy Board FAQ



The Handy Board


This page answers some common questions and problems regarding the Handy Board.

Why was the Handy Board designed?

There were several considerations motivating the development of the Handy Board.
  • More powerful than the Mini Board. For those not familiar with the Mini Board, it's a minimalist 6811 design with just the 6811 chip, a pair of motor drivers, and a lot of sensor/motor headers.

    The Mini Board is great for little projects, and it's a wonderful “getting started” board because it's so easy to use, but it just doesn't have much headroom. The maximum of 2048 bytes of memory in the 6811 chip doesn't leave much room for sophisticated programs or friendly (read: interactive) development systems.

  • Less complex than the 6.270 Board. The 6.270 Board is a great board for the next step up in complexity from the Mini Board. Indeed, the Handy Board borrows heavily from the 6.270 board design; their feature sets are nearly identical.

    But the Handy Board simplifies and re-thinks some of the choices made on the 6.270 to make it a more useful overall package. For example, the Handy Board is quite functional without an expansion board (it has several more analog inputs and the user knob on the main board). The Handy Board fits into a commercial plastic enclosure, and runs from an single, integral rechargeable battery. Finally, the Handy Board is more compact and uses fewer components.

  • Designed from readily available components. Those of us who use Motorola CPUs undoubtedly have a love/hate relationship with the company. They make great microcontrollers, but just when you've completed your design you learn that the particular variant of the 6811 you used won't be available for the next six, eight, or maybe twelve months.

    While the Handy Board is based on a Motorola 6811 product, it uses the readily available 52-pin series of 6811s. These can be found dirt cheap in surplus these days and (hopefully) will not become a supply problem.

  • Robotics textbook in the works. I've signed a contract with Benjamin/Cummings (a subsidiary of Addison-Wesley) to create a robotics text for an introductory undergrad engineering design course. The projects in the text will be based on the Handy Board robot controller design.

(Last updated 2000-10-25)


What is the difference between the Handy Board and the 6.270 Board?

First, the similarities:
  • socketed 52-pin 6811
  • 32K battery-backed static RAM
  • digital input latch
  • digital output latch driving two L293 chips
  • 14-pin LCD interface
  • two user pushbuttons
  • powered/polarized individual sensor connectors
  • 40 kHz IR output drive
  • one servo motor output

The differences, first from a pro-Handy Board point of view:

  • single battery powers CPU and motors; recharge circuitry for the battery built into the Handy board; battery fits into commercial enclosure sized to fit the HB.

  • 7 of the 8 analog inputs broken out to sensor headers; eighth is wired to a user trimpot (can be used to scroll through messages on the LCD screen). (On the 6.270, you need the exp board to get the knob and have only 4 on-board analog input headers on the main board.)

  • on-board IR receiver interprets signals from household remotes or other robots

  • separate serial interface board uses off-the-shelf serial cables (no custom cable wiring like the 6.270), and incidentally recharges the HB's battery whenever it's plugged in.

  • everything fits into a convenient hand-held package; smaller than the 6.270 board.

  • supplied by independent distributors at very favorable prices; blank boards also available at reasonable cost even in unit quantities.

  • complete web site has lots of technical data; the HB will be the technology foundation of university textbook I am writing so (hopefully) there will be lots of them around and lots of people using them. Put more baldly, I am specifically encouraging migration from the 6.270 Board to the Handy Board.

And now, the differences from a pro-6.270 point of view:

  • separate CPU and motor batteries allow more flexibility in choice of motors and their battery.

  • on-board RS-232 serial driver obviates need for external interface board.

  • adjustment trimpot for LCD screen contrast (Handy Board has hard-wired default contrast setting).

  • motor-current sensing circuit for each of the four DC motor outputs.

  • IR output oscillator keyed from 6811 E clock is more stable than the Handy Board's RC circuit.

  • well-documented in the 6.270 Robot Builder's Guide.

That pretty much covers it. Find the HB documentation on the web at

http://el.www.media.mit.edu/groups/el/projects/handy-board

and the 6.270 documentation in the Robot Builder's Guide (in the form of Unix-compressed PostScript files) at:

ftp://cherupakha.media.mit.edu/pub/projects/6270

(Last updated 2000-09-26)


How can I choose between the Handy Board and the Mini Board?

First, lots of people use Mini Boards. There are more than 2000 of them out in the world.

But when deciding if the Mini Board is what you need, keep in mind its main constraint: no memory external to the 6811 chip. The 6811 recommended for use with the Mini Board (the mc68hc11e2fn) has 2048 bytes of EEPROM program memory (and 256 bytes of RAM).

In practice, this means that programming the Mini Board is best done in assembly language or a traditional compile-link-download version of C (like Dunfield's Micro-C or ImageCraft C). The Mini Board cannot run Interactive C, because Interactive C requires 32K of RAM memory.

So this means that programs running on the Mini Board are necessarily small. If the application is one with a particular dedicated functionality, that is often fine, and the Mini Board's small size and low cost are advantages. Or, if the application is connecting motors and sensors to a desktop computer, the Mini Board is a great solution as a "serial line slave" interface.

The other virtue of the Mini Board is its simplicity. It has only 4 chips and is easy to build. The core features of a 6811 with 2048 bytes of memory, 4 DC motor outputs, 8 analog inputs, and 8 digital I/O pins make it suitable for many robotic applications.

On the other hand, If the application is more open-ended and experimental, and cost is not an extreme limiting factor, the Handy Board is a more satisfactory choice. In a board about twice the area of the Mini Board, it provides the additional features of 32K of battery-protected static RAM memory, an LCD screen, infrared decoder chip, infrared output oscillator, battery charge circuitry, a piezo beeper, and a user knob.

For experimental and educational purposes, the Handy Board's capability to run Interactive C is the distinguishing difference. Also, the LCD screen is great for remote interpretation of sensor data and general debugging purposes.

For information on the Mini Board is available from ftp://cherupakha.media.mit.edu/pub/projects/miniboard/gen-info.txt.

The Handy Board home page is located at http://handyboard.com/.

(Last updated 2000-09-26)


How can I choose between the RCX and the Handy Board?

The great strength of the LEGO Mindstorms system and its RCX brick is that it genuinely an everything-included, out-of-the box robotics building system. When you buy the Robotic Invention System, you get the RCX brick controller, motors, sensors, a big kit of LEGO, software, and everything else to make it all work.

The Handy Board is more suitable when you don't mind a little soldering to build your sensors and motors, but want something more expandable and with more inputs and outputs.

To compare, the Handy Board can drive 4 motors and has direct inputs for 16 sensors, while the RCX brick does 3 motors and 3 sensors.

The Handy Board's design is open and fully documented; it is much easier to connect your own unique hardware to the Handy Board than it is to the RCX.

The design of the RCX brick has been reverse-engineered and published by hobbyists, but it is still fairly tricky to connect unusual hardware to the RCX and then write software drivers to make that hardware work.

The Handy Board is more expensive than the RCX: A Handy Board costs $200 to $300 for the assembled/tested board alone, while $200 buys you a Mindstorms RCX brick, plus 2 motors, 3 sensors, and a kit of 700+ LEGO pieces.

(Last updated 2002-04-09)


What is the difference between the L293D and L293B motor driver chips? Can I substitute L293B's for L293D's?

The L293D and L293B motor driver chips are closely related. The L293D chip is rated for 600 mA per channel, while the L293B is rated for a whole 1A per channel.

However, the L293D includes spike-protecting diodes on the motor outputs while the L293B does not. This means that the L293B may not simply be substituted for the L293D in motor control applications.

It is possible to wire two of these chips in parallel (e.g., two L293D's or one L293D and one L293B) to gain increased current-carrying capability. This readily done by plopping one IC on top of the other and individually soldering each matching pin together.

Another way to achieve greater power-handling capability on the Handy Board is to use the Texas Instruments TI SN754410 Quadruple Half H driver, which combines the protective diodes of the L293D chip with the greater current capacity of the L293B chip. The SN754410 is a plug-and-play replacement for the L293D.

(Last updated 2000-09-26)


What kinds of motors are compatible with the Handy Board?

The Handy Board is designed for motors that will operate at 9 volts and draw up to 1 ampere of current maximum. This includes all of the motors sold by the LEGO Group (the 9v standard motor, 9v gear motor, and 9v micro motor) and a variety of hobby motors.

A motor draws its maximum amount of current when it is stalled (this is sometimes referred to as the “stall current”). A good way to get an estimate of how much current this will be at the Handy Board's rated 9v supply level is to measure the motor's resistance using a standard VOM (volt-ohm meter), and apply the Ohm's Law formula current = voltage divided by resistance. Set the meter to its most sensitive resistance scale (typically, 0 to 200 ohms), apply the probes to the motor terminals, and gently rotate the motor shaft by hand until you obtain the smallest possible reading. The idea is to find the static position of the shaft that gives you the lowest ohmage reading and take that as the measurement.

If this reading is nine ohms or more, then the motor should be compatible with the Handy Board. (At 9 volts, a 9 ohm reading would mean a current draw of one amp, the maximum the Handy Board can deliver.) If the reading is less than four ohms, the motor will probably draw too much current and won't work.

Please be aware that the Handy Board is not compatible with 3v to 4.5v motors found in many toy cars. These inexpensive motors are extremely noisy from an electrical standpoint; also, they typically will draw several amperes of current, thereby overloading the Handy Board's motor drivers and causing the board to reset.

The Handy Board also is not compatible with motors used in high end radio control cars. These motors are designed to draw huge amounts of power—25, 50, or more amperes of current.

(Last updated 2000-09-26)


How do I convert a standard DC motor to work with LEGO Technic?

A LEGO gear can be fitted onto the shaft of most DC motors using heat-shrink tubing to fill the gap between the outside diameter of the motor shaft and the inside diameter of the LEGO gear.

Then, LEGO plates can be glued to the sides of the motor. This must be done so that the shaft and gear protrude at a legitimate ``LEGO spacing'' in order that the resulting assembly is compatible with the LEGO system.

See pages 51 through 54 of Chapter 1 of the 6.270 Robot Builder's Guide for detailed instructions.

(Last updated 2000-09-26)


How can I use motors other than 9 volts with the Handy Board?

The Handy Board's internal battery is rated for 9.6 volts; this is generally adequate for running motors rated between 6 and 12 volts. However, some 6 volt motors aren't happy with the extra voltage, and some 12 volt motors will run too slowly.

Here are instructions for modifying the Handy Board to accept an external motor battery that can be any voltage from about 6 volts to 36 volts.

Lyle Hazelwood implemented a high-current H-bridge circuit described by Chuck McManis and tested by Jeffrey Keyzer, and posted th e schematic and so me circuit notes.

Matt Harlan created a printed circuit board with a high-powered H-bridge motor circuit for the Handy Board. Documentation consists of the readme file, the printed circuit board artwork, and the parts placement diagram.

(Last updated 2000-09-26)


How can I get more power out of the Handy Board's motor outputs?

The Handy Board's built-in motor drivers are good for driving small DC motors rated 6 to 12 volts, but they aren't suitable for operating motors on high-end RC cars, or other big motors, which can easily draw 5, 10, 20 amperes of current, or more. The L293D or TI replacement motor driver chips are only good for about one ampere of current on a continuous basis.

There are two categories of replacement motor driver circuits:

(Last updated 2001-03-12)


What is the difference between a servo motor and a DC motor?

A DC motor has a two wire connection. All drive power is supplied over these two wires -- think of a light bulb. When you turn on a DC motor, it just starts spinning round and round. Most DC motors are pretty fast, about 5000 RPM (revolutions per minute).

With the DC motor, its speed (or more accurately, its power level) is controlled using a technique named pulse width modulation, or simply PWM. This is idea of controlling the motor's power level by strobing the power on and off. The key concept here is duty cycle -- the percentage of “on time” versus “off time.” If the power is on only 1/2 of the time, the motor runs with 1/2 the power of its full-on operation.

If you switch the power on and off fast enough, then it just seems like the motor is running weaker -- there's no stuttering. This is what PWM means when referring to DC motors. The Handy Board's DC motor power drive circuits simply switch on and off, and the motor runs more slowly because it's only receiving power for 25%, 50%, or some other fractional percentage of the time.

A servo motor is an entirely different story. The servo motor is actually an assembly of four things: a normal DC motor, a gear reduction unit, a position-sensing device (usually a potentiometer -- a volume control knob), and a control circuit.

The function of the servo is to receive a control signal that represents a desired output position of the servo shaft, and apply power to its DC motor until its shaft turns to that position. It uses the position-sensing device to determine the rotational position of the shaft, so it knows which way the motor must turn to move the shaft to the commanded position. The shaft typically does not rotate freely round and round like a DC motor, but rather can only turn 200 degrees or so back and forth.

The servo has a 3 wire connection: power, ground, and control. The power source must be constantly applied; the servo has its own drive electronics that draw current from the power lead to drive the motor.

The control signal is pulse width modulated (PWM), but here the duration of the positive-going pulse determines the position of the servo shaft. For instance, a 1.520 millisecond pulse is the center position for a Futaba S148 servo. A longer pulse makes the servo turn to a clockwise-from-center position, and a shorter pulse makes the servo turn to a counter-clockwise-from-center position.

The servo control pulse is repeated every 20 milliseconds. In essence, every 20 milliseconds you are telling the servo, “go here.”

To recap, there are two important differences between the control pulse of the servo motor versus the DC motor. First, on the servo motor, duty cycle (on-time vs. off-time) has no meaning whatsoever -- all that matters is the absolute duration of the positive-going pulse, which corresponds to a commanded output position of the servo shaft. Second, the servo has its own power electronics, so very little power flows over the control signal. All power is draw from its power lead, which must be simply hooked up to a high-current source of 5 volts.

Contrast this to the DC motor. On the Handy Board, there are specific motor driver circuits for four DC motors. Remember, a DC motor is like a light bulb; it has no electronics of its own and it requires a large amount of drive current to be supplied to it. This is the function of the L293D chips on the Handy Board, to act as large current switches for operating DC motors.

Plans and software drivers are given to operate two servo motors from the HB. This is done simply by taking spare digital outputs, which are used to generate the precise timing waveform that the servo uses as a control input. Very little current flows over these servo control signals, because the servo has its own internal drive electronics for running its built-in motors.

(Last updated 2000-09-26)


How many servo motors can I drive from the Handy Board?

The Handy Board itself comes with drivers to run two servo motors. See the servo driver page, which is in the Software/Libraries area.

With the Expansion Board, the Handy Board can run six servo motors.

(First answered Mon Feb 15 12:46:22 1999.)

(Last updated 2000-09-26)


How do I use stepper motors with the Handy Board?

Please see Peter Harrison's excellent informational page, Using Stepper Motors with the Handy Board.

(Last updated 2000-09-26)


Does the Handy Board have any digital outputs?

> My question is what pins can I use for digital outputs? Can I use
> d0..d7 for outputs instead of inputs. How many possible digital outputs
> could I use at one time?

The SPI pins on the connector on the middle right edge of the board (J6) can be configured as digital outputs. Do a poke(0x1009, 0x3c) to make them outputs; then they are mapped to the middle 4 bits of address 0x1008 (SS= bit 5, SCK= bit 4, MOSI= bit 3, MISO= bit 2). Poke to that address (0x1008) to set them.

d0..d7 is the data bus and stuff is flying around on those pins all the time, so they cannot be used as outputs. If you hook an 'hc374 chip to the board, in the same fashion as the one driving the motor chips, you get 8 more digital outs. Connect the 'hc374's clock line to any of the three unused output latch selects of the 'hc138 (Y0, Y2, or Y4). All of these signals are present on the Expansion Bus.

Also, digital input #9 can be reconfigured as an output. Do a bit_set(0x1026, 0x80) to make it an output, and then use bit_set(0x1000, 0x80) to turn the bit on and bit_clear(0x1000, 0x80) to turn it off.

TO3 is an uncommitted timer output brought out to the Expansion Bus. This pin is bit 5 of PORTA; i.e., set it with bit_set(0x1000, 0x20) and clear it with bit_clear(0x1000, 0x20).

Finally, consider adding the Expansion Board, which adds nine digital outputs to the Handy Board system.

(Last updated 2000-09-26)


Please explain the Handy Board's battery charging system.

The Handy Board provides three ways to charge its internal battery:
  1. Adapter plugged directly into the HB. Just plug the adapter into the power jack on the HB, and the yellow ``CHARGE'' LED on the HB will light. This is a trickle-charge mode, which means that (1) the Handy Board will fully charge in about 12 to 14 hours, and (2) the HB may be left in this mode indefinitely.
  2. Adapter plugged into the Serial Interface/Battery Charger board; HB connected via telephone wire; ``NORMAL CHARGE'' mode selected. The yellow ``CHARGE'' LED on the interface board will light. This is a trickle-charge mode, which means that (1) the Handy Board will fully charge in about 12 to 14 hours, and (2) the HB may be left in this mode indefinitely.
  3. Adapter plugged into the Serial Interface/Battery Charger board; HB connected via telephone wire; ``ZAP CHARGE'' mode selected. The yellow ``CHARGE'' LED on the interface board will not light. The ZAP CHARGE will fully charge the HB's battery in just 3 hours, after which time the battery will become warm and it should be removed from charge or placed into either of the two trickle-charge modes.
When using one of the trickle-charge modes, the Handy Board itself should be turned off so that the charge current goes toward charging the battery and not simply running the board. In Zap charge, there is enough charge current to operate the board and charge the batteries at the same time (assuming that the board is not driving motors or other external loads).

(Last updated 2000-09-26)


My Handy Board's battery won't charge.

Before assuming you have a bum battery, check these possibilities:

  • Make sure you're using the proper adapter. Briefly, you want a 500 mA, 12v model (sometimes marked KXA-11). (There's also more information about compatible adapters.)

    When measured with a volt meter, this type of adapter will indicate 16 to 18 volts when not connected to anything. If the adapter being used only measures 12 to 14 volts unloaded, it is not adequate.

  • Make sure you're charging the board with the board turned off. In normal mode, the yellow charge light should come on.

  • Try giving it a Zap charge. Every hour or so, monitor the pack by holding the Handy Board in your hand. When the pack is fully charged, it will get noticably warm—that's the time to take it off Zap charge. Zap charge should take about 3 to 4 hours; don't leave it on charge beyond that!

  • It is also possible to experience power-related problems if the power adapter is rated for too much current. Users have reported trouble with adapters rated at 1000 milliamps; what happens is that the adapter is unable to provide enough voltage because it is more concerned with delivering enough amperage.

If you've checked all of these things and your battery still is lasting only a few minutes, then you probably do need to replace the NiCads.

(Last updated 2001-03-01)


What are the specifications of the Handy Board'sDC adapter?

The specifications of the Handy Board's DC adapter are as follows:
  • 12 volt, 500 mA DC output
  • 2.1 mm inside, 5.5 mm outside diameter barrel-type plug
  • center conductor negative

Most ``universal'' type adapters will work properly at one of their settings. Look for the yellow charge LED to light up indicating proper charge (make sure the Charge Rate switch is set to ``Normal'' mode).

Please be careful not to get an adapter that is overpowered. Problems have been reported using adapters that are rated for 1 to 2 amps.

Also, do not use an adapter that is underpowered or undervoltage. A 9 volt adapter will appear to work---the charge LED will light---but it won't be able to charge the battery for more than a few minutes' worth of power.

Finally, do not use a regulated power supply. Use inexpensive, unregulated “wall wart” type adapters only.

Advanced user adapter information

The Handy Board can make use of other, specific adapter configurations with certain caveats. The one listed above is the most versatile, so that is the official recommendation, but here are some alternatives:
  • 12 volt, 500 mA AC output (same power plug). When plugged into the Serial Interface/Battery Charger board, this adapter works just like the standard one. When plugged into the Handy Board directly, however, the battery will charge at one-half of normal trickle-charge rate. This is a reasonable substitution if the recommended DC adapter is hard to locate.

  • 12 volt, 500 mA DC output, center positive power plug. When plugged into the Serial Interface/Battery Charger board, this adapter works just like the standard one. This adapter is not capable of charging the battery when plugged directly into the Handy Board, however.

Basically, the serial interface has a bridge rectifier, so any polarity will work, but the HB itself has only a diode, so (a) you need center-negative or alternating current, and (b) it's protected against reverse polarity (center-positive).

(Last updated 2000-09-26)


I'm measuring the voltage on my adapter, and it says 18 volts. Is this normal?

This is correct. Normal DC adapters are unregulated and there is an inverse relationship between voltage and current.

Here is how to interpret the rating on an adapter. Let's use the Handy Board's 12 volt, 500 mA (milliamp) DC adapter standard as an example.

This rating means that when a load is drawing 500 mA of current, the adapter voltage will be 12 volts.

If the adapter is plugged into the wall but its output is not connected to anything -- in other words, there is no load -- then the current is zero and the voltage measured will higher than the adapter's specification. For the Handy Board's ``12 volt'' adapter, a reading of 18 volts is normal if there is no load.

If there is load that draws more than 500 mA, then the output voltage would be less than 12 volts. Note that it is possible to draw more than 500 mA even though an adapter might only be rated for 500 mA. The effect is that the output voltage will be less than the adapter's specified voltage, and also this will overtax the adapter and potentially cause it to fail.

(Last updated 2000-09-26)


What kind of RS-232 cable do I use to connect from my computer to the Handy Board Interface/Charger?

The Interface Charger board connects just like an external modem. The HB interface has a DB-25 female connector, as does the standard modem. This connects to a PC using straight-through wiring.

Thus, for PC's with a standard 25-pin male connector, the Interface Charger board can literally plug right into the PC's serial port (if there is no clearance problem); i.e.:

PC
DB-25 male
HB interface
DB-25 female
pin 2 (transmit) pin 2 (receive)
pin 3 (receive) pin 3 (transmit)
pin 7 (ground) pin 7 (ground)

For a PC with a standard 9-pin male connector, a DB-9 female to DB-25 male modem adapter or cable is used. This cable should provide the following wiring:

PC
DB-9 male
HB interface
DB-25 female
pin 3 (transmit) pin 2 (receive)
pin 2 (receive) pin 3 (transmit)
pin 5 (ground) pin 7 (ground)

For a Macintosh, a minidin-8 male to DB-25 male modem cable should be used. Make sure to not get a Macintosh printer cable, which looks exactly the same but has different internal wiring.

(Last updated 2000-09-26)


What kind of telephone/RJ11 cable do I use to connect from my Interface/Charger Board to the Handy Board?

See the answer to “The R11 on my Interface/Charger board is smoking hot and is turning black!” (That's what happens if you use the wrong kind!)

(Last updated 2000-09-26)


The R11 on my Interface/Charger board is smoking hot and is turning black! What is wrong?

You are using a network-style (non-inverting) RJ11 cable. The Handy Board must be used with telephone-style (inverting) RJ11 cables.

If you use a network style cable, you invert the power and ground connections, which blows up the 47 ohm charge resistor (R11) on your serial interface board, along with potential for greater damage.

Here is how you tell if you have a telephone-style or network-style RJ11 cable. Hold the two ends together, metal contact side up, as if you were trying to plug them into each other.

Then look at the wiring colors. On a telephone cable, each color should line up with itself on the other end.

On a network cable, the colors are inverted.

See the diagram below for clarification. Again, please, please, PLEASE! be careful about this and do not use network cables with your Handy Board.

(Last updated 2000-09-26)


I want to plug two Handy Boards together so that they can communicate. What kind of cable should I use?

For this application, you must use a specially-wired RJ11 cable, different from both of the configurations show above.

The cable must connect the two board's ground lines together, but connect each board's TxD (transmit line) to the other board's RxD (receive line). The unswitched power lines should not be connected together.

The following diagram shows how to do this. The diagram is a view looking down at the modular plugs, contact side up:

The outer two wires (black and yellow) are the TxD and RxD lines, the red wire is ground, and the green wire (which should not be connected) is the unswitched battery terminal.

You will need an RJ11 crimping tool and individual RJ11 plugs to build the proper cable.

(Thanks to Bill Bynum and Richard Drushel for working through incorrect information I had earlier posted on this topic.)

(Last updated 2000-09-26)


I want to save money. Should I buy the parts myself to build the Handy Board?

If you are building just one board, no. You won't save any money because you can't just order all of the parts from any one electronics supplier. You typically will need to order from six to eight different companies, and once you get done paying shipping charges, your monetary savings will be nil or negative.

Compounding the problem is that some parts (in particular, the 68HC11, the L293D motor driver chips, the DS1233 low voltage reset, and the IS1U60 infrared demodulator) are very difficult to obtain in unit quantities.

Therefore, buying parts yourself only makes sense if (a) you already have many or most of the parts lying around in your junk bin, or (b) you are buying parts for ten or more Handy Board systems, or (c) you are most interested in the learning experience and don't mind if it costs you a little more money.

If you are interested primarily in the building experience, please consider buying a full parts kit from one of the authorized vendors.

(Last updated 2001-03-18)


Is it possible to expand the Handy Board\\\'s memory to 64K?

This is tricky, because the HB\\\'s peripherals (motor outputs, sensorinputs, and expansion interface) are mapped across a full 16K of the lower 32K of memory (see the H\\\'s memorymap).

But, the guys working on simpleRealTimeJava for the 68HC11 have come up with a clever design that alternately maps an additional 32K or the peripherals into the lower half of RAM.

The instructions for modifying your Handy Board to have the extra 32K of RAM are available at http://www.rtjcom.com/6811/hb64.html.

Please note that Interactive C will not support the extra 32K. You\\\'ll have to program your HB in the SimpleRTJ or assembly language to take advantage of the extra RAM installed with this method. Interactive C will continue to work properly on a modified board, however, using the stock 32K memory.

Below is older information about “why it\\\'s hard” to dothe full-blown modification. I guess it\\\'s not so hard if you think about it right :-). The SimpleRTJ solution is agreat hack for improving the existing Handy Board design.

Actually, this is hard to do. Here\\\'s why:

  1. There is a compromise in the design that traded off a wasteful use of the lower 32K of memory for fewer chips used increasing the motor output, digital input, and expansion bus circuits. Basically, 16K of the lower 32K is used to map four input latches and four output latches to the microprocessor (see more info in the memory map answer).

    What this means is that in order to recapture the lower 32K, theaddressing circuit that drives the \\\'HC138 chip (which then drivesthese latches) would need to be modified. Presently, the \\\'HC138 is wired to the 68HC11, using the A15, A14, A13, and A12 signals. To recapture the address space, many more address signals would need to be combined to force the HC138 to enable itself only when a narrow band of addresses were accessed. Then, an additional RAM could bemapped to the lower 32K bank not used by this remapped \\\'HC138 circuit.

  2. Interactive C would need to be recompiled.Interactive C was designed with certain assumptions about the architecture of the target system; one of those included a 32K RAM. Various modifications to Interactive C (largely, the redefining of compile-time constants) would be necessary for it to use a different memory architecture.

Also, it is relatively straightforward to build a serially-accessible external memory for data storage. For example,see Jim Fong\\\'s SPI-based EEPROM application note.

(Last updated 2002-07-03)


Is there a version of the Handy Board that uses the 68HC12 chip?

No, there is no 68HC12 version of the Handy Board.

If I revise the HB, I will move up to a chip with substantially more horsepower and a flat architecture for expanded memory; e.g., the 68332. While the HC12 is a wonderful chip -- and it certainly would make sense to use it if starting from scratch -- the improvement from HC11 to HC12 is not great enough to warrant a re-design.

(Last updated 2000-09-26)


I can't find the Hitachi LM052-L display. What are some alternatives?

Please see the component suppliers list.

(Last updated 2000-09-26)


I plan to use assembly language (or a compiler other than Interactive C) with the Handy Board. What is the memory map of the Handy Board 6811 system?

Compilers other than Interactive C may easily be used with the Handy Board, or you may code directly in assembly language. Here is the memory map of the Handy Board hardware, which is necessary if you are writing your own drivers:

Device

Location

Notes

6811 internal RAM

$0000-$00ff (A1 chip)
$0000-$01ff (E1 chip)

Built-in

6811 control registers

$1000-$103f

Built-in

Expansion I/O Bank 0

$4000-$4fff

Memory reads in this range enable the Y1 latch selector, present on the HB Expansion Bus. Memory writes in this range enable the Y0 selector on the Expansion Bus. No devices are present on a stock Handy Board.

Expansion I/O Bank 1

$5000-$5fff

Reads enable Y3; writes enable Y2. See explanation above.

Expansion I/O Bank 2

$6000-$6fff

Reads enable Y5; writes enable Y4. See explanation above.

Digital inputs

$7000-$7fff

The digital inputs consist of the two switches and sensor ports 10 through 15. A memory read from anywhere in this range returns the value of the digital input byte.

Motor outputs

$7000-$7fff

A memory write to anywhere in this range controls the motor outputs. The low four bits are motor direction, and the high four bits are motor enable (1=on).

External RAM

$8000-$ffff

The 32K of battery-backed memory is mapped to the upper 32K block of the 6811 address space.

Please note one special case regarding the memory map: the Handy Board operates its 6811 in “Special Mode.” This causes the 6811 interrupt vector bank to be located at $bfc0 to $bfff rather than the normal area ($ffc0 to $ffff).

Special Mode allows the 6811 to switch back and forth between expanded mode operation---the mode in which the external RAM is active---and single-chip mode. The Handy Board uses the single-chip mode to communicate with the LCD screen, which cannot “talk” at the normal rate of the peripheral bus.

So, make sure to declare your interrupt vectors in the Special Mode range of $bfc0 to $bfff. For example, the RESET vector is located at $bffe:$bfff.

Any normal downloader program (e.g., dlm.exe for DOS, hbdl.exe for Windows, or 6811 Downloader for Macintosh) can be used to download the standard Intel hex file (with .s19 or .hex suffix) produced by standard 68HC11 development tools.

For information about how the Handy Board's memory map is accomplished, please see 6.270 Robot Builder's Guide Appendix B. This technical appendix explains the 6.270 Board's design, which uses the same memory and peripheral circuit as the Handy Board.

(Last updated 2000-09-26)


I live outside of the United States. Where can I buy LEGO materials?

LEGO has a nationally-based distributor system; in other words, you must find the LEGO distributor authorized in your own country and buy from them. Retail distributors are not allowed to ship internationally.

Please look on the LEGO home page page to find the LEGO headquarters in your own country. Contact them and ask for your local distributor.

(Last updated 2000-09-27)


How much of the Handy Board's 32K memory is available for user programs running under Interactive C?

Here is an approximate breakdown of how Interactive C makes use of the Handy Board's 32K of RAM:

PurposeMem Usage
Runtime P-Code OS7936 bytes
Stack space for user processes6656 bytes
Buffer for interaction process256 bytes
Buffer for printing256 bytes
User program object code
plus user global variables
16320 bytes
available

Thus, about 16K of the memory is reserved for user code plus user globals. Since Interactive C compiles into code for the runtime virtual machine rather than into 68HC11 machine language, user IC programs tend to be more compact than those compiled with traditional compilers, partially offsetting the overhead of the IC system itself.

(Last updated 2000-09-27)


What is the correct value of the CONFIG register? How do I use EEPROM?

> I've seen stuff that says the CONFIG register should be set at 0x0C, and
> also at 0x0D. Which is right for the Handyboard if I want to use EEPROM
> ($b600 to $b7ff)?

0x0c turns off the EEPROM; 0x0d turns it on.

Now, since Interactive C expects to have RAM where the EEPROM lives, the "correct" value for the HB is 0x0c. Where have you seen that 0x0d is the right value? This is wrong; 0x0d should only be around as an "advanced user who isn't using IC" value.

> I have cleared the BPROT register ($1035), and yet my IC poke
> instructions have no effect on the EEPROM memory. I write into the
> locations, then peek and don't get what I read in. It stays the same as
> what I loaded in via the PCBUG11 program. Is this a configuration error?

The BPROT is "time protected," meaning that you must change it within a few cycles of system reset, so waiting until IC boots up and then poking isn't going to do any good. You would have to modify the system pcode to modify the BPROT register right off the bat; or at least, point the reset vector toward a little bit of your .asm code (which resets the BPROT and then jumps to the normal start of pcode).

Secondly, you can't just poke new values into the EEPROM itself. You have to go through a programming sequence involving the PPROG register. See the Mini Board EEPROM boot loader file for example code (ftp:// cher.media.mit.edu/pub/projects/miniboard/ms-dos/eeboot20.asm).

As suggested above, the remaining problem is that there is no straightforward way of telling IC that the particular piece of the memory map where the EEPROM lives suddenly is not available to it. Expect crashes when your code or dynamic data stretches into this piece of memory (if IC works at all; I don't remember if it needs that piece of memory before any user code is loaded).

Finally, why do you need EEPROM? The SRAM is battery backed. Anything you stuff into memory will stay there as long as there are at least a few volts on your battery pack (i.e., long after the pack is too dead to boot the board, the memory will still be preserved).

If you must use it, I would recommend that you work in assembler or a conventional C (e.g., Dunfield's Micro-C or ImageCraft C) where you have full control of the memory map.

(Last updated 2000-09-27)


How do I read and write to the serial line from an Interactive C program?

It is possible for an IC program to use the serial port. Randy Sargent's instructions at
http://www.ai.mi t.edu/people/rsargent/ic/serialio.html
were written for the 6.270 board, but are directly applicable for the Handy Board running Interactive C.

Then, you can print numbers using (for example) the following printdec() routine:

/*
  printdec.c

  routine to output an integer value
  as a decimal number over the serial line

  requires serialio.c

*/

/* prints number over serial line */
void printdec(int n)
{
  int leading_digit= 0;
  int dig, div;

  if (n == 0)  {
    _printnum(0);
    return;
  }

  if (n < 0)  {
    serial_putchar('-');
    n = 0 - n;
  }

  for (div= 10000; div= div/10; div> 0) {
    dig= n/div;
    n= n - dig*div;
    if (dig || leading_digit) {
      _printnum(dig);
      leading_digit= 1;
    }
  }
}

/* prints digit from 0 to 9 over serial line */
void _printnum(int n)
{
  serial_putchar(n + '0');
}

To start a new line on the serial output, use:

void newline() {
  serial_putchar(10);
  serial_putchar(13);
}

(Last updated 2000-09-27)


IC won't load my ICB files.

Please note one big GOTCHA with ICB files. On the MS-DOS platform (with both the freeware v2.853 and commercial 3.1 beta 4) version of Interactive C, the ICB files must have Unix-style line termination.

Here is the explanation. ICB files are text files, and in a text file, the Mac, Unix, and MS-DOS file systems each have a different way of specifying the end of each text line. On the Mac, a ctrl-M indicates the end of line. On Unix, it's a ctrl-J. On the PC, it's a ctrl-M followed by a ctrl-J.

On the MS-DOS computer platform, if you use Newton Lab's web-based ICB assembler, or if you download an ICB file from an FTP server, when you save the resulting ICB file it will undoubtedly create a normal MS-DOS text file, with ctrl-M + ctrl-J linefeeds. YOU MUST EDIT THIS FILE AND REMOVE ALL OF THE CTRL-M's. Originally, ctrl-J meant line feed and ctrl-M meant carriage return (think of a TeleType machine). So on MS-DOS, when you remove the ctrl-M's you get files where each new line starts where the last one ended in terms of screen column. THIS WILL LOOK WRONG BUT IT IS WHAT THE MS-DOS INTERACTIVE C VERSIONS REQUIRE.

On the Mac and Unix platforms, the IC accepts the corresponding native text file format. But the MS-DOS and Windows versions of IC require the CTRL-M's to be edited out of ICB files.

Remi Desrosiers contributed a DOS utility to automatically strip out the CTRL-M's. It's called i2u.exe (IBM to Unix). Please make sure to save as source so it gets downloaded as a binary file.

(Last updated 2000-09-27)


I keep getting a message that says "-POWER GLITCH-" on the Handy Board LCD screen.

This is caused when the incorrect pcode file is downloaded to the Handy Board. Make sure you are downloading pcode_hb.s19, not pcoder22.s19.

It may be necessary to reconfigure your downloader to send the proper file. If you are using Initialize Board on the Macintosh, use ResEdit to change the STR resource, naming "pcode_hb.s19" as the file to download.

(Last updated 2000-09-27)


I'm using the DOS version of IC, and I'm running out of conventional memory.

To give your computer more conventional memory, try booting directly into DOS rather than running from a DOS shell under Windows.

(Last updated 2000-09-27)


I can't get any of the downloaders to work on myfast Windows machine. What is wrong?!@#!!

Some fast Wintels have trouble runningthe downloaders properly. Here are some suggestions that many HandyBoard users have found helpful:

  • First, make sure you are using the right kind of RJ11 cable.

  • Next, try the Windows serial line debug instructions.

  • When using dl.exe, run it in a full-screen DOSmode. (This may also be necessary when using the freeware DOS versionof Interactive C.)

  • In the advanced serial port options, change the setting forreceive buffer and transmit buffer to the lowest value possible (min).(Thanks, JANBOSEP@aol.com!)

(Last updated 2001-04-16)


How can I configure Windows NT to work with the free Interactive C software tools?

Windows NT normally will not let a DOS program touch any of the hardware, including the serial ports. However, Jeroen van der Vegt has found a way around the problem:

“I use IC 2.8 under NT with no problems. Before you can use IC under NT, you'll have to turn off the COM-port your HB is connected to under NT, or else NT won't let IC use it. You can delete the COM port in the ‘ports’ part of your configuration screen.

I can even use the DOS p-code downloader. Actually, I have to, since the Windows-based downloader [hbdl.exe] can't use the right COM-port, since it was deleted.

So as long as you only use DOS programs, everything works just fine.”

(Last updated 2000-09-27)


When I turn on the Handy Board, all I see is a row of black squares on the top line of the LCD screen.

Usually, all this means is that the Handy Board's battery has run down, and the board has lost its RAM-resident “pcode” program.

The solution is to run one of the standard downloaders, putting the pcode_hb.s19 program back into the Handy Board.

If the row of black squares is very dark (essentially, full on contrast), this usually indicates a power problem with the Handy Board. Check if any of the components is getting warm or hot to the touch, and look for stray leads or other evidence of a short.

(Last updated 2000-09-27)


I left my Handy Board in the closet for a few months, and now when I try to use it I can't get it to work!

Don't worry, nothing bad happened to your Handy Board while you were ignoring it.

First, the battery needs to be charged, and then the pcode_hb.s19 program needs to be reloaded. The Handy Board's nicad cells will preserve the contents of the memory for about a month. After that, the pcode program (which is in RAM) will be lost.

You can use Zap Mode to quickly put enough juice into the Handy Board that its red “Low Batt” light will go out. (Just make sure to put it into Normal Charge mode as soon as the battery begins to get warm, in about 3 hours.)

Then, use your downloader to put the pcode_hb.s19 program back into the Handy Board.

If the downloader isn't working, make sure that you are using the same cable set-up you had when you last successfully used your board. Check that you have a standard modem cable, and that you have a four-wire, telephone-style RJ11 cable.

Other things that can go wrong when your Handy Board is in the closet is your serial line configuration. Make sure that the Handy Board's red “BATT” and green “PWR” LEDs are off before the download sequence, and that the green LED turns on and starts flashing during download. If this doesn't happen, it's typically a cabling or serial driver problem.

(Last updated 2000-09-27)


One of the motor outputs has stopped working.

Usually this is because a motor chip (either a L293D or SN754410NE) has overheated and failed. It is not uncommon for these chips to fail, especially when using motors that might draw more current than they are rated for.

Try swapping the two motor chips (parts U10 and U11). If the non-functional port moves to the corresponding position for the other chip (i.e., motor 0 to 2, motor 1 to 3), then it is almost certainly the motor driver chip.

If this does not fix the problem, try replacing U8 (the 74HC374) and/or U9 (the 74HC04). These two chips are both part of the motor driver circuit.

(Last updated 2000-09-27)


When I turn the Handy Board off, the BATT and PWR LEDs stay on!

This symptom occurs when current from the memory power supply (which is always on, to preserve the contents of the RAM) bleeds into the CPU power circuit.

Typically, this indicates a failed chip in the memory circuit (possibly the RAM itself), or, a board short between the memory power supply and a chip in CPU circuit (i.e., just about any other chip on the board).

To debug this situation, remove the LCD screen and turn the Handy Board off. Presumably the BATT and PWR LEDs are still on. Begin by removing U2, the 62256 RAM chip. Do the LEDs go out? If so, the RAM chip has probably failed; try another one.

If not, remove U7, the 74HC132 chip. This chip is part of the memory circuit and is also always powered. If the LEDs go out, this chip is probably faulty; replace it.

If both U2 and U7 are removed and the problem persists, it is probably a board short. One at a time, remove additional chips to see if you can make the problem go away. If when a particular chip is removed, the LEDs turn off, then there is probably some shorting path from the U2/U7 chips to the chip just removed. Check the board for stray leads or other defects.

(Last updated 2000-09-27)


What software did you use to create the Handy Board and this web site?

I do most of my computing, including all of my WWW development, on the Apple Macintosh platform. I now have a blue-and-white G3 tower, which is driving a bargain-basement HP 17 inch Trinitron monitor running at 1024x768 pixels which works great.

After roughing out web page layouts in Claris Home Page, I write HTML code mostly by hand, using either Emacs or Pete Keheler's excellent Alpha text editor for the Mac.

For printed circuit board CAD, I use a package for the Macintosh called the Douglas Professional System by Douglas Electronics. This includes DesignWorks, a schematic entry program by Capilano Computing (which incidentally is available for Windows as well as Mac), Douglas Professional Layout, a PC board editing program, and Douglas Autorouter, an auto-routing program.

For technical illustrations, I use Adobe Illustrator 5.5. I save my drawings as EPS files and rasterize them into GIF files using Adobe Photoshop 3.04. (Unsolicited plug: these two applications are the most bug-free large commercial programs I have ever used.) I have a CalComp DrawingSlate II tablet, which is great for making illustrations.

To create printed documents (e.g., The Handy Board Technical Reference), I use LaTeX 2.09 by Leslie Lamport, which is a macro package building on Don Knuth's fabulous TeX typesetting system. I am a bit of TeX/LaTeX bigot; I defy anyone to show me hard copy from Microsoft Word (or any other desktop word processor) that rivals the typographical beauty and intelligence of TeX's output. I have recently started to use Thomas Kiffe's shareware version CMacTeX 2.5 for the Macintosh, a full port of the powerful Unix system. I also use Trevor Darrell's psfig macro for incorporating PostScript figures into documents. For PDF output, I convert the resulting PostScript files using Adobe Acrobat Distiller.

(Last updated 2000-09-27)


Can you explain the meaning of the LEDs on the Handy Board and the Interface/Charger Board?

on the Handy Board:
LED Meaning
red on -- a low battery condition on the HB is indicated
green on -- HB is operating normally, blinks during serial transmit
off, but HB is on -- HB is in special bootstrap mode
(this is connected to the HB's serial transmit line)
yellowon -- battery is charging via HB's coax power jack

on the Serial Interface/ Batt Charger:
LED Meaning
redon -- the interface has power—either because it's plugged in to the wall adapter,
or because it's connected to the HB, and the HB is supplying it with power
greenon -- PC serial line is connected and the serial port driver is open
(this is connected to the PC's serial transmit line)
yellowon -- interface is charging HB's battery in trickle charge mode

(Last updated 2000-10-25)


What about the Rug Warrior?

The Rug Warrior is a robot designed by Joseph Jones and Anita Flynn with assistance from Fred Martin and Randy Sargent. It has its own control board with integrated sensors that has a very similar architecture to the Handy Board and uses the Interactive C software system.

Information about the Rug Warrior is available at http://www.egroups.com/group/rugwarrior.

(Last updated 2000-11-28)


Someone told me the Handy Board is free. How can I get my free Handy Board?

MIT has released the design of the Handy Board with no licensing fee (i.e., “free”), but physical Handy Boards cost money and they are not free.

Consider the difference between “free speech” and “free beer.” The Handy Board is free as is the liberty of free speech, not the hand-out of free beer.

Sorry to dash your hopes, but look at the bright side: because the Handy Board is an open design, freely distributed, it's grown a large and supportive user base, and there are a lot of people who can help you get going with Handy Board projects.

The Handy Board's official licensing policy is available at http://handyboard.com/howtoget/license.html.

(Last updated 2001-02-27)


My motors are going crazy and I can't download to my board! What should I do?

Calm, please—it's normal for the motor ports to come up in a random on/off state when the board has lost its program. The motor output latch must be initialized by a program on the board in order for the motors to be turned off, so if the program is lost, the motors will come up in an arbitrary state.

So the first thing to do is unplug your robot from the board. If you're having trouble downloading, you may as well “remove the whole patient” from your robot.

Next, make sure you have the proper RJ11 cable—the wrong one can do damage. See http://handyboard.com/faq/display.php?key=rj11 for info.

Assuming this is OK, now please perform the HyperTerminal/Loopback test at http://handyboard.com/faq/winindex.html. This will make sure your serial communications are working properly.

If all looks good and you're still not able to download, try another downloader. Not all downloaders work on all machines. See the list of downloaders at http://handyboard.com/software/util.html.

If you're still out of luck, see if you can borrow a known working Handy Board to test your set-up, or bring your Handy Board to other computer that's known to download properly.

Finally, if you're still having problems, please write a note to the Handy Board community newsgroup. Describe what you've tried and someone may be able to help you.

(Last updated 2001-04-09)


Can you recommend LEGO kits to use with the Handy Board?

There are several LEGO kits which are well suited for use with the Handy Board. The following list includes links into the Pitsco LEGO-Dacta Store web site:

  • Technology Resource Set W979609, about $235. This set includes a large assortment of fundamental Technic parts, plus one old-style (non-gear-reduction) 9v motor and battery pack.

  • Motorized Simple Machines Set, W979645, about $104. This small Technic set includes most of the parts needed to build the HandyBug robot described in Robotic Explorations. The includes one old-style 9v motor. You'll need a second 9v motor (part W775114, about $16) and an extra worm gear (in set W779854, about $8.50) to complete the HandyBug model.

  • Robolab Team Challenge Set, W979790, about $200. This kit includes two of the newer style gear-reduction 9v motors, which work great with the Handy Board, plus a good collection of Technic pieces including decorative elements and a big wheel assortment. This is the Technic kit that is bundled with the retail LEGO Mindstorms Robotics Invention System (RIS). The Robotic Explorations book also includes directions for a HandyBug models based on this kit.

    Both this Team Challenge set and the RIS set also include a LEGO RCX Microcomputer Brick and IR tower. You do not need these with the Handy Board, but these sets include such a good assortment of LEGO parts that it is pretty much worth buying anyway. You can always give away, resell, or decide to use the LEGO RCX brick.

In addition to these basic kits, you will need LEGO motor cables to be modified to use with the Handy Board. Get the 9 Volt Connecting Leads, W779897, about $13.50. This kit includes three leads. You can clip these in half, yielding six LEGO 2x2 connector heads. Wire the other ends to Handy Board style male pin connectors (see the Handy Board Manual PDF File or On-Line Sensor and Motor Wiring Directions).

Finally, the LEGO 9v Gear Reduction Motor, W775225, about $16.75 is a great component for use with the Handy Board.

PLEASE NOTE: If the deep-links into the Pitsco LEGO Dacta site go sour, you should be able to type the item numbers (starting with W) into the http://www.pldstore.com site.

(Last updated 2002-04-25)


Where do I get replacement batteries for my Handy Board?

The Handy Board uses an 8 cell, AA nicad rechargeable battery pack.

The packs are rated with a battery life measure of milli-amp-hours (mAh). A rating of 600 mAh indicates the battery could supply 600 mA of current for one hour. (Actually, the rating is based on a much lighter load, so it more properly means that the battery could supply 30 mA continuously for 20 hours.) Higher numbers are better, but packs with more capacity generally weigh more, and your robot has to carry that weight around.

Battery packs for use with the Handy Board may be obtained from the following vendors:

Please note two important items regarding the Handy Board battery:

  1. Nickel metal hydride (NiMH) batteries can NOT be used with the Handy Board. The charging circuit build into the Handy Board is not capable of charging NiMH batteries properly. Use only nicads.

  2. Do not dispose of used nicads in the trash. Nicads contain nickel and cadmium; cadmium is a toxic heavy metal and should be disposed of properly. Many hardware stores will accept used nicad batteries for proper disposal at no charge.

(Last updated 2002-05-08)


Where can I get a replacement LCD screen for my Handy Board?

Digi-Key Electronics stocks a replacement screen for the Handy Board: part number 67-1779-ND, about $10. You'll also need a strip of male header pins, e.g.: Digi-Key 929400-01-36-ND, about $1.30.

(Last updated 2005-12-04)


I'm building my Handy Board, and it won't go into the bootstrap download mode.

First, check that the RP4 is 1K x 4 and NOT 1K x 7. Check that R15 is installed. (See http://handyboard.com/schemv12/cpu.gif).

Also, check R8 and D1 are installed properly (see http://handyboard.com/schemv12/digin.gif).

(Last updated 2002-06-09)


Can I install an NVRAM (non-volatile RAM) in the Handy Board?

Yes. An example is Digi-Key's part number 296-9392-5-ND.

It is twice the height of the standard chip, so the screen doesn't fit well, but still works if the pins are slightly bent back.

(Last updated 2002-07-25)


How do I convert my stock Handy Board and Expansion Board to be compatible with Botball (the K versions)?

In order to convert a Handy Board system (HB plus EXPBD) to the corresponding Botball "K versions," two changes must be made:

  • a trace must be cut on the Handy Board;
  • a 47K x 5, 6 pin resistor pack must be soldered to the Expansion Board.

The following diagram shows where to cut on the Handy Board. After making this change, analog input 0 will no longer have a built-in 47K pullup resistor:

Next, get a 47K x 5, 6 pin resistor pack. Orient it as shown on the underside of the Expansion Board. Note the dot or band marking, which aim toward the edge of the board as indicated. Note that pin #2 is not connected. Clip it off before soldering.

Solder the 5 pins as shown. After making this change, Expansion Board inputs 20 through 23 now have their own permanent 47K pullup resistors. Inputs 16 through 19 have no pullup resistor.

Congratulations! You now have HB-K and EXPBD-K versions.

(Last updated 2003-03-11)


Where can I get a CMUcam for the Handy Board?

The best place is from the Kiss Institute for Practical Robotics. They sell a version of the CMUcam that includes a custom adapter for the Handy Board.

See the KIPR ordering form here.

(Last updated 2003-05-30)


Is the Handy Board compatible with Mac OS X?

Yes. You need two things:

  1. A Mac OS X-compatible USB-serial adapter. I recommend the products from Keyspan. There is also a low-cost USB-serial adapter.

  2. Interactive C version 4.x. This is available from the KISS Institute..

(Last updated 2004-02-07)


Why Can't I Use Nickel-Metal-Hydride (NiMH) Batteries with the Handy Board?

The Handy Board's battery charging method is a simple trickle-charge circuit that never turns itself off (“normal charge”). This is fine for nicads; trickle-charging them indefinitely does them no harm.

NiMH cells, however, require that the charge current cease when the cells are fully charged. If the HB's nicads are replaced with NiMHs, the circuit will permanently damage the NiMH cells. (See http://www.panasonic.com/industrial/battery/oem/images/pdf/Panasonic_NIMH_Precautions.pdf and http://www.panasonic.com/industrial/battery/oem/images/pdf/Panasonic_NiMH_ChargeMethods.pdf for discussions of proper NiMH charge methods.)

A couple of comments:

  • If you want more battery life, obtain better nicads. You can get 1000 mAh nicad cells, which are almost twice as good as the stock 600 mAh pack.

  • The nicad “memory effect” problem is overrated. All rechargeable cells have a limited number of charge-discharge cycles and ultimately degrade over time. In typical usage, a nicad pack will perform adequately for about 2 years and then must be replaced. Other rechargeable technologies are pretty much the same.

Nicads are inexpensive and robust, so just because they are “old tech” doesn't mean they are no good.

(Last updated 2004-02-22)


Where can I buy a replacement 6811 processor?

Motorola/Freescale 68HC11 processors are sold by Newark Electronics. For the Handy Board, purchase the mc68hc11e1cfn3.

(Last updated 2005-08-12)


Where can I order parts to build the Handy Bug robot in Robotic Explorations?

The Handy Bug (or a robot very close to it!) can be built using the following LEGO sets:

To make adapters from the LEGO connectors to the Handy Board, you'll need 0.1" header pins, Digi-Key part number 929400-01-36-ND, about $2 each. Each item has 36 pins, enough for 9 Handy Board sensor plugs or 12 Handy Board motor plugs.

Also, Gleason Research has a sensor/motor kit that is a very good value.

(Last updated 2006-02-24)