The BrickPi by Dexter Industries is an add-on for the popular Raspberry Pi development board that lets you control Lego® Mindstorm® motors and sensors. Simply stack this board on top of your Raspberry Pi to control up to four NXT or EV3 motors and five NXT sensors. With Dexter Industries custom Raspbian build and a small amount of assembly of the case you will be able to easily get your Lego Mindstorm robot running in no time.
Each BrickPi is controlled by two ATMega328s and has a 9V power adapter attached that can effectively power the motors, sensors, as well as the Raspberry Pi itself, therefore freeing the Raspberry Pi from your wall socket or computer. Lego beams can be attached to the top and bottom pieces of acrylic in order to secure the BrickPi and Raspberry Pi to your Lego creation. There are a total of nine NXT connectors attached to the BrickPi four motor ports that also read encoder values, as well as five sensor ports that can read many of the Mindstorms sensors. Finally, every BrickPi can be programmed in C, Python, or even Scratch, giving you plenty of different options get you robot moving!
Note: The BrickPi will need a custom version of Raspbian "wheezy" which can be found in the Hookup Guide below along with helpful tips and assembly instructions.
This skill concerns mechanical and robotics knowledge. You may need to know how mechanical parts interact, how motors work, or how to use motor drivers and controllers.
Skill Level: Competent - You may need an understanding of servo motors and how to drive them. Additionally, you may need some fundamental understanding of motor controllers.
See all skill levels
Whether it's for assembling a kit, hacking an enclosure, or creating your own parts; the DIY skill is all about knowing how to use tools and the techniques associated with them.
Skill Level: Noob - Basic assembly is required. You may need to provide your own basic tools like a screwdriver, hammer or scissors. Power tools or custom parts are not required. Instructions will be included and easy to follow. Sewing may be required, but only with included patterns.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
I'm rather disappointed with the BrickPi. It's an expensive products that has serious quality problems. RicE06 made several good points about precision issues with the motors in his review. As for myself, I was never able to get the NXT full-color sensor to work. (Others have had the same problem, as a Google search reveals). Now the touch sensor stopped working.
Something I've always found infuriating with motor-powering boards is that so many of them are designed to run off 9V and come with a 9V snap but there isn't a 6AA battery holder to give a useful amount of battery life-- 9V batteries use six tiny-capacity cells and aren't really suited for that kind of consumption, let alone powering a Pi for a useful amount of time. At absolute best you get two hours of life per battery, and that's with non-rechargeable Lithium batteries, powering only the Pi, assuming they're newly-made and a good brand. A 6AA lasts 2-3x as long within the same type category (Alkaline, Lithium, various rechargeables), as well as being cheaper to fill and sometimes easier to get the batteries for (took me three days to find 9V batteries in one city, never going there again). Sure, it's easy enough to make a 6AA pack with a 4AA and a 2AA pack, but sometimes you want a nicely mountable single unit so your project looks pretty or so you have to tap less screw holes or for a hundred other reasons. To the point of the actual product, I have plans to acquire one when I have a new Pi and my box-o-NXT parts, though a straight USB version of this board would be a wonderful thing to get around a broken NXT brain unit. TL;DR Version: 9-volt board design is kinda dumb for something that drives motors and comes with a battery snap because nobody sells a 6AA/C/D pack with a 9V snap, and someone should make a USB version of this thing because there's no good solution for that yet.
Dexter Industries has a 8AA holder in the shop;-) But they also show a 6AA holder in the images?! http://www.dexterindustries.com/site/?product=brickpi-power-pack
Your friendly RadioShack has also 6xAA & 8xAA holders ;-) https://www.radioshack.com/product/index.jsp?productId=22874856 https://www.radioshack.com/product/index.jsp?productId=2062242
I hope that helps;-)
Judging from the price, is this the advanced model that's better for batteries? It doesn't say "advanced" in the title like it does on the Dexter Industries webpage.
Anyone know?
These are the BrickPi Advance model. And you're right the Advanced is better for batteries.
am i the only one that noticed that the sensors are on there own I2C bus? wouldn't it be better for pin realestate to have them on one bus? would it be possible to mod them to work on one bus?
Each of Sensors Port 1-4 are on their own I2C bus. Ports 1-4 also support analog sensors (like the touch sensor or thermometers), and some of the custom LEGO sensors like their ultrasonic.
Sensor Port 5 is on an i2C bus with the Raspberry Pi, which supports fast I2C sensors.
The problem with putting all 4 on the same bus is that you would not be able to support multiple ultrasonic sensors, or the other custom LEGO sensors like the light sensor.
A large majority of NXT I2C sensors use address 0x02. If all the sensor ports shared the same I2C bus, you would be very limited in the number of I2C sensors you could use. Some of the analog sensors use the "I2C" pins (5 and 6) as signal pins (e.g. to control the LED on the NXT light sensor). The NXT color sensor uses a custom communication protocol (that mixes analog and digital on pins 5 and 6).
If you understand French, here is a review I wrote in December about this product. I've tested the advanced version, the one equipped with the DC/DC regulator instead of the linear one.
Best regards
Eric