The best ingredients for a RaspberryPi (or Arduino, other equivalent)?
November 7, 2014 8:33 AM   Subscribe

Can you explain what the differences between Raspberry Pi, Arduino or equivalent is in terms a non-techno-savvy 5 year old could understand? What do I need for the best Raspberry Pi (or equivalent) system / computer (?) for an IT developer? Difficulty - any suggestions will need to be available in Canada.

I've looked at this link: http://www.canakit.com/raspberry-pi, which appears to be a Canadian distributor of these systems. Unfortunately I'm having difficulty figuring out the differences between the various technologies (eg. raspberry vs arduino), which components are required and which would be nice to have.

I'm buying this for someone who is very experienced in the IT development space and is keen on things like home automation, so would appreciate some advice on:
1) What the differences between a Raspberry Pi and Arduino are and whether or not their components are compatible with one another;
2) What the best non-optional combination of core components are; and
3) Some suggestions of good optional items to get.
posted by apcmwh to Computers & Internet (10 answers total) 11 users marked this as a favorite
 
I think you should first define the needs / desired outcome rather than choosing the tool first...
posted by Mac-Expert at 8:34 AM on November 7, 2014 [4 favorites]




Best answer: Go read alex1965's link above, but... I have found that for many of the Raspberry Pi applications that people think they want a Pi for, they really want a Pi and an Arduino (or a Gertboard, or some additional I/O solution, often USB based).

The Pi is a small inexpensive computer that runs Linux. Unfortunately, it's got fragile I/O that you can't put a whole lot of current through.

The Arduino is a small device built around a rather robust chip that (in some variation) is used in a whole lot of basic consumer devices, but is nowhere near powerful enough to run Linux. However, you can wire stuff up straight to its I/O, worrying less about interface circuitry. Also, because it's not running Linux, you have better timing control, so it's good for things that do hard real-time stuff (driving motors, reacting to limit switches in sub-millisecond times, things like that).

Various "Shields" are available to give the Pi things like network interfaces, and some of the bigger Atmel ATMega chips are starting to get enough power to do basic networking and file I/O (and, yes, pedants, I know that you can put a TCP/IP stack into 8k if you try hard enough), but you'll probably want the smarts of any web interface to devices built with the Pi running on something bigger.

So, in broad strokes: Need something with a color/picture display, or with a web server: Pi. Need something that needs to react and move without being connected to the larger world: Arduino. Need something that reacts and moves and talks to the network, it gets a little more nuanced and we need to know what you're doing in order to make more informed suggestions.
posted by straw at 8:51 AM on November 7, 2014 [9 favorites]


Example: Last night I wired up a string of LEDs to my Raspberry Pi. The LEDs communicate via an SPI bus, and the Raspberry Pi does have an SPI bus, so this wasn't too bad. I did have to write a little bit of Python code to output data in the required format but this was easy for me. The Python code connects to a Web site to set the color, which is awesome.

