Author Topic: Is Arduino "crap"?  (Read 4338 times)

0 Members and 1 Guest are viewing this topic.

Offline madires

  • Super Contributor
  • ***
  • Posts: 8178
  • Country: de
  • A qualified hobbyist ;)
Re: Is Arduino "crap"?
« Reply #25 on: September 02, 2024, 04:00:02 pm »
One of the biggest misconceptions, I think, is that people think Arduino stops you from doing bare metal programming if you want. It won’t.

Do you mean the hardware, the framework, or both?
Both! The anti-Arduino people forget that you can use any combination of the framework, boards, and IDE (though using the Arduino boards with another framework is rare, it is doable). The only thing you absolutely cannot do -- which doesn't matter because nobody would want to do this -- is to use the Arduino IDE without the framework.

But one has to pay attention to some important details. For example, when you want to go bare metal with the Arduino framework on a classic ATmega based board you need to know that the framework uses Timer0, i.e. you can't use Timer0 in your program.
 

Online Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6976
  • Country: fi
    • My home page and email address
Re: Is Arduino "crap"?
« Reply #26 on: September 02, 2024, 04:05:43 pm »
The Arduino environment does not direct developers towards sound software engineering practices, and instead tries to hide some of the complexity by using its own preprocessor.  The code itself is C++, or C when using SDCC instead of GCC, for example for CH55x microcontrollers.

The same approach to PHP scripting for web pages and services lead to infamous Magic Quotes.  Their purpose was to pre-escape inputs from web forms, so that if the programmer neglected to properly sanitize their inputs, it should lessen problems interfacing to databases.  Some still look back at them fondly, and think it was a good idea, but it definitely was unsound engineering.  You don't hide security sensitive details from the developers by heuristically trying to do it for them, you educate the developers; or you deal with the insecure mess you helped create.

Just like with PHP, that does not mean one cannot do useful and good stuff in the Arduino environment.  It's just that the environment won't help with that, and may occasionally hinder you with it (Arduino's custom preprocessor).  PlatformIO is more configurable, so you trade the ease of configuration in Arduino environment, for a perfectly neutral development environment using standard toolchains.

What this means for each developer, varies a lot.  I know of pretty good code written in/for the Arduino environment, but many libraries are crappily written.  One of my favourite good examples are the Teensy cores used in PJRC's Teensy microcontrollers. They're pretty solid, and make development fast, because of the easy integration to the Arduino IDE.

Typical problems you see are library conflicts (two libraries don't work when both are used, even though either one works fine when used alone), plain bugs (especially when using the library even slightly differently than the author did), and missing implementations.  MCU registers might not be set up properly, simply because the default values work for the original use case for the library.  An example is the PWM frequency on some common AVR: as the same timer is used for multiple purposes, including millisecond and PWM generation, changing the PWM frequency means you need to modify the core for that board (or create your own variant of the original core).

Thus, as usual, it is a balance of things.  The important bit is all of it being open source, so if you know or learn how, you can always adjust it or create your own work flow and use your own toolchains.  That also means that whatever you intend to use, you need to check, so learning how to determine if code looks acceptable or problematic is a necessary skill.  Personally, I also recommend understanding the legal requirements of various licenses, and what they entail in practice.  If you can afford it, hire a copyright licensing lawyer to explain the main ones to you, although you can find pretty good understandable explanations at various FOSS/OSHW-related organizations' websites too if you cannot/don't want to.
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8178
  • Country: de
  • A qualified hobbyist ;)
Re: Is Arduino "crap"?
« Reply #27 on: September 02, 2024, 04:08:56 pm »
Do you mean the hardware, the framework, or both?

Can you separate them and keep the name?

I seem to think that this board is part of it.
But I also seem to avoid DIP versions.

In my eyes, it's a modular system. Boards plus framework plus IDE. You can use the boards also without the other parts. The ATmega based boards can be programmed via the Arduino bootloader or directly via the ISP header (avrdude supports both methods).
 
The following users thanked this post: tooki

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4778
  • Country: dk
Re: Is Arduino "crap"?
« Reply #28 on: September 02, 2024, 04:11:22 pm »
- Arduino IDE. Not the best editor or IDE in the world, but serves its purpose. It's easy to use an external editor if you want. I use emacs. Dead easy to install Board Support Packages, including appropriate toolchains. VSCode+PlatformIO is a much better editor and IDE, still easy to set up. Maybe not your cup of tea, but not crap.

does it have a real debugger now or is it still like going back to the 80's?
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4418
  • Country: nl
Re: Is Arduino "crap"?
« Reply #29 on: September 02, 2024, 06:49:11 pm »
- Arduino IDE. Not the best editor or IDE in the world, but serves its purpose. It's easy to use an external editor if you want. I use emacs. Dead easy to install Board Support Packages, including appropriate toolchains. VSCode+PlatformIO is a much better editor and IDE, still easy to set up. Maybe not your cup of tea, but not crap.

does it have a real debugger now or is it still like going back to the 80's?

Debugging is possible in the second version of the IDE, but you still need hardware that supports it.

Offline SteveThackeryTopic starter

  • Frequent Contributor
  • **
  • Posts: 603
  • Country: gb
Re: Is Arduino "crap"?
« Reply #30 on: September 02, 2024, 08:01:59 pm »
Debugging is possible in the second version of the IDE, but you still need hardware that supports it.

Or you can use VisualMicro, which supports debugging on all Arduinos. (Not hardware debugging, obviously.)

https://www.visualmicro.com
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2925
  • Country: us
  • Not An Expert
Re: Is Arduino "crap"?
« Reply #31 on: September 02, 2024, 10:39:50 pm »
Reluctantly, having more experience with this exact question than I ever wanted to have, I can say... yes. 
Specifically, Arduino for commercial products is "crap".

There are a few main problems in my opinion:
1) Real debugging (JTAG, SWD, etc) is a second class citizen. 
   printf() debugging is the norm.  So . god . damn . much . UART . traffic... dirty..
