NodeBots at Codemash

An epic thing happened last week. The CodeMash 2015 session list was released. There are some AMAZING sessions lined up. I can’t wait to go. Don’t forget to register!

NodeBots at CodeMash

NodeBots at CodeMash

One particular session I am excited about is the NodeBots pre-compiler. John Chapman and I are working hard to put together an immersive hacking experience. With over $5000 worth of Arduinos, servos, electronics, power sources, cables, wood, tools, and artsy-craftsy stuff (all donated by my employer, CareEvolution), you just need to supply the creativity.

More details will follow later (follow us on Twitter), but here are some simple details:

  1. The NodeBots pre-compiler will run BOTH Tuesday and Wednesday
  2. You will pick ONE of those days to attend
  3. You will need to pre-register in order to participate
  4. You will build a bot to compete in the “Octogon Battle” or “Autonomous Maze”.
  5. If you don’t want to compete in one of those things, you can hack and build however you want.

At one of our recent hackathons, we beta-tested the NodeBots event and it was really, really fun. We even made a highlights video!

Hacking Nodebots

Our NodeBots Hackathon Summary

Our NodeBots Hackathon

I discussed the plans for our “Battle of the NodeBots” Hackathon project a couple of weeks ago. The outcome was much better than I had expected. The creativity unleashed for that one day was enough to fuel us for months.

We had offensive bots using spinning bashers, propellors, flippers, and quarter dumping. We had agile bots, employing wireless communication and sophisticated control mechanisms. We had defensive bots which used a 5 pound weight to increase mass. We had a sabotage bot which created electromagnetic fields to disrupt their oponents’ electronics. We even had an “Empirial Walker” style robot which slowly approached its opponent with friction on its side.

In all, we had 16 people building 8 robots with Arduinos, Johnny-Five, wood, hot glue, and all sorts of random components.

The rules of the game were simple:

  1. Build your bot however you want, but use the two continuous servos as your primary drive mechanism
  2. The is a hexagon, approximately 4 feet wide on carpet
  3. You are given 3 1-minute rounds to knock your opponent completely out of the arena. A successful KO will win the match and the bot moves on.
  4. If after 1 minute, a KO is not achieved, the bot with their Arduino closest to the center dot gets 1 point.
  5. If after 3 rounds, nobotty has achieved a KO, the bot with the most points wins a “Technical KO” and the bot moves on.

Here is a “Highlights Video”

Building Your NodeBot

For our “Battle of the NodeBots” Hackathon project, we will be building a bot to compete against other bots. We have a kit which includes the following components.

You are encouraged to build your bot however you want, but this is how you can build it without any modifications from the original design.

Lay out your parts

You want to get a feel for where everything will go. Lay your major components out on the board and rough-in where you think you’d like them to go.
Rough-out the parts

Attach your wheels to your servos

The easiest way to do this is to remove the servo horn and attach the horn to the wheels using the self-drilling screws. The holes in the servo horn are smaller than the screws but these things make quick work of the plastic and go right through to the wood. Just make sure they are centered. Reattach the horns when you are done.
Attach the wheels to the servo horns

Attach the servos to your chassis

You can do this however you want. A quick-and-dirty approach is to use double-sided tape. I prefer zip-ties. Figure out where you want the servos to sit and mark it on the board. Use a drill to punch a hole through the wood. Attach the servos to the wood using zip-ties and snip off the excess zip-tie.

Mark your servo location
Attach the servos with zip-ties

Attach the caster wheel to the bottom of the chassis

The self-drilling screws are really useful for this.
Attach the front caster wheel

Attach the Arduino and Breadboard

Affix the Arduino using double-stick tape. Affix the breadboard using the attached mounting tape.
Affix the boards

Mount the battery

Using double-stick tape, affix the battery to the bot. Connect it to the Arduino using the 9v clip.
Affix the battery

Power the servos from the board

You are not likely to keep the servos here permanently, but this is a good starting point. Pins 9 and 10 support PWM signals, which are best for servos. You can connect them to the SVG pin headers for now. The white leads are the “signal” for the SVG pins.

Power the servos

Your servos may start spinning now. If that happens, you can trim them using the screws on the back of the servos. You may need to do this again once you have hooked your system up to the software.

Trim the servos

Start programming your bot!

Now you have a working bot. You can plug your USB cable into the board and go to town. If you haven’t already gotten yourself bootstrapped (or with Visual Studio), now is a good time.

Take a look at the servo API in Johnny-Five to get you started. Here is a simple example that will rotate your 10-pin servo clockwise.

Start Programming