Connect LEGO Robots to the Internet 25

BrickPi Kickstarter Logo Assemble the BrickPi Case Raspberry Pi Robot Shooter Raspberry Pi Robot holding a tennis ball The BrickPi as a Tank BrickPi Raspberry Pi for LEGO MINDSTORMS BrickPi robot.

LEGO® Mindstorm is a cool robot kit designed by LEGO, but there hasn’t been a good way to connect it to the internet — until now! The BrickPi helps you use LEGO® Mindstorm sensors, motors, and parts to build a robot that can connect to the web to send or receive information, for remote control, or even be networked together. Swap out the Mindstorm NXT or EV3 Brick for the BrickPi-Raspberry Pi duo to get internet connectivity and at half the cost.

Buy BrickPi

Build a Robot with LEGO Technic

SimpleBot: Easy to Build Robot with the Raspberry Pi

SimpleBot: Easy to build robot with the BrickPi

The BrickPi allows you to build robots with LEGO® Technic parts, LEGO® Mindstorms sensors and motors, and the Raspberry Pi.  Some highlights of the product include:

  • Connect up to 4 NXT or EV3 motors.
  • Connect up to 5 NXT sensors, both digital and analog.
  • Powers the Raspberry Pi.  Free your Raspberry Pi from the wall with the power battery pack of the BrickPi.
  • Attach your LEGO® Technic bricks to the BrickPi case and make an awesome robot!

Turning Raspberry Pi into a Robot

The Raspberry Pi has enthralled the STEM education world. A tiny, credit card sized computer for $25, students, hobbyists, and nerds are snapping the Raspberry Pi up by the millions.

People are doing some amazing stuff with it: computer game clones, entertainment systems, teaching kids how to code, and feeding their pets over the internet. It has been embraced as a computer, but it has even more potential as a robot.

The BrickPi makes building a robot with your Raspberry Pi simple. The BrickPi combines the hackable computing power of the Raspberry Pi with easy-to-build, modular LEGOs.


BrickPi on GithubWay forward: What’s Left to Do?

We could really use your help!  We have our code and design up on Github.  We could use some help improving it.  Please fork and contribute!

Check out the Forums & let us know what cool things you are doing with your BrickPi!

BrickPi LOGO

