Reverse engineering prohibitions are the dumbest things.
Let's say I do this. Arduino sues me. Okay. Now what? What money are they going to take?
Hell, this would be a perfect time for everyone to form an LLC and purchase Arduinos as the LLC and then release your research under your corporate name as CC0. If your LLC has no revenue, you as an individual are legally protected.
Arduino can try to put the genie back in the bottle but good luck.
Better companies than Arduino have tried to prevent hardware reverse engineering and have failed. Apple being the biggest company I can think of that have tried to sue people for releasing schematics of their motherboards.
They can't take your money but they can bury you into the ground and use you as an example so that no one ever tries to do the same thing.
Ever heard of Aaron Schwartz?
It's still legal in Australia, at least, we never got the anti-circumvention rule the US media companies got into the US trade agreements
Or rather we did, but they have exceptions that cover just about every otherwise legal use case. I can legally decrypt media to play on my Linux machine, for example. I think the only thing we can't legally do is circumvent controls to do copyright violation
Maybe it's just what I've been noticing, but I feel like Arduino was already losing its share of the hobbyist market. The plethora of small, cheap esp32 devices have already been taking Arduino's place.
In capitalism, the consumer isn't the target audience. A business exists to make money. The more money you make, the more shareholders you gain, the more the shareholders demand BLOOD!
???
You don't need to take your company public, you know?
You can just stay its sole owner, then no one can force you to do anything with it (except for a judge).
I think that only happens if you manage to acquire a monopoly and are forced to break up your company - I'm not entirely sure you have to sell parts of it publicly even then
They seem to forget that "line go up" isn't the primary objective. If you make a good product and give half a shit about your customers, the line goes up as a natural consequence.
companies just can't seem to know how to grow without line go up mentality.
That's like saying "people just can't seem to harness the advantages of cancer without dying"
If you never take money and get hooked by outside sources, you can just slowly grow, with no debt, beholden to no one
If you take the money with any strings attached at all, you basically have to grow like cancer or your company will be sold for parts. It's inevitable at that point
Don't take the money kids. If you have to take a business loan in the beginning - fine,
I meant to delete the comment to keep things simple, but what I was going to say is something like
fine, but debt is like gambling. There's situations where it makes sense, but it's addictive. It's mortgaging your own future, even when it maths out it's a risk - shit happens
And if you over leverage and under perform, it's over. If you can pay yourself and your employees, you're better off never taking on debt again.
Like Wegmans. It's the very best grocery store, everyone who goes there agrees. They grow slowly because they only open new locations when they have the cash to do so, and so they never have to compromise on quality in any way
Odd that the newer RP2350 has a lower clock speed, while being improved in most other respects. Is that why the RP2040 is still seemingly the community preference?
Personally, I never really counted the RP2350 as a successor. It's a different animal completely. A 2040 successor would be something like 4x cortex-m0's or a faster clock with more ram or whatever, the 2350 has completed different capabilities and components and can live along side the 2040.
I feel like the preferred one is the 2040 simply because it's cheaper, and capable enough for the vast majority of use cases at this point.
Edit: yes I know RPI called their board using the 2350 the pico 2, but the 2040 chip itself is used in more places than just the pico and not every one used the 2350 as a v2.
Cheap. Also, a large part of the tinkering community never moves past soldering or perf board + lack of cheap 2354 boards. 2040 is already good enough for keebs and most projects. 2350 had eratta E9 published (gpio lockup) which killed its initial adoption rate for more advanced projects PicoLogicAnalyzer, protocol emulation, etc.
Hey thanks! I was wondering what my alternatives were. Bought RPis, having remembered that name from a decade ago, and then read the posts here about how those are getting worse. Glad to see something that could take their place for my next project :) This is the kind of stuff I come to programming.dev for.
Many. But there too, I'm seeing many people move to VScode + platformio. I'm not saying Arduino is already dead, I'm just saying that the alternatives were already gaining ground.
I love the ESP32, was onboard with the ESP-8266 (might have the numbers wrong, it was the predecessor), but I thought the real difference between the ESP-32 and the Rpi was that the Rpi has an OS with a possible desktop even (and all that Libux has to offer basically), as the ESP is more of a uProcessor you program in C/C++?
Edit: Plesse disregard, I mixed up the posts and posted one levet too high too...
Arduino has its place for self-taught hobbyists. For a lot of projects, a simple code is more than enough, so there is no point of going into the more advanced mcu like esp32 or stm32.
All the open hardware and software and ecosystem was pretty cool. It was cool you could just buy hats, or whatever they're called, to add functionality, rather than designing a custom PCB and spending hundreds of dollars to get a few boards made and populated. I'm not a fan of their software stack or their choice of uC's, but they did make it easy to just kind of plug stuff together in hardware and software.
Arduino has been irrelevant for a while. There are better alternatives for everything they offer. For a start, take a look at Raspberry Pi’s microcontrollers.
ST looming in the background, NXP desperately trying to smash their own kneecaps with a hammer and failing. ESP getting hit with a lightning bolt every time they try to read documentation they printed out but not when its digital...
The closest they've come so far is prioritizing industrial customers and compute modules for a while during a chip shortage, to my memory. Hopefully they stick to their roots in the hobbyist/educational sector.
I stay away from all the micro tech drama and I feel like two years ago, that community was bitching that raspberry pi sold out and everyone should switch to arduino.
I don't have a side. I just pick whatever is easiest to make a emulation station.
RbP created a publicly traded company for their hardware, which is almost-wholly-held by Raspberry Pi Foundation, which is a charity.
That sort of thing ought not be allowed, ever. It’s similar to the path Arduino took to get here. There are still other competitors, but for the time being I’m happy enough with RbPi’s dirt-cheap microcontrollers. Their mini-PCs are a different story. We’re already seeing enshittification and price gouging there. It’s just a matter of time.
Yeah, I remember when the prices were high for a raspberry pi, I think it was $45, I went on Newegg and found a full size motherboard for $50. I mean, if you are looking for small that's no good, but if cheap was all you were going for at that time, the pi wasn't that great.
You can also use the Arduino hardware without their IDE or libraries. You just need avr-gcc, avr-libc and a makefile. The AVR microcontrollers are very easy to program. The Arduino libraries really just get in the way once you need to do anything with timers.
True, but you can't just port arduino code to python or whatever language the raspberry picos compile from. An arduino project would have to be completely rewritten, as far as I'm aware.
you can program a Pi Pico with the Arduino IDE in C++. Some projects will just compile if you aren't using some AVR specific features like the built-in EEPROM that the RP2040 doesn't have.
That's actually pretty cool, but aren't the majority of Arduino projects written in Arduino (Java superset)? At least all of mine are, as that is how I was originally taught to program it.
edit - Please don't downvote people for seeking information. There was nothing disingenuous or underhanded about my comment, you're either downvoting because you dislike people asking questions or don't like something personal about my experience, which harms this community directly and also make the site feel unnecessarily hostile. This isn't reddit.
TL;DR: The Arduino language is C++ with an automatically included library, but it's descended from a Java project with an automatically included library.
Processing is a graphics and art based graphics library/IDE that uses the Java programming language. It basically includes some classes and methods by default on top of Java that makes programming graphics and even simple games a bit more straightforward.
Processing's IDE was forked by the Wiring project for the purposes of microcontroller hardware programming. Because the Java Virtual Machine is a bit much to ask a 16MHz 8-bit AVR to run, they switched the language to C++ which compiles straight to machine code that runs on the bare metal. Again, it's just C++ with a library included, under the hood it uses gcc to compile and avrdude to program the chip. I believe the IDE itself is still written in Java.
Arduino took Wiring and painted it teal. They've extended it quite a bit since then but in the early days Arduino was really a hardware project. They've since added support for non-AVR boards to the Arduino IDE, including ARM-Cortex and ESP32 based boards.
Raspberry Pi offers C and C++ SDKs and a MicroPython interpreter for the Pico series. Someone contributed support for RP2040 based boards to the Arduino IDE; I don't believe that was done officially by either RPi or Arduino.
TIL that Processing actually predates Arduino. All these years I thought that it was the other way around and that Processing was a fork of Arduino. Thanks for the history lesson!
I remember watching a video where they talked about the changes. Apparently most of the language people are really upset about applies specificly to their website and forums. I can't find the video, probably because I am sick and have barely slept in the last 4 days. I miss sleep ... and not coughing.
75 Comments
TheJesusaurus@sh.itjust.works · 258 pts · 256d
Reverse engineering, a.k.a. looking at something. Now illegal, brought to you by capitalism
theunknownmuncher@lemmy.world · 126 pts · 255d
Without reverse engineering, there is no security. No way to find new bugs and vulnerabilities or confirm it's backdoor free. Just blind trust only.
CanadaPlus@lemmy.sdf.org · 82 pts · 255d
It offers protection from crackers and cybergangs too, because they always follow laws. /s
CosmicTurtle0@lemmy.dbzer0.com · 33 pts · 255d
Reverse engineering prohibitions are the dumbest things.
Let's say I do this. Arduino sues me. Okay. Now what? What money are they going to take?
Hell, this would be a perfect time for everyone to form an LLC and purchase Arduinos as the LLC and then release your research under your corporate name as CC0. If your LLC has no revenue, you as an individual are legally protected.
Arduino can try to put the genie back in the bottle but good luck.
Better companies than Arduino have tried to prevent hardware reverse engineering and have failed. Apple being the biggest company I can think of that have tried to sue people for releasing schematics of their motherboards.
matlag@sh.itjust.works · 30 pts · 255d
They can't take your money but they can bury you into the ground and use you as an example so that no one ever tries to do the same thing. Ever heard of Aaron Schwartz?
psud@aussie.zone · -2 pts · 255d
It's still legal in Australia, at least, we never got the anti-circumvention rule the US media companies got into the US trade agreements
Or rather we did, but they have exceptions that cover just about every otherwise legal use case. I can legally decrypt media to play on my Linux machine, for example. I think the only thing we can't legally do is circumvent controls to do copyright violation
IrateAnteater@sh.itjust.works · 145 pts · 256d
Maybe it's just what I've been noticing, but I feel like Arduino was already losing its share of the hobbyist market. The plethora of small, cheap esp32 devices have already been taking Arduino's place.
0x0@lemmy.zip · 77 pts · 256d
Same with raspberrypi really.
companies just can't seem to know how to grow without line go up mentality.
TheOneCurly@feddit.online · 87 pts · 256d
That's just it, you don't need to grow. Just sell a useful product at a reasonable price.
Axolotl_cpp@feddit.it · 43 pts · 256d
Not for capitalism though
AreaKode@lemmy.world · 43 pts · 255d
In capitalism, the consumer isn't the target audience. A business exists to make money. The more money you make, the more shareholders you gain, the more the shareholders demand BLOOD!
mech@feddit.org · 15 pts · 255d
No one forces you to sell shares.
zeca@lemmy.ml · -1 pts · 255d
... untill someone does.
firelizzard@programming.dev · 9 pts · 255d
If you own the company, no one can force you to sell shares.
mech@feddit.org · 7 pts · 255d
???
You don't need to take your company public, you know?
You can just stay its sole owner, then no one can force you to do anything with it (except for a judge).
mesamunefire@piefed.social · 2 pts · 255d
Which countries?
zeca@lemmy.ml · 1 pts · 255d
Depends on the laws. In certain situations, you may be forced to sell part/all of you company.
Besides the legal ways, someone may threaten you or something demanding that you sell it, its not impossible.
psud@aussie.zone · 4 pts · 255d
I think that only happens if you manage to acquire a monopoly and are forced to break up your company - I'm not entirely sure you have to sell parts of it publicly even then
Unless the someone happens to be the owner.
funkajunk@lemmy.world · 22 pts · 255d
They seem to forget that "line go up" isn't the primary objective. If you make a good product and give half a shit about your customers, the line goes up as a natural consequence.
SARGE@startrek.website · 20 pts · 255d
funkajunk@lemmy.world · 6 pts · 255d
Line go brrrr?
theneverfox@pawb.social · 11 pts · 255d
That's like saying "people just can't seem to harness the advantages of cancer without dying"
If you never take money and get hooked by outside sources, you can just slowly grow, with no debt, beholden to no one
If you take the money with any strings attached at all, you basically have to grow like cancer or your company will be sold for parts. It's inevitable at that point
Don't take the money kids. If you have to take a business loan in the beginning - fine,
andioop@programming.dev · 3 pts · 255d
was the comma a typo of a period, or did you have more to say here? if you have more to say i'm eager to listen
theneverfox@pawb.social · 5 pts · 255d
I meant to delete the comment to keep things simple, but what I was going to say is something like
fine, but debt is like gambling. There's situations where it makes sense, but it's addictive. It's mortgaging your own future, even when it maths out it's a risk - shit happens
And if you over leverage and under perform, it's over. If you can pay yourself and your employees, you're better off never taking on debt again.
Like Wegmans. It's the very best grocery store, everyone who goes there agrees. They grow slowly because they only open new locations when they have the cash to do so, and so they never have to compromise on quality in any way
CameronDev@programming.dev · 27 pts · 256d
Also rp2040 devices.
SatyrSack@quokk.au · 6 pts · 255d
Odd that the newer RP2350 has a lower clock speed, while being improved in most other respects. Is that why the RP2040 is still seemingly the community preference?
https://en.wikipedia.org/wiki/RP2350
thejml@sh.itjust.works · 9 pts · 255d
Personally, I never really counted the RP2350 as a successor. It's a different animal completely. A 2040 successor would be something like 4x cortex-m0's or a faster clock with more ram or whatever, the 2350 has completed different capabilities and components and can live along side the 2040.
I feel like the preferred one is the 2040 simply because it's cheaper, and capable enough for the vast majority of use cases at this point.
Edit: yes I know RPI called their board using the 2350 the pico 2, but the 2040 chip itself is used in more places than just the pico and not every one used the 2350 as a v2.
abs_mess@lemmy.blahaj.zone · 6 pts · 255d
Cheap. Also, a large part of the tinkering community never moves past soldering or perf board + lack of cheap 2354 boards. 2040 is already good enough for keebs and most projects. 2350 had eratta E9 published (gpio lockup) which killed its initial adoption rate for more advanced projects PicoLogicAnalyzer, protocol emulation, etc.
bytesonbike@discuss.online · 12 pts · 255d
I'm getting into meshtastic and learned how those esp32 devices are everywhere! They seem pretty neat
mesamunefire@piefed.social · 8 pts · 255d
Nice! I have a couple too. There's a community if your interested:
!meshtastic@mander.xyz
andioop@programming.dev · 3 pts · 255d
Hey thanks! I was wondering what my alternatives were. Bought RPis, having remembered that name from a decade ago, and then read the posts here about how those are getting worse. Glad to see something that could take their place for my next project :) This is the kind of stuff I come to programming.dev for.
mesamunefire@piefed.social · 4 pts · 255d
There are clones now more open than arduino that we can buy. In addition esp32 and other small boards are awesome.
vaionko@sopuli.xyz · 2 pts · 255d
But how many of those esp32s are programmed using the Arduino IDE and Arduino libraries?
IrateAnteater@sh.itjust.works · 11 pts · 255d
Many. But there too, I'm seeing many people move to VScode + platformio. I'm not saying Arduino is already dead, I'm just saying that the alternatives were already gaining ground.
captain_aggravated@sh.itjust.works · 0 pts · 255d
I program my EPS32s in micropython anyway.
Valmond@lemmy.world · 2 pts · 255d
I love the ESP32, was onboard with the ESP-8266 (might have the numbers wrong, it was the predecessor), but I thought the real difference between the ESP-32 and the Rpi was that the Rpi has an OS with a possible desktop even (and all that Libux has to offer basically), as the ESP is more of a uProcessor you program in C/C++?
Edit: Plesse disregard, I mixed up the posts and posted one levet too high too...
IrateAnteater@sh.itjust.works · 9 pts · 255d
To answer your question anyway, raspberry Pi made the rp2040 chip, which is a microcontroller similar to the esp, instead of a full fat computer SOC
MonkderVierte@lemmy.zip · 2 pts · 255d
I mean, it's either that or a vendor-independent ecosystem. And this rarely gets fostered by vendors.
underscores@lemmy.zip · 61 pts · 255d
Arduino is dogshit, I will not elaborate.
Croquette@sh.itjust.works · 22 pts · 255d
Arduino has its place for self-taught hobbyists. For a lot of projects, a simple code is more than enough, so there is no point of going into the more advanced mcu like esp32 or stm32.
phlegmy@sh.itjust.works · 18 pts · 255d
Not since the pi pico came out.
It's cheaper, more capable, and you can still use arduino code if you want.
Croquette@sh.itjust.works · 8 pts · 255d
I can find an arduino nano clone for 3$. There are use case for ultra cheap electronics like that.
SteveTech@aussie.zone · 4 pts · 255d
I can find the official Pi Pico for $3.50, I'm sure clones are cheaper than that.
Croquette@sh.itjust.works · 1 pts · 254d
The official Pico, I can only find them at 9$. I am not in the US.
SinAdjetivos@lemmy.world · 2 pts · 255d
Sure, but you can do better for $3. Smaller, more powerful, similar power consumption
Croquette@sh.itjust.works · 2 pts · 254d
I am not in the US. Seeed shipping would kill me
rumba@lemmy.zip · 11 pts · 255d
You are not wrong. Took a trip down that path for a friend, helping him create some items, which was frustratingly limited.
It is, however, super easy if you don't want/need much.
I hate to see options disappear, even if we have other reasonable options available.
Magnum@lemmy.dbzer0.com · 6 pts · 255d
GreenKnight23@lemmy.world · 3 pts · 255d
I was always surprised why the TI line of MSP430s didn't take better. Guess their marketing was bullshit 🤷.
sobchak@programming.dev · 1 pts · 255d
All the open hardware and software and ecosystem was pretty cool. It was cool you could just buy hats, or whatever they're called, to add functionality, rather than designing a custom PCB and spending hundreds of dollars to get a few boards made and populated. I'm not a fan of their software stack or their choice of uC's, but they did make it easy to just kind of plug stuff together in hardware and software.
BlameTheAntifa@lemmy.world · 57 pts · 255d
Arduino has been irrelevant for a while. There are better alternatives for everything they offer. For a start, take a look at Raspberry Pi’s microcontrollers.
MonkderVierte@lemmy.zip · 26 pts · 255d
Up next: Raspberry foundation enshitification.
rumba@lemmy.zip · 9 pts · 255d
There are already several places chomping at the bit to unseat them as the SBC default.
abs_mess@lemmy.blahaj.zone · 4 pts · 255d
ST looming in the background, NXP desperately trying to smash their own kneecaps with a hammer and failing. ESP getting hit with a lightning bolt every time they try to read documentation they printed out but not when its digital...
Quetzalcutlass@lemmy.world · 4 pts · 255d
The closest they've come so far is prioritizing industrial customers and compute modules for a while during a chip shortage, to my memory. Hopefully they stick to their roots in the hobbyist/educational sector.
Fiery@lemmy.dbzer0.com · 5 pts · 255d
To be fair, if most of your funding (source needed) comes from industrial customers, not supplying them is a good way to lose their patronage.
So even if it sucked for hobbyists at that moment, keeping a big player like RbP viable for the long term might not be too bad of a tradeoff.
bytesonbike@discuss.online · 16 pts · 255d
I stay away from all the micro tech drama and I feel like two years ago, that community was bitching that raspberry pi sold out and everyone should switch to arduino.
I don't have a side. I just pick whatever is easiest to make a emulation station.
BlameTheAntifa@lemmy.world · 16 pts · 255d
RbP created a publicly traded company for their hardware, which is almost-wholly-held by Raspberry Pi Foundation, which is a charity.
That sort of thing ought not be allowed, ever. It’s similar to the path Arduino took to get here. There are still other competitors, but for the time being I’m happy enough with RbPi’s dirt-cheap microcontrollers. Their mini-PCs are a different story. We’re already seeing enshittification and price gouging there. It’s just a matter of time.
atomicbocks@sh.itjust.works · 5 pts · 255d
I agree that it shouldn’t be allowed. But for what it’s worth, a lot of non-profits that have a product do this. Mozilla for instance.
Professorozone@lemmy.world · 2 pts · 255d
Yeah, I remember when the prices were high for a raspberry pi, I think it was $45, I went on Newegg and found a full size motherboard for $50. I mean, if you are looking for small that's no good, but if cheap was all you were going for at that time, the pi wasn't that great.
cmnybo@discuss.tchncs.de · 5 pts · 255d
You can also use the Arduino hardware without their IDE or libraries. You just need avr-gcc, avr-libc and a makefile. The AVR microcontrollers are very easy to program. The Arduino libraries really just get in the way once you need to do anything with timers.
Croquette@sh.itjust.works · 2 pts · 255d
You can get an arduino clone for a lot cheaper than you can get an rpi clone.
Sometimes, you just need something very simple and a cheap arduino is the right choice.
Arduino is also a lot more user friendly for newcomers.
It's a shame that Qualcomm will be the end of it.
infinitesunrise@slrpnk.net · 2 pts · 255d
True, but you can't just port arduino code to python or whatever language the raspberry picos compile from. An arduino project would have to be completely rewritten, as far as I'm aware.
captain_aggravated@sh.itjust.works · 3 pts · 255d
you can program a Pi Pico with the Arduino IDE in C++. Some projects will just compile if you aren't using some AVR specific features like the built-in EEPROM that the RP2040 doesn't have.
infinitesunrise@slrpnk.net · 3 pts · 255d
That's actually pretty cool, but aren't the majority of Arduino projects written in Arduino (Java superset)? At least all of mine are, as that is how I was originally taught to program it.
edit - Please don't downvote people for seeking information. There was nothing disingenuous or underhanded about my comment, you're either downvoting because you dislike people asking questions or don't like something personal about my experience, which harms this community directly and also make the site feel unnecessarily hostile. This isn't reddit.
captain_aggravated@sh.itjust.works · 3 pts · 255d
TL;DR: The Arduino language is C++ with an automatically included library, but it's descended from a Java project with an automatically included library.
Processing is a graphics and art based graphics library/IDE that uses the Java programming language. It basically includes some classes and methods by default on top of Java that makes programming graphics and even simple games a bit more straightforward.
Processing's IDE was forked by the Wiring project for the purposes of microcontroller hardware programming. Because the Java Virtual Machine is a bit much to ask a 16MHz 8-bit AVR to run, they switched the language to C++ which compiles straight to machine code that runs on the bare metal. Again, it's just C++ with a library included, under the hood it uses gcc to compile and avrdude to program the chip. I believe the IDE itself is still written in Java.
Arduino took Wiring and painted it teal. They've extended it quite a bit since then but in the early days Arduino was really a hardware project. They've since added support for non-AVR boards to the Arduino IDE, including ARM-Cortex and ESP32 based boards.
Raspberry Pi offers C and C++ SDKs and a MicroPython interpreter for the Pico series. Someone contributed support for RP2040 based boards to the Arduino IDE; I don't believe that was done officially by either RPi or Arduino.
infinitesunrise@slrpnk.net · 2 pts · 255d
TIL that Processing actually predates Arduino. All these years I thought that it was the other way around and that Processing was a fork of Arduino. Thanks for the history lesson!
flandish@lemmy.world · 17 pts · 256d
capitalism.
Professorozone@lemmy.world · 14 pts · 255d
If you buy one of the knock-offs, will the terms still apply? Cause I think I'm seeing an out here.
hemko@lemmy.dbzer0.com · 12 pts · 256d
Qualcomm doing Qualcomm things
monkeyman512@lemmy.world · 4 pts · 255d
I remember watching a video where they talked about the changes. Apparently most of the language people are really upset about applies specificly to their website and forums. I can't find the video, probably because I am sick and have barely slept in the last 4 days. I miss sleep ... and not coughing.
Edit: changed "can" to "can't"
sin_free_for_00_days@sopuli.xyz · 5 pts · 255d
I hope that you get over it soon. Coughing is the worst. I'd rather have hallucination levels of fever than have a bad cough.
monkeyman512@lemmy.world · 2 pts · 254d
Thanks! I actually managed 4-5 hours of sleep with minimal coughing last night. Things are trending the right direction.