3

I am designing a device that will have an accelerometer and temperature sensors.

This device is intended to record patterns in activity of individuals throughout the day. The data collected will be downloaded and used for further analysis at the end of each day. I have the option to use either a Arduino Uno or a Raspberry Pi.

What advantages will either of them offer? What considerations should I take into account when trying to decide between them?

4
  • As originally posed, this wouldn't be a good Stack exchange question, even my proposed edit just shifts from bad subjective to being a list question.
    – Mark Booth
    Commented Apr 18, 2013 at 13:46
  • You should use the one you like better. The way this question is asked, there is no objective answer.
    – John
    Commented Apr 18, 2013 at 13:48
  • @John - Hopefully my edit (now approved) had made this rather more constructive.
    – Mark Booth
    Commented Apr 18, 2013 at 14:28
  • @John Feel free to make any edits that may make it less subjective.
    – asheeshr
    Commented Apr 18, 2013 at 14:36

5 Answers 5

3

There are many tradeoffs to take into account when choosing an embedded environment and they all depend on your needs.

For example

  • Memory (amount and type, RAM/EEPROM/Flash/SD)
  • IO Pins (digital, analog, PWM, interrupts)
  • Power and Voltage (are you running from batteries?)
  • Connections (I2C, SPI, Serial, HDMI, Ethernet, USB)
  • Speed
  • OS
  • Development environment
  • Cost (you can roll your own cheaper Arduino boards)

This blog entry talks about some of the tradeoffs and differences between the Arduino, Raspberry Pi, and BeagleBone.

1
  • Don't forget that you can use RPI as a USB host device! This can help greatly with things such as WiFi and Bluetooth dongles... you could even connect a Wiimote with Bluetooth. Also, the Arduino can deliver more current and is more mature in it's libraries/wikis. Commented Apr 18, 2013 at 22:07
3

I find that the biggest differences are:

Brains:

The raspberry Pi is the better choice if you are interested in computing power. It would be the clear choice if you want to do say, computer vision via a webcam.

You can plug in bluetooth and wifi dongles more cheaply to a Pi than buying a similar Shield for the Arduino.

The Pi will be a much better choice if want an HMI. With a video header and USB and an OS that controls video and HMI devices (keyboards and mice), it is much easier to turn the Pi into a control center for human interaction.

It has a GPIO header, but extra electronics are usually necessary to use it safely to do anything more than light a few leds.

Brawn:

If you want to take input from various sensors and/or drive a bunch of motors, servos, actuators, and led arrays, then the Arduino is pretty much a ready made solution. Just add script.

Combining the two:

You can get the best of both worlds by combining the two together. There is a product called Alamode which lets you take advantage of brawn plus brains. There are some additional features as well, such as an SD card reader, a built in time clock, and direct connection of servos (by soldering in a header) and headers for FTDI, ICSP, and a GPS module. Actually, the product is essentially an Arduino clone (plus some extras) that piggy backs on a Pi and brings the Pi GPIO to the top along side the Arduino pinouts.

2

The Arduino and Raspberry Pi are very different things. The Arduino is a simple micrcontroller with 2K of RAM. Because it is based on a microcontroller, it is really good at controlling things. The board itself is intended for prototyping.

The Raspberry Pi, is a fully functional single board computer running an operating system (usually Linux). The Pi is based on a microprocessor, which is good for processing.

If you intend to analyze the data with the same device you collect it, then a Pi probably makes more sense.

If on the otherhand your device is intended to be low power (battery powered) and just collecting/storing data from some sensors then an Arduino (or Arduino like) board makes more sense.

In this context I say "Arduino Like" board because the Arduino board itself is not in anyway designed to be low power. It has two microprocessors and a couple of linear regulators on it. While good for prototyping, all that extra hardware can be bad for battery life.

1

You could make the case for either.

If you might have a lot of sensors that would push you in the Arduino direction. If you would want to display the sensor output on an HDMI screen that would push you in the Pi direction. If there is no logic required to act on sensor input, maybe you don't even need a microcontroller.

Not really enough information to give good advice.

1

If you have both the Pi and the Arduino at your disposal, the Pi almost always wins.

The advantages of Arduino over the Pi are:

  • Arduino is cheaper (Especially now that Pis are growing scarce)
  • Arduino is harder to burn out than a Pi.
  • There's a very small learning curve to Arduino, and it's almost plug-and-play. With a Pi, there's a significant amount of setup. You need to be comfortable with both linux and python, and there's a bunch of confusing configuration that you gave to get through. Especially if you want to get it working headless.
  • No shields. The Pi has in built ethernet, audio, and video support, but there isn't a robust range of shields like the Arduino.

If you can get past these, the Pi is a great idea, especially for fuzzily defined projects.

If you have a well-defined projects, you can ask yourself if you need a lot of RAM/storage/external libraries (or goodies like ethernet). If you do, choose the Pi. If you think that it will fit comfortable on an Arduino, use that.

If the project is fuzzily defined and you don't have a problem with the points listed above, a Pi is usually better. The Pi scales, the Arduino doesn't. Adding new features is easy with the Pi -- and it doesn't limit you much on storage.

2
  • 2
    Curious. "the Pi almost always wins". Yet there is a list of "advantages of Arduino over the Pi" but not a list of the reverse. :)
    – walrii
    Commented Apr 18, 2013 at 22:07
  • @walrii: almost always. The list helps one identify the exceptions. Commented Apr 18, 2013 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.