DEV Community

Discussion on: Explain the differences and use cases for a Raspberry Pi vs Arduino like I'm five (but smart)

Collapse
 
conectionist profile image
conectionist • Edited

A Raspberry Pi is a computer. It's just like your PC/laptop/Mac at home, but smaller and not as powerful (less RAM, weaker processor etc.).
You can install an Operating System on it (just like on your PC/laptop/Mac) but you have fewer options. These are few (modified) flavours of Linux and something that looks like Windows.
You can also install software on it (just like you would on a regular PC with Linux) but you don't have as many options.
You can use it to:

  • browse the web (check your Facebook account, watch YouTube videos etc.),
  • listen to music
  • watch movies
  • play games
  • code (if you're a programmer)
  • and many other things that you can do on a regular computer



Arduino is a microcontroller. It's a programmable board.
It doesn't have an Operating System on it. It has something similar to an OS but it's not the Windows/Linux/MacOs kind. It's something much more basic.
You can't install software on it. You can only write code on you computer and then transfer it to the Arduino board (i.e. hence the name programmable board).
You can attach leds, sensors, buttons and all sorts of stuff to the Arduino board via wires.

Bonus 3

It depends on the project, really. There's nothing stopping you from using both.
Let me give you an example.
At home, I have a a video projector that I use to watch movies.
I've connected it to a Raspberry Pi that has OpenElec on it (A media center OS, based on Linux. you can look it up).
I couldn't use an Arduino for that.
What I can use an Arduino for is the following:
I want to create a sort of theater effect at home when I watch movies.
That is, with the press of a button on my phone, I want to:

  1. start the raspberry pi with OpenElec
  2. dim the lights (after I get programmable light bulbs)
  3. turn on the video projector

Number 3 is where the Arduino comes in. By attaching a IR (Infra Red) capturing sensor, I was able to decode the signal sent by the video projector's remote control and then reproduce it from the Arduino by using in IR sensor.

In theory, I could do this with the Raspberry Pi, but it's easier with the Arduino, because that's basically what it's for.
Raspberry Pi's are usually used when in situations where you could use a normal computer, but you don't need so much processing power (and you want it to occupy less space)

Bonus 4

I'm not 100% sure, but AFAIK you can only use the Arduino language to program Arduino boards.
There might be code converters, but the odds are you'd be asking for trouble by going down that road.
I'd recommend learning Arduino, though. If you know C/C++, it's about 90% similar.
Ultimately, it's your decision.
Hope this helps. :)