Lego Ultrasound Sensor - please help

I am a bit of an arduino noob and I don't know much I2C. I have the NXT kit and I want to use the ultrasound sensor with my arduino instead of buying the PING sensor. I also don't want to buy the NXT shield. Is there any software way to interface with the sensor? I just want to be able to take continuous data readings, I am using the UNO. Please help as I don't understand any of these protocols.

Hey skier,

You probably know this, but each protocol is essentially just a language for data transmission. You may understand english, but someone else may speak Spanish. If you aren't speaking the same languages with the proper grammar, then you can't understand each other.

I2C is a simplistic communication protocal developed for communicating over a bus with two wires. More can be read about it here:

In terms of using i2c to interact with the sensor - I have never done this with any of the NXT hardware, so if you have access to an oscilloscope, you might want to try and view / record some of the serial interactions that are being sent over the bus. Otherwise, If you don't I would read the wikipedia article to get more information about i2c. There is a lot more information out there too, but the arduino has the ability to communicate over i2c.

If this is too complicated for you, you can also use the NXT as a "translator" device by sending the NXT direct bluetooth commands. A quick and complete guide of the Bluetooth commands can be read here:

You will have to get a serial to bluetooth dongle such as this one:

to do that, and just based on economics, you might be better off getting a PING(( sensor. Either way, there is a lot of information out there and if you have any questions, let me know!


Have you considered buying an HC-SR04 ultrasonic sensor on eBay? They are about $3.