25 thoughts on “Connect LEGO Robots to the Internet

  1. Pingback: MAKE | BrickPi Controls Mindstorms Bots With a RasPi

  2. Francesco Apr 9,2013 8:43 pm

    Why only 3motors ?

    • Administrator Apr 11,2013 4:57 am

      Pretty easy answer: it was the easiest way to start it off. There are 6 PWM’s available on Arduino, and that lets you control 3 motors.

  3. Pingback: A Robot with the Brains of a Raspberry Pi and the Easy Build of LEGO® « adafruit industries blog

  4. Iain Apr 14,2013 10:14 pm

    how do you control it is there a app?

    • Administrator Apr 15,2013 1:40 am

      Not yet. In the video, the robot you see is being controlled through the terminal application, I’m just sending data with the keypad to control it so far.

  5. Stefan Apr 29,2013 9:28 am

    I have worked on a similiar board for a while, never being able to stuff all the necessary ics on a board as big as the Pi. So I am happy to see that you made it !
    I am not an expert, so I have some questions / remarks:
    – I do not think that the Pis I2C ports are 5V tolerant, but you directly connect both the sensor ports and the Atmega at 5V to the Pi. This might be some kind of russian roulette with the internal protection diodes of the pi. Furthermore each digital sensor has its own pullup, increasing the 5V current in the I2C lines. A i2c levelshifter needs just two mosfets. Also accidentially connecting a motor to the sensor ports, will defintly kill the pi.
    – Unfortunately all i2c lines of the sensors are directly concected, therfore one cannot use two US sensors. A i2c multiplexer like the pca9548 might help, also with the level translation from 5V –> 3V3.
    – There are no capacitors at the motor drivers, isn’t this a problem at start-up and free-wheeling ? Furthermore there are no 100nF capacitors directly at the atmega, is this stable ?

    • Administrator Apr 30,2013 12:11 pm

      Hey Stefan,

      Thanks for the feedback! These are all good points, and originally this was supposed to be a bare-bones experiment. We’ve made the later version a little more robust, and we’ll share that soon.
      – We have to do some research on this, it’s a good point.
      – I think I might have mentioned it, but we’re not supporting the ultrasonic sensor. The problem is that it uses a completely different protocol than other sensors. We might work on it in the future, but for now, no US is supported.
      – The SN chip does a pretty good job with the motor drivers. We thought it would be a problem as well, at first, but upon use, it works pretty well.
      – The Atmega is stable with the larger capacitor we have in there. We’ve added a 0.1 uF in a followup version though, as a precautionary measure.

      • Stefan Apr 30,2013 9:07 pm

        Thanks for the answers.
        The protocol of the US sensor is not that different from standard i2c protocol. Due to a firmware bug in the sensor one needs an extra scl wiggle between address byte and command byte. This could be done with an extra GPIO pin connected to SCL.
        Example disscussion for mbed:

  6. Administrator May 8,2013 10:08 am

    Hey folks, we’ve just put up a kickstarter project with this:

    We would love to know what you think? Is this interesting and can we do anything better?

  7. Alex Moriarty May 17,2013 9:10 am

    This is awesome. I just backed your project on Kickstarter. I stumbled across it in the forums. I can’t wait til it arrives this summer to use give it a try.

    I have two rasp. pies and I am a masters student studying in robotics. I am excited to see if this hardware can be integrated into/with ROS ( Is ROS integration on your project’s radar?

    I looked through your BrickPi_Python package on github and it looks stand alone which gives me hope that ROS integration will be straight forward. Is there anyway to start testing with it before mine arrives? Either some sort of simulation software or a cheap hardware hack?

  8. Franck May 20,2013 7:13 pm

    Hi all,
    very interesting project but why in Python 2.* and not in 3.* ??

    • Administrator Jun 12,2013 3:04 am

      Hey Franck,
      Not a great answer, but it was what was shipped with the distro we use on the Raspberry Pi, and it’s what we are most comfortable. It seems to be a matter of judgement, but 2.7 is pretty well understood and used. Should we have gone with 3.x?
      Best, John

  9. Pingback: Shut up and take my money! « Techie

  10. Steffan Jun 17,2013 5:06 pm

    Were do you bay them from

  11. Cyrus Jun 18,2013 7:20 pm

    Your kickstarter is done already so when will you be able to buy a fully assembled board ? Please e-mail me. Thank you.

  12. John Porter Jun 20,2013 10:09 am

    I would also like to buy a few outside Kickstarter as it’s finished, can you let me know how?

  13. Administrator Jun 24,2013 10:43 am

    We’ve just setup a pre-order site for the BrickPi here:
    All of the pre-orders we take through our website will ship after the last Kickstarter customer is fulfilled. We anticipate this happening in September, 2013.


  14. Pingback: Anonymous

  15. Danny Jul 8,2013 11:05 am

    My 9 yr old is saving up to buy the BrickPi. Very excited. What he wants to know is: what are your plans for future compatibility with the Mindstorms EV3 release later this year?

    • Administrator Jul 9,2013 2:49 pm

      Hey Danny!
      We’re hoping to make it compatible with EV3. We think it’s possible, we just have to work out the details.
      Best of luck to your 9 year old, that’s awesome that he’s getting started with engineering so early.

  16. Joe Austin Jul 28,2013 8:08 pm

    I still have a Mindstorms RCX. Can you interface those motors and sensors (and the current PowerFunctions stuff) to Brick-Pi?

    • Administrator Aug 5,2013 5:05 am

      Hey Joe,
      It’s a great idea and we’re going to work on it. But we’re not sure yet. It’s tricky because of the physical adapters. We will definitely announce it when we try to make it happen.

  17. W. H. Bell Aug 12,2013 6:32 am

    Hi Joe,

    While it does not answer your question, there are cables for RIS to NXT conversion:



  18. W. H. Bell Aug 12,2013 6:39 am


    For those of us who would rather buy a brick pi and technical lego (servo motors etc.) and avoid buying the NXT controller, would it be possible for you to put together a shopping list? “Pick a brick” is rather limited for NXT components. It looks like buying a

    and individual motors from brick pi is the best solution. Are you able to sell NXT components, or even a Brick Pi kit instead of the NXT base set?

    Thanks and best regards,


Comments are closed.