Over this week I’ve been working on designing PCB’s for my robot based on the arduino. the three boards i’m working on are a expansion shield to fit directly on top of the arduino, a 9 degree of freedom IMU board this a three axis manometer(HMC 5843), accelerometer(BMA 180), and gyroscope(ITG 3200), and finally an circuit to clean up the signal from ether a hall effect sensor or a photo transistor so we can use the interrupts for an odometer.

I’ve decided to use surface mount components for these circuits to minimize the space they take up and to make my self learn how to solder components this small. the arduino shield has quite a few features. it has a 16 bit multiple er with 12 of the pins directly accessible with each pin having a power and ground pin right beside it. Six of the pin’s power pins are connected to a jumper to allow for you to choose between 3.3 and 5 volts power incase you have sensors that need it(pins 10-15). Pins 6-9 of the multiplexer are connected to voltage dividers to allow you to have battery monitors for voltages up to 10 volts(you could allows change the the resistors to allow for deferent voltages). The two interrupt pins are broken out and I plan to have use them for odometers on both of the back wheels but they always could be use for one digital pin and one PWM pin. I have three digital I/O pins with corresponding power and ground ready to use for simple sensor though in future designs they may be used for more status LED’s. I have not suppled power to the PWM pin’s because the ESC of the RC car I’m using supplies it’s own voltage from two 8.4 volt Ni/Cd and can power the servo motors but will short the circuit if it is directly connected voltage  to the arduino’s power.  I have pin 10 connected to two pins to control the two steering servos on the E-maxx.  I also have an I2C  outlet with 3.3though it uses 5 volt logic.  On the shield there is also a reset button a power indicating led and an led connected to pin 13.

The IMU board is a simple board with the required capacitors for three triple axis I2C sensors.  this pard will be interesting to make because the sensors all come in QFN packages and there fore require reflow soldering. From by research this will be doable with a toaster oven or and embossing tool to apply heat with warm air. This requires the most expensive components but if it works it will dramatically reduce the foot print and cost of these sensors.  I have separated this from the arduino shield (it initially was at the bottom of the sheild) for two reasons. Firstly we where uncertain if the proximity to the circuitry would through off the compass and more importantly if wee where going to place the arduino near the motors it would definatly have incorect readings.  Also we probably wouldn’t want all of the board having there sensors on them and so it would be wasted space on the circuit board.

The final board that I made was to clean up a signal and turn it into a clean digital signal for the arduino’s interrupts to use. wee need to do this because the high of some of the sensor we are using can be as low as 1 volt. to do this I have a LM311 voltage comparator set up to compare the sensor voltage to a voltage divider.  this allow us to switch between a hall effect sensor and a photo transistor just by using different Resistors. The out put of the voltage comparator is connected to ground with a capacitor to clean up the signal and stop a problem with large fluctuations of the voltage as the signal goes from high to low.

I will most likely be ordering these next week along with the components to populate then. And if this goes well I may well go ahead and design my own arduino with all of these board in a signal small package.

Jarek I.M.

contact at jarek@intercahnge.ubc.ca for more info