> users are now explicitly forbidden from reverse-engineering or even attempting to understand how the platform works unless Arduino gives permission.
I briefly looked at their IDE and CLI repos and GitHub claims they're AGPL and GPL 3 respectively. I didn't see a CLA when I looked at their contribution guide.
Am I missing something here? What basis do they have to restrict users' rights to reverse engineer the software?
A missing piece of the puzzle that i feel is ommitted in Adafruits posting, is that the changes only affect the Arduino Cloud Services, which provide various github-like services for the arduino ecosystem.
Looking over the changes with this in mind, it seems a lawyer just applied the same standard SaaS legal language to what is effectively a SaaS offering, pretty normal in most cases.
None of these changes will affect the Arduino open-source hardware project.
> 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”).
> 8.2 User shall not: translate, decompile or reverse-engineer the Platform, or engage in any other activity designed to identify the algorithms and logic of the Platform’s operation, unless expressly allowed by Arduino or by applicable license agreements
So yeah, it seems like the definition of "Platform" is limited only to their hosted services.
Yeah I already found it odd that it was about what “users uploaded” seeing that Arduino is not necessarily a platform to upload things to, it can be, but not necessarily.
Also Adafruit being a store, isnt there a matter of conflict of interest with posts like this?
You should submit Hernando Barragan's story as a top-level post on HN. Many people do not know of this and he certainly deserves all the recognition he can get.
I have a special kind of hatred for people who steal other folks work (even if it is freely given) without any acknowledgement.
It would be just desserts if Barragan teamed up with some high profile lawyers and went after Qualcomm/Arduino like the Winklewoss twins went after Mark Zuckerberg and Facebook.
The new Arduino UNO Q features a beefy Qualcomm SOC running Linux, alongside an STM32 microcontroller which is programmable from the Arduino IDE. The MCU side is wide open, but the SOC side is full of proprietary firmware blobs, so I assume the lawyers are concerned about those being reverse engineered.
I think the question is, what use is adding a CLA if the core functionality was under (A)GPL? Unless you go back and get all the OG contributors to sign over their rights, how can you relicense?
Yeah, exactly that's my point. The role of Arduino is like that of a Distro, they own the packet repository and the packet manager, and maintain a build-system and an IDE. They aren't the initial copyright holder to basically any library. The only thing they really own is the Arduino API, but this is an API not an implementation. The compiler is GCC, the board specific methods come from the hardware vendor, the C lib is newlib or comes also from the hardware vendor. The flasher software comes from a different company.
I don't really understand how what they try to achieve with these new "terms and conditions" is legally possible. (https://news.ycombinator.com/item?id=45978802) They could release new software with different licenses, but they would need to rewrite most of the ecosystem to do that. Neither MIT, nor LGPL, nor GPL nor AGPL contain any reference to "terms and conditions" of one of the copyright holders, which should be followed on top of the license.
I'm now realising I do not really know where the Arduino IDE gets all the libraries and board definitions from. I assume that's now Qualcomm owned web services with Qualcomm defined TOS?
I also wonder if anyone's backed/scraped the forums?
I have my own war stories from working at Qualcomm. Gather together, children.
Ahem. One upon a time I was the tech lead for one of the many software components in Qualcomm's GPU software stack. At one point there was customer interest in caching certain blobs of data that were relatively costly to compute, in order to reduce the startup times of a wide range of apps.
Since the caching needed to happen across different processes over time, we needed some sort of persistent storage with some metadata to track stuff like usage stats, limit storage requirements, etc. Simple stuff, right? I decided that we didn't need to reinvent the wheel, and thus suggested to the team's most recent hire to use SQLite.
Oh, Dear Lord. That was a mistake. SQLite worked great, no, no. That wasn't the issue. The problem was obtaining approval from Legal to use SQLite in our little project.
"Does SQLite have one of those viral licenses that require you to open-source your own code?" -- you may ask. No, it doesn't. It is the most lax OSS license that you could ask for. Super friendly to commercial closed-source projects.
No, the obstacle was that Legal wanted to audit SQLite line by line, down to the books and research that was mentioned in the comments, searching for anything from copyright infringement within SQLite itself, to patents that may be associated with any of its features. IIRC, it was going to take months and would require approval by my management chain. And any time we wanted to upgrade the version of SQLite we shipped with would require another extensive review.
I used to explain Qualcomm as a navy of lawyers and a dinghy of developers.
I spent SO MUCH TIME getting legal review to publish code.
One of my favorite battles was someone out there in the wild took the Microsoft boilerplate MIDL (MIT 2.0) and stripped the headers, licensing them as GPL. So our boilerplate MIDL files suddenly got ducked and we couldn't ship them any more.
Ah so the Oracle syndrome, where the engineering is a sidekick in the lawyer business?
In all seriousness, this is just appalling. This would make a good poison pill to prevent an opensource project from being used in such a corporation /s
Thanks for sharing! The sad part is, it's the qualcomm customers that pay for the end result.
Eh. I used to work for a large corporation that had multiple development sites worldwide. I remember telling someone at another site that I was considering using an OSS library. His jaw dropped, "You can use Open-Source? At our location using OSS is a fireable offence."
One of my friends, Matt, owned Seattle's Metrix Create:Space. He had a pick and place and a problem: Qualcomm had nice chips, but he couldn't buy them on tape, and he couldn't get data sheets.
The CEO of QCA? QCE? Don't remember. Was coming up to Seattle to rub elbows; there was to be a Q&A session afterwards. I told my friend Joe that if none of the employees would ask any hard questions, I would. They didn't and I did: you talk about open source, you talk about how important getting hardware into the world is, but my pal Matt can't get open data sheets or parts on tape. WHO DO I TALK TO?
He gave me someone, after many weeks of going around, they pointed me to the multi-thousand dollar IoT dev kits as the best option. Minimum order was like 1000 units.
As we have in France: Père castor, raconte-nous une histoire !
For the rest of the world: it's a children cartoon with a grandpa beaver telling stories to his grandchildren, and has been immensely popular for decades.
We were working on Windows on ARM for the Surface tablets (funny story: I worked in the office of the CTO of Microsoft in 2008? 2009? and we had a couple of the original Surfaces. Cool machines to demo) and we had a couple of the tablets. We needed like 20 to do testing. We were able to get a couple more. I think the chargeback was on the order of $50k each.
None of them were the same. One of the best engineers I ever worked with, who I'll call Bill, had to reverse-engineer how to JTAG each one to re-flash them, since each tablet was slightly different and undocumented.
Bill was one of the guys in the late 90s, early 2000s that was cracking satellite cards for fun. He also reverse engineered a bunch of CANBUS stuff for another product group. Good times.
> What does it mean to work "in the office of the CTO"?
Many companies have a small research division directly reporting to the CTO. It usually has the implication of "experimental research at the discretion of the CTO, may become something production later in which case it'll move elsewhere".
1: This one isn't about open source, but: the guy that said this and that about how 64 bit ARM was never going to happen? We were working on exactly that at the time.
OK. One OEM (I don't remember who, they make TVs and the like) took our BSP and just... sent it out. To millions of devices. Tens of millions of devices. However many TVs there are.
We had just added a TURN implementation to AllJoyn and set up a dev server. Not literally a small machine under someone's desk, but basically that. Maybe a two vCPU VM.
The DDoS was _very_ distributed. The DNS requests knocked Qualcomm off the air.
So we made that an opt-in compile-time feature for all BSPs going forward.
Linux crowd expected this, Google by no means ever meant it was supposed to be anything beyond the Linux kernel with a Java userland.
It was launched without NDK, which only came later in Android 2.0 after pressure from game developers, and to work around Dalvik being a primitive VM, thus NDK has always explicitly listed NDK use cases and nothing else.
It is the rest of the community that built false hope that only because it uses the Linux kernel, the NDK should offer more than it does.
Even the Android IoT project that initially started withouth the Java userland with the target to use a C++ based alternative instead (Brillo) didn't last long, and the final version Android Things, even required writing the device drivers in Java.
By the way, Trello drivers are language agnostic, talk via Android IPC with the kernel, and some of them are indeed Java based.
It is a Linux distribution, it just turned out that "let me interrupt for a moment" meme was actually correct and what you wanted was a portable GNU distribution with an open kernel, and instead you got a Linux distribution with Google's user space and now instead of realizing the terminology was wrong from the get to you've misidentified the very trick Google played on us.
Turns out a kernel is just a kernel after all, and you really do want GNU+Linux, not just Linux.
I moved my wallet away from Google completely and went with Apple. If someone makes a serious OS that has the level of quality as iOS' apps for mobile I would consider getting their phones. I would be willing to pay extra on phones for the OS itself in order to fund its development, so long as its core is open source.
"You don't think 'oh, the lawnmower hates me' - lawnmower doesn't give a shit about you, lawnmower can't hate you. Don't anthropomorphize the lawnmower." - Bryan Cantrill
> "You don't think 'oh, the lawnmower hates me' - lawnmower doesn't give a shit about you, lawnmower can't hate you. Don't anthropomorphize the lawnmower."
True for now.
Smart devices might well be controlled by people who hate you. Even if they just do not care about you, its very different from a lawnmower not caring about you.
This is not good. Qualcomm are [expletives] anyway, but we need more activity in the connected microcontroller space in the west.
Never have been a fan of the programming style encouraged by the Arduino SDK/API, so hopefully this demise will allow someone to enter the space with something that is actually competitive with the Espressif devices. Have a decent API and connectivity, at the same time, unfathomable stuff. The Picos are closest, but the connectivity situation is a mess.
Right. We also know how to do code signing and deterministic builds so you could build it and ensure the code you see is what is being executed and that is what is certified.
It's just rather boring to get all the ducks in a row to do it.
None of it is a requirement to work on the happy path.
To work as part of a reasonably secure platform that still allows people to develop on it and responsibly sell consumer hardware based on it, yes, it's necessary.
Welcome to the swamp of code certification testing. If I'm lucky to get sources, I also get a PDF describing the optimization flags allowed, and a checksum of every source file. It depends on protocol and domain, but it is very real.
Blobs are popular for a reason, and it's often for the sake of the user of the blob not the maker of the blob.
There was at least one that's in Rust, I remember coming across a talk about it. Done with zero vendor support - not even register lists, all reverse engineering and massive balls.
There are other vendors of Wifi chips. I could see Nordic seeing this being a great collaboration to further capture marketplace for IoT connectivity beyond Bluetooth.
The brilliance of the ESP devices is not needing anything not included on a basic dev board for a huge raft of applications. The peripheral design is positively wonky, but they do just work.
Making the reference design into a fully usable product in its own right at a very competitive price, gives Espressif a massive advantage over its real competitors. Espressif isn't really in the same market as Arduino, they just happened to intersect.
Arduino is an education and hobby electronics brand. Espressif is a chipset vendor that made its reference design board so complete, cheap and flexible it became valuable as a product on its own. Other chipset vendors sell reference design boards for development, with the expectation that you will change it and produce it yourself to fit your needs. Espressif operate the same way, but if the dev board fit your needs, you don't need to produce squat; you just ship.
Espressif is a massive time saver in product design. Before the first cirquitboard has left the prototype factory, it i already proven to work with a bunch of hardware because you could strap up a bunch of dev boards with a cookie platter of interfaces and prototype from day one, bought from a hobby electronics shop with 1 day shipping.
> Never have been a fan of the programming style encouraged by the Arduino SDK/API
Can you elaborate on that? I have never done anything with Arduino, and after reading this thread I have my doubts that I ever will. But I am curious to hear your thoughts about it, thanks!
When talking among engineers about Arduino, I find that it always requires a bit of explanation, because there's Arduino, but then there's Arduino.
"Arduino" is the name of the original, humble little microcontroller board.
It's a brand name for a series of boards ranging from simple and cheap, to quite elaborate.
It's a ecosystem of firmware development tools and libraries that revolve around the Arduino API, that has attracted a large community of participants including hobbyists and students but also third party developers. Adafruit and PJRC (Teensy) are exemplars. This may be its most valuable part, at the present time.
I've been developing with microprocessors since around 1984, when I hand-assembled 6502 code for an Apple II. I wrote my own assembler for an early microcontroller, and built my own device programmer. As tooling evolved, I stayed a step behind the most advanced commercial developers, for instance by using a free vendor-supplied assembler, and then following that vendor when they switched to C.
I got one of the original Arduino boards and started playing with it. To be honest, I've always preferred tools that were favored by hobbyists and students, including 8-bit BASIC, Turbo Pascal, HyperCard, Visual Basic, and now Python. For anybody who's familiar with the Python ecosystem, "Arduino" is like that today. It's grown way beyond its original implementation, but I think you have to experience both the technology and the community to fully appreciate it.
I believe the original humble board, and bare bones IDE, still deserve a place, because there's such a huge amount of tutorials and easy designs that use them. They're still a good place for a hobbyist to get started.
Doesn’t this only really affect actual Arduino brand products. There’s tons of just-as-good cheap knockoffs available. See Elegoo kits easily found on Amazon for example. The IDE is open source with the AGPL license.
Can’t we just cut Qualcomm out of the supply chain and keep going as normal without too much disruption? Doesn’t even feel like a hard fork is needed. Just don’t buy Qualcomm’s crap.
ESPs are great, but their hobbyist ecosystem ultimately relies on the goodwill of a Chinese company that could just as easily decide they want to go the way of Qualcomm, or worse.
Any company can "go the way of Qualcomm", as you call it. To my knowledge, there's no indication that there's any more danger of them going that way relative to, say, TI or ST?
Don't get me wrong, the fall of Arduino is a real loss. Espressif is a company in the business of making money, while Arduino's mission was to build a robust tinkerer ecosystem. Absent an acquisition, it's probably fair to say that Arduino would be less likely than Espressif, ST or TI to do bullshit like this.
Espressif has a pretty good Arduino compatibility layer for the ESP32 series. So you can follow Arduino tutorials and almost everything will "just work". This what I use for quick and dirty projects.
For more "serious" things, you have the ESP-IDF, which is a pretty good C-style interface to all sorts of hardware features. Less newbie friendly than the Arduino interface, but gives you more control. And it can be used in combination with the Arduino interface.
And then, as the cherry on top, you have their official Rust HAL for the ESP chips, implementing the standard Rust embedded-hal interfaces so it should "just work" with the growing Rust embedded ecosystem.
It's honestly impressive. The only thing that has kept Arduino competitive is their brand, good reputation, and focus on the education and tinkerer space. I frankly don't understand what value Qualcomm sees in Arduino if they're just gonna throw away that reputation and education friendliness.
There probably is if you look hard enough. Closest thing I can think of is the MKS-DLC32 motor control boards that are generally used in 3D printers and laser engravers. You can buy just the board and reprogram it. They just run grbl with serial and web interfaces anyway and have an arduino bootloader.
yea, they tend to want to take in tmc2209s or other low-power stepper driver chips.. my use case is to drive bigger (3A+) motors with external stepper drivers. I'd also like to easily use 24v sensors and stuff (hence level shifting and not just mosfets..)
something like the teknic clear core but esp32-based.
Not that anyone's even bothered knocking off their current generation products. The majority of Arduino clones are still using AVR or occasionally SAMD processors - Arduino's newer boards were never really accepted by the community. Some makers have even gone another direction entirely - ESP32-based development boards are popular, and there's a compatibility layer for using the Arduino IDE with those.
> The risk is that moats like that are made of trust. If, 12 months from now, people see licenses tightening, non-Qualcomm boards lagging, or Arduino tooling getting tied to Qualcomm accounts, the same community that cheered UNO Q will call it a takeover. Right now the messaging is working — “we stay open, we just get more powerful” — but the community is watching. (facebook.com)
Echoing the comments there... this seems like a colossally dumb move on their part. Is there any way this doesn't just end with a hard fork and some new player taking over where Arduino left off?
The other option is that Arduino simply fades away. Their hardware doesn't have anything to offer that you can't get on aliexpress or spin yourself for a tenth the cost.
The framework is the only arguably valuable thing they offer, but even that's not enough to prop a business up on.
Most likely everything will continue exactly as-is: Arduino hardware will become increasingly dated and undesirable, and open source Arduino-compatible libraries will continue flourishing until nobody remembers that Arduino was a hardware platform before it was software framework.
I think we've long since passed the point where Wiring will ever go away, but I doubt we'll still be calling it Arduino for too much longer. Arduino is probably dead, and espressif is moving in.
Yeah I personally never really bought into Arduino. I got their Uno back whenever it came out but never really got into their whole IDE experience. Latest projects are on esp32 using embassy which so far has been going great. Interested to check out rp2040 or rp2350 at some point maybe.. There are tons of interesting, easy options out there now
arduino ide is pretty terrible anyway. Swap to your normal ide of choice, and start using PlatformIO. way better experience, and you can actually have all your important config in normal text files on git/etc.. instead of having to tweak UI settings in Arduino studio.
Ah, good point, and likewise for adjacent comment. I was aware of those options, but have been procrastinating on making the switch. What's important to me is the library support, and ability to spin up a boilerplate project that runs on most chips, while providing access to vendor specific libraries when I actually need them.
VS Code/PlatformIO actually makes that easier than the Arduino IDE. And, as a bonus, the specific version of a library that you use is tied to a single project and won't affect any others. Which is really important when you use a library that is dependent on a particular version of another library.
this is what made me rage quit on Arduino IDE about 1 hour after starting any embedded dev (esp32) for the first time. I've got no clue what im doing with embedded stuff, but I am a SWE, and I expect to be able to test sweeping changes and have them be isolated in branches/git-stash/etc...
Having to remembering everything I played with tweaking in a UI is a hilarious no-go.
Arduino IDE shines when you're building something small and simple, where the code is at most two pages long. That satisfies a majority of the original use cases for arduino. e.g., my first use of it at work was to toggle a relay on and off once per minute to catch a problem with a new design that only happened at power-on. That was probably under 10 LoC.
However, in the intervening 15-20 years, people have been using arduino for increasingly complex applications and the basic IDE really sucks for that.
The only thing of value left in Arduino is the API (which has been ported to non-Arduinos) and the drivers (of which there are hundreds; Adafruit is one of the main developers).
I'll give it a try. Even if it is better, that's might not help noobs since there are tons of tutorials using the Arduino one. That could change over time though.
As a maker, I've been following Adafruit since they sold a handful of products, probably assembled and boxed on Limor's dining room table.
Adafruit has forked microcontroller libraries and toolchains before, and a huge chunk of their success has been directly due to Arduino and related things. So it will not surprise me if they are gearing up to announce their brand-spanking new Arduino-compatible devices, software, and ecosystem.
Adafruit already sells own-brand Arduino clones. They have a whole line of Uno-shaped boards with various microcontrollers, some drop-in compatible with the original Uno, and others with more modern chips.
Adafruit also created and maintains CircuitPython, which is targeted very much at the same audience as Arduino. Very beginner friendly, great for quick prototyping/one-offs, but serious enough that one can ship small scale projects with it.
And Python is a much better language for that than C++ (which is what Arduino users do not really realize they are using).
I should have said "Much more expensive though compared to something like an ESP32 or RPi Pico". You can get something like an ESP32 Wemos D1 Mini on Ali for $4 to $5 USD, and besides solid performance and I/O, you get integrated WiFi and Bluetooth. Not to mention a community that is likely substantially larger than that built up around the Teensy.
Qualcomm is a comically-evil company. It's a giant law firm with a vestigial engineering department. When Larry Ellison looks at Qualcomm, he mutters, "Damn, son," under his breath, and you can't tell if it's envy or horror that made him say it.
This is the sort of thing they do. It always has been.
Tumblr died around 2013 ~ a lot of the key people I joined for were long gone. Last I logged in (yesterday actually) a lot more people I follow deactivated their accounts. Tumblr was a great platform that was not managed correctly, even the new owners aren't really scratching the original itch of Tumblr.
I think Yahoo was a patsy for more bad acquisitions than anyone. It seemed so bad I wonder if the point was that if you were a well connected teen and had a dad who worked in private equity you could get your dad to pull some favors to get Yahoo to buy your startup to frame yourself as a successful founder in an act of "achievement laundering"
>The most striking addition: users are now explicitly forbidden from reverse-engineering or even attempting to understand how the platform works unless Arduino gives permission.
Damn, like that's ever stopped the very people that like to reverse engineer things.
When Qualcomm got its hands on Arduino, the best case scenario was that Arduino influence would encourage Qualcomm to be more open to small developers, and the worst case scenario was that Qualcomm would devour Arduino and its degenerate lawyer culture would ruin all that's good about it.
So how the heck does the change in TOS work for the processing.org environment? That was an IDE that wraps around Java and a bunch of libraries. Arduino came along and borrowed the processing IDE put in an older gcc crosscompiler for the fleet of Arduino chips. They are the same IDEs but with different backends. If you can't reverse engineer the Arduino IDE, it was already borrowed from the processing people and open sourced. So are the processing people in danger of TOS violation? Or is it the reverse?
All they had to do was leave it alone and bridge the gap between Arduino and Snapdragon boards and they would have a good thing going. Was a waste of money to buy up Arduino and ruin it.
What are the alternatives for aspiring tinkerers now?
My wife (cybernetics engineer) and I are buying a 3D printer and planned getting an Arduino as an entry point. What should we do instead? What are the best communities and resources?
* RP2040 / RP2350 - If you don't need connectivity, this is a great chip for flexible IO. Good software support, easy to use, well documented.
* ESP32 - Good community support, bluetooth and wifi connectivity, some powerful variants as well for driving screens and other things.
* STM32 - Widely used, and an absolute boatload of chip variants for different tasks, from small little GPIO twiddling cores, to beefy chips running DSPs and outputting high-res images to displays.
* nRF52840 (and other variants) - Good for bluetooth devices, should be lower power than ESP32.
My recommendation would be to buy something like a Xiao RP2040:
They're cheap, have USB-C, and are super easy to use. Oh, and they have a reset button which for some reason, the official pico board does not. On top of that, the official pico board uses micro USB, so overall I would recommend NOT buying them, they're annoying to work with. The Xiao boards don't have a ton of IO pins, but they're at least good for learning and if you determine you need more IO you can move to a different dev board, or design your own PCB.
I first got into Raspberry Pi Picos, but I've also been experimenting with Esp32's and some of the nRF chips. I mostly do CircuitPython on them but Arduino is a supported platform on those I believe.
I got a couple of RP2040 boards recently and I'm amazed at how easy it is to just get stuff done. Between the native usb support and the circuit python support it's been a breeze. I just got a couple of boards up and running uart in a daisy chain. It was intimidating, but the circuitpython docs made it relatively simple.
You are on the right track i.e. stay with an Arduino in the beginning. Note that "Arduino" is a family of boards with different MCUs but all providing a common API (mostly). So you choose the Board/MCU combination best suited for your system and can always move to something else later after you have gotten some experience. The reason is the Arduino Ecosystem. There are thousands of free tutorials, designs, libraries etc. all available for you to try out for your app and more often than not you can have your PoC/MVP by just plugging in some libraries and writing some glue code. You only have to learn the Arduino API and not any specific MCU's datasheets unless and until you are doing something more lower level. It is all way easier.
The Arduino Cloud offering (runs on AWS) makes integrating your Arduino-based system into an end-to-end SaaS app simple (just watch and follow some tutorials on Youtube). There is also the Arduino PRO series of hardware for you if and when you want industrial-grade hardware for demanding systems/environments.
If the Qualcomm c-suites have half a brain amongst themselves they will not kill the goose that lays the golden eggs.
ESP32 - quite a range of dev boards and places like Seeed and Adafruit have a nice selection of accessories. Adafruit develops CircuitPython which is IMO the lowest barrier to entry for programming MCUs. Adafruit even has CircuitPython sketches on their site for how to interface with the components they sell.
Rust on ESP32 is still a bit early - the HAL crate is still pretty unstable, but the toolchain is quite nice and I'm able to be productive enough that I never reach for C or C++.
The feather series of boards from Adafruit + Curcuit/Micropython works really well if you just want to make stuff happen instead of tuning a toolchain and, like, setting up clocks with asm.
Everyone I know who is into tinkering with microcontrollers moved onto ESP32 a long time ago now. I actually thought this headline was going to link to an article about ESP32's popularity. VSCode with the PlatformIO extension has been great for me when working with them:
I'd like to use apps out there for model railroading - locomotive control and accessory automation, especially 3-rail. There is a LOT written for Arduino; I wonder if any other platforms come close. Someone mentioned some sort of Arduino emulation layer on top of ESP32.
ESP32 or RP2 based boards with for example MicroPython/CircuitPython, or platform.io + VSCode. Though the good old Arduino IDE seems to be unaffected by this change though.
esp32 already exists, so there's a hardware alternative. What's the primary issue -- is it the lack of competition to the Arduino IDE? I have dabbled in Arduino but don't know enough to understand, but my impression was on the hardware side there are already alternatives that are better.
Obviously not discounting what a huge blow this is (and right when I was planning to explore Arduino more), but practically speaking, what can we do to help?
here’s the outline of what changed, pulled directly from their new docs:
• fully irrevocable license to all user content
arduino now owns perpetual, world-wide rights to modify, translate, redistribute, and commercially exploit anything users upload. including code, libraries, photos, designs, and comments.
non-revocable, non-expiring.
• surveillance-grade ai monitoring baked into the platform
their new “ai policy” explicitly allows arduino/qualcomm to monitor model usage, compute time, storage, logs, and user behavior for “compliance”, “government requests”, and undefined “protection.”
• a patent-infringement shield clause
users are banned from using the platform to identify or support patent claims against arduino or its affiliates. this is the opposite of open-source accountability.
• deletion that isn’t deletion
deleted content stays accessible internally, and possibly public, if arduino decides it’s needed for “investigation,” “legal compliance,” or if others interacted with it.
• minors’ data deeply fused into the qualcomm ecosystem
accounts for users under 18 feed directly into qualcomm’s global data infrastructure. includes identifiers, behavior, project data, classroom data, and device telemetry.
• explicit admission of “sale” and “sharing” of identifiers, geolocation, analytics
under u.s. disclosures, arduino acknowledges sharing browser data, ip addresses, location, and behavioral inferences with advertising and analytics partners.
• five-year public retention of usernames after account deletion
forum and project-hub posts stay public with username attached for years before being de-identified.
• military and government carve-outs
arduino prohibits most military use of its AI tools… except for DARPA, which gets a special exemption.
• termination triggers for trivialities
sharing login credentials or choosing a username they dislike can get your account wiped.
• cross-border data extraction to qualcomm subsidiaries
all user data is shared globally across the qualcomm group, processed in multiple jurisdictions.
the part that breaks any remaining illusion of “open source community platform” is section 8.2, which forbids translating, decompiling, or
reverse-engineering the platform unless arduino explicitly allows it. that was never the arduino ethos.
arduino didn’t simply update its terms today. it reflashed itself into a telemetry appliance with proprietary firmware and a smiley sticker.
> fully irrevocable license to all user content arduino now owns perpetual, world-wide rights to modify, translate, redistribute, and commercially exploit anything users upload. including code, libraries, photos, designs, and comments. non-revocable, non-expiring.
I don't understand how that works. So I have an Arduino library that has various Copyright messages including from Arduino and me. The licenses are a mix of MIT, GPL and ad-hoc license messages. How is Arduino able to change rights by updating terms of service? As to my understanding they don't even have the exclusive rights to begin with?
> forbids translating, decompiling, or reverse-engineering the platform unless arduino explicitly allows it. that was never the arduino ethos.
What does that mean for activities, that are already ongoing? And how can it be "reverse-engineering", when the board layouts are public and "decompiling", when the code is open-source?
How is the "Platform" defined? Every repository, that has Arduino in the name? Does Arduino assert ownership about random peoples Github Accounts? Because that is where the official libraries are hosted.
I work closely with an educational institution that uses Arduino intensively - I'm trying to sound the alarm, and your points are incredibly useful; would you happen to have reference to the specific paragraphs/sentences in the agreement that each of your points reference?
People are basically telling me I'm too paranoid about this.
Early Arduino were all AVR 8-bit, at the time it was already on the way out. There were no shifts in industry to those chips.
People who got Arduino, either:
- blinked some LEDs and forgotten about it
- switched to esp32 and/or stm32
- esp32 and esp8266 move is funny because people started buying esp8266 to add Wi-Fi to their arduinos and then realized that they can just throw away arduino all together.
- switched to cheap clones that offer more
- quick connect for that not only want to blink LEDs, but also have some cool graphs to look at (like temperature and humidity)
- boards that specifically designed for their use case (i.e. battery and eInk connectors and circuitry required)
Arduino is inconsequential to industry as whole or even to hobbyist using it.
Half joking. Point is there is enough alternative offerings, including ones from China. Personally I've never used Arduino and their IDE. Was doing C/C++ on Teensy and some other MCUs and that worked just fine for my projects
I got upvoted then downvoted in the acquisition thread where I suggested this would happen. Anyone who thinks the old Arduino still exists is simply naive.
You really shouldn’t be using Arduino over STM32. Low end STM boards that are price matched with Arduino are not only more powerful by almost a magnitude, but also have an excellent debugging IDE.
The only thing to watch out for are 3V3 vs 5V but then again if you’re doing anything worthwhile you’ve got a stash of buffers, op amps and MOSFETs.
I don't think in this case that most people who know what Arduino is would be at all mislead by the title. Being "dead" doesn't have to mean that a company ceases to exist. There are plenty of what I would call "dead" companies that still make money every year. "Dead" can be used figuratively. In this case, meaning that though the company continues to exist, the reason for which many people bought their products is now gone.
I used to be interested in Arduino, but the hobbyist movement is nothing like it was in the early 2010s. In part, I think, we had amazing technologies (3D Printing! Arduino! CNC! Raspberry Pi!)… but not really that many amazing ideas on what to actually do with it.
What can I build with an Arduino that isn’t better, cheaper, faster, and more complete as a full product on Amazon? Almost nothing. When I’m staring at a screen 8 hours a day as a computer programmer already, my body screams for less screen time, not more. I’d rather learn Spanish or go skiing than start a FOSS project; and I don’t think I’m alone.
I understand there’s an artistic expression aspect to it… but I think at this point I’d rather learn photography or painting, actual art, for expression. Something normal people understand and appreciate. It’s too much of the same for me.
As a hobbyist, it's not about being able to buy it faster, cheaper, or better. It's about learning how to tinker, making something work, and building something that is effectively the artistic expression of my technical skills.
YMMV, but if you aren't loving the hobby element anymore and the itch can be scratched by reaching for a product, that's a shift in what you are enjoying, not an indictment of hobbies :)
It is almost always better from a practical perspective to buy the complete product over DIY, or even better, not buy at all. Those who claim otherwise are justifying their hobby. Best case scenario, you break even after not counting your time, which is actually great, because most people pay for their hobbies.
The hobbyist movement didn't change, you did, life is like that and that's not a bad thing. The technologies change but the general idea stay the same. For Arduino (the brand), I think it is dying, but that just because you can buy generic ESP32 boards on AliExpress for cheaper and with more variety.
> What can I build with an Arduino that isn’t better, cheaper, faster, and more complete as a full product on Amazon?
For an end user maybe not much, but for tinkerers, a lot. Almost everything where you need/want customization, unique features, and so on. This said, you don't strictly need an Arduino for that, I actually (almost) never use them because their software library is so high level that it eats so much resources on the underlying microcontrollers and make things more complex when you want to do more advanced stuff (like handling interrupts). When I use them, is for some quick&dirty thing (e.g. I need to turn on a stripe of "smart" LEDs quickly), but never include them in finished things.
What can you create as a programmer that isn't already a product? For each of us the answer is only limited by our interests and imagination. I use the Arduino development environment to create peripherals for specialized measurment gear, where I absolutly must control the design at the firmware level to make it work.
Arduino and related technologies have revolutionzed scientific instrument making. Things that were either "too hard" or "too expensive" are now straightforward for hobbyist and non-technical scientists.
For example, I build automated microscopes as a hobby and I use arduino products (well, used- now I use ESP32 with micropython, but that still depends on the Arduino API) and it's been tremendous for building high speed interfaces (I need to blink an LED at the same rate/in sync with a camera shutter opening/closing) . Even when I do photography, I'm still building arduino and other related things to help automate the tedious bits. And when that gets boring, I take out my guitar and use arduino or similar products to do audio processing in realtime.
For many of the things I want to do, there is no product on Amazon, or it's obscenely expensive (XY stages typically cost $10K and up).
Almost every song I play on any instrument is available played better, more professionally, and more precisely and more artistically, on any music source possibly available. And yet I still play every day for my own pleasure.
It's the act of playing, where the music itself is an important part, but just a part, that I enjoy.
This sounds more like your personal journey, and less like some broad trend.
A quick check of just one of your examples shows the term "3d printer" is googled for literally twice as frequently today as it was in 2016, for instance.
I've been programming esp32 connected with soil moisture sensors and solenoid valves to water each individual pot of plants according to its own readings, instead of having a centrally controlled irrigation system. Overkill, I know, but with a cost of 8-10usd per set up it is not expensive
In my eyes it's quite the opposite: there is almost nothing that exists as a complete product on Amazon. Faster and cheaper? Yes. Better and more complete? Not a chance. But you have to want it bad enough, and have enough skill to do it.
Arduino is (was?) one of those skills. Practice them enough, and you'll soon find the things you want aren't available for sale, at any price.
My 2c: I got into electronics, firmware, and PCB design during the Pandemic, and haven't used Arduino beyond cursory support for integrations. At the time, it used obsolete chips, and didn't have a practical advantage over STM32, Nordic, Espressif chips (Or dev boards) beyond name recognition. I speculate that there was a time before this when it had innovative UX for new users segment, but this hasn't been true for (at least, from my experience) 6 years.
> What can I build with an Arduino that isn’t better, cheaper, faster, and more complete as a full product on Amazon? Almost nothing.
I mean, my little hobby project is making the LED strips taped to my skis respond to an accelerometer, so they pulse brighter when I make a good turn. Plus Bluetooth control of the patterns. Not gonna find that on Amazon.
Love it, and I agree. I've built two "star skies" for kids, using cheap RGB LED lights, programming them to slowly change color, only use warm colors, and turn off more and more stars over time. Nothing super fancy, but very custom to my needs.
It sounded like OP was saying they couldn't think of any interesting things to tinker with since everything they could think of is already a product on amazon. So in this case it isn't about alternatives to Arduino, it's about alternatives to reactive LED lights for your skis.
Also what can I build with an Arduino that isn't cheaper, faster, and more complete with an STM32 Nucleo or other similar dev board? These days you can get a nice 32-bit ARM MCU for the same price (or cheaper) as an Arduino board. No need to deal with an 8-bit ATMEGA and its quirks.
> When I’m staring at a screen 8 hours a day as a computer programmer already, my body screams for less screen time, not more ... and I don’t think I’m alone.
I was never a fan of the Maker Movement. While it did get people to tinker, there was always this massive gap between lighting up an LED and using EEPROM, JTAG debugging, interrupts, and even designing some of the more intricate circuit designs to pull of intermediate projects. I found that there were people who knew how to do that stuff and the rest just trying to get by.
The last time I used Arduino, I ended up just coding the bare metal out of necessity for the things I was trying to do. Some functionality of the chips was literally not accessible unless you break out of the sandbox. But then I wondered why we didn't just get people set up without shielding them so much from what it actually takes to do embedded development. Ultimately, the failure of the Maker Movement to me is that there is not an upgrade path. You start blinking LEDs and then what? Thus, lots of people end up being eternal beginners, which I don't think is helpful.
To some extent I agree that the upgrade path is lacking. I recently helped a friend move out of the ino file model into building regular c++ applications because his design was getting pretty complicated. Once he realized that he knew more of c++ than he thought he did, it was a game changer for him.
At the same time, people have done some pretty amazing stuff using the Arduino platform without knowing how to use the things you mention. What you call eternal beginners have accomplished a lot. James Bruton does some pretty impressive robotics work using Arduino.
> To some extent I agree that the upgrade path is lacking.
You began an inappropriate chain of comments by being uncharitable in your initial interpretation of my sentiment. People piled on emotionally as a direct result of your opening sentence even though your second one confirms what I said.
> I was never a fan of the Maker Movement. While it did get people to tinker, there was always this massive gap between lighting up an LED and using EEPROM, JTAG debugging, interrupts, and even designing some of the more intricate circuit designs to pull of intermediate projects. I found that there were people who knew how to do that stuff and the rest just trying to get by.
Intense gatekeeping in the electronics community is precisely why communities such as Arduino could flourish in the first place (and their creators could benefit financially). Ultimately, people just want to get stuff done and Arduino is a way of doing it. If you go to Stack Exchange, someone will tell you to buy a college textbook and come back in six months once you understand Laplace transforms. An artist working on an installation doesn't need that. A person building an automated cat feeder doesn't need that. In fact, almost no one does, it's just something we torture EE students with.
I think a lot of the negativity toward Arduino boils down to saying "nooo, it's supposed to be hard!". But if you want the Arduino crowd to get more interested in your field of expertise, you need to build them a ramp, not to tell them they're not real electrical engineers.
You talk about gatekeeping, when most people don't know the difference between git and GitHub, making your first PR is difficult if you have never done it, navigating a repo to look for your first change is difficult. And yet the status quo is that people should just figure that out.
You also talk about gatekeeping when in the many makerspaces I have been to, there are always highly experienced people who tinker on their own terms but rarely pay it forward, meaning they keep their knowledge. The reason for this is due to the often anarchist structure of maker spaces. Things happen if they do.
Sometimes there is an organized class. Most of the times, not. So you come in every week and people are just sitting around talking about the rules of keeping the space clean and when dues are due.
The concept of the hacker space and maker space is great. The execution leaves a lot to be desired. I consider it a 1.0 of a technical movement.
Look at any hobby and there are lots of beginners and casuals and far fewer people who are very skilled at it. The Maker hobby is no different. It's certainly not a problem of the microcontrollers available. Arduino is the simplest, but there are plenty of others.
The "blinky LED" roadblock is really just a result of the fact that more complex "maker" projects require some amount of electrical or engineering or fabrication knowledge and skill, which takes some trial and error and practice -- the same thing that limits progress in lots of other hobbies.
The real "Maker" movement is the demand that drives so many consumer level fabrication tools and components that were only available as expensive industrial and commercial orders in the past -- 3d printers, laser cutters, microcontrollers, IC sensors, brushless motors -- there are so many options now that just weren't available at all 20 years ago.
I agree with the outcome of increased fabrication tools availability.
Yet, when the intent is that the population is to be empowered democratically to wield these tools, there needs to be a better pedagogical culture in the communities.
I cannot believe the amount of people replying who seem to think that having a path to improvement is gatekeeping. How are people supposed to actually use these tools to make greater than novelty-level changes in their lives and communities?
The price of Arduino has not only been going up and up, but there have been IP disputes over the years. At the same time, you can get chips for pennies on the dollar. People in this thread are lamenting the possible demise of Arduino, when like Cloudflare, like Github, and like so many other things, they should have never been so invested into a single player.
The result of Arduino going away should be "Ah, it is a sad day that one of our many choices of accessible boards is going away. let's make sure the other ones are robust against that same fate and keep creating with our remaining tools."
Instead, the conversation is "How dare that big corp change the terms and conditions on our only hobby option!"
I certainly see a structural and cultural problem here.
I'm not a fan because, pedagogically, the structure of how it played out never allowed or helped people actually advance in the craft of it. There are better ways to build a tinker culture where people actually improve over time towards what an experienced EE and such can do. I rarely saw that progression.
What happens as a result of this is that someone spends a lot of time tinkering and then they think they know what they are doing. With that confidence, they might apply for a job or take on a more dangerous project. The job will say they don't actually have the skill, even though they have been putting in the time. And the overconfidence could lead to trying to do more dangerous things than they should on projects.
A tinkering culture is fine, but it needs to have safety and skill progression as its foundation. Most Maker Spaces I have been to have done a good job trying to keep things safe, but ultimately, people are people.
"Approaching" means to go towards the skillset. A home chef can develop better knife skills when cutting vegetables. That is approaching being a more professional cook, yet it does not mean the person could work in a restaurant. Maybe they could. We're talking about asymptotic.
If you are having understanding this distinction, then that is the exact point I am making about the Maker Movement. It is accepted that people progress if they do, and if they don't, then tough. There is a balance between perpetual tinkering, some sort of progression culture, and a full on degree.
Why must they “progress”? Why can’t people have hobbies? If they finish their blinky LED project and decide that’s enough investment into the hobby, why is that a problem?
Think about how many thousands have purchased a musical instrument only to abandon the hobby after a few months. Is that a failure of music-as-a-hobby or just humans being humans?
Most people I know who get into electronics as a hobby aren’t looking at it as a potential career. Myself included! This is the most absurd take I’ve seen all day.
I don't think Arduino users need to worry too much about safety. Obviously, don't build hobby projects that put lives on the line, but otherwise they're pretty harmless.
Who says a tinkering culture needs to have skill progression? Maybe people just like to tinker. Maybe simple things are still useful.
The Maker Movement is more than just Arduino coding. Some of these maker spaces have full-on donated Kuka robots or other heavy equipment with minimal safety mechanisms in place other than "be careful".
> I'm not a fan because, pedagogically, the structure of how it played out never allowed or helped people actually advance in the craft of it. There are better ways to build a tinker culture where people actually improve over time towards what an experienced EE and such can do. I rarely saw that progression.
I wonder how many young EEs of today can point to Arduino as their first exposure to electronics. You'll probably have a harder time finding those who don't.
As for "progression", I suppose you're disappointed that very few bicycle owners become professional cyclists.
A young EE is in a degreed program and is getting that progression formally as part of their degree. A person not in that degreed program is taking a random walk through the skills and potential mentors (if and when they exist). That's clearly the issue.
This also goes beyond programming on a microcontroller as the Maker Movement is about more than just electronics.
Yes, there is. It is called "Introduction to Microcontrollers" by Günther Gridling and Bettina Weiss from the Vienna University of Technology, written in 2007.
Unfortunately, it suffers from having a very generic name. It is short enough while going over concepts to take a person just beyond Arduino-land.
Longer answer: It's been a while since I have thought about Arduino. But last I recall, it is just an Atmega chip connected to IO. Maybe newer ones have moved to ARM M0 or beyond. That's about when I stopped using Arduino.
But it isn't hard to just start from baremetal on those. You need the user manual for the actual chip so you can configure timers and such. Once you know how to set up one chip, you can set up most any chip.
I do think there is use for a plug and play system like Arduino. It is very user friendly to just use that IDE and get started on Arduino. My critique is that there is rarely a followup progression. That followup progression is critical.
Here's a video showing how to make your own "Arduino" [1]. All the hard work is done by the Atmega chip. So Arduino has built this mythos and this IDE that it seems you have to use. It traps people and prevents them from doing the exploration into the chip itself.
I briefly looked at their IDE and CLI repos and GitHub claims they're AGPL and GPL 3 respectively. I didn't see a CLA when I looked at their contribution guide.
Am I missing something here? What basis do they have to restrict users' rights to reverse engineer the software?
reply