Should I Learn and Use a Raspberry Pi or Arduino Uno?

Yes

Why?  Which one? There is a short post at Make: reviewing these in general.  NOTE: kits, details, etc… are on the post, read it there, the information below is just to ensure it remains available for students.  Also, the article is over a year old

Here at Make: we see new, ingenious projects from our community every day. Many of these are made possible by the use of development boards. However, if you’re new to the subject, it can be confusing to parse out the differences between boards and the advantages of using one over another.

We’ve created this super simple guide to help you get started. Then, when you’re ready check out Arduino Uno and Raspberry Pi Starter Kits, which come with all the goodies you need for your inaugural projects. Not sure you want all those peripherals yet? Start with the essentials: Grab the board of your choice and bring yourself up to speed with our Getting Started With series for Arduino and for Raspberry Pi.

Courtesy of Tech Uni

Courtesy of Tech Uni

What is the difference between the two?

An Arduino is a microcontroller motherboard. A microcontroller is a simple computer that can run one program at a time, over and over again. It is very easy to use.

A Raspberry Pi is a general-purpose computer, usually with a Linux operating system, and the ability to run multiple programs. It is more complicated to use than an Arduino.

What would I use each for?

An Arduino board is best used for simple repetitive tasks: opening and closing a garage door, reading the outside temperature and reporting it to Twitter, driving a simple robot.

Raspberry Pi is best used when you need a full-fledged computer: driving a more complicated robot, performing multiple tasks, doing intense calculations (as for Bitcoin or encryption)

Is there a simple rule of thumb to help me decide?

Yes, there is! Think about what you want your project to do. If you can describe it with less than two ‘and’s, get an Arduino. If you need more than two ‘and’s, get a Raspberry Pi.

Examples:
“I want to monitor my plants and have them Tweet me when they need water.” That can best be done by an Arduino.

“I want to monitor my plants and have them Tweet me when they need water and check the National Weather Service, and if the forecast is for fair weather, turn on the irrigation system and if the forecast is for rain, do nothing.” That would best be handled by a Raspberry Pi.

Isn’t that rule of thumb oversimplifying what is actually a much more complex issue?

Yes. That’s what a rule of thumb is.

Look, this is confusing! Just tell me which one I should buy!

An Arduino. It’s a system designed for beginners.

What to cover in class: Apps or PWA?

I found this article describing a portion of one side of the argument, app or not, which may well suggest an answer the question of where to spend out time in CS here.  Read the full article and the comments on Medium.  The author is not without an unbiased view point, consider what this might mean in relationship to our last review of the NYTimes 7 Minute Workout PWA, or click the author’s examples

I recently wrote an article called “Native Apps are Doomed.” I was surprised at how many people were defending native apps. In all honesty, the user experience story for native apps has never been impressive. The numbers paint a bleak picture for native app success rates that teams need to be aware of when they make important decisions about how to build a new app.

Native apps face two gigantic hurdles trying to compete with Progressive Web Apps (PWAs):

  • Instead of writing 3 different apps, one for Android, one for iOS, and one for the web, PWA app makers only need to build one app that works for all 3.
  • App install friction is suffocating native apps.

App store friction is a major obstacle. It takes about 6 clicks to install a native app, and with each click, you lose about 20% of your users. Deciding to install an app is a lot harder than deciding to use a web app. You have to click install, wait for the app to download, worry about how much space it will take, and worry about the scary permissions it will require. Native apps lose a lot of their potential users before they even click install.

With a progressive web app, you visit a URL and immediately get to try the app. If you continue to use it, you get prompted to install it to your home screen with one click. From that point on, it behaves like a native app. It can work offline, take photos, use WebGL for 3D games, access the GPU for hardware accelerated processing, record audio, etc… The web platform has grown up. It’s time to take it seriously. See “10 Must See Web Apps & Games”for examples of what the web can do.

……