2) Hardware support favors obscure inexpensive Chinese parts.
   The Arduino world has conditioned "Makers" to love chips you can only get from aliexpress and have no English data sheet.  A ton of libraries are written around this type of part.  This is a nightmare for an actual commercial product.
3) The tools are terrible for large projects. 
   The native Arduino editor is a joke.  Stuff like platform.io is an unnecessary abstraction layer above the IC manufacturer toolset that adds little useful functionality and is itself a work in progress with stuff that doesn't work well and therefore gets in the way.
4) The libraries are incredibly inefficient.
   They were never designed to be performant.  Who needs performance to flash an LED.  For the stuff with an RTOS, insistence on using RTOS timers and queues for stuff that should be interrupts makes the minimum timestep like 1ms and screws determinism. 
5) The libraries were never designed to work well with anything other than the small single purpose they were designed for.
   Imagine the problems of "thread safe" code, but scale that to everything.  Actually taking control of interrupts breaks things in strange ways.  Adding too many Arduino libraries to the same code breaks things in strange ways.  Change the default hardware allocation breaks stuff in strange ways because all the required registers were not explicitly configured. 
6) Bug Fixes/Support is incredibly painful.
   Yes, it's open source... and yes if I want something I can just write it myself..  but that's not very "Arduino".  The reality is that you are pulling some library someone else wrote.  Lots of the libraries look like they were put together in a weekend by some art student "maker".  Lots of the libraries are abandoned.  Others are maintained by some random dude who has little time to deal with it and has no concept of long term stability and not introducing breaking changes.  So you are forced to fork a branch and now you need to sync/maintain that yourself if you need any fixes.  Fun for a dude in his basement.  Nightmare for a product.

The "contraption" label is spot on.  Anyone can make a simple thing that works some of the time.  Arduino stuff is great for making a  simple thing that works some of the time.  Now go make 10000 of a complex thing that need to work all the time.  Incredibly tall mountain to climb when the base of it starts at the Arduino elevation level.

« Last Edit: September 02, 2024, 10:56:00 pm by Smokey »
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 9564
  • Country: gb
Re: Is Arduino "crap"?
« Reply #32 on: September 02, 2024, 10:47:48 pm »
The real problem is Arduino is two decades old. It got something interesting started as an affordable price, and accepted a lot of limitations to achieve that. Now a similar amount will be much more powerful hardware. Arduino's time should be passing, but nobody is stepping up to offer the next great alternative. They are just running stuff originally targeted at tiny chips on much bigger ones.
 