Then I wanted to attach a knob to the Raspberry Pi as a secondary way to control the color. Big problem: Raspberry Pi has no analog input so there is no simple way to attach a knob. This got really complicated with an Arduino reading the knob and sending the output to the Pi but you have to fudge a lot of stuff in the middle to get this to work (Arduino is 5V and Raspi is 3.3V, for example). So I need a logic level converter or a 3.3V Arduino (both of which are available, but I don't actually have). I still don't have the whole thing working.

Basically it's hard for me to think of any kind of reasonably priced all in one kit that would allow you to accomplish a variety of home automation projects without ordering additional parts. I find myself constantly ordering $2 thingybobs in order to connect component A with component B. Most of which ships from China so I have forgotten what I originally needed the part for by the time it arrives 4 weeks later.
posted by miyabo at 9:35 AM on November 7, 2014 [4 favorites]


I terms of pure programming, I found the Pi was a good deal easier to get started with than the Arduino (it's a tiny PC instead of a microcontroller, so you can use your regular Linux trickery to set it up, and use higher-level languages than C to program it). But ultimately it depends on what you're trying to do. I agree with miyabo's rough breakdown of "network stack or video: pi; reactive electronics which don't necessarily talk to other things: arduino."

A lot of the decision of what stuff to get would hinge on the level of experience with electronics your friend already has (and relatedly, what sort of equipment he or she already possesses). There are various starter kits available for each platform, and if your friend doesn't have a soldering iron, breadboard, LEDs and so forth already, that might be a good way to go. I like the ones at https://www.sparkfun.com/ personally, but you can surely find less-expensive equivalents out there.
posted by whir at 9:44 AM on November 7, 2014 [1 favorite]


I like straw's answer, and I would also strongly agree with Mac-Expert that the first thing to do is ask what you want to use it for and then choose the tool.

I spent a lot of time selecting parts for a project I was doing and I picked the Arduino because that was the one that already had similar example code and projects available for it.

I would also point out that the various Arduino models range from 20 to 50 quid and that's if you pay retail - and the Raspberry Pi is in roughly the same price range. I realize that that's a significant amount of money, but it's not the same financial commitment as buying a laptop or tablet or really any other personal computer you might need. If you don't like your iPad Mini you're stuck with it until you can finagle a way to trade up, but if your RPi doesn't suit the project at hand you can brown-bag your lunch for a while and buy an Arduino.
posted by tel3path at 9:46 AM on November 7, 2014


What do I need for the best Raspberry Pi (or equivalent) system / computer (?) for an IT developer?

This is not really something where the hive mind can say what will be "best" for your giftee, not anymore than what color they would like, it depends what they would use.

However, the best received gifts aren't always the most practical or useful things, I'd go with the arduino for a gift because an unused arduino has considerably more excitement factor than an unused Raspberry Pi.

A caveat -- if you are the sort of person who will be terribly upset that the recipient isn't actually using your gift or that it's not just perfect for them, don't buy either of these, as it's entirely possible that they have other plans for home automation.
posted by yohko at 10:22 AM on November 7, 2014 [2 favorites]


If it's just a gift for them to tinker with, get an arduino. Of you get it as part of some sort of starter kit, it will come with a bunch of other stuff he might need or want for his experimenting.

I find raspberry pis are more the thing you get for one specific use and set then up for that and that's it. Arduinos are more for playing around with. Also if you get really into it and want to leave an arduino project put together and start another one, you can get something like the arduino tiny or whatever it's called for about $10 to replace the arduino in your first project so you can reuse the main one. There's no option like that with the raspberry pi so you are either going to have to spend $80 on a new one for each project or only ever have one working project at a time.
posted by lollusc at 4:08 PM on November 7, 2014 [1 favorite]


Best answer: Another way to think of it: A Raspberry Pi is a computer just like you're used to thinking of computers. You can connect it to a monitor and use it with a keyboard and mouse. You can connect a USB flash drive to it, or a USB printer. You can program it in a variety of ways, but if you want to connect unusual stuff to it [where "unusual" typically means not a USB device] you'll typically need some extra connector bits.

An Arduino is a micro controller like the brains of nearly any appliance in your house. A hot tub, for example, has a controller in it that starts and stops pumps and heaters in response to temperature sensors and buttons. That's the sort of thing an Arduino is typically used for. You have to connect it to to a computer to program it, and the programming environments are limited [more or less to one]. Connecting things like temperature sensors is straightforward. You won't need anything "in the middle" other than a few wires.

Apropos of some keywords above [Pi, Arduino, Home Automation], I happened upon this the other day:

http://makezine.com/2014/11/01/raspberry-pi-and-arduino-home-automation/

The Instructables link behind it lays out a home automation setup that uses both a Raspberry Pi and a bunch of Arduinos. Reading through it may give you a better idea of where you might use one or the other.

I have four Raspberry Pi's deployed in the house now. Two are Plex clients hooked up to TVs. One is a PBX that answers my phone and provides voicemail. One is an Airplay receiver in the garage.
posted by chazlarson at 6:18 AM on November 8, 2014 [1 favorite]


Can I suggest an alternative? If he's interested in home automation, the Kinoma Create is easy to integrate with phone apps, can be debugged remotely, etc...made for 'Internet of Things' type activities. Comes with microphone, easy to write voice applications for. It's very different from an Arduino or Raspberry Pi, but...
posted by semaphore at 6:06 PM on November 8, 2014 [1 favorite]


« Older Lye substitues.   |   I need to break free of my gambling addiction. Newer »
This thread is closed to new comments.