adabox 002 feather bluetooth le mini robot, part 1

These are my notes for building and programming the Adafruit ADABOX 002 Feature Bluetooth LE Mini Robot.

The ADABOX 002 was the second in the series when Adafruit first started its Ada Box quarterly subscription. It’s a neat concept, where you get a box of goodies every three months that can be used to build up quite a number of interesting projects. ADABOX 002 comes with Adafruit’s Mini 3-Layer Round Robot Chassis Kit 2WD with DC Motors (PRODUCT ID: 3244), a Feather 32u4 Bluefruit LE with Feather Stacking Headers already soldered on, a DC Motor & Stepper FeatherWing Add-on with its pins pre-soldered, and a bread board. All you need to do is assemble everything, stacking the DC Motor FeatherWing on top of the Feather 32u4, and then attaching that to the bread board. It’s all physical assembly with no soldering required.

What I intend to cover, starting with this post, are

  • Notes concerning the mechanical construction that differ from Adafruit’s
  • Notes concerning the installation of the Arduino IDE and supporting drivers
  • Notes concerning the software for controlling the robot


You can find the full original assembly instructions here: What follows are mods to those instructions.

Before you assemble the lower and middle decks to hold the motors, assemble the standoffs on the middle deck so that there are three in the back and one in the right front, unlike the way illustrated by Adafruit. If you wait to add the standoffs after attaching the lower and middle decks, you’ll discover that the angle you need to make between the supplied screwdriver and the screws will be difficult to deal with.

As you’ll note above the three standoffs are across the back. If you look at the mechanical only kit, that’s the way it’s built. Why someone decided to build it differently for this project is a mystery. Once the middle deck is attached to the lower and the motors are properly in place, then attach the upper deck.

You can see from this angle how the forth standoff is off to the right (right is looking down from the top with the big wheels to the back). That’s so you can move the AA battery box into and out of the space between the middle and upper deck pieces, so that you can change the batteries without taking the robot apart. If those batteries are dead that robot won’t move. One more piece of advice with regards to the battery box. Only put two of the rubber feet onto the back of the battery box. This allows the battery box to be held in place with friction, but makes it easy to slide the box in and out. It also keeps the small slide switch built into the box from being hit as you move it in and out of the middle of the robot.

Now we come to the second change to building the robot. The original directions had the breadboard mounted long axis front-to-back with the back excess breadboard hanging over the back edge. I mounted it 90 degrees, from side-to-side. The way the deck metal is cut, it would seem that’s what the original designer of the hardware had in mind.

The motors are connected to the motor controller board with four 4″ breadboard jumper wires, and tied down with a single miniature nylon cable tie. This is different than from what Adafruit provided, four pins that forced the motor controller board to be at the front of the bread board. With these four wires, a much better layout (to me, at least) is built, and all for an additional $2 worth of parts (if that much).

One other item which is called out on the Adafruit site and is attached here is a 3.7V 500mAh battery, connected to the microcontroller board. You need this battery if you want to run the robot without it having to be attached to the USB cable for power. I only paid an additional $8 for that item.

What it means is that the BOX 002 robot is about 95% there as far as having something easy to build. That extra 5% are the wires and the battery, costing another $10. Why Adafruit doesn’t include the battery with the kit (and raise the price accordingly) is another one of those unanswered mysteries. The fact all of this is easy to fix means it’s not going to stop you, or anyone else, from getting to a very nice looking and working little robot.


mirrorless fool frame cameras

Today’s contemporary digital camera systems have reached such a high point of sufficiency and competency across every sensor size that the idea floated by the “fool frame” crowd about full frame (i.e. using digital sensors that are the same size as analog 35mm film frames) being the only true way to photograph digitally is laughable at best. I’m continually surprised and pleased at the technical quality produced by cameras with anything but fool frame. On the web in particular I can’t tell the difference. The only time I know what sensor size was used in the creation of an image is when it’s called it out. The distinguishing factor is the talent of the photographer behind the camera, not the gear they used.

I would be more impressed with Nikon’s and Canon’s latest if I thought they would lead to interesting new areas of creativity, but they won’t. They’ll wind up as points of trivial tribal arguments on various forums and websites (like ThePhoblographer). Nikon and Canon’s latest are a response by the two companies to halt the leakers from leaving their respective brands. But I don’t expect to see anything different visually.

The cost of the latest from Nikon and Canon, along with Sony’s fool frame cameras, are outrageous. They have become what Mike Johnston over at The Online Photographer has labeled as a Veblen good (he did that with Leica, but it applies here equally). A Veblen good is when you telegraph how rich you are that you can participate in conspicuous consumption by purchasing such a good as a status symbol because of its expense. Unfortunately talent and financial ability to afford these cameras don’t go hand in hand (that’s why the phrase “starving artist” exists and has for centuries).

In any event, I won’t purchase anything from these two, any more than I won’t line up to buy from Sony. The price is too great for the functionality and true value provided.