My new Adafruit-inspired Robot

I have long been a fan of Adafruit.   They offer some really amazing kits, complete with specs, schematics, examples and all kinds of wonderful code and instructions for the tinkering.   I’ve had many hours of fun building and tweaking projects consisting largely of their components.

I have built robots in the past but they had turned out to be more cumbersome than expected.  They were heavy and buggy.  A lot of this was due to designs that were overkill (a bit too ambitious).  Since that time I’ve wanted to build something a bit more lean, simple and fun to operate.

IMG_1845

I then stumbled across this $24.95 kit on Adafruit’s site and I couldn’t resist.

It includes the frame, motors and wheels but leaves the micro-controller (Arduino, etc) and motor circuitry up to the builder.   Adafruit’s learning site has a wonderful example build using the Adafruit Feather Bluefruit (~$30 USD) micro-controller.   This can get a n00b up and going in no-time.  It even has pre-built app with tilt controls.   This was tempting but I wanted to try building a WiFi robot, based on the cheaper Adafruit Feather Huzzah MCU (~$16 USD).   The ESP8266 MCU at the heart of this board has considerably more processing power and memory than the ATmel 32u4 present in the Bluefruit.  It also has built-in 802.11b/g/n WiFi and is compatible with many Arduino libraries, particularly those that leverage I2C communications, like the motor shield I used.

My shopping list consisted of:

  • 1x – Adafruit Feather Huzzah
  • 1x – Adafruit Feather Wing Motor Board
  • 1x – Robot chassis kit as pictured above
  • 1x – Adafruit Feather Wing Doubler
  • 1x – Adafruit 500mAh LiPo rechargeable battery for the Feather’s power.  A slightly larger battery (~1000mAh) might be more optimal but Adafruit’s stock was limited when I placed this order.
  • 1x – 4x AA battery holder with power switch (I got this on eBay)

With a little soldering I had everything connected and ready-to-go pretty quickly.  Adafruit’s assembly suggestions for their rover kit example were very helpful.  I preferred to use 3M double-stick tape on the bottom of my Feather Wing Doubler to both secure it and buffer it from contacting the metal chassis.  I used hook and loop tape to secure the battery enclosure as the cover is on the opposite side of the switch, for some odd reason.

IMG_1852

In order to test this setup I used a combination of Adafruit’s motor examples combined with an example web server they provide for the ESP8266 in another project.  I was able to create a system whereby calling, say, /forward on the robot’s web server would trigger a forward movement, along with /backward, /left, etc..  I was able to test this at first with curl and then later by building a rudimentary iOS app to call these commands:

 

IMG_1841
Aaron’s Robot Control iOS App Screen Shot

 

Now my robot can be driven and even controlled with some relative precision using this interface.  I charge it periodically by attaching a micro USB B cable to the Feather board while the LiPo cell is connected.  It will automatically stop charging when the battery is full.  I seem to get 2-3 hours from the 500 mAh battery but I have not done specific endurance testing.

IMG_1849

 

Interested in the code?

The web server which runs on the robot is available via GitHub here.  The code for the iOS app is here.  The iOS app’s layout is optimized for an iPhone 6 plus but this is easily tweaked.

-Aaron

Leave a Reply