4 ms·
Here's a few of my reasons: * Patching/attack surface. I don't want to maintain a full Linux OS, and I expect (hope) that the network stack on something like a
by btgeekboy 5y ago
Here's a few of my reasons:
* Patching/attack surface. I don't want to maintain a full Linux OS, and I expect (hope) that the network stack on something like an Arduino or ESP is both secure by obscurity (I know...) and by lack of functionality.
* Some things are much easier on a simpler chip as well, like bit-banging access to a NeoPixel, due to the lack of a multitasking OS.
* Bootup times on simpler chips are mostly imperceptible. They power up and begin running your code. (Arduino includes a short pause you can remove, or you can bypass the Arduino boot loader entirely and program the AVR directly.) Even the slimmest of Linux distros can't beat it.
- detaro 5y agoRealistically the attack surface of a Linux running almost nothing, in a local network, is also very small.
- pfundstein 5y agoThe SD card is another one, the Pi will be logging and constanly reading and writing to the SD card until it eventually fails.
- lights0123 5y agoIt's 3 characters to switch it to read only mode, and just a few more to save the system clock across boots.
- Saris 5y agoSurely the raspi linux distro has that disabled by default?
- opencl 5y agoIt does not.
- samatman 5y agoOk, those are all good reasons to choose Arduino, for some other applications of which this isn't one. I would also just use an Arduino here, I've got a box of tiny ones (Adafruit feather) which would be plenty for this application, and I'm already familiar with the platform. From bit-banging Neopixels, as it happens. But for running an incredibly simple cron job on a standing desk, none of these are compelling. It makes perfect sense for someone who knows Linux, and doesn't want to learn Arduino, to just break out a Raspi Zero and do what he did here. It's air-gapped, so the risk of it getting pwned to mine Monero or whatever is pretty minimal. There are no real-time considerations for an action which happens once an hour +/- a few minutes, and boot-time for an application where the first action is around an hour from power-on is also not decisive.