I'm just going to be the one who says it: Arduino has always been a money-grab and a grift.
Open-source was just marketing for Arduino, and it worked for them when they were selling an undifferentiated dev kit for 10x the price it should actually have had (and at least a 30x markup on their actual manufacturing cost). They then load down those dev kits with software that is so inefficient that it upsells people on huge chips for problems that could otherwise be solved with a 10-cent chip. On top of that, the initial Arduino software was pretty much stolen from a grad student, who got no credit, and using open source also gave them free contributions from motivated users.
Fast forward to now and they have a "community" and are trying to start selling more complicated dev kits with the same ridiculous markup, and have found themselves unable to compete with Chinese companies that charge a fair price. The end result, killing the openness, is inevitable.
I think you're underrating what Arduino was in its time. They weren't selling an undifferentiated dev kit. The defining feature of the Arduino was that it:
* Plugged into USB (The Decimila, Duelmilnova, and the Uno)
* Had a software stack that worked on Mac, Windows, and Linux
* Had a software library that allowed people to drop in features to accomplish goals.
Arduino was a bad fit for an electrical engineer making a product, but it was an amazing fit for hobbyists and artists trying make a one-off project or presentation. This is the thing that the EE evangelists and gatekeepers could never seem to grok: No one* cares if it's taking 4 cycles or 120 cycles to blink the LED, or turn the servo. Sure it starts to matter if you're doing a dozen other things simultaneously, but most people just wanted the LED to blink.
Arduino was a miracle when it showed up. No toolchain to figure out because it was all just in the package. No bitmask decoding. No being rejected because you're not running Windows. The C Superset was surprisingly readable code for people who didn't have a programming background.
It is shameful the way that Arduino was pulled out of Wiring, without real credit and acknowledgement.
*Yes, there's the subset of people who were chasing efficiency, or who were interested in doing things "The right way™", but this was never the target audience for Arduino.
Living long enough to be seen as the villain. As you point out, Arduino did a lot of original work in integrating the toolchain that made it really simple to make something. They then stagnated and competing products shot past them (and that artist market).
The team was a group of academics who weren’t necessarily ready to build a business, but instead of letting it go when the market, they’ve made some desperate decisions. The industrial/commercial markets that a lot of people here use microcontroller boards for are well catered by much cheaper boards, and Arduino should’ve stuck to developing their original creative market with better tools.
> The team was a group of academics who weren’t necessarily ready to build a business, but instead of letting it go when the market, they’ve made some desperate decisions. The industrial/commercial markets that a lot of people here use microcontroller boards for are well catered by much cheaper boards, and Arduino should’ve stuck to developing their original creative market with better tools.
and do what? That market isn't used to pay for the tools (hell, they made "good enough" one that's free), and their boards are too pricy even for some one-offs
From donations like a normal nonprofit. They probably won't be able to pay the 7-figure salaries they were used to from the grift they had before, though.
I don't think that's completely right, although I'm open to parts of it. Arduino was always low-end relatively uninteresting hardware sold at a significant markup, but specifically made into a happy path that new users could easily work with, which I think actually did justify the markup. The value was never in the chips, the value was in selling premade boards that came with power regulators and serial interfaces built-in, that you could buy, plug in to your USB port (or power+serial really early on), open the Arduino IDE, follow the provided tutorials, and it worked. That said, I don't have enough perspective/knowledge to comment on their ethics, and I wouldn't be surprised either way on them actually having believed in open source or just being opportunistic.
OTOH, I would easily agree that the market moved under them, because today others in the space can provide the same easy on-ramp at a lower cost with better hardware, which is leaving them flailing a bit.
I think Arduino really struggles to justify its own existence in a world where RPi exists. Like, sure, there are lots of legitimate applications for microcontrollers where you need realtime or interrupts or signal generating timers or instant boot or ultra low power, but few of the common use cases (or libraries) for Arduino really corner any of that— most of it that I've seen is stuff that would make way more sense as a Python script running on a tiny Linux computer than as a microcontroller firmware.
Eh, if you're doing anything in the background on an RPi, timing intensive operations like I2C or SPI get really buggy. Years ago, I had to add a retry function to basic, 3-byte I2C transactions on an RPi, because even something as simple as that was still getting bumped pretty often. These days, I'm more likely to just use a microcontroller for all of those operations, and then use an FTDI cable to let the micocontroller report its results up to the RPi. That's always been easier than setting up something like DMA on an RPi.
Granted, I write microcontroller firmware for a living these days, but I still use RPis and Arduinos for proof-of-concept work because of the simplicity of the toolchains.
I thought Linux had better support for realtime workloads these days? I mean, yes, I would still prefer a dedicated micro, but if you need a Real Computer in the mix it might be possible to get better results out of it.
I mean, yes and no. But it also gets into "who is it for?" and while you can do things better, eventually you reach a point where its easier to just do it the right way.
I mean to say, at the point where the I2C library user has to seriously think about patching their kernel, the strengths of the RPi as an out-of-the-box embedded computer are pretty much negated. If you have to do actual embedded engineering things, then the RPi becomes just another SoC dev board.
Probably, but if you think about the final 20% of the workload in optimizing, I think it's safe to say one will be immensely more grueling than the other just by the nature of it.
Not to say that your original comment didn't have merit; the beauty of hobby projects is that you can completely skip the last 20%.
I disagree. There are numerous advantages to using microcontrollers and one of them is not having a full operating system.
A full OS brings a whole lot of software complexity and places greater demands on the processor, which means greater power draw, greater hardware expense (because you need a beefier system just to run the OS) and reduced reliability.
There is certainly a role for systems like a R-Pi that have a complete OS on them, but there is also a real place for lighter systems.
> greater hardware expense (because you need a beefier system just to run the OS) and reduced reliability.
Unlikely. The marginal cost is so low that a "beefier" but standard processor that's widely used is likely to be cheaper than a lower-powered but less-popular processor. And using a standard system that everyone else does is more likely to have the bugs ironed out.
I don't like it, but realistically unless you really need low power it's cheaper and simpler to get an extremely standard off-the-shelf RPi like system and slap whatever on it. The savings you can shave off by going smaller just aren't worth the effort.
It entirely depends on the project. For about 2/3rds of the ones that I do, I don't really need much grunt. A 50 cent microcontroller can do the job as well (sometimes better) as a full R-Pi, but at a fraction of the cost ("cost" including power usage, size, etc.). I frequently see projects using a hefty system like an R-Pi that could have been done equally well with a tiny microcontroller.
And having a full OS running means that more code is running. More code means more potential points of failure.
Of course, if your project is something that needs a larger processor or more advanced software, then what you say can be very true.
Also, if your skillset is more in line with programming larger systems than smaller ones, the development time will be shorter for you by going with a full OS.
IMO, Linux is unusually complicated to configure for unattended use cases, despite being a server OS. Arduino just goes into user code shortly after powerup, a la AUTOEXEC.BAT, no systemd-jumpscared shenanigans. There's just too much of those.
There ought to be something in between Wiring and Linux. The problem is that the good minimal real-time operating systems are not free. QNX, VXworks, etc. are all expensive.
Fair, but there are ready-to-go Linux configurations for RPi that assume you'll do "normal" things like talk to USB devices and the network.
Additionally, Linux has available a multitude of very rich in-band debugging and logging capabilities that help you understand and mitigate common problems— whereas a bad interrupt or peripheral configuration on some microcontroller could have you banging your head again a GDB frontend or shelling out thousands for a tool like Tracealyzer to tell you what on earth is going on with it.
That sounds like a good usecase for micropython. In any event, I disagree; microcontrollers are easier to use than having to admin an entire GNU/Linux box just to twiddle some pins.
I remember the days having to build my devkits with power regulators and having to flash them with separate programmers. The Arduino ecosystem opened up hardware to many designers, makers and tinkerer's. sure thing, the real cost of the boards is low. but the value is tremendous.
Maybe this shows the value of packaging? What Arduino offered wasn't just a bunch of commodity chips, but a guided educational experience. The same way that Lego Mindstorms is more approachable than a tub of plastic powder and some copper wire, having someone do the design, sourcing, integration, testing, documentation, etc. is worth a lot.
I wouldn't even know where to start with a pile of undifferentiated chips. Arduino lets you spend a bit of money (relatively cheap when it comes to hobbies) to learn the ropes from vetted and curated parts that are made to work together, including the software.
At some point, yes, maybe you know enough to be able to evaluate the Chinese knockoffs on your own and avoid pitfalls and counterfeits, and find the correct vendors who offer an awesome product at a good price. But it takes a while to get there. I can hardly find reliable power stations and USB PD chargers these days. I wouldn't even know how to start to evaluate an entire dev kit.
If anything it seems like this is the fate of intellectual property in the age of global capitalism. Whatever we design, whether it's software or chips or fighter jets or solar panels or cars will be copied and produced much more cheaply there because their costs of everything is much lower. And actually, relative to most of the world population, it's probably the USA that is overpriced. We have our insane quality of life to keep up with.
But that's hardly the fault of any one company. As we move more and more into services, domestic manufacturing just can't keep pace. All those reshoring efforts don't really seem to be making an impact. Most things I see are still Chinese, especially at the price points I can afford.
I don't know that "killing the openness" is the inevitable result. Closed designs get stolen and copied too. Getting bought out and eaten alive by Chinese companies the same way Hollywood and video gaming have been going seems the more likely route?
> Whatever we design, whether it's software or chips or fighter jets or solar panels or cars will be copied and produced much more cheaply there because their costs of everything is much lower.
The Arduino was a copy itself, and no credit was ever given to the original grad student who came up with it and did almost all of the work to make it into the system that was released.
> no credit was ever given to the original grad studen
Not enough credit perhaps, but this is untrue as Arduino does credit Wiring, the grad student's project. Probably worth noting that one of his thesis supervisors was one of the founders of Arduino.
> unable to compete with Chinese companies that charge a fair price
That's debatable. I don't think China has the same labour laws or costs of running a business. Maybe it's fair from their perspective, but we really should have tariffs on such products so that they would cost as much as if manufactured in the west and perhaps use that money to help domestic businesses grow.
I can buy the chips and pay myself living wage and still solder Arduino nano for cheaper than they sell it and I don't live in 3rd world country. That's the amount of profit they make on one.
It's not the case of just chinese labour being cheaper, they earn massive profits on one and when you can have 5 or even 10 boards made for cost of one arduino it just becomes silly.
Open-source was just marketing for Arduino, and it worked for them when they were selling an undifferentiated dev kit for 10x the price it should actually have had (and at least a 30x markup on their actual manufacturing cost). They then load down those dev kits with software that is so inefficient that it upsells people on huge chips for problems that could otherwise be solved with a 10-cent chip. On top of that, the initial Arduino software was pretty much stolen from a grad student, who got no credit, and using open source also gave them free contributions from motivated users.
Fast forward to now and they have a "community" and are trying to start selling more complicated dev kits with the same ridiculous markup, and have found themselves unable to compete with Chinese companies that charge a fair price. The end result, killing the openness, is inevitable.