This is a reminder - never sell out your baby unless you're willing to see it squeezed for every penny, community be damned.
I’m not sure what the value proposition is overall, though. The IDE, perhaps? I never particularly saw the draw, but it clearly met the needs of some real market niche.
But the only value of Arduino is the community (and the compile-time layer of syntactic sugar, if you like it). Otherwise, it's just an expensive breakout board for a cheap chip you can buy from Mouser or DigiKey. If you know how to solder, you don't really need the board in the first place.
MCUs are lower power, have less overhead, and can perform hard real-time tasks. Most of what Arduino focuses on are MCUs. The equivalent is the Raspberry Pi Pico.
In my experience, the key thing is the library ecosystem for the C++ runtime environment. There are a large number of Arduino and third-party high-level libraries provided through their package management system that make it really easy to use sensors and other hardware without needing to write intermediate level code that uses SPI or I2C. And it all integrates and works together. The Pico C/C++ SDK is lower level and doesn’t have a good library / package management story, so you have to read vendor data sheets to figure out how to communicate with hardware and then write your own libraries.
It’s much more common for less experienced users to use MicroPython. It has a package management and library ecosystem. But it’s also harder to write anything of any complexity that fits within the small RAM available without calling gc.collect() in every other line.
https://arduinohistory.github.io
https://hackaday.com/2016/03/04/wiring-was-arduino-before-ar...
It's true that you can (and always could) use avr-gcc and libc, but the core sale was what makes it not this.
The "locked in"/captured API and IDE were directly extensions of a language and IDE called Processing.
Processing overlaid an art-focussed layer on top of Java, providing a simpler API, and an IDE with just two buttons.
Arduino was based on this - the same IDE format, similar API conventions (just on top of C++), precisely to allow these same artists to move into physical installations and art.
Arduino was not designed initially to be so general, it was tool written by and for this specific group of people, so has opinions and handrails that limit the space to provide the same affordances as Processing specifically.
Acquisitions tend to be done in a haze of dream-state thinking. Maybe that's part of it.
> This means Qualcomm could potentially assert patents against your projects if you built them using Arduino tools, Arduino examples, or Arduino-compatible hardware.
Yep, the complete opposite of "open".
I have dozens of Arduinos that I will never use.
With a similarly priced (sometimes cheaper) platform like the amazing rp2040 / rp2350 which is roughly 100 times more powerful, I have no idea what the niche is for them any more.
The way they dropped the ball with their IDE is amazing. It still looks and feels like something that was rejected during beta testing in 1993
Arduino is following roughly the same trajectory as BlackBerry, with the current phase being "rapidly fading into obscurity"
Most vendor lock-in isn't "it's impossible to do the thing" but "it's hard enough to do the thing any other way, so this is effectively the only practical way to do it"
Not all platforms give you the right to do this. For example, if you buy a dev board from STM - it's only licensed for research and development. Also, because you might want to continue to sell the same thing for years, and the board designs were open-sourced, you could buy the same part for years and years. So you can continue to sell your CNC kit that uses an Mega 2560 without worrying about Arduino coming after you or that they'd discontinue that part.
There are meaningful disadvantages to replacing an Arduino with even the Pi Zero.
Yeah, makers will move to Raspberry Pi products for the ecosystem and documentation, but it will be to the RP2040/2350 products.
But also the ESP32 series, particularly Adafruit's kit.
https://blog.arduino.cc/2025/11/21/the-arduino-terms-of-serv...
The main feature of classic Arduino boards has always been a thin abstraction layer on bare metal. RPi is not that at all.
(As mentioned by the other commenter, I'm referring to their Linux boards, not the Pico)
Now, I imagine the bias pushing everyone to learn on arduino is even more intense? Who out there is programming these chips in pure C using open source compilers and bootloaders?
Edit: Of course there's other platforms like Esp32; teensy; seed. But I've only programmed Esp32s using the arduino dev environment. Are there other good ways of doing it?
With the exception of a handful of applications for their higher-end boards, I would think most of this flotilla of ships has already sailed, just on a cost basis?
Especially lately. So much more choice.
I put together a simple setup to skip the arduino ide on an AVR design, but still be able to use their serial.println and other utilities. You can use it side by side with manual register masks for enabling IO.
But take a room full of kids and get them to write a program that blinks an LED, or drive a simple 'robot' forward, and it's awesome. Easy to use. I've never burned out a board (even driving considerable current through them). Things are tolerably well marked. Lots of teaching tools. Lots of different suppliers of easy to connect motors, servos, lights, sensors, etc.
For the same reason, if you are not an embedded engineer, but need a simple micro-controller to turn something on an off like a heater in a chicken coop, it's fantastic. And if you want, buy the $5 knock-off Uno. It should be the same, except that it doesn't support the (now defunct) foundation.
> 1.1 The Site is part of the platform developed and managed by Arduino, which allows users to take part in the discussions on the Arduino forum, the Arduino blog, the Arduino User Group, the Arduino Discord channel, and the Arduino Project Hub, and to access the Arduino main website, subsites, Arduino Cloud, Arduino Courses, Arduino Certifications, Arduino Docs, the Arduino EDU kit sites to release works within the Contributor License Agreement program, and to further develop the Arduino open source ecosystem (collectively, the “Platform”). The use of the Site, the Platform, and the Services is governed by these Terms including the other documents and policies made available on the Platform by Arduino.Certifications, Arduino Docs, the Arduino EDU kit sites to release works within the Contributor License Agreement program, and to further develop the Arduino open source ecosystem (collectively, the “Platform”). The use of the Site, the Platform, and the Services is governed by these Terms including the other documents and policies made available on the Platform by Arduino.
But most people know them for their Linux boards. And that's what OC was talking about.
If I were putting teaching materials today - I would pick something like Micro python. The down side is it isn't as "canned" a solution, meaning there might be something new to figure out every so often. Which means you spend more time helping people trouble shoot why something isn't working, instead of teaching something useful. On the up side, Python is pretty much the introductory language of choice, today. With lots of available materials.
That's not to say Arduino was perfect. Far from it. Just easier to do, and more consistent over time, than other options.
In this case, though, I disagree that there was no competition. Ecosystems like Arduino are real threats to large incumbents in adjacent sectors. If all the tooling and products necessary to embedded development end up being easily accessible, expensive options like Qualcomm's become effectively commoditized. Qualcomm basically acted like Bill Gates buying Compu-Global-Hyper-Mega-Net https://simpsons.fandom.com/wiki/Compu-Global-Hyper-Mega-Net
I'm working on an ESP32 project right now, and Espressif provides shrink-wrapped toolchains for C/++ and Rust. The latter even comes with a little tool called 'espup' that cleanly installs their fork of Rust and LLVM (for Xtensa support) - I was able to compile and run a blinky in less than half an hour.
See https://docs.espressif.com/projects/rust/book/ - it also wasn't too hard for me to whip up a Nix Flake with the same toolchain, if that's your jam.
That list in 1.1 isn’t an exhaustive definition which is IMO, one of the causes of the fire. Again, "IMO", the list is an illustrative set of examples as there is no limiting language like "solely" or "only" and the clause even mixes services and purposes, which again signals it’s descriptive rather than definitive.
Saying that, whilst the list inside the definition of "the Platform" is illustrative, the category it defines seems scoped to Arduino-hosted online properties which could be argued is the intent. But its an argument alas...
Either way, ambiguous policy is being communicated by these T+C updates and that is a real problem.
Well you can use PlatformIO/VSCode and the ESP-IDF.
If you're ok with the Arduino 2 framework, then you can use PlatformIO as well. Unfortunately Arduino 3 support isn't there yet so a lot of libraries like HomeSpan won't work on PlatformIO at the moment.
https://github.com/platformio/platform-espressif32/issues/12...
The Arduino HAL and the overall comfort of the Arduino IDE are genuinely valuable. I didn’t have to learn new flashing tools or a new debugging toolchain just to light a few LEDs, read some buttons, and emulate keypresses on a PC. The learning curve was basically zero.
I’ve worked with embedded systems before, and this level of simplicity is incredibly useful for people who just want to ship simple solutions to simple problems without fighting through vendor-specific, arcane tooling.
I've got some RP2350s since then with Micropython, now those might be even better for getting stuff done (without network or extreme low power needs)
I'd been using the Arduino.org version which had mostly driven me to use PlatformIO and ESPHome.
https://www.arduino.cc/en/software/#ide
Unfortunately, but perhaps fortuitously, I needed to use a Library only compatible with Arduino 3.0.0 which is incompatible with PlatformIO. That lead me to discover the Arduino.cc IDE which, while not on par with VSCode, is dramatically better than the Arduino.org IDE.
I'm not saying the person(s) who wrote that is(are) lying. It's just that it doesn't seem to come from someone with authority to make decisions like that or even from someone well informed about the global strategy of the corporation.
To me "Arduino Team" is just a bunch of hopeful or even naive employees.
License: GNU Affero General Public License v3.0
Who does the fork? Paging e.g. Adafruit and Sparkfun.
I wouldn't be where I am if it wasn't for Arduino. Thank you to the OSH community for making these boards open to all back then.
The gcc-arm-none-eabi toolchain is pretty much what you are asking for at least for ARM targets. You can literally use a text editor and gcc-arm-none-eabi, that's it.
And if you want something really bare bones avr-gcc still targets the whole atmel family including those ATtiny chips which are also a lot of fun.
I don't know the state of it nowadays but 'Mbed' is probably worth looking into. The project had _a_lot_ of Middleware libraries to abstract hardware, a few levels below, makes embedded development a little less datasheet dependent, specially if you are just hacking something as a hobbyist.
Why do you speak for everyone? I use my 2009 Arduino when I need something quick and simple.
I started playing around with ATmega/ATtiny around 2008, and from what I remember, there were plenty of tutorials and examples out there.
I remember that AVR and PIC were two popular options among hobbyists at that time, but I started with AVR since it was easier to get the programmer, and it had a lot better open source tooling.
You can do gpio, pwm etc from a linux pi but the hardware is worse at it and you'll be fighting against the system quite a bit. It's a lot of boring complexity to be allowed to do something simple; and the next update might break it.
If I need a linux system AND hardware interfacing, I'll usually use a regular pi + a pico for the hardware stuff and connect them via serial or something
> It's just that it doesn't seem to come from someone with authority to make decisions like that or even from someone well informed about the global strategy of the corporation.
Arduino is owned by Qualcomm, Qualcomm is known for being litigious. Whoever wrote that note, unless it was the CEO of Qualcomm, doesn't actually call the shots and if tomorrow the directive comes from above to sue makers they will have to comply.
They just want something that works, and ideally to keep using the same thing they've always used. They know what Arduino is, as long as it does the job they aren't interested in researching alternatives. They don't want to get involved in adapting someone's instructions for a different pin layout, or risk that anything they've done up to now stops working.
Yes, we all know it's a massively out of date platform easily outclassed by much cheaper and more flexible solutions, and if you must use the Arduino IDE it can build code for all sorts of boards. But for non-technical people by far the most important factor is to stick with something safe and known.
It's maybe better to look at incentives, something that blog posts can help illustrate. Does Qualcomm want to mine the maker community for IP or get them to adopt its technology?
Specific AVR Arduino annoyances I remember:
* Strings loaded to RAM instead of program memory, so you use up all your RAM if you have a lot of text. Easily fixed with a macro
* serial.println blocks, so your whole program has to stop and wait for the string to be transmitted. Easily fixed with a buffer and ISR
* Floating-point used everywhere, because fuck you
* No printf(). It's in avr-libc, and it's easy plumbed in, but the first C/C++ function that everybody ever learned to use was somehow too complicated or something.
* A hacked-together preprocessor that concatenated everything, which meant you could only have your includes in one place, thus breaking perfectly good, portable code.
I think they ultimately did a disservice to novice programmers by giving them something that was almost a standard C++ environment, but just not quite.
I semi-attribute this to my lack of willpower but perhaps arduino also isn't as tinker-epic as I thought it may be.
Not a lawyer obviously - but lets see how this plays out.
I don't think anyone was arguing they cared about Atmel vs ARM. In fact, the point of Arduino is to make that not even something a user would need to know.
The argument is Linux vs Bare metal Arduino are vastly different user experiences and complexities.
Second, there's no real difficulty barrier, not anymore. There are point-and-click tools, free integrated IDEs, cheap programming dongles, etc. There are more tutorials for Arduino than the underlying chip, and I'm not saying that doesn't matter - but it boils down to the community, not the hardware.
Indie devs who need testable builds might be a smaller market than tinkerers, but they're there.
It's a pain anticipating money flow into the future in more ways than one.
Everyone using Arduino, for a start.
Modern AVRs have program memory mapped into the RAM address space. The GCC linker scripts for the parts that support this put strings into .rodata within that memory region, obviating the need for special macros to retrieve them. However, you won't find this on most of the usual suspects in the Arduino AVR ecosystem.
How so? It uses bog standard avr-gcc and avrdude. There is nothing stopping you from using those yourself.
What's hard about it?
Nonetheless, this looks like another step toward robbing everyone of something useful and reducing our options... not to mention encouraging others to do the same thing. Depressing.
Would you mind elaborating more? I don't quite understand what you mean.
That said, I definitely have some severe reservations about the path that Arduino is on, especially given Qualcomm's history. Old aphorisms like "The leopard doesn't change its spots", and "the apple doesn't fall far from the tree" weigh heavily in mind right now. As does the parable about the scorpion and the frog.
To a point. Public statements do carry some legal weight, due to the principle of "Promissory Estoppel"[1]. There are limits to that though, but it's not nothing.
[1]: https://en.wikipedia.org/wiki/Estoppel#Promissory_estoppel
"But Arduino isn’t SaaS. It’s the foundation of the maker ecosystem." is a giveaway, but the whole set of paragraphs of setup before that is chatgpt's style