With a Raspberry Pi, you've brought that back in a way that doesn't risk expensive hardware. You can get a breadboard and something like the Pi Cobbler for an instant prototyping setup where you can play with electronic components and program them with C or Python with far less difficulty than a garden variety microcontroller. The Arduino comes close, but the computing power of the Pi offers a lot more flexibility and options.
You can't reasonably expect a child to understand hardware virtualization, can you? Much less how to use something like Docker. Maybe if Docker was perfect and there were no version or dependency incompatibilities, and the Docker service behaved predictably, and a bunch of other things. Hell, I would've bailed a few minutes into the build process as a child. I get bored waiting on it as an adult.
Also real-life hardware can be super interesting, even if you're not hacking at it! I found much joy just cracking open the family's old Windows machine and having a look. It's hard to quantify the effect something like that has, but it's got to be greater than zero.
However, for our daughter we ended up buying (1) a Micro:Bit, which is much easier for kids to tinker with, especially with MakeCode [1]. Our 5yo daughter loves to draw 5x5 emoji + write words, associate them with buttons, to upload them to the Micro:bit. It makes her really proud. (2) An Intel NUC, which is much faster and less constrained than a Raspberry Pi. (Obviously, it is more expensive, but she has one of the low-end Celeron NUCs.)
Edit: I write this with several generations of pi. sitting idle on a shelf. The most interesting project I used one for was Halloween automation of off the shelf decorations. Made up for the stagnant pi's sitting around and all the neighborhood agrees.
Why would anybody care that they're being bought and put in drawers or shelves? The RPi isn't in finite supply, and buying more helps the project overall even if nothing is done with it.
As for teaching your child docker being easier than flashing an SD card... you must have some bright kids, pal!
> Please stop buying these raspberry pi kit things unless you have one of the specific use cases (a small desktop computer) in mind. They seem like so much marketing, and in my opinion, they are actually hurting the movement of people learning to program and build hardware devices.
How does buying one with good intentions that goes unused hurt any other effort? I don't think I'd have even heard of any other devices if it weren't for the attention that the Pi gets.
Not just a naked Pi (and even if that's the goal it's typically not done with just the pi, you need some amount of stuff around it too). E.g. the previous version of the Pi-Top is $319 (Pi included)
Now imagine you’re a kid who had the idea to water your garden with a computer. On an arduino, you’d write about 20 lines of code.
On a PI...I mean, how do you even get a computer program to run at boot? What’s a computer program? Okay I have a .img file now what? Python? But some people say I should use $somethingelse. Okay I need another monitor to connect to it? Open up my router and find a DHCP entry so I can SSH into it? What do ANY of those words mean?
“Oh well I’ll get to it someday.”
Don’t get me wrong, I have plenty of raspberry pis in many different projects, and in fact I’d make a strong wager that I have deployed more raspi projects than most people who consider themselves huge raspi fans. For SOME things there isn’t a substitute. For most things they’re extremely discouraging.
From my experience, RPi might be more appealing since it runs a real OS and you can have a desktop environment.
This is in contrast to Raspberry Pi, which runs linux and you can program in any language and everything is like on your main PC.
Maybe latest model is overkill for anything except desktop PC or home server, but there are simpler models. I think it's pretty normal to use, for example, Raspberry Pi Zero for IoT, because good luck implementing HomeKit on avr/esp8266/stm32.
I hate commercical electronics manufacturers putting fancy desktop-level ARM controllers on everything, but let hobbyists use them without hesitation even if the only reason is support of python.
https://learn.adafruit.com/welcome-to-circuitpython/what-is-...
Here is a HomeKit device on a nrf52:
https://github.com/adafruit/Adafruit_nRF52_Arduino/blob/mast...
The library situation is pretty good these days. You can talk to TLS-enabled web servers. You can talk to Bluetooth devices. You can integrate sensors with a couple lines of code. It isn't trivial but it isn't hard either.
The advantage of using a microcontroller is that you don't have to stress out about all the other things that a computer is going to be doing. You don't have to write systemd configurations to start your application at boot. You don't have to prevent syslog from ruining your SD card. You don't have to update the Linux kernel when there is a 0day. You don't have to work hard to power the machine from a battery. (I have a Bluetooth-based temperature/humidity/pressure logger + epaper clock that runs off a 100mAh LiPo battery. A Raspberry Pi that isn't even turned on would suck that thing dry in 3 hours, not counting power loss in the boost converter that would be required.)
The advantage of using a Raspberry Pi is that you get a ton more CPU power and all the advantages of a computer. Your GPIO sensors can show their data on 2 4k screens. You can browse the web with Chrome. You can run complex software trivially.
They are both great for different use cases. I think someone that wants to make a tiny robot or blinky light would be better served by an $8 M0-based Arduino clone. I think someone that wants to run image recognition on a video feed would be better served by a Raspberry Pi. The power level of the Pi is greater than a micro. Getting something simple working perfectly without any future maintenance is easier on a micro.
I run micropython on my esp8266 because I didn't like the lua that it shipped with. If this is a problem, then it's specific to Arduino.
Edit: lua, not node.js
At one time, long ago, it did - mainly the ATMega8 platform that was at the heart of the Wiring project, which ultimately begat the original Arduino (and Processing).
But the ecosystem expanded; first via different Atmel microcontrollers (many which became so-called "official" platforms), then eventually to other microcontroller platforms (and Microchip, maker of the venerable PIC microcontroller platform, eventually purchased Atmel).
The ESP8266 is a part of that ecosystem today, along with other so-called "ESP" controllers:
https://github.com/esp8266/Arduino
https://www.esp8266.com/wiki/doku.php?id=start-with-esp-12-a...
https://github.com/espressif/arduino-esp32
It wouldn't surprise me to find out there is a core available for the Raspberry Pi - or at least for the SOC on the board...
Hmm:
https://github.com/me-no-dev/RasPiArduino
I looked to see if I could find any kind of "real" core for the Raspberry Pi or Broadcom SOCs but I didn't find anything other than the above, which seems to be in active development. Honestly, though, you wouldn't really use a Raspberry Pi that way; more likely you would use the Raspberry Pi as a development platform for an Arduino ecosystem platform, that would likely be attached to the Pi via USB or some other method.
People, especially beginners, are often confused by what the name "Arduino" means; as I've noted, today it's an ecosystem composed of many different platforms, some "official", but many more that are not.
...and this of course doesn't get into the whole "real" vs "knockoff" vs "counterfeit" debate (which is a whole 'nother story).
Biggest win for Pi is IMHO the combination of the two, you get both a linux box and an arduino-like platform with HW pins access and kit hats, all in a small package that can easily be fit anywhere - and at the same time it's cheap and simple enough to allow you to play freely without worries.
If nothing else, this has allowed me to use a cheap intel NUC instead of beefier hardware for a VM server. No more SD card failures...
An atmega and C++ are absolutely NOT toys however. And in fact, arduinos are so cheap at this point that I have put many of them into many finished products.
SO many of these things end up sitting in boxes or on shelves. The raspberry pi is pretty cool for a very small niche of things, but really the main thing making it interesting is that it's a cheap desktop computer.
If you already have a computer in your house, then you've already got a much, much more powerful version of a raspberry pi.
If you have a friend or family member who is interested in an introduction to software and hardware engineering, or electronics, then they'll be MUCH MUCH better off with one of these: https://www.seeedstudio.com/Shield-Bot-p-1380.html
and an arduino uno.
Please stop buying these raspberry pi kit things unless you have one of the specific use cases (a small desktop computer) in mind. They seem like so much marketing, and in my opinion, they are actually hurting the movement of people learning to program and build hardware devices.