Building the Disco Robot - http://littlebits.cc/projects/disco-robot - wasn’t as easy as it seems in the video; we encountered many challenges. Here are some problems and the solutions we’ve found:
Bricking the Arduino bit.
We built the robot in three stages: first the BitBot inspired tracks, then the Arduino controlled 5x5 RGB LEDs, and finally the three servos (for arms and head). All these parts worked fine, but after combining everything we bricked the Arduino. (The Arduino stopped working, and didn’t connect to the laptop anymore.) We had to reset the Arduino bit countless times, until we figured out the cause of this: the power consumption of all the parts together did pull the voltage below the minumum needed for the Arduino. Powering the whole robot using USB solved this problem.
Arduino analog in to analog out
The servos didn’t behave as expected, they did swing all over the place. To find the problem, we connected a dimmer to an Arduino input, a servo to an output and simply fed through the read value to the output. Turns out the analog input is 10 bits (0…1023), while the analog output is 8 bits (0…255). Easy to overlook, even easier to fix: simply divide the input by 4 and all’s okay.
Unstable, oscillating servos
We saw this behaviour in earlier projects: the servos tend to become unstable as soon as you connect something to them. For this robot, the arms were not just unstable, they even started oscillating aggressively (almost tearing the robot apart). We found the solution for this problem by physically damping the movement of the arms. The shoulder flaps and the rubber band add just enough friction to the arms to get rid of the oscillation.
Buffered Arduino outputs
We couldn’t get the NeoPixels working with the littleBits Arduino bit, using the bit’s standard outputs. The reason for this was the extra circuitry between the Arduino chip and the magnetic outputs. This circuit seems to filter out the highest frequencies, ruining the communication between the Arduino and the NeoPixels. Connecting the NeoPixels directly to the Arduino chip, using one of the extra outputs on the board, fixed this problem.
Yuziana really loves to play with the robot. Unfortunately, we have to wiggle all bits each time to get them all to connect again. The magnetic connections are getting loose overnight, even tens of elastic bands don’t keep the circuits connected. For this problem we can’t think of a solution other than soldering the parts together. But that would disable the use of those bits for other projects…