Robotics‎ > ‎


Here you will find information on how to build and program blimps you can remote control with any cell phone or tablet using the resources developed for ASRA's second Blimps related module. I taught this module with Steven Kibler during the summer of 2016. He was the one to work out the majority of the kinks the previous year when he taught the first Blimps module with Mike Moss. Working with Steven was a great experience. As I continue to improve this project for use with students at Twindly Bridge Charter School and Teeland Middle School, I will share what I develop on this page.

During the fall of 2016 I received $2000 from the Voya Unsung Heroes Awards Program to fund the construction of 10 blimps and 10 submarines (see attachments below).
Transaction History

  • Work through Khan Academy's Intro to JS, Intro to HTML/CSS, and HTML/JS courses. 
  • Intro to Virtual Circuits (Stoplight) video tutorial.
  • Get an espMouse to move forward and turn using my Artificial Intelligence with Arduinos video tutorials.
  • OpenSCAD Slideshow (for building the gondola)
To get started, work through the first two videos and test your code by remotely controlling an espMouse. Once you've done that, modify your code to control DC motors and add a slider to control a third vertical motor.
  • Create Web App with Cloud9
    • You may need to change the name of th start() function to startSending().
  • Host from NodeMCU
    • After making this video, I discovered I got better results if I put the line that creates the access point towards the top of the setup (directly below the 1000 millisecond delay), and the code that creates the servo objects and sets them to stop towards the bottom of the setup.
    • Since we are using Adafruit Feather Huzzahs instead of NodeMCUs, you'll need to change the board you select when uploading your program. You'll also need to change the pins you use for controlling the motors
      • Left Motor: pin 12
      • Right Motor: pin 14
      • Button: pin 0
      • LED: pin 2
  • Learn to Use Motor Drivers.
  • Modify Your Code to Control DC Motors
  • Add a Slider to Control Your Vertical Motor
You can make your blimp run a little quieter by setting the PWM frequency to 16 kHz in the setup() function before you drive your motors. Unfortunately, this does cause your motors to rev for no reason on occasion. If you figure out how to run quietly without that side effect, please let me know.

Also, you may have already noticed that if you accidentally click you start button twice, your stop button won't work. To prevent this from happening, you can programmatically disable and enable your start and stop buttons using commands similar to the one below once you add id tags to both buttons:
document.getElementById('start').disabled = true;

I'd love to figure out a way to lock the orientation of the web app. Again, if anyone discovers a good method, please share.

Bill of Materials

Blimp v4: I developed this board for use with my students at Teeland Middle School during the 2016-2017 school year. Changes from the board Steven developed for use with ASRA's 2016 Blimp module include:
  • Smaller (weighs less and is less expensive)
  • Traces to motors are 56 mils all the way from the motor drivers to the breakout pins.
  • Pinout has changed so that the motors do not run when programs are uploaded.

If you esp8266 is behaving erratically, consider erasing the flash using On linux, the command looks like:
python -p /dev/ttyUSB0 --baud 115200 erase_flash

On a Mac, it looks like:
python -p /dev/cu.SLAB_USBtoUART --baud 115200 erase_flash
VOYA Unsung Heroes Award Letter.pdf
Michael Backus,
Jan 7, 2017, 12:38 PM
Voya Unsung Heroes Proposal.pdf
Michael Backus,
Jan 7, 2017, 12:37 PM