Learning I2C with the Bus Pirate

When an air quality display project needed a display, [Inderpreet] looked into small character-based LCDs. [Inderpreet’s] chosen LCD used an I2C interface, which was new to him. Rather than shy away, [Inderpreet] grabbed his Bus Pirate and dove in!

I2C or Inter-Integrated Circuit serial interfaces are often mentioned here on Hackaday. They generally are easy to use, but as with all things, there are little gotchas which can make the road a bit more bumpy the first time you travel it. One of those things is voltage interfacing – I2C uses bidirectional open drain lines, so interfacing 3.3 V and 5V circuits requires a voltage level shifter circuit designed to handle that requirement. Thankfully in [Inderpreet’s] case, both his TI launchpad target devboard and the LCD used 3.3 volt logic levels.

buspirate2Before using the TI though, [Inderpreet] wanted to test with the Bus Pirate first. This would allow him to verify the hardware, and to make sure he was correctly using the I2C bus. The Bus Pirate can operate at 3.3V or 5V logic levels, and has on-board programming specific to the I2C bus. Controlling the Bus Pirate is as easy as hooking up a serial terminal program and plugging in a USB cable.

The I2C bus protocol is relatively simple, but can still be confusing to a new user. Each transaction needs an address, read/write bit, and a start command sent in the proper sequence before the data bytes can begin flowing. There are also acknowledge bits which prove that the data bytes are actually being received by the LCD. The Bus Pirate made all this easy, allowing [Inderpreet] to quickly display “Hello” on his LCD module.

The I2C bus is just the tip of the iceberg for the Bus Pirate. If you’re interested in learning more, check it out over at The Hackaday Store!

[via Dangerous Prototypes]

Solar Powered Lawn Mower Cuts the Grass So You Don’t Have To

MowerFea2

It takes a lot of power and energy to keep grass levels down to an appropriate level; especially when it’s hot out. If cool glasses of lemonade aren’t around, the task at hand may not be completed any time soon causing the unkempt blades of green (or yellow) vegetation outside to continue their path of growth towards the sun.

Instead of braving the oven-like temperatures which will inevitably drench the person in sweat, this solar powered robot has been created ready to take on the job. With the heart of an Arduino, this device shaves down the grass on a regular basis, rather than only chopping down the material when it gets too long. This helps to save electricity since the mower is only dealing with young and soft plants whose heads are easily lopped off without much effort.

Internally, the robot’s circuitry interfaces with an underground wiring system that defines the cutting zones within the lawn, and proves to be a simple, accurate, and reliable approach to directing the robot where to go. If the device travels under a shaded area, a battery kicks in supplying energy to the engine. When sunlight is available, that same battery accumulates the electricity, storing it for later.

Continue reading “Solar Powered Lawn Mower Cuts the Grass So You Don’t Have To”

i2c for the fonera


La Fonera’s are getting pretty popular lately. [Lefinnois] hacked his to get i2c working. He used a 75LS05 to adapt the io levels, and some bit banging in the software to pull it off. Now the Fonera can be used for inexpensive remote monitoring via inexpensive i2c devices. Not to mention that this could provide a cheap network interface for various micro-controller projects. (I’m thinking networked thermostat for my new house.)