Alex Porter in IoT, Corgis, Arduino, Particle, Raspberry Pi

Corgibot - A foray into the Internet of Things

Recently I stumbled upon some low-poly [definition: low polygon count, think lots of angles and flat surfaces instead of smooth shapes in a 3D model] style masks that you could print and assemble yourself. I knew I wanted to try creating something in this style and started to think of what I could make. Since our team has three official corgis I decided to be trendy and build something that would let me be just as cool as their owners.

I started researching how to go about making a low-poly physical object and found the 123Dmake app by Autodesk. The app allows you to turn any 3D model into a physical creation via 3D printing, folding paper, or laser cutting cardboard layers.

Making a real paper dog

I found a free-to-use corgi 3D model on Autodesk's 123D site and imported it into Tinkercad so I could dock its tail. As an aside, corgi tails are docked as a breed standard. They used to be docked because as herding dogs, the larger animals would step on their tails. So for authenticity sake, and adherence to robot dog breed standards, the tail had to go. Once I had the model the way I wanted, I imported it into 123Dmake and set the type to created folded panels which I could print on cardstock for stability to make the object itself.

A new addition to the Internet of Things

At about this time I realized I could infuse a bit of my love for new DIY electronics like the Arduino, Raspberry Pi, and the Particle platform and turn this corgi into the #corgibot, a small notification robot that would bark and move it's head based on any sort of notification from an app or the web.

I decided the easiest way to bring this thing to life and add it to the Internet of Things would be by using a Particle Photon as it has built-in wifi, their own web IDE, over-the-air firmware flashing, and an easy to use API that meant I could control the program from nearly anything.

Bringing it all together

After I got the whole corgi cut, folded, and tediously assembled, I had to figure out where I needed the head to disconnect so that it could move independently of the rest of the body. I removed a sizable piece from its back to allow access to the insides for the internal mechanisms. I created a bone structure from popsicle sticks and hot glue which turned out to be incredibly sturdy.

Then I built a small platform that could hold the Photon board, a speaker, and a servo that would be attached to the head to make it move. This had the added benefit that the platform and head could easily be removed from the body to be worked on separately.

Once I built out the circuit and placed it inside the corgi, I set to work writing my control program. When called, this program would tell the servo to move the head, and the speaker to play a soundbyte embedded into the system.

After everything was working the way it needed to, it was time for a coat of paint! I didn't want any of the office corgi's to feel singled out as my favorite so #corgibot got a nice safety orange color to make sure no one missed it.

For the time being #corgibot is tied to a slash command in our team Slack so whenever /bark is typed the lil' guy lets us know what's up. In the future it could just as easily be tied to IFTTT or some other system. I was surprised at just how easy this project ended up being.

The DIY object creation tools from Autodesk made me realize just how simple it can be to take an idea and bring it into reality. I was hugely pleased with the Particle platform in how easy it was to program the Photon board as well as control it through super simple APIs. All kinds of new ideas are racing through my brain now that #corgibot is alive and barking. I want to build electronically controlled board games to play with friends in other places, build a celebration device that plays music and lights when we deploy a new version of a website, or even track in real-time when the bathrooms in the office are open and available!

And with that goes my first forray into the Internet of Things!


comments powered by Disqus