Online coppercone2

  • Super Contributor
  • ***
  • Posts: 10850
  • Country: us
  • $
Re: Is Arduino "crap"?
« Reply #33 on: September 02, 2024, 10:48:36 pm »
it bearly works, they explain it like its a infinitely modular system but I had it crash 100% of the time with 1 extension card installed, just to separate something out a little bit. it will screw you if you make a promise that you can get something done. 1 inch tall spacer.

again with the 'premium' brands
 

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7321
  • Country: va
Re: Is Arduino "crap"?
« Reply #34 on: September 02, 2024, 11:15:15 pm »
The biggest issue with Arduino is that it encourages what I would term "cargo cult programming", where people just Google / ChatGPT a solution and don't fully understand why it works because the culture around Arduino seems to encourage this.

Why is that a problem? Sure, if one wishes to do proper engineering then it's not the best route, but if they don't care and just want it to do something, so what?

I'm not a plumber, so when we have problems with out pipes I might use Google to pull up a video and then hack a likely solution. I don't want to become a plumber, I just want to avoid paying a proper one to fix a simple problem. Is that cargo cult plumbing?

Sometimes the Googled solution defeats me and then we get the local plumber in. He does a grand job, and I'm not sure how this situation is different to an Arduino cargo culter failing to solve their issue and getting someone with a clue in to do it (actually, most likely buying something of Amazon).

It's horrible to us because we care , and we have pride (as do I when I fail to do plumbing, actually), but the Arduino cut'n'paster isn't, at that point, wanting to be an engineer any more than a Wreckfest player actually wants to go out smashing up cars. Maybe they will get hooked and then have to relearn some stuff, but until then surely it's only a problem for us looking at them.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 28102
  • Country: nl
    • NCT Developments
Re: Is Arduino "crap"?
« Reply #35 on: September 02, 2024, 11:18:26 pm »
Actually, software is the least of the problem when using boards from the Arduino eco-system. None of the boards & addons are designed to have any meaningfull signal integrity and/or resilience against external influences. Mostly due to lack of sufficient ground pins and ground points on the mounting holes. So using an Arduino module and a few shield boards is likely going to bite you when you try to build a commercial product. Try to get it through EMC and work reliable in the real world...  :scared:

If you look around you'll find plenty of examples of people who can't get their contraption to work due to the crappy hardware design alone. Driving motors and solenoids are good ingredients for an Ardisaster.
« Last Edit: September 02, 2024, 11:20:07 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: tooki, DiTBho, neillnz

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2925
  • Country: us
  • Not An Expert
Re: Is Arduino "crap"?
« Reply #36 on: September 02, 2024, 11:23:18 pm »
The biggest issue with Arduino is that it encourages what I would term "cargo cult programming", where people just Google / ChatGPT a solution and don't fully understand why it works because the culture around Arduino seems to encourage this.

Why is that a problem? ...


