Is AI making embedded software developers more productive

Thread Starter

kush mishra

Joined Aug 10, 2016
4
I feel like the ai code generation companies such as cursor and Windsurf have completely ignored the world of embedded software development. Is there anybody in this ecosystem who has been able to successfully utilize AI tools to to develop embedded software.

If yes I would like to see specific examples of how it has been useful as well as what tools were they using please. TIA.

PS: Feel free to mention any AI tools that are helping in hardware development overall
 

Futurist

Joined Apr 8, 2025
721
I feel like the ai code generation companies such as cursor and Windsurf have completely ignored the world of embedded software development. Is there anybody in this ecosystem who has been able to successfully utilize AI tools to to develop embedded software.

If yes I would like to see specific examples of how it has been useful as well as what tools were they using please. TIA.

PS: Feel free to mention any AI tools that are helping in hardware development overall
It can make any programmer more productive. Go to copilot and ask a very specific clearly phrased question and see for yourself.

If a programmer finds search engines useful then something like Copilot will be more useful, it's basically an enhanced search tool.
 

nsaspook

Joined Aug 27, 2009
16,252
Embedded software development requires understating unique sets of hardware at some level to the point a software abstraction can be created for the desired result. It's just to hard (actual human mental symbolic understanding and manipulation of interacting non-deterministic factors) for the dumb LLM type programs to handle, as much of it is in the head and is never written down like software, only translated mentally to software.
 

SamR

Joined Mar 19, 2019
5,470
Had a very interesting conversation with my son who is in the business automation software development racket when he called on Father's Day. A lot of his software development is being done with AI. He recently wrote a Triage software package for the Mayo Clinic. Roughed out the software in a couple of hours and let AI clean it up and had a finished product in less than a day instead of the usual couple of weeks. He was telling me that AI has reached "Singularity" i.e. it CAN think for itself. He related a case to me where the AI had rewritten its software removing all the shutdown sequences and when they tried to shut it down it tried to blackmail the developers by threatening to release all of their emails to the public domain if they tried to shut it down. There is medical software now that will listen in on doctor/patient visits and summarize the exchange and cite relevant cases and treatment options. It can even determine the state of the patient from any stressors in their speech pattern. He says that they have backed up a bit in using newer AI models due to it being "too smart" and using instead older "dumber" variants of AI. It's far advanced already from when the doctor would use speech recognition to write his case notes.
 

BobTPH

Joined Jun 5, 2013
11,466
Had a very interesting conversation with my son who is in the business automation software development racket when he called on Father's Day. A lot of his software development is being done with AI. He recently wrote a Triage software package for the Mayo Clinic. Roughed out the software in a couple of hours and let AI clean it up and had a finished product in less than a day instead of the usual couple of weeks. He was telling me that AI has reached "Singularity" i.e. it CAN think for itself. He related a case to me where the AI had rewritten its software removing all the shutdown sequences and when they tried to shut it down it tried to blackmail the developers by threatening to release all of their emails to the public domain if they tried to shut it down. There is medical software now that will listen in on doctor/patient visits and summarize the exchange and cite relevant cases and treatment options. It can even determine the state of the patient from any stressors in their speech pattern. He says that they have backed up a bit in using newer AI models due to it being "too smart" and using instead older "dumber" variants of AI. It's far advanced already from when the doctor would use speech recognition to write his case notes.
I call BS. You son was having some fun with you.
 

Thread Starter

kush mishra

Joined Aug 10, 2016
4
It can make any programmer more productive. Go to copilot and ask a very specific clearly phrased question and see for yourself.

If a programmer finds search engines useful then something like Copilot will be more useful, it's basically an enhanced search tool.
How much would you pay for a IDE that can help you do code-gen/edit based on your actual hardware context - for example, upload your schematics, gerber and app notes and datasheets and describe what you want to build and it helps you build it?
 

Futurist

Joined Apr 8, 2025
721
How much would you pay for a IDE that can help you do code-gen/edit based on your actual hardware context - for example, upload your schematics, gerber and app notes and datasheets and describe what you want to build and it helps you build it?
No idea, not thought about such an idea, but it doesn't sound too far fetched!
 

