Arduino Comes To The Raspberry Pi, Linux ARM Devices

Arduino is the perfect introduction to microcontrollers and electronics. The recent trend of powerful, cheap, ARM-based single board Linux computers is the perfect introduction to computer science, programming, and general Linux wizardry. Until now, though, Arduino and these tiny ARM computers have been in two different worlds. Now, finally, there are nightly builds of Arduino IDE on the Raspberry Pi and other single board Linux computers.

The latest Arduino build for ARM Linux popped up on the arduino.cc downloads page early this week. This is the result of an incredible amount of work from dozens of open source developers across the Arduino project. Now, with just a simple download and typing ‘install’ into a terminal, the Arduino IDE is available on just about every single board Linux computer without having to build the IDE from source. Of course, Arduino has been available on the Raspberry Pi for a very long time with sudo apt-get install arduino, but this was an older version that cannot work with newer Arduino boards.

Is this distribution of the Arduino IDE the same you would find on OS X and Windows? Yep, everything is the same:

While this is really just arduino.cc improving their automated build process and putting a link up on their downloads page, it does make it exceptionally easy for anyone to set up a high school electronics lab. The Raspberry Pi is almost a disposable computing device, and combining it with Arduino makes for a great portable electronics lab.

67 thoughts on “Arduino Comes To The Raspberry Pi, Linux ARM Devices

  1. I love this! I had to spend sometime last time I needed to deploy to my Teensy as the Gentoo eco system does not have the Arduino IDE which was painful and the then brittle. But now I can have a cheap SD card pre loaded and ready to swap into a Pi and moments notice!

    Colour me happy!

    1. with the PCDUINO linux-images there was an arduino pre-installed. next to the usual arduino targets (mega, nano, pro mini etc) you could chose pcduino for just compiling to an executable for running in linux (and pcduino libraries?)

      1. Yeah, I was using PcDuino for a while until the 2nd PI came out. Pretty nice board (a little weird, but nice). The Arduino part of it never really worked well, at least not on the PCDuino 3 — Things like servos, for example, did not work at all.

        Something like a BeagleBone might actually be a cool hybrid platform, since its PRU is intended to give the main chip exactly the sort of bare-metal performance that is usually delegated to a separate micro. There is an elegance to embedding two bare metal processors with a processor that has an OS, and having the lot seamlessly share I/O pins.

    2. arduino already supports creating applications under linux. the Intel Galileo is an example of that. in addition, there are plenty of examples with the BeagleBone Black, and there is always http://wiringpi.com/ , which is a RPi implementation of wiring used in the arduino environment…

  2. Portable electronics lab?! I would guess a laptop is a bit more suitable for that.

    Afaik the pi is just a bare board (ie no casing, monitor, keyboard). With todays kiddies using that to blink a led faster then an afuino can ;)

    1. There’s a company called Pi-Top that makes a laptop shell for the Raspberry Pi. Screen, keyboard, battery, the whole shebang. They look pretty nifty, and I want to get one for development and debugging in the field, but their payment processor does not get along with my bank.

      1. There is a company called Lenovo that make and sells a laptop for 175$, 11 hours of included battery life, 1,366-by-768 screen, 2GB Ram, Atom CPU. 1 year warranty, Windows 10 that you can replace if you prefer Linux

      2. i built me a pi tablet with the official screen and a 3d printed case. its a little thick and has power issues. i need to reprint some bits, rethink my power system. right now its just a couple lithium cells and a ubec, and i want to move on to a proper recharge system with all the safety bs. either want to go with a 3 cell system and buck converter or stay with 2 and use a boost-buck regulator. right now the thing gets unstable when the batteries are well above their minimum voltage.

        the case is built out of 7 sections because of the small build area on my printer, but i have upgraded it and think i can get it down to 3. i also want built in speaker enclosures and some kind of mounting system for peripherals like joysticks and keyboards.

        1. If you can link me that, that’d be awesome! A cheap Toughbook would hit most of the use-cases I’m looking at for the Pi-Top. I always thought Toughbooks were fancy corporate things in the $1K+ range.

          1. Check Ebay for a used one, there’s lots of them out there. They’re not cutting edge, but as long as you aren’t playing Call of Duty, they’ll do the job.

      3. Not quite what you are after, but for the screen and keyboard, eBay for an atrix – very high quality HDMI screen, keyboard and battery in a laptop format, originally intended as a docking station for a Motorola Android handset of same name. Rpi just works with it out of box.

  3. Why ?
    Could someone give the benefits to do this.
    But different than “it’s a 25$ only computer”. (every desktop computer needs a screen, and a mouse, a keyboard, a power supply and some reliable storage ! -> cost of ownership > 200$)
    I have been trying to use the PI3 as a “regular” desktop computer, but nope, it is not, except if you like to add some suffering to your job. Lag,lag and lag.
    Browsing the web on the pi, which is part of any code writing task, is a really bad experience.
    So if you have never used a real desktop computer, give it a try and tell us, but note, it is advertised as “experimental”.

      1. Cheaper I you have … ( add any part of a desktop computer you already have)
        Sure, i already have a desktop computer, and the old Celeron in my attic, is more than 10 times more efficient at the task than my overclocked RPI3.

          1. I’m pretty sure that any celeron that supports a gig of ram will run circles around a pi. Sure the clock speed on the pi looks faster, but the intel chips can do more work per tick and not get blocked on IO as often.

            Not that I’m an intel fan or anything. They got where they are by fighting dirty.

    1. Why? Because it’s one more thing you can do with the Raspberry Pi that is in line with the desire to learn programming and make things. RPi is about learning and controlling your environment to do what you want. It is not about being rock-bottom TOC for any one thing. Remember that you can, indeed use the RPi in the $25 form, just not as a desktop replacement. You can develop your project with keyboard, monitor, etc. and when you get it working in that form, you can strip all that stuff off and have the $25 version. It isn’t perfect at everything – it’s a terrible laptop. A laptop is a terrible RPi.

      Also remember that RPi may not be the best in the world at anything and even that isn’t the end of the world.

      1. Agree to: “Because you can”
        But, I was asking for the benefits.
        I’m not a PI hater, i had all of the from the first one to the last one. I exactly know what to do and not do with them.
        Did you ever try to run Processing ? I did, and it’s a mess.
        So RPI YES, RPI desktop NO benefits.

        1. I think I am the guy this was made for. As a high school teacher, I use Arduino to learn coding and hardware in my class. However, all of the school computers are so locked down they cannot load executables like the Arduino IDE. Now I can buy a $35 board and run the IDE using the school monitors, mouse, and keyboard. Instead of sharing the few computers that can run the software, I can get a bunch of Pi’s for very little cost.

  4. A Arduino library for Linux would be a better idea. This will allow to get a easy and standard way to get efficient GPIO, timer, ADC, PWM, I2C, SPI, UART. While it’s true that each of them already exists on Linux, there are most of the time no as easy as the Arduino to make simple projects.

    1. Intel tried this with Galileo, and again to a lesser degree with Edison. You build with Arduino and your “sketch” gets compiled as a Linux executable that’s linked with library code to implement the Arduino API.

      Good Arduino compatibility (on something other than an AVR chip) is easy to imagine and easy to say… not so easy to actually accomplish.

      1. especially with timing stuff. example, an IR decode library. next to zero percent chance any intel simulator or interp (or even direct binary calls) would be able to function as the IR library does with atmel chips. with the arduino 101 board from intel, even simple arduino-standard demo apps fail to run properly; and this is supposed to be a ‘supported’ platform for intel!

      1. I take a quick look at WiringPI project. Yes this seem to be in the right direction but as the name of the project suggest, this is too much specific to the Raspberry PI and not usable into a Adruino IDE. Maybe that project could fork/evolve into a libarduino directly usable on any Linux machine from a Arduino IDE.

  5. Arduino on PI, why bother? Use a real environment, but I guess that there are those who can’t. “when in doubt ( or lack of skills) throw more hardware at it”.

    Oh, well if that is all you can do, then good on you.

    1. I think it took you longer to reply than it would have taken to read enough of the summary to know they are talking about putting the (newest) Arduino IDE on the Pi. So you can program an external arduino using your rpi. Not program an rpi with an arduino sketch.

    1. not sure where the arduino guys got this weird style of c coding from. hit control-t in arduino IDE and it removes stars from your block comments! I manually type in:

      /*
      * hey now
      *
      * stuff goes here…
      */

      and I get:

      /*
      hey now

      stuff goes here…
      */

      what the hell? how is this better? and why EDIT my comments like this? sheesh. arduino guys going too far, this time! its like they actively want us to abandon their IDE.

      1. My guess is because Arduino is C++ and they probably expect you to use // for line comments like that. However, I agree it seems a bit rude. The editor also sucks with tabs too. The best solution is the option in Preferences “Use external editor” IMHO. :-)

  6. Any issues with USB-Serial drivers?
    FTDI
    Prolific
    etc.

    I’ve given up with seial comms on Windows 10, I guess I’ll just use the Pi to compile and upload code to my Arduinos

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s