Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
1. The $5 Raspberry Pi Zero isn't really $5.
2. The fact that the $5 advertised price isn't the real price, and the inventory games they play raises ethical problems for some people.
3. You can get an Arduino clone for less than $2 (for real, and in bulk).
4. The Pi and other SBCs have higher power requirements, so they can't reliably run off AA batteries.
5. The Pi also requires an SD card, increasing the cost.
6. The Arduino comes in many form factors which are considerably smaller than SBCs.
7. The two aren't drop in replacements, the Pi runs a "real" opperating system that does a lot of things in the background. So communicating with other devices which have specific timing requirements is significantly more difficult on the Pi.
8. The market for Arduino "shields" is much more competitive than the Pi "hats".
9. There are just a lot more shields and sensors available designed to interface with the Arduino
10. The Pi's IO pins are 3.3v, where the Arduino's are (on most boards) 5v. So using sensors/boards designed for the Arduino requires a level shifter
And to what unethical inventory games are you referring? That seems like a pretty serious accusation you’re making.
The main thing to look out for is that it doesn't have HDMI out, only two headers for composite out. I imagine most people plan to run them headless anyway, but unless you have something that can display composite video, it can be a pain to set up at first.
Another option is that when you buy from Adafruit, you can buy one of each version. One Zero, one Zero W, and one Zero WH, for $29 plus shipping. You can then buy a USB WiFi adapter off E-Bay for about $1 shipped, and as many USB OTG adapters as you need for less than $1 each. Depending on shipping, that puts you in the $11-$12 per board range.
Microcenter often has the Zero W also discounted to $5 for a single and then $15 for every one after that. Right now, they have them discounted to $10 for 1 and $20 for every one after that. https://www.microcenter.com/product/486575/raspberry-pi-zero...
Forum post from a member of the Raspberry Pi team: "They will never be available in bulk amounts at the $5 and $10 price points, it's not cost effective to sell at that price. But they ARE available for bulk buys - i.e. demand no longer outstrips supply.
But we can sell individual items at that prices, for educational needs - i.e. those who cannot afford the higher price of the Pi3. Call it an educational discount." https://www.raspberrypi.org/forums/viewtopic.php?t=201916#p1...
From the above, I agree with the other poster who claimed that $5 is not the real price for the Zero, but rather a limited quantity specially discounted price.
It is a real price. For the Zero W. I bought one a year ago. Ordered it, then headed to the store a bit later. https://i.imgur.com/ajeH8PQ.png
They've since changed the price to $10.
IMO, if I can't buy 10 of something for $50 or 100 for $500, the "real price" isn't $5/unit. Microcenter would pretty consistently sell $5 for 1 and then $15 or $20 for each additional unit.
Though I'm sure many `purests` will say this is not bare metal and it's impossible upon modern CPU's due to the ISA microcode.........
Very nice to be able to ssh to my Pi and get dropped immediately into an IEX repl (no auth, no command prompt, it's just IEX over SSH)
The genuine Arduinos are expensive. The clones are cheap.
I don't see any purpose of Arduino outside education for kids. Makers should use cheaper products/knockoffs at worse.
That said, it does come with a lot of SRAM and the wifi/bt connectivity is obviously great.
There are actually hacky ways to work around that using DMA but yeah. Software PWM sucks.
Either way, the ESP's are an incredible value (I use both).
Downtime of a machine can quickly rack up huge costs, so you want to spend extra on hardware that can resist greater temperature ranges, vibration, radiation, magnetism, moisture, etc.
But is the quality of the Arduino software/libraries good enough ?
So calling this "the Arduino goes pro" seems like "marketing".
Cost is another - sure the dev boards are expensive as compared, but the chips used are easier to integrate with your own designs than building an rPi into them.
Just different use cases, in essence.
Raspberry Pis aren't great when working with analog signals. I don't think they even come with analog->digital converters, and PWM can be janky
SD cards suck, when it comes to reliability. You can mitigate this by making the filesystem read-only, but your SD card will still crap out more quickly than built-in flash memory would.
Supply used to be an issue with the Zero, but I don't know if that's still true.
You are at the mercy of the OS on a Pi.
For somethings that doesn't matter at all, for others it really, really does.
Looks like this has a integrated Li-Po charger which should mean you can have a UPS like battery backup.
Folks may use this as a development platform that eventually gets a custom PCB made for the end product. ( it's open hardware so it has all the schematics https://content.arduino.cc/assets/Arduino-PortentaH7-schemat... )
It's really just different features for different needs.
Can your Rasp. Pi Zero sleep at micro-amp currents, and self-wakeup 5 hours from now to perform some task, and go back to sleep? The specs here for this Arduino are downright ridiculous for low-power applications. We're talking about using 3x AA batteries for MONTHS. (3x NiMH AA will be 3.6V with 2000 mA-hrs. Using 3uA is 600,000 hours of battery, or 25,000 days of charge. You'll "only" last months because NiMH AAs will self-discharge before your Arduino actually uses all the charge).
And the Arduino here has all of the analog circuitry you need. 12-bit DAC means you have 4096-levels of output... a 3.3V signal can be varied in 0.8-millivolt increments. That's 0.0008Vs per increment.
The 16-bit ADC means that the Arduino can sense 0.05mV differences (probably at very low frequencies, but its an option with the right tradeoffs). Without any supporting chips. Alternatively, you have a 1MHz ADC (at some unspecified lower resolution. Probably 1MHz best-case 1-bit ADC), which means you can perform a million measurements in a second, to measure "rate of change" of your sensor.
The "1MHz" spec is useful for motors and other higher-speed equipment. If a Motor is rotating at 12,000 RPM, 10kHz ADC (1/100th of the max rate 1MHz, or 7-bits of precision per sample) will still be 500 samples per rotation, more than enough to get a good estimate on the motor's velocity.
---------
Application: 3xAA batteries, remote sensor that sends a WiFi packet every hour for temperature (or any other sensor that can be represented by voltage between 0V to 3.3Vs. Or even a sensor that needs to "sample" over a few milliseconds to get a value, such as determining the speed of a motor)
Stick a cheap 5V solar panel + some simple charge circuitry to trickle-charge the AA NiMH batteries, and you probably can run the rig indefinitely. (Really, you just need to ensure that the AA batteries don't leak current through the solar panel. So maybe a 0.7V diode to prevent backwards current, and you're set. 5V solar panel minus 0.7V diode outputs 4.3V nominal, but then becomes current-limited (probaly??) as it drops down to the 3.6V the batteries are set at. As long as you're only pushing milliamps, you're in NiMH trickle-charge mode which NiMHs are really, really good at).
-------
EDIT: I didn't even notice the integrated Li-Po charger. NiMHs are cool because they're bloody simple to use in trickle-charge mode. But if you've got a Li-Po charger built into the damn thing, you might as well use Lithium-Polymer cells instead.
There's a ton of complexity involved in safely charging, and discharging Lithium-Polymer batteries. But hell, if its built into the Arduino, might as well use it. In this circumstance, the 5V solar panel is plugged into the Arduino somehow, and the Arduino charge-circuitry will then safely handle the decisions involved in charging / discharging the Li-Po battery (also hooked up to the Arduino).
----------
EDIT2: I guess a "normal" Arduino can do this at low power consumption too. The reason to get "Arduino Pro" is for integrated Wifi + 480MHz processor. So you'd want some "difficult calculation" associated with the sensor reading... maybe a local GUI with a screen + Javascript to simplify the GUI-design.
The Arduino can sleep most of the time, but if a user comes up to maintain the device, they can click a button, bring the Arduino out of sleep mode. It boots up to a Javascript web-GUI for maintenance, and then sleeps back down to 3uA sleep mode once the user is done with local maintenance.
----------
100 Mbit Ethernet can have PoE, so any Ethernet Wire could transmit power instead (to a Rasp. Pi Zero). The Arduino's niche would be some kind of wireless, remote-power situation that requires very, very low power consumption on the scale of weeks.
I wonder if the newer low-self-discharge batteries might get you even more lengthy usage times. Something like a gen 2 Eneloop lite can hold onto 60% of its capacity after five years[1], which is just plain insane.
Longevity is important in this application because replacing batteries is very labor-intensive.
1.) Pin control simplicity - Arduino's bread & butter is basic logic statements wrapped around pin signals (e.g. if pin #1 receives an inbound burst of electricity, tell pin #2 to send an outbound burst of electricity). Since most commercial processes are loops of very specific routines, this is all that's needed (not to mention it's easily scalable to massive operations).
2.) Battery backup - Raspberry Pi wasn't really designed to be powered by batteries, and voltage fluctuations lead to crashes. Also, since Raspberry Pi requires more power (than Arduino) to operate, it would eat battery life much faster.
3.) Startup consistency - When Arduino is powered on, it has a consistent startup that quickly loads your sketch. The restart behavior is predictable and downtime is minimal. With Raspberry Pi, you're dealing with an operating system starting up. This makes it much more cumbersome to get back to where it was prior to loss of power.
They still need an SD card to function. So, that price is going to double at a minimum.
They exist at different positions on the price/performance scale. It's as simple as that.
Using Mercedes vs Hyundai implies that there's a difference in quality, whereas my intent was to say that they are basically the same but with qualitative differences that only matter depending on the actual circumstances.
I find that the typical answer to questions like this (e.g., the ones already given) tend to confuse the questioner even more by tossing out technical jargon out that isn't helpful.
In the end, the choice of one computing/control platform vs. another is really just which one happens to be a more suitable choice for the problem it's being thrown at.
Ultimately they're both computing platforms used for control purposes. In some cases, the predictable I/O performance of the Arduino is an advantage over the Pi. In others it's not. In some cases, the built-in network access, CPU speed, UI capability of the Pi is an advantage, in others it's not.
If Bezos actually does drive an Accord (with an entourage of security around him I imagine) then all that tells me is that for his "application," it's sufficient. It doesn't say anything about the merits of other cars.
No one needs an S-Class, it's merely a nice-to-have. Is that the same statement that no one needs this new Arduino? That they should only buy it if they have extra money to spend and want a luxury item?