Let's Make Robots!

ComMotion Shield for omni and mecanum wheel robots

After building my first omni wheel robot I realized how difficult it can be to monitor 4 encoders and drive 4 motors so I designed the ComMotion shield. As the name suggest the shield is designed for motion control but as I ended up with 2 spare serial ports I decided to add communications abilities to the shield hence the name ComMotion.

This tutorial is still under contruction so please check weekly for updates. I have taken it out of "Draft Mode" because it has a lot of useful information for … Read more
Spinning line follower or maze solver
I've now attached a 3D model in Sketchup. Scamper started as an experimental omni wheel platform. The challenge with omni or mecanum wheels is that you need precise … Read more
Plays Music using a DC brushed motor for a speaker
Almost all small robots have a couple of DC motors to drive the wheels. This tutorial explains how to use those motors as speakers. Theory Basically a speaker … Read more

Arduino I2C multi-master hardware fault

A couple of my projects recently rely on I2C to connect multiple Arduino compatible controllers. These projects have 3 or more ATmega8A or 328P processors that work as both I2C master and I2C slave.

Prototyping ComMotion

Introduction

I was inspired to create the ComMotion shield after building my robot Scamper. It took a reasonable amount of work to get the encoder feedback working how I wanted and I knew it would be much harder for a beginner.

Prototyping CNC MkII

Late 2012 I started developing a 5 axis, CNC controller. The PCB was made but It was a long term project that ended up sitting on the back burners. I never had time to test it or write code. Although an Arm processor would be slightly cheaper and more powerful I have kept the design Arduino compatible as this is easier to hack for most hobbyist.

Learning to use WiFly RN-XV module, any advice?

Recently I have started trying to add WiFi to my robots. The WiFly modules seem like a good choice. Reasonably priced and they fit in an XBee socket so that I can easily swap the hardware between Xbee and WiFly. For this reason I added an Xbee / WiFly socket on the ComMotion shield. Unfortunately I know nothing about networking so I have a steep learning curve ahead.

One thing most robots need is the ability to control motors. This circuit will work from 7.2V to 15V with PWM frequencies up to 25KHz and drive motors with a stall … Read more
Increase torque or reduce noise in DC brushed motors
By default, most Arduino pwm outputs are set to about 490Hz or 980Hz. These frequencies work quite well with small dc brushed motors but can cause unwanted noise or … Read more