... you will only find the solution to trivial or common problems that way.  If you have a trivial or common problem then its great.  I've had chatGPT do trivial and common things for me since it's been out.  (It's actually pretty good at simple GUI layout for quick test type interfaces that would otherwise take a while to do all the boilerplate). 
Problem is when you have to deviate from trivial or common.  Only way to establish the skills is to practice.
 

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7321
  • Country: va
Re: Is Arduino "crap"?
« Reply #37 on: September 02, 2024, 11:33:42 pm »
The biggest issue with Arduino is that it encourages what I would term "cargo cult programming", where people just Google / ChatGPT a solution and don't fully understand why it works because the culture around Arduino seems to encourage this.

Why is that a problem? ...


... you will only find the solution to trivial or common problems that way.  If you have a trivial or common problem then its great.  I've had chatGPT do trivial and common things for me since it's been out.  (It's actually pretty good at simple GUI layout for quick test type interfaces that would otherwise take a while to do all the boilerplate). 
Problem is when you have to deviate from trivial or common.  Only way to establish the skills is to practice.

You're assuming the culter wants to progress from trivial or common. Maybe they will have a go and if it turns to shit they'll just buy a commercial solution (or forget about it). As I noted, that's only bad for us when we look at it and think how we would do it, but for them it does the biz (until it doesn't, and then they will likely try something else or give up). They don't see it as a problem, so why must we on their behalf?
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 7741
  • Country: us
  • hp>Agilent>Keysight>???
Re: Is Arduino "crap"?
« Reply #38 on: September 03, 2024, 12:41:57 am »
If you look around you'll find plenty of examples of people who can't get their contraption to work due to the crappy hardware design alone. Driving motors and solenoids are good ingredients for an Ardisaster.

Yes I agree with this. "Arduino" - the board with the microcontroller (whichever board with the chip you choose to use) I've found is OK for what it is. Haven't really had problems with the "Arduino" board. But the "Arduino" shield boards are many times of poor quality workmanship.

If it's a popular sensor board you will find a lot of libraries that purport to make your life easier using the sensor. If you find a good library for the sensor that can be true ... and if you start off with a poor library then it can be false. Then you keep trying libraries written by others until you find a good one.  :)
I told my friends I could teach them to be funny, but they all just laughed at me.
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2925
  • Country: us
  • Not An Expert
Re: Is Arduino "crap"?
« Reply #39 on: September 03, 2024, 01:52:42 am »
The biggest issue with Arduino is that it encourages what I would term "cargo cult programming", where people just Google / ChatGPT a solution and don't fully understand why it works because the culture around Arduino seems to encourage this.

Why is that a problem? ...


... you will only find the solution to trivial or common problems that way.  If you have a trivial or common problem then its great.  I've had chatGPT do trivial and common things for me since it's been out.  (It's actually pretty good at simple GUI layout for quick test type interfaces that would otherwise take a while to do all the boilerplate). 
Problem is when you have to deviate from trivial or common.  Only way to establish the skills is to practice.

You're assuming the culter wants to progress from trivial or common. Maybe they will have a go and if it turns to shit they'll just buy a commercial solution (or forget about it). As I noted, that's only bad for us when we look at it and think how we would do it, but for them it does the biz (until it doesn't, and then they will likely try something else or give up). They don't see it as a problem, so why must we on their behalf?

I'm not assuming anything about anyone.  I said it's great if you can easily find a solution to your common or trivial problem. 
The OP question was about Arduino in a product.  Unfortunately, if you are intending to make a product and you stop at "well google didn't immediately show me a cookbook receipt on how to do this, so I guess I'll quit" then you are going to have a hard time getting to market.

 

Offline ArdWar

  • Frequent Contributor
  • **
  • Posts: 721
  • Country: sc
Re: Is Arduino "crap"?
« Reply #40 on: September 03, 2024, 02:12:51 am »
None of the boards & addons are designed to have any meaningfull signal integrity and/or resilience against external influences. Mostly due to lack of sufficient ground pins and ground points on the mounting holes.
Now that you mention it. I still yet to figure out how am I supposed to mount Arduino Mega without grinding down some of the headers or shorting some pads/traces.
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8139
  • Country: ca
    • LinkedIn
Re: Is Arduino "crap"?
« Reply #41 on: September 03, 2024, 02:47:38 am »
I don't know if you could call it crap, but if Arduino is all you ever learn about programming MCUs, then you will limit your chances of contracts or employment in an industry using MCUs compared to those who have gone the extra mile to learn about bare metal core chip functions as well as other MCUs and their EDA environments.

If you want to begin playing an learning about MCUs, Arduino is fine.  If you want employment in the firmware industry for MCUs, yes you can start with Arduino, but within ~6 months, begin to expand your horizons a step at a time...  You never know if you will be hired to re-code existing hardware where you will be either stuck with a third party MCU, or something needs to operate at peak speed or efficiency, or use special hardware on the Atmel MCUs and if all you know is top level Arduino, you might not meet the cut.

Learning how to build your own PCBs, basic electronics, EMC and protect sensitive IO pins as well as how to troubleshoot your own or third party PCBs with a scope will also be a must if you are entering the MCU development industry.
« Last Edit: September 03, 2024, 02:57:29 am by BrianHG »
 

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4247
  • Country: gb
Re: Is Arduino "crap"?
« Reply #42 on: September 03, 2024, 03:59:54 am »
Reluctantly, having more experience with this exact question than I ever wanted to have, I can say... yes. 
Specifically, Arduino for commercial products is "crap".

There are a few main problems in my opinion:
1) Real debugging (JTAG, SWD, etc) is a second class citizen. 
   printf() debugging is the norm.  So . god . damn . much . UART . traffic... dirty..