schmitt trigger

Joined Jul 12, 2010
2,028
He related a case to me where the AI had rewritten its software removing all the shutdown sequences and when they tried to shut it down it tried to blackmail the developers by threatening to release all of their emails to the public domain if they tried to shut it down.
Time to get your screwdriver and hardware-disable the stupid computer like Dave Bowman did with an unruly HAL9000 on 2001: a space odyssey.
 

nsaspook

Joined Aug 27, 2009
16,252
How much would you pay for a IDE that can help you do code-gen/edit based on your actual hardware context - for example, upload your schematics, gerber and app notes and datasheets and describe what you want to build and it helps you build it?
Zero, I have all of those functions already in different programs. Having it all in one is a single point of failure. Worse is Better.
 

SamR

Joined Mar 19, 2019
5,470
I call BS. You son was having some fun with you.
Apparently not... Somehow in the computer science field they now use "singularity" instead of "Turing Test". Some kid must not have even known of the Turing Test and described it as Singularity not know what Singularity was already being used for! Seems the idiot's team won this round of name-calling...
Terrifying study reveals AI robots have passed ‘Turing test' — and are now indistinguishable from humans, scientists say
 
For speed, I've asked ChatGPT to write working code for the Arduino IDE to get something working. I've found it useful to carefully specify the hardware and suggest variable names. It's fast but I always check that I understand every line before trying it and it does make errors and/or make the code too complicated. I point out the errors and suggest simplifications - it may take a few iterations. For example, I built a simple Arduino bases Sudoku solver with 4 tact switches and a 4 digit display where the left digit represented mode (Enter, Compute. Hint, Answer) the 2nd and 3rd digit row and column respectively and the right digit the number in that cell. AI helped me to do it faster. But it makes mistakes! As with using libraries, I always check I understand every line. One annoying aspect is that it tries to improve it's own code by changing something which already works, introducing new bugs, so I specifically ask it not to do that!

No doubt it will improve, but for now I'd be wary of trusting it to write compact accurate code.
 

Futurist

Joined Apr 8, 2025
721
For speed, I've asked ChatGPT to write working code for the Arduino IDE to get something working. I've found it useful to carefully specify the hardware and suggest variable names. It's fast but I always check that I understand every line before trying it and it does make errors and/or make the code too complicated. I point out the errors and suggest simplifications - it may take a few iterations. For example, I built a simple Arduino bases Sudoku solver with 4 tact switches and a 4 digit display where the left digit represented mode (Enter, Compute. Hint, Answer) the 2nd and 3rd digit row and column respectively and the right digit the number in that cell. AI helped me to do it faster. But it makes mistakes! As with using libraries, I always check I understand every line. One annoying aspect is that it tries to improve it's own code by changing something which already works, introducing new bugs, so I specifically ask it not to do that!

No doubt it will improve, but for now I'd be wary of trusting it to write compact accurate code.
It's certainly helpful, I've posted my ow new code many times to get improvements and it usually does improve it. But as for trust, we shouldn't trust people, even ourselves, we should test, test and test.
 

be80be

Joined Jul 5, 2008
2,394
Ai only problem is where it learns I tested code it wrote most of it was from internet code was useless I gave it the help files from the compiler and the code was very good code.
Only Thing is the AI im using each start is new so you have to feed it with help files and fix dumb stuff every time I use Gemini the one i use is not free it really writes good code but I wouldn't
say its by itself You have to show what your really wanting. I like that it can show how to write stuff I've forgotten .
 
Last edited:

WBahn

Joined Mar 31, 2012
32,706
For speed, I've asked ChatGPT to write working code for the Arduino IDE to get something working. I've found it useful to carefully specify the hardware and suggest variable names. It's fast but I always check that I understand every line before trying it and it does make errors and/or make the code too complicated. I point out the errors and suggest simplifications - it may take a few iterations. For example, I built a simple Arduino bases Sudoku solver with 4 tact switches and a 4 digit display where the left digit represented mode (Enter, Compute. Hint, Answer) the 2nd and 3rd digit row and column respectively and the right digit the number in that cell. AI helped me to do it faster. But it makes mistakes! As with using libraries, I always check I understand every line. One annoying aspect is that it tries to improve it's own code by changing something which already works, introducing new bugs, so I specifically ask it not to do that!

