Raspberry Pi or micro:bit for a beginner?
August 30, 2020 3:53 AM   Subscribe

I'm thinking of getting a teen in my family a micro:bit or Raspberry Pi to tinker with but I don't know anything about microcontrollers and some of the online reviews gave me pause. Which of these, if any, should I buy? I'd like to hear what owning/playing with one is like, especially as an inexperienced user.

I have never owned or played with a microcontroller and I have no idea what it's like.

The teen in question has always liked crafts and tinkering with things but has limited experience with electronics. She played with Snap Circuits as a kid and enjoys building projects from Tinker/Eureka Crate (so far, she's built a table lamp, a pinball machine, a folding bed tray, things like that). She has her own laptop. They are learning C++ at school and she's teaching herself Python after years of playing with Scratch but is still a beginner. She has no experience with soldering/real circuit boards, any grown up electric circuit stuff. Oh, and she's sixteen.

So, assuming I buy her one of these, what will that be like? I know both Raspberry Pi and micro:bit are marketed for kids/teens as well as adults but how fun and how easy are they really? Can you do anything really fun with them right away or is it going to be weeks of fumbling through the instructions and just getting it to blink a certain way?

Most of the reviews I've read are either very vague (it's fun!) or assume the reader already knows enough about them in general and delve into technical specs. What I want to know, is the experience of beginners - will she learn something or is she just going to be bored if no one in the family knows enough to teach her?

Should I buy any add-on parts or is the basic module enough at first? She has her own laptop, mouse and speakers but we don't have alligator clips or spare LEDs just lying around.

I'd be grateful for your advice and recommendations.
posted by M. to Computers & Internet (26 answers total) 10 users marked this as a favorite
 
Best answer: Have you considered Arduino? You can pick up a whole starter kit with a lot of the "add-on parts" for substantially less than what a Raspberry Pi costs, and it's a simpler device that nevertheless can do quite a lot.

Any sort of physical computing is going to involve extra bits beyond the controller itself. Most of those extra bits are very cheap, with some tiny circuit board components costing less than a cent. But there are zillions of components available, and neither you nor she will be in any position to know what to get at first. A kit that includes an assortment, with instructions for executing a few projects, can get her started and help her begin to make sense of the possibilities.

There are lots of online communities to engage with and learn from. Whatever instructions come with any of these devices can only scratch the surface.
posted by jon1270 at 4:33 AM on August 30, 2020 [5 favorites]


Response by poster: I should probably clarify this at the beginning - my main priority is simplicity and ease of use. Something she can just unpack and tinker with right away. "Scratching the surface" is exactly what I am after. The more basic, the better. Cost is not the issue as much as being beginner-friendly.

I am not so much interested in getting the thing to do as much as possible (and I have no idea what "physical computing" means) as I am in her (and myself) not getting overwhelmed.

I have looked at online communities and some of the beginner stuff is just way over my head (like, listing 50+ parts that might come in handy, or a 20-page-long wall of text on OR gates - I wish I were making this up) - I need something way, way simpler than that. Like: take this stuff out of the box. Now, you close this circuit and it lights up, see? Let's see what happens when you attach X thingy. Great. Now let's try something more complicated.

So, has anyone given their newbie teen an Arduino/Raspberry Pi/micro:bit and have them figure it out and have enough fun to stay interested?
posted by M. at 5:30 AM on August 30, 2020


Best answer: I've built (and am building) several projects using Raspberry Pis. They're really more like tiny PCs than microcontrollers like the Arduino etc. There is a certain amount of setup involved, about as much as installing Windows or Linux on a new PC. Once that's done, however, you have a little computer with a full desktop environment that also just happens to have a load of pins that you can control cool stuff with. It's often better to buy a kit containing the Pi, a suitable power supply, a microSD card, a breadboard and some other components for building simple projects.

The micro:bit, on the other hand, looks to be something much simpler. It lights up some LEDs, plays sounds, and probably a few other things. On one hand, this is going to be a much more straightforward thing to learn about and use. On the other, it'll be a lot more limiting in terms of what she can do. But for being able to do something fun straight away, this is probably the one to go for.

If she really enjoys messing about with the simpler machine, and exhausts its possiblities, a Raspberry Pi would be a great next step. If you want any Raspberry Pi-related help or advice, by all means get in touch!
posted by pipeski at 5:30 AM on August 30, 2020 [2 favorites]


I've taught a lot of intro classes with these sorts of things, and my current favorite is Circuit Playground Express. It's like Microbit in that it's a simple, self-contained device with some buttons and lights and stuff, but in my opinion it has a more fun variety of built-in stuff: full color LEDs, a tinny little speaker, light, sound, temperature and motion sensors. You can do a LOT of neat stuff with just the device alone (and a USB cable), and add more stuff later. But I agree with jon1270 that it might be more fun to buy a kit that includes some extras.
posted by moonmilk at 5:37 AM on August 30, 2020 [2 favorites]


Editorializing on what pipeski said, a RaspberryPi plus a keyboard plus a monitor is a real computer with a lot of the capability of the laptop. And therefore, a lot of what she could do and learn with the RaspberryPi, she could equally do and learn with the laptop.
posted by SemiSalt at 5:53 AM on August 30, 2020


Editorializing on what pipeski said, a RaspberryPi plus a keyboard plus a monitor is a real computer with a lot of the capability of the laptop. And therefore, a lot of what she could do and learn with the RaspberryPi, she could equally do and learn with the laptop.


Kind of true, but also the raspberry pi does have a pin header on top that can be used to do a lot of things you can do with microcontrollers, that are difficult to do with a laptop, i.e. interfacing with little electronic stuff directly (leds, buttons, knobs, sensors etc) as well as simple devices using standard microelectonics protocols like I2C and SPI (little displays, more advanced sensors, motor controllers, etc.

A raspi is also small and so it's suited for enclosing in a box with said hardware to make a "thing"

Personally I could see an argument for either way. I find the full computer-ness of a raspi to sort of get in the way of trying to do very simple things with a MCU. Also there are lots of very tiny MCUs if you want to make something even more compact. The micro:bit is very oriented towards young people new to the hobby which is also good and bad - I believe it can be programmed with a visual programming language as well as C/C++

In the end, some people like the satisfaction of making a very simple circuit work, and some don't. I have found that people sometimes compare what you can do with a simple CPU to every day electronics which in comparison are minor miracles and see microcontrollers are somewhat silly or pointless. Personally I love messing around with them.

tl;dr I think either is a solid choice, but I'd avoid going all in on spending a lot of money on one specific thing early - like the raspi has some "hats" and peripherals, but I would maybe hold off on that to see if she'd like to switch to a different platform. Lots of stuff you can mess around with is going to be platform agnostic, so spend your early money on that stuff (plus the tools and little bits of stuff you need to do things)
posted by RustyBrooks at 6:20 AM on August 30, 2020 [3 favorites]


And therefore, a lot of what she could do and learn with the RaspberryPi, she could equally do and learn with the laptop.

Er, no. The Pi allows you to easily connect a breadboard that you can build additional circuits on, from a simple single LED that you want to control or a switch status you want to read, to pretty complex stuff like a bunch of environmental sensors, light and motor controllers, etcetera. The only 'laptops' that can do this are, quite unsurprisingly, kits based on a Pi or one of the other single-board computers in that class, in a case that's more or less laptop-shaped. Also, a Pi doesn't need a screen or a keyboard where a laptop will have them whether your application needs it or not.

If someone is interested only in writing software a Pi offers little extra except that you can easily run a fresh install or an entirely different environment simply by inserting a newly written SD card, and they don't have to shy away from testing something that may totally bugger up the system. Playing with LEDs, motors, sensors etcetera ('physical computing') is where they'd want a Pi next to their laptop.
posted by Stoneshop at 6:25 AM on August 30, 2020 [1 favorite]


Response by poster: So if you want to get comfortable with simple circuits, hooking up LEDs etc, and understand the bowels of the PC, you'd get a microbit or Arduino, yes?
posted by M. at 6:29 AM on August 30, 2020 [1 favorite]


I would probably lean toward microbit or arduino, yes.

There are going to be frustrations for sure - often when something doesn't work it can be very hard to get any feedback as to why (compared to programming on a computer).

It's also a *little* hard for me to know how difficult things are for people who don't already know how computers work, how to program, etc. I started doing microprocessing stuff as someone who already knew a lot about computers, had been programming for years, and had some prior experience with non-microcontroller electric circuits, so I had already done the tougher parts of the learning curve.

There are some projects I'd prefer a raspi for but in general I buy microcontrollers to do stuff
posted by RustyBrooks at 6:34 AM on August 30, 2020 [1 favorite]


I've lit up no LEDs and controlled no motors with any of my Raspberry-Pi-class machines.

The Beaglebone Black has been doing yeoman's work as my house's Internet gatway for seven years now. Hasn't missed a beat. Great little machine.

I have a couple of Raspberry Pi 3 boards in nice FLIRC cases, both of them running OSMC and acting as media players. One's in the cabin out back, the other is hooked up to a projector in the next door neighbours' pool table room. Only trouble I've had with those is micro SD cards wearing out and refusing to accept writes any more. This doesn't actually stop them working as media players, oddly enough; just means updates can't happen until I switch out the SD card. And this is clearly the SD card's fault, not the Pi's.

There's an Odroid N2 running CoreELEC driving the TV in our lounge room, and another similar doing the same thing next door.

A third one is in the shed hooked up to stupid quantities of USB3 hard drives configured as a big RAID array; that one runs Armbian. That one's only just gone into service, having had to replace an Odroid XU4 that just died altogether one night last week. I'm waiting for power supply parts to finish another server based on a fourth Odroid N2 with an even bigger RAID array, which will run off the solar panel and battery I've just mounted on the shed.

The N2 has recently been superseded by the N2+, essentially the same machine but with a holder for a real-time-clock battery and a somewhat faster revision of the processor.

Before I allowed my storage size ambitions to get out of control with the XU4 I used to use a single hard drive attached to a CubieTruck., which eventually also died.

These little machines are endlessly fascinating. Most of them are based on processor/system chipsets clearly designed to go in mobile phones, so their compute power to electrical consumption ratio is really quite amazing. The Odroid N2, for example, is plenty good enough to use as a desktop machine - easily the equal of a typical Chromebook, say - but only eats around 5 watts running flat-out. This makes them completely practical to use for stuff that benefits from being left running 24x7, like household BitTorrent servers or home automation hubs.

Oh, and I also have a couple of Orange Pi Zero boards knocking about the place looking for something to do, just because they're also in this astonishing class of machine that costs like ten bucks but you can run Linux on it. One of them is probably going to end up networking my USB-capable vinyl turntable.
posted by flabdablet at 6:43 AM on August 30, 2020 [1 favorite]


One of the reasons I originally got my BeagleBone Black is because I liked the idea of having a couple of 200MHz 32-bit microcontrollers hung off the side of the main CPU, completely uninvolved with running the development/control operating system, just ready and waiting to bang bits on the I/O connector with super-strict timing just like a real bare-metal microcontroller should.

And who knows? One day I might actually use them for that.
posted by flabdablet at 6:52 AM on August 30, 2020


Best answer: So if you want to get comfortable with simple circuits, hooking up LEDs etc, and understand the bowels of the PC, you'd get a microbit or Arduino, yes?

Yes and no. Neither the Pi, the micro:Bit or an Arduino will work right out of the box. They all need to be set up before you can even blink a LED (well, most Arduinos do blink a LED as that's the program they tend to be loaded with to show they work). For the Bit and the Arduino that's the Development Environment on your PC/laptop, and any change to the program you want it to run requires it being connected so that you can transfer the new program code; after that they run that code if they get power. The Pi is, after the initial setup steps, a computer in its own right which you can access over the network, and with languages such as Python you edit the program source, restart the program, and instead of just blinking that LED on/off it now blinks in a different pattern, random intervals, fading on/off, whatever.
posted by Stoneshop at 7:09 AM on August 30, 2020 [1 favorite]


I have no personal experience with micro:bit or Arduino, but I've used full-fledged Linux devices for years, including various Pi work-alikes. The flexibility of a real Linux box is awesome, but IMO not the best introduction for a teen unless they are uncommonly self-starting and willing to Google issues as they come up, which they routinely do.

If the micro:bit Wikipedia page is accurate, then it supports coding in an impressive variety of languages, including the Python and C++ she already knows and several more that she could explore.

By comparison, Arduino supports only C and C++ (and limited dialects of those, IIUC). On the other hand, the Arduino looks to be a more sophisticated device and its community has been around longer, so I'd expect it to have a more interesting set of add-on devices. If "building something useful" is key to her motivation, this might sway your decision.
posted by SaurianNotSaurian at 7:16 AM on August 30, 2020


Best answer: Like moonmilk, I've also taught some intro courses on this sort of thing, in my case to college students. And I agree with them that the Circuit Playground Express is a great option. So to echo and synthesize what they and others have said:
  • The Raspberry Pi is much closer to your family member's laptop than the other options discussed here. It can do some of the circuits and electronics stuff, but it's not as easy to use in that capacity, in my opinion.
  • The Arduino ecosystem is great due to the large community built around it, which means tons of resources for help, ideas, and discussion.
  • There are many Arduino style boards: a microcontroller programmable via USB and optimized for connecting to a wide range of electronic parts and pieces. Many of them are cross-compatible in terms of code and abilities. So projects for one can often be easily ported to another.
  • The Circuit Playground Express is a great option in the field of Arduino-like boards. It is programmable in a variety of ways; it has several components built in supporting a bunch of projects with no additional parts; and it's easily extendable.
  • The Circuit Playground Express is designed and sold by Adafruit, who have been selling, designing, and iterating on things like this for a long time. They are all about learning and education and exploring, and they support it through their products and their extensive documentation of products and projects. Just look at the support and resources they link from any product page.
  • Getting a kit is the way to go. For the Circuit Playground Express, there's the Advanced Pack, which includes two boards and all sorts of supporting parts and pieces. This is the sort of thing I used in my intro courses: I'd give the students a kit with everything they need, then have them build a few "canned" projects using those parts. As they go, they can add their own twists on the canned projects and soon enough start building more complex things they find online (picking based on their own interests from the vast array out there) or just going in their own creative directions.
  • Having a book can make starting up easier. The information is all online, but having it packaged in a clear order in one physical book can help.
  • As an alternative, the specific kit I've used with students has evolved into the Adafruit MetroX kit. It's a different board, with one big difference being that it's not setup for creating wearable electronics like the Circuit Playground Express is. The whole kit has a huge range of parts, though, and the provided Experimenter's Guide (also available online) is organized around complete individual projects with extremely clear build instructions. Those complete projects are a great way to get something working fast (to get the sense of accomplishment) and then tweak and mash-up ideas to make something new from it.
So for accessibility, flexibility, extendability, and availability of high-quality guides, references, and documentation, I'd go with a kit from Adafruit.
posted by whatnotever at 8:14 AM on August 30, 2020 [8 favorites]


Something she can just unpack and tinker with right away.

Arduino, via Adafruit. Start with one of their Metro Mini controllers. You'll need to install an Arduino Integrated Development Environment (IDE) on your computer, which the Metro connects to via USB. Lots of video tutorials available.
posted by Rash at 8:17 AM on August 30, 2020


Arduino is great for exploring hardware projects, real microcontroller stuff. A good starting point that gets kids thinking differently about what a computer IS (ie, not a screen/keyboard combo, but a computing engine with I/O and real wires and stuff).

Rasp pi is great for building a whole integrated system on Linux, where you want to drive a display, keyboard, mouse, etc., as part of the setup. It's a very simple system, mind, but way more overhead than an Arduino, and not as good at shifting the thinking. Great to come back to when you need more, though.

For a younger kid just starting on programming, a Rasp Pi might be a good platform for running Scratch and powering I/O that way, but for kids old enough to think abstractly, I think Arduino or something like it is a better jumping-off point.
posted by rikschell at 8:23 AM on August 30, 2020


Oh, and seconding that adafruit is a great place to buy from.
posted by rikschell at 8:24 AM on August 30, 2020


Best answer: At some point consider:

Make: Electronics: Learning Through Discovery

And the associated kits of electronic components.
https://www.amazon.com/Make-Electronics-Component-Educational-Electronic/dp/B01EKO6FYQ?th=1
posted by sebastienbailard at 9:04 AM on August 30, 2020 [1 favorite]


Seconding the Circuit Playground Express (CPX). It has a whole bunch of sensors and outputs (RGB LEDs! Speaker!) on board. It can act as a USB keyboard/mouse/gestural input/game controller. It can all be controlled via CircuitPython, which is a subset of Python 3 for physical things. It appears as a tiny flash drive, and you can program it directly via the very simple Mu editor/IDE (or just by saving the python text file to the USB drive). It can also be programmed via Arduino. They're sewable/wearable: Textile Game Controllers, anyone?

The Circuit Playground Express - Base Kit gives a few useful extras for $5 more. Add a Small Alligator Clip Test Lead (set of 12) for $4 to unlock its amazing capacitive touch features (I mean: fruit piano? Take my money!)

CPXs also come in a variety of editions, such as the (sadly out of stock) Black Girls CODE edition.

They're delightful devices. I just bought another one yesterday. A couple of things I've made with it: Circuit Playground Express Chord Guitar, SimStapler© Simulator. They also find use in the assistive technology field that I work in: for prototyping input devices by and with people with disabilities.

micro:bits are cool, but are much cut-down compared to the CPX. They were designed to be serious educational things. Arduino as an organization has kind of lost its way: the IDE has become deathly slow, and new boards seem more about how they can be made more expensive than the last one. The only vaguely fun Arduino clone for me is the Maker UNO, which has a few more outputs built in (LEDs on every digital pin! A beeper!), is bright purple and is very cheap.
posted by scruss at 11:41 AM on August 30, 2020 [4 favorites]


Best answer: God, there's a lot of text in here. The answer is yes, micro:bit. Especially as you don't have any experience either. They cost about fifteen quid, get one for you and one for her. They are programmable by codeblocks, the net is full of "for kids" curriculum and she can have a badge that flashes her name in about ten minutes. Buy a variety pack of rando sensors at the same time and it can be one that only flashes when you wave at it. Should she outgrow it real fast an arduino is another 15 dollars and you can reuse the sensors. Can't comment on the CPX it sounds decent, but your answer otherwise as somone who works with kids and young adults around these things is micro:bit.
posted by Iteki at 11:59 AM on August 30, 2020 [1 favorite]


N-thing Adafruit as a vendor. I’ve met Limor and Phil in passing and from my very limited direct interactions, plus everything they do/publish, they seem to be pretty solid human beings who are invested in helping people, especially women, learn electronics.

Most of my experience with microcontrollers is bare-metal C/C++ and Arduino, but Adafruit has a whole ecosystem built around CircuitPython, a mini Python dialect that runs on microcontrollers. Python is maybe friendlier for a beginner (it still has syntax and etc, but code is often spelled out a in bit less esoteric way).
posted by Alterscape at 12:47 PM on August 30, 2020 [1 favorite]


:Make: Electronics: Learning Through Discovery … [a]nd the associated kits of electronic components.

Note that the prices listed for these are wild. These were already being blown out at surplus stores a couple of years before Make shut down, and anything you see around these today are either scalpers or knock-offs.
posted by scruss at 8:04 PM on August 30, 2020 [1 favorite]


This is an inexpensive nice kit, has a led's, displays, motors, switches, etc and a breadboard so no soldering. Based on the Arduino Uno.
posted by Sophont at 1:27 AM on August 31, 2020


All those maker books are regularly available on Humble Bundle for peanuts in giant ebook packs. Check out Alex Glow and Simone Giertz for inspiration and ideas, be aware that electronic tinkering isn't always a friendly place to beginners or women, so a low threshold to build some fun feelings before she had to interact with others for help is a good idea.
posted by Iteki at 2:02 AM on August 31, 2020 [1 favorite]


Raspberry Pi -- More software focus, can integrate w/ hardware but not as much the point. Most expensive, requires PC peripherals to take full advantage of. Great to learn linux, any programming language on.

Arduino -- hardware focused, programmed in C/C++, great to learn some electronics. Assuming "real" (or close clone arduino boards), somewhat limited if one is more interested in learning SW. I find "arduino likes" (esp8266 nodemcu, esp32) have more fun features and support for other environments like micropython, But they are a bit harder to get started on as a beginner.

Microbit -- toy device. Good for what it is, but limited. Probably not cheaper than an arduino clone kit.

I play with RPis and Arduino like boards all the time. I was given a ubit and have done very little with it.
posted by jclarkin at 1:17 PM on August 31, 2020


I haven't done anything with the circuit playground express but it looks like it is a great learning kit since it supports arduino environment, circuit python, etc.

And as several people have said, Adafruit is top notch.
posted by jclarkin at 1:25 PM on August 31, 2020


« Older Help me understand PCP car finance (UK)   |   Lyrics to this song from my childhood? (Diegueño... Newer »
This thread is closed to new comments.