2) Hardware support favors obscure inexpensive Chinese parts.
   The Arduino world has conditioned "Makers" to love chips you can only get from aliexpress and have no English data sheet.  A ton of libraries are written around this type of part.  This is a nightmare for an actual commercial product.
3) The tools are terrible for large projects. 
   The native Arduino editor is a joke.  Stuff like platform.io is an unnecessary abstraction layer above the IC manufacturer toolset that adds little useful functionality and is itself a work in progress with stuff that doesn't work well and therefore gets in the way.
4) The libraries are incredibly inefficient.
   They were never designed to be performant.  Who needs performance to flash an LED.  For the stuff with an RTOS, insistence on using RTOS timers and queues for stuff that should be interrupts makes the minimum timestep like 1ms and screws determinism. 
5) The libraries were never designed to work well with anything other than the small single purpose they were designed for.
   Imagine the problems of "thread safe" code, but scale that to everything.  Actually taking control of interrupts breaks things in strange ways.  Adding too many Arduino libraries to the same code breaks things in strange ways.  Change the default hardware allocation breaks stuff in strange ways because all the required registers were not explicitly configured. 
6) Bug Fixes/Support is incredibly painful.
   Yes, it's open source... and yes if I want something I can just write it myself..  but that's not very "Arduino".  The reality is that you are pulling some library someone else wrote.  Lots of the libraries look like they were put together in a weekend by some art student "maker".  Lots of the libraries are abandoned.  Others are maintained by some random dude who has little time to deal with it and has no concept of long term stability and not introducing breaking changes.  So you are forced to fork a branch and now you need to sync/maintain that yourself if you need any fixes.  Fun for a dude in his basement.  Nightmare for a product.

The "contraption" label is spot on.  Anyone can make a simple thing that works some of the time.  Arduino stuff is great for making a  simple thing that works some of the time.  Now go make 10000 of a complex thing that need to work all the time.  Incredibly tall mountain to climb when the base of it starts at the Arduino elevation level.

100% agree

Banzi said "with Arduino you have the power at your fingertips, you can even create interfaces for spaceships and [...]blablabla[...], of course, you only need printf to make them debug"

 :-DD :-DD :-DD :-DD :-DD :-DD :-DD

And with similar "social performance", you don't know how much Massimo Banzi has profited by openly saying "please, buy original Arduino boards and not clones, Arduino boards are made in Italy and this helps the Italian economy", when those boards, sold much more expensive than clones, were made with the same parts and in the same places where clones are built.

And when it was discovered how things really worked with that "made in Italy", the price difference was justified with "eh, but we are still OpenSource, because we have to live".

Many stories of that "company" are disgusting, starting from its beginning, Banzi stole the idea from one of his student as well as intel did with Federico Faggin's 4004, a company that tells a lot of bullshit to the public always exploiting the "goodness" that revolves around educational and OpenSource.
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 
The following users thanked this post: Smokey, pcprogrammer

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4418
  • Country: nl
Re: Is Arduino "crap"?
« Reply #43 on: September 03, 2024, 06:29:56 am »
The way I see it is that when you contemplate on making a commercial product you might start with "Arduino" hardware to make a prototype to test the feasibility of the basic idea. Maybe even use the development platform to write up the software for these tests, but if high performance is part of the functionality it might already be needed to go bare metal. (Even though the Arduino environment is basically bare metal. It is not as if there is a real OS involved.)

After proof of concept you will work out a proper hardware design that cuts down cost and can pass certification. When that is done you might reuse the Arduino software, but it is more likely that you go the path of doing a proper job. (Might also be needed to pass certification.)

Unless of course you are just out for a fast buck and don't give shit about the quality of your product. Better make sure you can't be sewed then.  :-DD

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7321
  • Country: va
Re: Is Arduino "crap"?
« Reply #44 on: September 03, 2024, 06:31:49 am »
Quote
The OP question was about Arduino in a product.

