DEV Community

John Rodgers
John Rodgers

Posted on

Control a robot with just a text!

What I built

Category Submission: Exciting X-Factors

I was originally going to build a React based web app to bulk send texts, but saw other submissions already along those lines. So I decided to go weird! I have an old Arcbotics Sparki robot sitting around doing nothing. My 7 year old likes to play with it, but setting it up and writing custom code for it so that it will do what he wants is somewhat painful. Enter Twilio to the rescue! Now he can just send text messages to the robot from my phone and it will do whatever he wants (within the limited set of actions I currently support).

Images

Sparki
alt text

Wiring the Argon to Sparki
alt text

Sparki on the move!
alt text

Link to Code

The main project is here: [Github])(https://github.com/jrrodgers68/twilio_hackathon)

This is a hardware project so you'll need some specific hardware to make the magic happen:

Why the 2 parts? Sparki is based on an Arduino, which lacks network capabilities. The Particle Argon provides the internet connection with an easily accessible REST api.

How I built it (what's the stack? did I run into issues or discover something new along the way?)

The system has 3 main components

  • Sparki code (its an Arduino based robot)
  • Particle Argon - to give receive commands and send them to Sparki
  • Python flask service that receives SMS commands from users via Twilio

What did I learn along the way

Lots! Originally I planned to use the Bluetooth module that comes with Sparki to just send commands to it. But after 2 days of trying, I couldn't get the Bluetooth module to work at all. Even breaking it down to just a simple terminal on a PC wouldn't work - no connection was ever established, though the PC said it was connected on COM6 to Sparki. So I then moved on to attaching the Particle Argon to Sparki's back, kind like the movie The Puppet Masters, but less creepy! Sparki has an exposed RX/TX which the Bluetooth module uses, so it was time to just connect the Particle directly via jumper wires and send serial commands.

The easiest part of the project was the Twilio part. Definitely kudos
to the developers at Twilio for making such an easy to use product. In
short order, I had incoming texts being fed to my python flask service
and calling the Argon REST api and watching Sparki move!

What's next for Sparki?

His own Twitch streaming channel! Keep your eyes open for Sparki on
Twitch.

Additional Resources/Info

Top comments (0)