Adafruit: Arduino’s Rules Are ‘incompatible with Open Source’
Key topics
The controversy surrounding Arduino's new rules has sparked a heated debate, with Adafruit claiming they're "incompatible with open source." Commenters are divided, with some pointing out that Arduino's shift towards proprietary SaaS and closed-source "pro" boards is a long-standing issue, while others argue that Adafruit is unfairly criticizing a competitor. As the discussion unfolds, a surprising tangent emerges: a chorus of IT professionals sharing their own struggles with VMware's licensing fees and exploring alternatives like Proxmox, with some urging each other to "ask for forgiveness not permission" when switching to new solutions. The thread feels relevant now as it highlights the ongoing tensions between open-source ideals and the commercial realities of the tech industry.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
11h
Peak period
95
12-18h
Avg / period
20
Based on 160 loaded comments
Key moments
- 01Story posted
Dec 14, 2025 at 1:18 PM EST
26 days ago
Step 01 - 02First comment
Dec 15, 2025 at 12:13 AM EST
11h after posting
Step 02 - 03Peak activity
95 comments in 12-18h
Hottest window of the conversation
Step 03 - 04Latest activity
Dec 17, 2025 at 3:58 PM EST
23 days ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Running a proprietary SaaS doesn't really show commitment to open source.
And btw, the "reverse engineering" close was already here too. You can check the archive.org of Jan 2025, months before the Qualcomm acquisition.
https://web.archive.org/web/20250120145427/https://www.ardui...
So this citation, is basically fake news and FUD. The *now* part is false and this hide the fact that the "platform" is only the SaaS.
> Phillip Torrone had warned [...] Arduino’s users were now “explicitly forbidden from reverse engineering or even attempting to understand how the platform works unless Arduino gives permission.”
They released their first closed source "pro" boards in 2021
https://blog.adafruit.com/2023/07/12/when-open-becomes-opaqu...
I will say I'd eventually love to have my day job environment on Proxmox but it isn't quite ready to be there today. No shade to anyone who is able to be there by any means, but I think it's fair to say hypervisors aren't something you want to choose on vibes alone.
We need to get off of VMWare as the min license for us is now $15k pre year… from $3k. But the MSP knows the support for ProxMox isn’t there, and they have SLA contracts to uphold.
I’m going to have to HyperV which I expect to have the same issues as VMWare soon enough/someday.
If you go to Hyper-V this year, leave yourself the flexibility to move away from it in a couple years. Choose backup solutions and storage solutions which enable flexibility.
We back up VM’s with Veeam, but we don’t back up the content outside of the VM presence if that makes any sense.
They’re effectively telling me we go to hypervisor this year before Feb for VMWare billing reasons. And my hope is that by the time I get tired of HyperV, or we need to move that a solution exists to convert to next.
It’s either that, or they’re trying to sell me on scale computing VM’s and their hardware.
The way a vendor answers this won't just help you avoid future lock in, it'll likely reveal a lot about a company's confidence in their product and their support team.
For hardware, I'd avoid going in on hypervisor platforms that need you to buy their specific hardware. Your standard Dell, HP, Lenovo servers can run almost anything, but if you buy a hyperconverged system you are going to get yourself locked in.
A big lesson I learned is: Make sure to divide up your storage pools enough! There's no easy way to gradually migrate if your storage array is one big VMware VMFS file system.
It sounds like Adafruit are just trying to sow some outrage here.
> Chief microcontroller rival Adafruit
Implying that Adafruit makes their own competing microcontrollers, which sure would have been news to me.
Edit: sees sibling posted at the same time. Well that would explain it.
This is different now that Arduino is Qualcomm-owned and ships Qualcomm silicon, of course.
As other pointed out, companies like Google demonstrate, how open source can be used in a rather aggressive commercial strategy. However, I think the good news is that that the open hardware stuff is not rocket science and maintenance hell at this point (without the new Qualcomm bits). I guess it is now for others to step up and make the ecosystem resilient. That is IMHO the power of open source in case it works.
Their real competitor is sparkfun, but I never heard them say anything to put them down.
Thanks you! Sad that HN gets ideologically captured in the same mob behavior instead of thinking logically and practically.
Don't know what Adafruit has a problem with, but the above is my problem.
Me too.
The logic to me is "how can they do that?". You don't need a cloud service to program a microcontroller and they can't force that upon you even if they'd want to since the arduino board is not an iPhone.
License future important libraries only for use via their cloud toolchain?
Stop contributing support to non-cloud toolchain and/or intentionally break it?
Slip more restrictive licensing into new easy to use features (like a vision service) that taint combined products?
Never underestimate a company's ability to pay lawyers to restrict freedom.
Most newer microcontrollers have secure key storage and can decrypt the code from flash as it runs so that would pretty well lock anyone out even if you could manage to access the flash memory.
This was evident to me when their original post "yada yada yada'd" over the details to make things in the agreement sound sinister.
Now contemplate open Android and Google Play Services.
Or even that they forbid to use different clients for YouTube
Ineffectively, thank God
If your target audience is school kids, you really can't go past the micro:bit and Makecode[3].
1. https://thonny.org
2. https://projects.raspberrypi.org/en/projects/getting-started...
3. https://makecode.microbit.org
As unbelievable as this sounds, Adafruit’s leadership has a record of doxing and harassing trans people on social media.
The harassment led to Adafruit’s Phil Torrone (mentioned in the article) getting suspended from Bluesky.
Unfortunately, it’s not isolated.
https://chaos.social/@North/115605819126197877
I probably missed some of the cross links but this is a mess.
Can you elaborate on "harassing trans people"? From these links at best I can guess at one of them being trans but I can't tell if that's related to the argument; who else is on that list?
This adds a little more context, but it still seems to be a complete nothingburger. It also looks like the user was harassing adafruit for not condemning the use of AI.
https://digipres.club/@discatte/115601133682447929
Conform conform conform.
You are either really bad at detecting humour or you actually agree with me but hate it being pointed out.
You also can't evaluate "HN" based on a couple downvotes on a comment in a buried thread. (I can't see what the score was but it's currently positive so I'm guessing a couple.)
(Disclosure: I know the Adafruit founder, but haven't discussed this matter with her.)
Why do you think it isn't?
Code is copyright without any licensing. The hardware is not licensed, I don't sign a license or agree to one when buying a car or microwave.
You can find edge cases, but the point is no licensing is actually required.
At the very least, you need some sort of user agreement to specify the things you can do with their content, otherwise you can't really do it because it's their content and you're not allowed to mess with it by default. (Like you said, code is copyrighted by default.) You also need to specify the things that are necessary by law because you are hosting that code and therefore in part responsible for it. You also don't want to make the user sign a new agreement every other week if you add some new feature that they need to agree to use, because the cost of all those legal documents is prohibitive, and it's also very bad UX.
Added to this the fact that lawyers are naturally very conservative as a profession (generally only doing things that have been proven successful, rather than avoiding things that have been proven unsuccessful), and it's easy to see why these sorts of agreements tend to be more expansive than they perhaps need to be, in order to ensure the company is fully protected.
It's also, as I understand it, the reason why law has so much of an emphasis on seemingly magic phrases that you copy and repeat in all sorts of different places. These are phrases that have already been tested and have a meaning that has been made clear in a court of law, so if you need to go to court to defend them, you can pull up the existing case law on the subject and rely on that, rather than having to analyse exactly what the new wording means. Hence why these T&C documents tend to have a lot of fairly standard phrases that don't obviously mean what you expect them to mean.
They are PCB brands. The microcontrollers are made by the usual manufacturers like ST, Renesas, Infineon...
But of course Arduino historically also didn't make the Atmel or Pico chips, so I can sort of see what they were going for.
Prototyping platforms have tiny markets, but lead to downstream sales. Many a company were brought down by more developer-friendly platforms ignoring the "tiny" userbase of people who want to do unconventional things.
Most IC vendors provide free samples and support because of this. That's a market size of close to zero -- electronic engineers -- but leads to a market size of "massive." I can get an application engineer to visit my office for free to help me develop if I want.
Arguably, iPhone and Android won by supporting the tiny market of developers, who went on to build an ecosystem of applications, some long-tail, and some unexpected successes.
And arguably, x86 won for the same reason.
Atmel had shipped 500 million AVR flash microcontrollers, due in large part to the ecosystem created by Arduino.
Balmer said "Developers! developers! developers!" Visual Studio was not a major revenue driver for Microsoft; what was developed in it was.
How do you know the 500 million sales is due to the Arduino ecosystem?
I used to work in embedded for 10+ years and in the 4 companies I worked at so far, none of the products ever featured AVR microcontrollers. The microcontroller of choice for production was always based on the feature/cost ratio, never on the "it's an Arduino".
AVR was super-developer-friendly well before the Arduino. It replaced the PIC for a lot of hobbyist projects.
To the points in the thread, on major product development, these things don't matter. On the long tail of smaller products, as well as on unexpected successes, they do.
Qualcomm doesn't even make small microcontrollers so they aren't going to win over that market by buying Arduino. Their first board post acquisition is a combination of a third party STM32 microcontroller with an expensive, heavyweight Linux SOC from Qualcomm.
A surprising amount of embedded SoCs target the Arduino IDE either as the main IDE, or one of the main ones. And for those the setup is still pretty easy for non technical users - "Download IDE, paste this into the boardmanager, compile the sketch, upload". That's the main reason I'm still using the Arduino IDE for stuff I publish and expect less technical people to use.
The problem with the IDE is that it doesn't offer a gradual path to more advanced usage. You're pretty much stuck with a single file main project. You can split off functionality into libraries, but the way library resolving works is way worse compared to "proper" build systems. There are projects to provide makefiles for Arduino projects, but it's a bit of a pain to set up - I use that for CI on some of my stuff, but it clearly is on the other end of difficulty scale.
And of course the editor is horrible - but thanks to file watching and automatic reloads that isn't much of an issue nowadasy.
This seems like an ideal component for the OSS community to handle and rally around. Then anyone can use the IDE of their choice, the compile-flash manager handles the rest.
> The problem with the IDE is that it doesn't offer a gradual path to more advanced usage. You're pretty much stuck with a single file main project. You can split off functionality into libraries, but the way library resolving works is way worse compared to "proper" build systems. There are projects to provide makefiles for Arduino projects, but it's a bit of a pain to set up - I use that for CI on some of my stuff, but it clearly is on the other end of difficulty scale.
It actually isn't all that hard. I recently did exactly that and it took like a week, most of which was spent on understanding what the Arduino IDE does with strace. Initially I assumed the Arduino IDE does way more stuff then it actually does. The makefile projects are too complicated, because they try to abstract over the installation and project. Instead I used Autotools which is way easier and simpler. It also breaks less, because these makefile projects tend to hardcode paths.
To save others the work: All you need to do is populate CPPFLAGS, CFLAGS, LDFLAGS, ... with the information from platform.txt and boards.txt . Then tell your build system to use the cross-compiler toolchain from your OS. Take care to only use the exact uploader program version that the Arduino IDE also uses, I have been burned by using the latest version, which bricked my board (i.e. you can't upload anything to fix it and need to use a second board to reflash the bootloader). This information is in the package_index.json file. Granted this is annoying to work with using fulltext search, you would have a much saner experience actually using the JSON format, but it still works.
> You're pretty much stuck with a single file main project.
You can have multiple files just fine, this is actually the reason why the Arduino IDE defaults to having this project directory. The Arduino IDE just assumes all files below that are things to compile. You need to remember to not name the other files with .ino, but .cpp, .c and .h, otherwise you end up with multiple main functions. An .ino file is just a .cpp file that gets preprocessed with a main function template.
> And of course the editor is horrible
You can tell the Arduino IDE to use another editor, which is what I did when I used it.
The process of getting a binary onto the board is just dragging a file, and on linux at least you can script it with picotool
I think you're missing the point of what made arduino so popular. It's not the HW itself, it's that you can plug in whatever display, sensor or motor driver, and there's ready made templates that gets you running immediately, without you havin to know anything about HW, SW. Lack of dual cores or "fun IO coprocessor" whatever that is, was never an issue.
Are they more in number and easier to use than the Arduino libraries?
>If anything, with the drag-n-drop flashing it is even easier to work with than an Arduino.
Why do you think the Arduino is more difficult than "drag-n-drop flashing"?
It's not either/or, beyond what's in the native SDK RP2 boards also benefit from the Arduino ecosystem via the excellent and well maintained https://github.com/earlephilhower/arduino-pico
I haven't done a direct comparison, but considering that the hobbyist ecosystem (which is the main source of those libs) is shifting over, it is just a matter of time.
> Why do you think the Arduino is more difficult than "drag-n-drop flashing" by comparison?
Because you need to install an IDE and mess around with things like serial drivers - and it gets a lot more complicated if you ever have to flash a bootloader. It's not hard, but it's definitely not as trivial as the RP2xxx's drag-n-drop.
Look at how Ben Eater built and set up the SIDKPico to serve as a SID audio chip in his 8 bit breadboard computer here: https://www.youtube.com/watch?v=nooPmXxO6K0
I recently started programming Arduino for profit and you need to do exactly that, because the libraries range from somewhat buggy to completely broken. They so often just write into random other registers and if it works it is only do to the chip already working without any configuration and the library not breaking things too badly.
> szundi
> If you go mainstream with your requirements, you don’t step on these though
Absolutely not. I am talking about things like the example in the README, which actually doesn't do anything, because they forgot the shift to make it write into the right field. Or they added "support" in 2012 for the only chip which is still sold, but forgot to update the register addresses, so now you have code for a newer chip, which uses the register addresses of the old chip. This does not work with either chip. And this is all with the libraries "officially" "provided" by Arduino.
And before long, you'll find yourself reading datasheets first and doing your utmost to avoid the "ready made templates"
They are great for basic hobbyist projects, but they just can't compare to something like an STM32 for more complicated applications.
They are a pleasure to work with and I think that they are great MCUs, but every time I try to use them for nontrivial applications I end up being disappointed.
> nontrivial applications
Out of curiosity, where do you find that you’re hitting the limits of what it can handle?
Only having two UARTs can be limiting - and PIO is a no-go if you want offloaded parity checking and flow control. The PIO doesn't have an easy external clock input. No CAN or Ethernet makes usage in larger systems tricky. There's no USB Type-C comms support. Its ADC is anemic (only 4 channels, with 36 io pins?). There are no analog comparators. It doesn't have capacitive touch sensing. There's no EEPROM.
None of them are direct dealbreakers and you can work around most of them using external hardware - but why would you want to do so if you could also grab a MCU which has it fully integrated already?
is 2.5ns (https://github.com/gusmanb/logicanalyzer) to 3.3ns (https://github.com/schlae/pico-dram-tester) resolution not enough for you?
On a STM32 you can just set up the timer and forget about it until you get a "hey, we saw a pulse at cycle 1234" interrupt. The two are not the same.
My argument wasn't "this is completely impossible", but "this is needlessly complicated".
What Pico/RP2040 projects do instead is use a PIO state machine clocked from the system clock to deterministically timestamp edges (often DMA’d out). It avoids ISR latency and gives cycle-accurate edge timing relative to the MCU clock. It’s not a built-in capture peripheral, but it achieves the same practical result.
If you want a drop-in hardware capture block with filtering and prescalers, STM32 is the better choice. RP2040 trades fixed peripherals for a programmable timing fabric.
When I’ve compared to other dual-core SoCs with programmable IO, like NXP with FlexIO (~€11) or ESP32 chips with RMT (~€1) they are much more expensive than the RP2350.. is there a selection of programmable IO chips I’m missing?
Now the old SAM3 chip in the Arudino Due is a different beast. Atmel restarted production and priced it at $9/ea. For 9k. Ouch.
Sure, they are great if you want to implement some obscure-yet-simple protocol, but in practice everyone is using the same handful of protocols everywhere.
Considering its limitations, betting on the PIO for crucial functionality is a huge risk for a company. If Raspberry Pi doesn't provide a well-tested library implementing the protocol I want (and I don't think they do this yet), I wouldn't want to bet on it.
I think they are an absolutely amazing concept in theory, but in practice it is mostly a disappointment for anything other than high-speed data output.
It's reasonably common in the home automation space. A fair few low volume (but still commercial nevertheless) products are built around ESP32 chips now because they started with ESPHome or NodeMCU. The biggest energy provider in the UK (Octopus) even have a smart meter interface built on the ESP32.
I'm asking because used Arduino ide to program STM32L011 and it would run for months or even years.
Arduino took over for 3 reasons: a thoughtful and relatively low cost (at the time) development board that included easy one-click flashing, a dead-simple cross-platform packaging of the avr-gcc toolchain, and a simple HAL that enabled libraries to flourish.
Only the first item, and a bit of the second), is really outdated at this point (with clones and ESP32 taking over the predominant hardware) but the framework is still extremely prominent and active even if many don’t realize it. ESPHome for example still will generally use the Arduino HAL/Framework enabling a wide library ecosystem, even though it’s using platformio under the hood for the toolchain.
Even folks who “don’t use Arduino any more” and use platformio instead are often still leveraging the HAL for library support, myself included. Advanced users might be using raw esp-idf but the esp-idf HAL has had a number of breaking API changes over the years that make library support more annoying unless you truly need advanced features or more performance.
It was a while since I used arduino, but I remember having a harder time setting up a workflow that didn't need me to touch the arduino IDE.
[1] https://www.tindie.com/search/?q=rp2040
Even easier if you setup debugging using another pico, debug probe or even a Pi (not sure if this works on the 5)
I did a bit of searching and found some sketchy documentation that just leaves me with more questions. It sounds like Arduino’s new web editor programs boards wirelessly somehow? Does it assume the board has WiFi? What is this new, networked system? What Internet protocols does it use? How do you pair it with the web editor?
It doesn't need to do anything with "the cloud".
https://store.arduino.cc/products/uno-q
"- All-in-one toolbox: Arduino UNO Q combines the powerful Qualcomm® Dragonwing™ QRB2210 microprocessor (MPU) with a real-time STM32U585 microcontroller (MCU) – no matter what you’re building, it’s your new go-to tool! - AI in a blink: unlock AI-powered vision and sound solutions that react to their environment."
You can just not buy their product.
I have a old Arduino UNO R3, would be a really disappointing if I could no longer play around with it by just downloading the IDE and connecting the cables.
But yeah, Arduino is in a weird place right now. I knew people there (kind of lost track), quite liked their IDE and how accessible it made a lot of things, but the recent turn on events is just… weird.
Everything else is top notch open.
But for low power sensor stuff the ESP32 is far away from being my favorite anyway. That's almost all-in Nordic for me.
Other open firmware: https://wiki.debian.org/Firmware/Open
The setup instructions included something to do with CircuitPython. I had not heard of it before then: https://github.com/sunfounder/universal-maker-sensor-kit/blo...
It is disappointing because it distracts from the discussion around Open Source and Arduino as a long term educational tool. Regardless if that shade is in good faith or not, it distracts from the conversation we should be having.
Yea that's gonna be a hard pass for me. Thank goodness for the Pi Pico which means I'll never have to use Arduino ever again. On a side note, the new Arduino IDE based on Monaco looked nice but made development so painful I just stopped. I had to keep disconnecting and reconnecting devices all the time to upload sketches when before with the old IDE that was never an issue. Everything Arduino feels like a regression.
Maybe it should all have been free software all the time.
I kind of drifted off. So curious about what people here think is the best "Arduino when it still was open source" contender. Preferably something Arduino compatible because of the sheer amount of projects already out there.
T&C's preventing reverse engineering of an online platform seems to have no real business value. Serious hackers will ignore the T&C's, whilst serious competitors will not need to do any reverse engineering to build an online compiler.
87 more comments available on Hacker News