8 ms·
Not trying to troll - just don't know. Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
by starik36 7y ago
Not trying to troll - just don't know.
Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
- yjftsjthsd-h 7y agoI would have thought that the real competition was the ESP32. It stays in the microcontroller space (no OS to manage, should stay lower power, etc.), dirt cheap, ships with wifi+bluetooth.
- embeddedpro 7y agoI'm doing a hardware selection and after much consideration, I'm picking a 3$ esp8266. I don't see any purpose of Arduino outside education for kids. Makers should use cheaper products/knockoffs at worse.
- magicalhippo 7y agoThe ESP8266 doesn't have hardware PWM, and only a single ADC channel, both which can make it unfit for a lot of tasks. That said, it does come with a lot of SRAM and the wifi/bt connectivity is obviously great.
- opencl 7y agoThe only very slightly more expensive ESP32 boards have 18 ADC channels, 16 PWM channels, and 2 DAC channels.
- magicalhippo 7y agoYeah the ESP32 is pretty darn awesome.
- spookthesunset 7y ago> The ESP8266 doesn't have hardware PWM There are actually hacky ways to work around that using DMA but yeah. Software PWM sucks.
- penagwin 7y agoI recommend trying the ESP32 as well (more pins for ADC and a few other features). Either way, the ESP's are an incredible value (I use both).
- _alex_ 7y agoSame. I have a bin full of esp8266's that have become my go-to for little projects. Going to play with esp32's when I run through them
- sz4kerto 7y agoFortunately ESP32 does have an OS, so you can use all kinds of niceties (multitasking, bootloader, etc.).
- vidanay 7y agoDeterminism
- Moggie100 7y agoReliability across power cycles or brownouts, for one. 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.
- rhcom2 7y agoNot a bad question at all. The Arduino offers you the ability to code on a lower level, while the Raspberry Pi is giving you a full operating system. Some projects, especially IoT, don't need all the overhead of an OS with and without that comes improved reliability and better understanding of the state of the device.
- fastball 7y agoCan you not flash a pi with some non-OS firmware?
- derefr 7y agoYes; or, for greater ease-of-use, you could just write your logic as a Linux kernel driver, leaving the rest of the OS to do its job. After all, from the perspective of the controller, you're interacting with a peripheral—and that's exactly what device drivers are designed to do.
- Zenst 7y agoYes, can do bare metal https://www.raspberrypi.org/forums/viewforum.php?f=72 https://www.raspberrypi.org/forums/viewforum.php?f=72 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.........
- whalesalad 7y agoI've been extremely pleased with the Nerves project. It's Elixir (or any flavor of Erlang, really) top to bottom. The toolkit will build and flash the SD card, so you don't need to worry about anything except your app. 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)
- darkkindness 7y agoThat's incredible, thanks for sharing! Here's the links for the lazy: https://nerves-project.org/ https://nerves-project.org/ https://github.com/nerves-project/nerves https://github.com/nerves-project/nerves
- LeonM 7y agoIn an industrial environment price is usually less relevant, or even irrelevant. Reliability is key here. 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.
- petra 7y agoReliability is key. But is the quality of the Arduino software/libraries good enough ?
- mbanzi 7y agothis board runs MbedOs from arm which is a very robust Rtos with very advanced features. The the individual quality of libraries depends on the author like in any open source project.
- petra 7y agoThere are many good Mbed boards available. So calling this "the Arduino goes pro" seems like "marketing".
- bazooka_penguin 7y agoArduino is a microcontroller, made for realtime. Like a stepper motor vs a normal DC motor
- Moru 7y agoOr to buy a car when all you need is a wheel.
- dragontamer 7y agoADC, DAC, and 2.95uA timers. 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.
- the-dude 7y agoZero's are not available in bulk ( one of the many reasons actually ).
- HeyLaughingBoy 7y agoThe question is akin to "why would anyone buy an S-class Benz versus a Hyundai Elantra?" They exist at different positions on the price/performance scale. It's as simple as that.
- freehunter 7y agoIt might be worth explaining the difference between the two. Plenty of people would have trouble understanding your analogy between the two cars. Jeff Bezos drives a Honda Accord.
- HeyLaughingBoy 7y ago[response edited] Actually, I think that kinda makes my point better than I did myself! 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.
- freehunter 7y agoAgain I'd have to ask you to explain the difference. If the differentiator is price, then why doesn't the richest man in the world have the most expensive one? It seems to me that if the richest man in the world drives an inexpensive car, then the more expensive car is worthless. And then to use the analogy, the more expensive Arduino is likewise worthless?
- HeyLaughingBoy 7y agoThe reason I liked your answer is that it shows that the selection of Arduino vs Pi or Mercedes-Benz vs Hyundai is "application dependent." 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.
- Marazan 7y agoYou control every clock cycle on an embedded controller. 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.
- H1Supreme 7y ago> five dollar Raspberry Pi Zero They still need an SD card to function. So, that price is going to double at a minimum.
- mbanzi 7y agothe pi is a great device but it's a consumer grade device. there are number of use cases it doesn't support very well (low power, realtime , industrial operational temperature etc)
- Rebelgecko 7y agoAFAIK you can't do real-time stuff on a Raspberry Pi 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.
- schwartzworld 7y agoArduino is a much simpler device. Pi is a full linux computer, as opposed to Arduino which is a microcontroller.
- mbanzi 7y agothis product doesn't follow the classic definition of microcontroller. (you can rve run a version of Linux on this thing)
- jjrh 7y agoMore detailed comments below, but in short: - lower power consumption (that you can control) - different environmental tolerances - peripherals with hardware support 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-schematic-V1.0.pdf https://content.arduino.cc/assets/Arduino-PortentaH7-schemat... ) It's really just different features for different needs.
- gmiller123456 7y ago>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
- joemi 7y agoBut $5 is the real price of the Zero. Perhaps you’re thinking of the Zero W, which is $10? Or do you mean the $5 doesn’t include the power? If that’s what you mean, it should be noted that power doesn’t come with Arduinos either, and they both can be powered via USB. And to what unethical inventory games are you referring? That seems like a pretty serious accusation you’re making.
- gmiller123456 7y agoWhen you actually try to buy one from the very few distributors permitted to sell them, you'll either end up paying $5-$7 in shipping, when it could be shipped for closer to $1 USPS. And you're only allowed to buy one. Or, if you walk in to a MicroCenter, the only distributor with a physical location you can walk in to and buy one, they're either out of stock, or again you're limited to just one, but you can buy more at a higher price.
- winsome 7y ago
- jb775 7y agoI don't think it's anything to do with the price. I'd say there are three primary reasons (based on my personal experience using each): 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.
- analog31 7y agoFor some applications it makes sense to use both. Use something that runs an OS for the high level functionality that it provides, and connect it to a microcontroller running simpler code for the stuff that has to run in real time.