OK, re-reading the original I can see how that might be. I was arguing on the basis of the Arduino as a product rather than the Arduino in a product. Difficult to see which way the thread was going, particularly if that aspect was missed originally :-//
 

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7321
  • Country: va
Re: Is Arduino "crap"?
« Reply #45 on: September 03, 2024, 06:44:48 am »
The Arduino is pretty old, and although I wouldn't refuse to use something merely because it doesn't have JTAG debugging (are we bare metal developers or what?) it's quite long in the tooth. When it came out it was pretty neat for that time, given what was around.

Nowadays the Arduino equivalent would surely be the RPi - it has the same entry-level aim, the masses of third-party software, and you can Google for how to do stuff without actually learning what you're doing. It even gets embedded in actual products. So is the RPi crap?
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4418
  • Country: nl
Re: Is Arduino "crap"?
« Reply #46 on: September 03, 2024, 07:00:09 am »
The Arduino is pretty old, and although I wouldn't refuse to use something merely because it doesn't have JTAG debugging (are we bare metal developers or what?) it's quite long in the tooth. When it came out it was pretty neat for that time, given what was around.

Nowadays the Arduino equivalent would surely be the RPi - it has the same entry-level aim, the masses of third-party software, and you can Google for how to do stuff without actually learning what you're doing. It even gets embedded in actual products. So is the RPi crap?

It depends on what you consider to be Arduino hardware. The original ones using the Atmel mega328P MCU can be called old. Even the bluepill with a STM32F103 is old, but the newer stuff with ESP32 or Risc-V or Cortex-M4 MCU's are not old. Maybe not real Arduino hardware, but they can be used within the Arduino environment.

So what is needed here is a more specific question that defines what is meant with "Arduino" in the original title.

Is it the development environment (IDE), the framework, the hardware or a combination of it all.

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7321
  • Country: va
Re: Is Arduino "crap"?
« Reply #47 on: September 03, 2024, 07:03:34 am »
Quote
So what is needed here is a more specific question that defines what is meant with "Arduino" in the original title.

Is it the development environment (IDE), the framework, the hardware or a combination of it all.

Yes, good point.
 

Offline Ice-Tea

  • Super Contributor
  • ***
  • Posts: 3190
  • Country: be
    • Freelance Hardware Engineer
Re: Is Arduino "crap"?
« Reply #48 on: September 03, 2024, 07:19:25 am »
Aside from the SW side and the actual Arduino HW, it's kinda bad that there's a general notion you can just toss together a dozen breadboard plugins of varying quality and pedigree, get it to work and call it a "product". It's not a product. It's a technology demonstrator.
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2925
  • Country: us
  • Not An Expert
Re: Is Arduino "crap"?
« Reply #49 on: September 03, 2024, 07:23:36 am »
Eric Bogatin has a talk somewhere where he mentions the original Arduino PCB was so bad from a grounding/EMI standpoint that he uses it as an example of a measurably terrible PCB layout in his classes and has his pcb-design students re-lay it out with actual good design guidelines as an exercise.

The Arduino is pretty old, and although I wouldn't refuse to use something merely because it doesn't have JTAG debugging (are we bare metal developers or what?) it's quite long in the tooth. When it came out it was pretty neat for that time, given what was around.

Nowadays the Arduino equivalent would surely be the RPi - it has the same entry-level aim, the masses of third-party software, and you can Google for how to do stuff without actually learning what you're doing. It even gets embedded in actual products. So is the RPi crap?

It depends on what you consider to be Arduino hardware. The original ones using the Atmel mega328P MCU can be called old. Even the bluepill with a STM32F103 is old, but the newer stuff with ESP32 or Risc-V or Cortex-M4 MCU's are not old. Maybe not real Arduino hardware, but they can be used within the Arduino environment.

So what is needed here is a more specific question that defines what is meant with "Arduino" in the original title.

Is it the development environment (IDE), the framework, the hardware or a combination of it all.

My 6 point rant was mostly about (recent experience with) Arduino on ESP32.  I've never actually used any "real" Arduino hardware, so I was just talking about the framework/tools and libraries.  You would be a crazy person to try to make a real product based around dev boards you bought from Sparkfun anyway.
« Last Edit: September 03, 2024, 07:36:10 am by Smokey »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf