6 ms·
> Just like anyone else, they normally write code filled with crutches to be ready for yesterday's deadline and want more powerful hardware to mask their sloppy
by taneq 6y ago
> Just like anyone else, they normally write code filled with crutches to be ready for yesterday's deadline and want more powerful hardware to mask their sloppy job; some would’ve used Arduino if it was properly certified.
The (very interesting) main thrust of the article aside, I see this kind of sentiment a lot and I don't really understand it. Arduino's just a common dev board, running a standard microcontroller, plus some hand-holding libraries (which you can dispense with if you want.) Is there any actual legitimate reason that they're not suitable for production use? Or is it really just "real-embedded-devs-don't-use-Arduino" ego flexing?
- leonidasv 6y agoI think the author is talking about a (certified) radiation-hardened Arduino board.
- duskwuff 6y agoThey are not. No such product exists.
- sigstoat 6y agothat was they author's point. some engineers would use it, if it existed.
- taneq 6y agoAnd my point was why (ie. what real quantifiable reason) shouldn't they?
- amartology 6y agoThe first Radhard Atmega device arrived just five years ago, so maybe someone is in a process of certification now) But your question sounds a bit like "why there are no Ferrari semi trucks?" Just because they are intended for different things)
- brudgers 6y ago“Production” is imagined differently by different people. Across millions of devices the unit cost premium of an Arduino scales to a non-trivial amount of money and adds an additional manufacturing pipeline into scheduling and availability.
- lnsru 6y agoArduino is a great board for production, it just too expensive for large runs. My colleague uses Arduinos for his very special machines. He delivers 5 pieces a year of them. That is 200$. If he designs a board and takes care of production, he works few days on this and it costs a company closer to 2000$, but has very cheap 5 boards a year.
- watersb 6y agoI see this a lot, but don't understand. Arduino is just a dev board with a socketed Microchip AVR ATMega32 microcontroller, which costs $2 (Digi-Key or Mouser in USA). You csn get clones in volume -- the whole dev board etc -- from China for $2 each in volume. Though recrnt restrictions on China suppliers is a headache. I haven't tried creating my own large run of a product based on Arduino, but I wouldn't go into production paying for a retail-boxed Arduino.cc dev system.
- lnsru 6y agoI use 2$ clones for playing at home, but I would never ever put a part into a product from untrustworthy source.
- numpad0 6y agoThen just roll your own Atmega328p boards. That’s how evaluation boards work and Arduino is basically an EVB.
- raverbashing 6y agoNever mind the clones, if your development needs any kind of self-designed board, it's cheaper to tack the ATMega (or other processor, you might be able to make it work with something simpler) onto your design. Plus the reliability of boards plugging into other boards, reliability of clones, etc.
- Avamander 6y ago> You csn get clones in volume -- the whole dev board etc -- from China for $2 each in volume. You can implement Dropbox with an FTP server.
- turbinerneiter 6y agoI don't understand it either. The main part of Arduino is the hardware abstraction library. Especially for the standard stuff, like iwc, spi, ... this hal makes your code portable between different microcontrollers! The alternative to Arduino hal is to use the vendor libraries. By doing that, you lock yourself in to the specific controller you are using right now. Also, the quality of the official sdks often enough is joke. The next thing is the library ecosystem. A device driver library, i.e. to use a certain sensor, from the Arduino evosystem will work on every microcontroller with Arduino support, which is a very very long list. The arguments against Arduino? It's not _professional_. Yeah, try the vendor library, sdk and ide and tell me that's better ... You are relying on code that _somr guy in the internet_ wrote. Jup. That's how the whole industry works. If your are using windows, you are using code some guy at the internet wrote. Did you ever get recourse from MS after you got a BSOD? Relying on code from other people is how we are able to get anything done. If you wrote everything from scratch, you couldn't ever ship anything. And hey, you got that code from that guy on the internet for free. So do the world and yourself a favour, review the code and upstream any improvements you find! The IDE sucks. So does the vendor IDE and nobody is using that stuff anyway. Use platformio.org There is many situations where Arduino is a valid option.
- lostlogin 6y agoHaving just discovered Arduino and messing about with ESP32 and ESP8266 chips on it, it’s so impressive. My abilities are pretty basic, but the amount that can be achieved and the low barrier to entry (a computer, a USB cable and a $5 ESP) make for a great combination.
- arduinostory 6y agoThe IDE is actually a fork of a project called Processing: https://processing.org/reference/environment/ https://processing.org/reference/environment/ It's an interesting story, but you're right that it isn't exactly professional: https://arduinohistory.github.io/ https://arduinohistory.github.io/ I do like the MSP430 fork called Energia. They're 16-bit MCUs with a focus on low power usage, and some of them have non-volatile RAM: https://energia.nu/ https://energia.nu/
- 6y ago
- fest 6y agoOne aspect is licensing: IIRC the core libraries are under LGPL. Another aspect is: there are some poorly documented idiosyncrasies in the standard library. I was personally bitten by the fact that delay disables interrupts (makes sense from one point- it makes for more accurate delay timing), which means you can miss receiving some bytes from serial port. Also, almost universal lack of low power mode support excludes the use in some contexts (very low power battery powered devices). The default behaviour of restarting when USB serial port is opened (can be worked around by disabling DTR toggling when opening serial port, but not supported everywhere). Production won't like that there are no guarantee that the Arduino board you'll be able to buy in 5 years will be exactly the same as now (oh, we changed the USB-serial from FTDI to some other, and now the PC software doesn't auto-detect the correct serial port).
- 4gotunameagain 6y agoTypically flight hardware that goes up there is characterized completely. It is not unusual to use decade old GCC versions because their behaviour is completely understood in-house, and all the required functionality is coded from scratch rather than importing a library from github. The restrictions (power/computational power) are very high and reliability is the major concern for this kind of systems, making development patterns like that absolutely necessary. Arduino is fine for production if you are doing something (relatively) simple terrestrially, but space is a totally different beast.
- netsectoday 6y agoAfter spending time in the Arduino community; it becomes apparent very quickly that hardware and embedded people have a real issue with the Arduino platform. Most of it is ego flexing, and coming from the field of software engineering; we are trained these days to recognize and squash this behavior, but it seems to be alive and well with those working in the embedded field. Honestly, after years of working with all types of software on all types of platforms, the Arduino platform is pretty nice. It gets you up and running very quickly and anyone with basic programming knowledge can start creating electromechanical devices, while it also allows you to write more advanced software (with essentially C++). All of that being said: there are a ton of garbage 3rd-party libraries released for the Arduino, with garbage code, no documentation, no tests, no support, and gnarly tutorials. So I see where some resentment comes from, but once again; it's unacceptable ego flexing.
- non-entity 6y agoA quote regarding ardunio from tweet I saw from an EE a couple months ago > As an engineer, I feel insulted. I got the impression that it's mainly CS students for which basic circuit theory is beneath them. Not neccesarily endorsing or denouncing the view, but I found it interesting.
- netsectoday 6y agoThat same sentiment is found across the Arduino forums. There's a fine-line between receiving a comprehensive and correct answer to your EE/software questions vs. getting snidely berated for being an idiot.
- detaro 6y agoYeah, there are weird currents of "we had to learn that properly, so everyone else should". Totally ignoring that the nuance just doesn't always matter, and not everybody doing things wants to get into it deep enough for it to matter, and tools enabling them to do so are not automatically bad. (Software has the same issue in similar cases)
- 6y ago
- pjc50 6y ago> "real-embedded-devs-don't-use-Arduino" It's absolutely that. So people can achieve results with less effort and hardship. This is a good thing for the users but bad for the gatekeepers. Yes, the arduino user will have achieved results without understanding as much, or having as much formal training. For some reason that upsets those who have.
- amartology 6y ago"Yes, the arduino user will have achieved results" The problem is that good engineer normally spends 20% of the time on designing how the circuit works and 80% on designing what happens when something goes wrong. Many guys who started from Arduino tend to ignore the second part, that's why "proper engineers" dislike them. Arduino guys tend to devalue many aspects of engineering. And the worst part is that they lead many others (like employers or investors) to do so too.
- taneq 6y agoSo you're saying the hate comes from Arduino being the Wordpress of embedded design?
- amartology 6y agoI'm not 100% sure (and I don't actually hate Arduino), but I see it this way. Whenever the entrance barrier becomes much lower, quality and reliability standards also fall, and that's what causes disgust of "real hardcore guys".
- amartology 6y agoThat was for sure "ego flexing", or, I'd say trying to be sarcastic about guys who are unwell with Arduino. Arduino itself is completely fine, but hardcore hardware guys aren't always happy with amateur who tend to use Arduino everywhere, without taking actual needs of the task into consideration. Like, Arduino shouldn't normally be used in space as it's components are not radhard and are not certified for such uses.