Answers.Body: <p>LEGO itself does not make specific firmware/software to support other devices other than the official NXT brick but...</p>
  
  <p>...you can still use Arduino and Raspberry Pi (and more) with the NXT components including the NXT brick.  Personally, I mix LEGO and electronics all the time.</p>
  
  <p>Arduino &amp; Raspberry Pi are flexible development platforms and they can easily be interfaced with other devices. Also, the NXT devices (i.e. The Brick or peripherals) can be interfaced by something else than the official LEGO hardware &amp; software.
  On the other hand, the effort needed to run the LEGO firmware (probably through an emulator...) on a new device is way harder than to interface the systems.  Remember that this is a firmware and it expect to run on the exact device it was built for.</p>
  
  <p><strong>Arduino &amp; NXT:</strong>
  There is a lot of Arduino-NXT <a href="http://www.robotshop.com/search/search.aspx?locale=en_ca&amp;keywords=nxt">hardware components</a> that you can buy or even make yourself.  For example you could use this Arduino shield called <a href="http://www.openelectrons.com/index.php?module=pagemaster&amp;PAGE_user_op=view_page&amp;PAGE_id=7">NXShield-D</a> and it's <a href="http://sourceforge.net/projects/nxshield/">software</a>.</p>
  
  <p><strong>RaspberryPi &amp; NXT:</strong>
  Pi is still relatively new but, since it's a full computer, it is very easy to use.  To interface with NXT you can use the GPIO pins but thanks to the USB port, <a href="http://www.flypig.co.uk/?page=list&amp;list_id=363&amp;list=blog">somebody</a> already made the <a href="http://code.google.com/p/nxt-python/">NXT-python</a> to control the NXT brick.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-11-09T07:46:54.807Z
Answers.Text: But in none of these cases has anyone made an Arduino/Pi firmware which would be compatible with the one on the NXT, right?
Answers.UserDisplayName: Joubarc
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-11-09T12:28:11.800Z
Answers.Text: Exactly right. There is no LEGO NXT firmware that works on other devices than the original LEGO NXT brick. Since @frazras was also interested in accessing the wealth of hardware available in the generic electronic community,  I've added a couple of alternatives.
Answers.UserDisplayName: pcantin
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-11-08T13:31:44.653Z
Answers.LastActivityDate: 2012-11-08T13:31:44.653Z
Answers.UserDisplayName: pcantin
Body: <p>I am trying to find out if you can upload LEGO NXT byte-code to any other hardware, so I am just checking to see if anyone has ever written the LEGO firmware for any other hardware. Maybe hardware like an Arduino, Raspberry Pi, etc.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2012-11-08T12:41:41.220Z
Comments.Text: I doubt that, and to be honest I'm not sure it has any interest - the NXT firmware is tailor-made for the NXT, and there are enough people replacing it with something else to show that they don't even consider it very good to start with - so why would anyone to port it to something else is a mistery to me.
Comments.UserDisplayName: Joubarc
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2012-11-08T17:04:39.580Z
Comments.Text: There is a huge community built around the NXT-programming software. Now imagine if I could code for the NXT using any of the many (robotics oriented) programming tools for the NXT then upload it to cheaper and more extensible hardware? Wouldn't that be a great idea?
Comments.UserDisplayName: frazras
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2012-11-09T07:48:41.310Z
Comments.Text: The huge community may not be as huge as the programming communities for Arduino/Pi/etc. That said, most of the NXT programming community uses other firmwares to start with. I'll grant you that the idea is intruiging, but I honestly doubt anyone has considered going in that direction yet (feel free to do so, I'm curious ;-)
Comments.UserDisplayName: Joubarc
Tags: <mindstorms><nxt><compatibility><electronics>
Title: Apart from the LEGO brick, is there any other hardware that has an NXT firmware written for it?
UserDisplayName: frazras
ThreadText: # Apart from the LEGO brick, is there any other hardware that has an NXT firmware written for it?
  
  (Asked by: username_0 on 2012-11-08)
  
  I am trying to find out if you can upload LEGO NXT byte-code to any other hardware, so I am just checking to see if anyone has ever written the LEGO firmware for any other hardware. Maybe hardware like an Arduino, Raspberry Pi, etc.
  
  **Tags:** mindstorms, nxt, compatibility, electronics
  > **Comments:**
  > **username_1**: I doubt that, and to be honest I'm not sure it has any interest - the NXT firmware is tailor-made for the NXT, and there are enough people replacing it with something else to show that they don't even consider it very good to start with - so why would anyone to port it to something else is a mistery to me.  
  > **username_0**: There is a huge community built around the NXT-programming software. Now imagine if I could code for the NXT using any of the many (robotics oriented) programming tools for the NXT then upload it to cheaper and more extensible hardware? Wouldn't that be a great idea?  
  > **username_1**: The huge community may not be as huge as the programming communities for Arduino/Pi/etc. That said, most of the NXT programming community uses other firmwares to start with. I'll grant you that the idea is intruiging, but I honestly doubt anyone has considered going in that direction yet (feel free to do so, I'm curious ;-)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2012-11-08. Score: 5
  
  LEGO itself does not make specific firmware/software to support other devices other than the official NXT brick but...
  
  ...you can still use Arduino and Raspberry Pi (and more) with the NXT components including the NXT brick. Personally, I mix LEGO and electronics all the time.
  
  Arduino & Raspberry Pi are flexible development platforms and they can easily be interfaced with other devices. Also, the NXT devices (i.e. The Brick or peripherals) can be interfaced by something else than the official LEGO hardware & software.
  On the other hand, the effort needed to run the LEGO firmware (probably through an emulator...) on a new device is way harder than to interface the systems. Remember that this is a firmware and it expect to run on the exact device it was built for.
  
  **Arduino & NXT:**
  There is a lot of Arduino-NXT [hardware components](http://www.robotshop.com/search/search.aspx?locale=en_ca&keywords=nxt) that you can buy or even make yourself. For example you could use this Arduino shield called [NXShield-D](http://www.openelectrons.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=7) and it's [software](http://sourceforge.net/projects/nxshield/).
  
  **RaspberryPi & NXT:**
  Pi is still relatively new but, since it's a full computer, it is very easy to use. To interface with NXT you can use the GPIO pins but thanks to the USB port, [somebody](http://www.flypig.co.uk/?page=list&list_id=363&list=blog) already made the [NXT-python](http://code.google.com/p/nxt-python/) to control the NXT brick.
  
  > **Comments:**
  > **username_1**: But in none of these cases has anyone made an Arduino/Pi firmware which would be compatible with the one on the NXT, right?  
  > **username_2**: Exactly right. There is no LEGO NXT firmware that works on other devices than the original LEGO NXT brick. Since @frazras was also interested in accessing the wealth of hardware available in the generic electronic community,  I've added a couple of alternatives.  
  
  ---
  
  