You are here: Home Documentation Tutorials Using I2C on the Make Contoller Board Hardware
Document Actions

Hardware

Hardware modifications for accessing I2C on the Make Controller Board
Hardware and Software for I2C on the Make Controller Board.
Page 1 of 2.
The Atmel ATMSAM7X CPU on the Make Controller board has a wealth of built-in peripherals. One of those is I2C, which can be used to connect many peripherals to the Make Controller board such as LCD displays, GPS's, or compasses, leaving the RS232 port free for other uses such as the X-Bee controller board.

To access the I2C (AKA TWI) pins on the CPU, traces must be cut, and two wires must be soldered. Although the ATMSAM7X pins appear to be used for USB, I2C is usable concurrently with USB.

Caveats

None of this has been thoroughly tested, and if you need to be certain your system will function properly and won't be damaged by any of this, you should consult with an EE. This isn't my day job!

The traces are tiny, and this modification should only be attempted by a skilled user of a high quality soldering iron.

Cutting The Traces

See the attached photograph of the underside of the Make Controller Board to see where to cut the traces (please, no laughing).

Pin 18 is TWD, and connected through R19 to USB 5V. Although this hardware is present to detect USB connections, the software does not use it, and we can cut the trace from pin 18 to R19 and R18. Cut this trace on the underside of the board so the via is available as a solder pad for the TWD wire.

Pin 19 is TWCK, and is connected to Q1 and R20 and this output is used to enable USB. Cut the trace on the underside of the board between the via from pin 19, and Q1 and R20. Q1 still must connect to R20, otherwise USB will not work. In my case, I accidentally cut the trace between Q1 and R20 and had to add a small wire between Q1 and R20. As was the case for pin 18, pin 19 now has a free via to be used as a solder pad.

This is a good point to re-connect your controller board and re-test your system to make sure the USB is still functional. If it is not, most likely there is no connection between Q1 and R20.

Making the I2C connection header

See the attached photograph of the completed I2C header. The I2C connection header will have 4 pins defined as follows: +5V, Ground, TWD, and TWCK.

Cut a small proto board and drill holes in it so it can later be mounted to the controller board using 4-40 nylon screws. Install a 4-pin header (Dig-key 277-1647-NDD, or the make controller connector pack: http://www.makingthings.com/products/ACC-MAKE-CONN) onto the proto board.

Solder a wire between one pin of the I2C header and the ground pin 4 of connector J4 on the controller board. Mark a pin on the I2C header as +5V

Wire TWD and TWCK each to their own pins on the connector, then attach two 3.3Kohm pull-up resisters between those pins and the 5V pin marked on the I2C header.

Attach the nifty green screw connector to the I2C header pins.

Power

The Make Controller Board does not have 5V, although it is 5V tolerant. I re-used an old sound board connector and wire to get 5V power from a free 5V power pin on the Make Application Board. This wire was attached to the 5V pin marked on the I2C header.

When using USB to power the system, the "5V" power is actually around 4.3V because of a diode to protect the system. My I2C display seems to work fine with this. By powering the system with an external supply connected to V+ for power instead of USB, a true 5V is obtained. My I2C display works fine with this as well.