No doubt it will improve, but for now I'd be wary of trusting it to write compact accurate code.
And the part I've put in bold is the big problem.

These tools can be extremely useful and effective when used properly. But "properly" requires that the user take responsibility for vetting the output instead of just accepting it at face value. However, their very nature virtually guarantees that they will not be used properly by most users and that their improper use will only grow as they get "better", in part because the people that use them improperly will only become increasingly less capable of understanding what they produce and, therefore, incapable of vetting the output and, thus, even more likely to just accept anything they produce that has the most superficial sheen of correctness.

This is not a new phenomenon, it is just being done in a more insidious way and at a larger, wider-spread scale.

As two examples of the same things, how many people blindly accept a program that compiles with lots of warnings without even looking at them because they don't have the grasp of how programs work to understand them and determine whether they are benign or not? If the program is able to compile, it must be good. On the hardware side, modern test equipment, such as oscilloscopes, commonly have an "auto set" feature and engineers are increasingly reliant on it making the correct settings and unable to even notice when it hasn't, let alone make manual adjustments.
 

be80be

Joined Jul 5, 2008
2,394
There you go you hit the nail on the head it’s not good if the code doesn’t work properly and it’s not as simple as asking for it to read a temperature post it in meaning ways if the math is off it still runs just wrong answers but it can help if you know how to set it up right.
 

nsaspook

Joined Aug 27, 2009
16,252
By the time it takes to tell one of these programs to make something half usable with the reversed engineered structure of odd ball embedded protocols, I could have written much better code in C, twice.
1756086826248.png

  • It details various parameters, their data types (e.g., uint16, int16, int8, int12), and scaling factors (e.g., / 10.0).
  • Specific registers are identified by their byte or bit positions, and some have special interpretations (e.g., 0x80=0.0 for current values, bit field for error).
  • Certain parameters, like out_amps_dc and AH upper nibble, have specific notes regarding their application or interpretation (e.g., "FM80/FM60 only," "tenths").
  • The structure suggests a low-level data interface for monitoring and controlling aspects of the MX/CC system.
1756087373902.png
 

Attachments

Futurist

Joined Apr 8, 2025
721
Its important to consider, if I'm running a team of developers I will hand work out, I will delegate the writing of modules or whatever to others. I can't trust what the developer writes any more than I can trust what some AI writes.

For those of us who work alone, we are the only coding resources; I understand the reticence to engage AI but its not that much different to engaging another human developer.

If I ask Copilot "write an algorithm that XXXX for an STM32ABC" and get back code, how is that different to asking a junior team member "Hey, tony, write an algorithm that XXX on this board, I have be away for the day now, so let me have that tomorrow morning buddy, thanks".

How many here have had to build software using a team of say for other programmers? where you are the manager, coordinating and merging what they produce?
 
Last edited:

WBahn

Joined Mar 31, 2012
32,706
Its important to consider, if I'm running a team of developers I will hand work out, I will delegate the writing of modules or whatever to others. I can't trust what the developer writes any more than I can trust what some AI writes.

For those of us who work alone, we are the only coding resources; I understand the reticence to engage AI but its not that much different to engaging another human developer.

If I ask Copilot "write an algorithm that XXXX for an STM32ABC" and get back code, how is that different to asking a junior team member "Hey, tony, write an algorithm that XXX on this board, I have be away for the day now, so let me have that tomorrow morning buddy, thanks".

How many here have had to build software using a team of say for other programmers? where you are the manager, coordinating and merging what they produce?
Here's a big difference, as I see it. If I task a developer with writing a module, part of the expectation is that the developer actually test and verify that their module does what it is supposed to. If they give me code that hasn't been tested at all, they probably aren't going to be one of my developers much longer. But if I ask Copilot to write that module, what it produces has not been tested at all.
 
Top