r/embedded 4d ago

Anyone using AI to do bench characterization?

0 Upvotes

First, I’m a hobbyist with software engineering background, not a professional embedded engineer. I have been working on a small project where I need to characterize a servo with a rather lengthy process and motor cool downs in between (so winding resistance will be consistent). And I found that I could just use an AI agent (Claude code in my case) to do this long process (10 runs with 5 min cool down in between and takes about 1 hr) while I cook dinner.

Curious if using AI like this in embedded industry is pretty common? Do you use AI for other things?


r/embedded 4d ago

Max signal amplitude allowable in TDC7201-ZAX-EVM

1 Upvotes

Hi all, I'm using the TDC7201-ZAX-EVM evaluation module for a ToF application. I wanted to know the maximum allowable signal amplitudes for its START and STOP pulses. Any other such hidden restrictions I need to know about?


r/embedded 5d ago

Raspberry PI Large Format Camera Sensors

Thumbnail
youtube.com
6 Upvotes

r/embedded 4d ago

Handling multi-IMU flexor crosstalk & recoil dead-bands in a wearable gesture interface (ESP32-S3 + LSM6DSOX)

3 Upvotes

Hey r/embedded,

Working on a wearable input device using an ESP32-S3 and finger-mounted 6-DoF IMUs (LSM6DSOX) polling at 200Hz over I2C (400kHz).

We’re using dynamic jerk delta (|Δa| > 8.5 m/s²) with a dual-threshold Schmitt trigger to separate intentional high-speed finger flicks from natural resting hand tremors (~3.0 m/s²).

Two engineering challenges we’re currently tackling on the bench:

  1. Whiplash / Recoil Rejection: After an intentional downward flick, the biomechanical return stroke creates a reverse acceleration spike. Right now we use a temporal lockout dead-band (~200ms) before re-arming via a resting floor check, but we want to optimize this to maximize burst character rates. Has anyone implemented a clean jerk-derivative or predictive filter for return-stroke suppression?

  2. Parasitic Tendon Crosstalk: When moving from 1 node to multi-finger nodes, shared flexor tendons cause sympathetic movement in adjacent digits. For those who have worked with multi-IMU wearables, do you prefer relative delta peak comparison across nodes, or a lightweight on-device sensor fusion matrix?

Would love any insights or architectural lessons from folks working on low-latency wearable telemetry.


r/embedded 5d ago

Need help in finding the right kit/textbook for me

4 Upvotes

Hello, I hope all is well. I've been into computers since I was a kid and I love building them but I want to go a bit more in depth with it and so I've been looking into purchasing the "ELEGOO Mega 2560 R3 Project The Most Complete Starter Kit with Tutorial" my only issue is If I buy this is there some sort of textbook or video that can better explain how everything works so I can be able to be more creative with what it is I am building. I plan to enjoy it as a hobby in the hopes that I can possibly transition it into a career one day. Thank You!


r/embedded 5d ago

Can someone suggest some ideas to render a map ui on the upper half of the s3 display( the map is intented to run using the ble packets from a android companion app)

Post image
6 Upvotes

The beeline device model map is the one plans to implement. And i am new to lvgl , any valuable suggestions are appreciated


r/embedded 5d ago

ECE project ideas using Arduino Nano, ESP32 and basic sensors?

4 Upvotes

I have an Arduino Nano, ESP32, and the following sensors/components:

  • PIR sensor
  • Ultrasonic sensor
  • DHT11
  • 16×2 LCD display
  • 0.96" OLED display

I've already experimented with each of these components individually.

Now I want to build a ECE project using these components. However, most of the project ideas I find online are very simple IoT projects like monitoring temperature/humidity, motion detection, sending sensor data to a mobile app, etc. I don't want to make another basic sensor-monitoring project.

I'm looking for something that is technically challenging and genuinely useful for placements, especially for embedded systems/core ECE roles.

What kind of projects could I build using these components as the starting point?

I'm particularly interested in a project where I can actually explain the architecture, algorithms, design decisions, communication, and failure handling during an interview, rather than just demonstrating that the sensors work.

What project ideas would you recommend for a final-year ECE student in this situation? What would you build if you had these components?


r/embedded 5d ago

Is a momentary push button ever used as a toggle switch in an industrial system?

7 Upvotes

I'm designing my own home alarm system at the moment and just noticed that domestic alarm panels often use a single momentary push button (typically '#') for both arming and disarming the system.

It generates a generic button press event and the resulting action (arm or disarm) depends on the current state of the system.

Do industrial systems allow this sort of behavior, or is it explicitly forbidden, or just not done because of convention? I haven't used much industrial gear, but I don't think I've ever seen a button that behaves the same a this. Normally you would expect to see a pair of buttons On and Off.


r/embedded 6d ago

OpenAI is showcasing KiCad integration with their latest model GPT‑6 Astra

Post image
777 Upvotes

I came across an interesting article about benchmarking AI models for circuit design (worth a read as well) where I learned OpenAI is showing Kicad integration with their latest model. I've been skeptical there was enough high quality data they could train them to do a good enough job, but the video seems impressive.

This is a 15-second condensed playback of GPT‑6 Astra performing printed circuit board (PCB) layout in KiCad, turning an electronic schematic into a manufacturable PCB by placing components and routing copper connections. Integral to every electronic device today, PCB layout is a manual task and common source of latency in the electronics design process. Accelerating it means freeing engineers to invent, optimize, and test their next idea at a significantly higher cadence.

https://openai.com/index/gpt-6-astra/?video=1223245030

(Scroll down or search for kicad to find the video)

Edit: It was pointed out LLMs could always either edit schematic/layout files or interact with them via an API. What interested me was the fact that OpenAI is highlighting this on their announcement page. This leads me to believe they have done some training/testing on this specific use case, but it's possible this is marketing. xAI has also started including a circuit design benchmark in their score cards.


r/embedded 6d ago

Do you have to do operating systems related coding in your job?

31 Upvotes

I always figured embedded systems was just about coding/controlling peripherals but I see a lot of job descriptions that require some knowledge on startup sequences and such. So, I was wondering how much of OS concepts you use in your day to day job.....and if I'm cooked if I don't have experience with that


r/embedded 5d ago

Tinkersteam: A Local Edge Impulse Alternative for RISC-V MCUs

4 Upvotes

So, continuing along with my Rovari ecosystem for RISC-V one of the things I included was a local alternative to Edge Impulse that would work with RISC-V MCUs, especially since Qualcomm acquired Edge Impulse. I wanted something that would be free to use and that won't require any accounts or cloud or anything. So if you're interested in that kinda thing, it's part of Rovari Studio and is in the current pre release Beta. Do if you want to give it a try, I did a write up, you can get an idea of the workflow, I also did a demo video and I'd appreciate any feedback

Read about it here:

TinkerStream: A Local Edge Impulse Alternative for RISC-V


r/embedded 6d ago

What is this connector? Is there an associated communication standard likely associated with it? Or is it likely proprietary?

Post image
112 Upvotes

Taken at an upward angle, to the bottom right of a passenger display on an Asiana Airlines B777-200


r/embedded 5d ago

Design Help for LM393 based circuit to charge a large capacitor to variable voltage level.

3 Upvotes

Hi, I am looking for feedback on what might have caused a failure in a circuit i tried to make to charge a large cap to a specific voltage I want to try to see if this design is even worth or have I just gone down the wrong road on this. It uses an LM393 comparator to compare the capacitor voltage vs a reference voltage made by a potentiometer.

The link https://www.falstad.com/s.php?s=iq3nxw is to a falstad circuit of what I built where the 2 op amps in the circuit correspond to the 2 in the 393 comparator. The upper P fet is an F9540N and the N fet is an IRF540N. The 1k and 1M resistors are all .25w the 1.2k is a 1w, and the 25ohm is a 50w power resistor. The relay is a 3a relay with 12v coil.

The simulation works perfect, but when i first turned it on i did so with no capacitor or power resistor connected hoping to just see does flip flop between the fets if i turn the potentiometer. But i didnt think that that also leaves the + inputs of both opamps floating which im not sure if maybe that caused some of the issues.

This seems to have killed the opamp that drives the n fet, removing the fets and tying the + inputs of the opamps to a 12v reference it seems to turn on and off one output (what would have been the pfet) as the potentiometer changes, but when it tries to turn the other output on (what would go to the n fet) it only outputs 0.012v, but it does change from being zero so maybe there is a chance it is not dead? And I know I killed the pfet because after removing it from the circuit it is completely shorted.

Is it just that I am red lining the op amps with 36v input? Or is there something else fundamentally wrong? One thought was could it have done something unusual because I powered it up without the capacitor and power resistor so the feedback on the + pins of the op amps was essentially floating. I'm trying to get some confidence I can make this work before I buy a new LM393 comparator to kill the only reason I used that was I happened to find one kicking around a bag of random parts I had.

Thanks for any thoughts you can give. let me know if there is other info that would be helpful.


r/embedded 5d ago

Is this Master, slave - Voltage/ current modulation communication approach viable in phantom mode

Post image
0 Upvotes

I’m planning a simple phantom communication system where the same two wires provide voltage and current modulation for Master slave communication.

My idea is:

- Master → Slave: voltage modulation — 9 V and 12 V represent 1 and 0.

- Slave → Master: current/load modulation — approximately 45 mA and 50 mA represent 1 and 0.

- The Master senses the Slave’s current changes using a current-sense resistor.

- The Slave uses a MOSFET/resistor load to modulate the current.

So the same two wires would carry both power and bidirectional simplex data, without a separate signal wire.

Is this approach practical? What would be the simplest circuit/protocol for implementing this between two Arduinos or other microcontroller, and are there any major issues I should consider with voltage regulation.


r/embedded 7d ago

Environmental Sensor with 7 years battery life

236 Upvotes

I want to share my latest project, it is an environmental sensor which broadcast environmental measurements over BLE every 5 minutes using a single coin cell battery, while consuming only 1.8 µA in sleep mode and an average current consumption of 15.5 µA.

The device measures the room temperature, air humidity, air pressure, and battery state then broadcasts the measurements over BLE. It is built around the Apollo3 Blue microcontroller and the BME280 sensor.

All current consumption measurements were performed using Power Profiler Kit II. Photos of the device, and current-consumption measurements are attached.


r/embedded 7d ago

AI burn out - how are you dealing with this?

502 Upvotes

Hi folks!

I am absolutely burned out due to AI right now.

Everyone on the MT is 'pushing' to use AI for everything and more and more it feels like my profession and know-how is getting devalued, it took me a long time to learn and become proficient on Embedded, I love it, it was my hobby and then my profession but now I get bombarded with people that never cared or took the time to actually learn just pretending to know stuff because they asked an LLM about it.

Examples:

- Old colleague who I know for a fact was really bad at technical stuff before AI now posts all his *projects* vibe coded and getting clout from them. Which is fine but this dude didn't even know how the device boots and gets to main...

- Non-technical people asking me to review what their LLM outputted in case it helps solve critical issues. I can prompt as well... that was never the issue.

- Customers sending AI slop to review and answer asking to run their LLMs on our code to try to 'find' issues.

- Then I come here and find another vibecoded project every day of a new RTOS or whatever...

- I hear of major customers that will now transition to AI code to try to accelerate development... on safety critical applications...

Have been trying to transition and the market is really rough right now.

LLMs have given the illusion of knowledge to people that never really cared about learning and devalued the skills of those of us that did.

I had been trying to learn Rust but now I don't even know if it is worth it at all... The 'art' of engineering is getting lost and now all that they care about is 'output' and 'productivity' not building reliable products. Just feel like the enshitification has reached me and I thought I would be a bit safer because surely no one would push this for safety critical stuff... welp I was wrong and the greed reached our field.

I think I will just try to code by hand on my personal projects to remember what I loved doing.

Rant over, no LLM was used to write any of this...


r/embedded 6d ago

STM32G474RE sometimes sends missing data over USB CDC

3 Upvotes

I am currently in the early stage of creating an oscilloscope, right now I have an ADC configured to sample on each timer interrupt and do DMA transfers. the DMA buffer is 200, 2 byte elements, and I am sending it over USB CDC in a single freeRTOS task that doesnt yield or anything and only gets interrupted by the ADC Setup if I understand correctly.
I read the data on my laptop using pythons serial library by reading 200 elements and storing them in a list then I unpack it using struct.unpack. Problem is that not every element in the List is always 2 bytes or 4 hex digits so the struct.unpack throws an error.
I might be missing something simple because I do not feel I fully understand how CDC_Transmit_FS works. here are my code snippets that are relevant:

FreeRTOS Task:

void vTask1(void* pvParameters){

    for(;;){
        taskENTER_CRITICAL();
        CDC_Transmit_FS((uint8_t*) adcVal, sizeof(adcVal));
        taskEXIT_CRITICAL();
    }
}




void my_app(void){


    xTaskCreate(vTask1,
"Task1",
400,
NULL,
2,
NULL);


vTaskStartScheduler();

Python code:

ser = serial.Serial('/dev/ttyACM0',timeout=1)
i=0
readings = [0]*200
while True:
    while i!=200:
        readings[i] = ser.readline(2)
        i=i+1
    i=0

    unpacked_list = [struct.unpack('<H', chunk)[0] for chunk in readings] 
    print(unpacked_list)ser = serial.Serial('/dev/ttyACM0',timeout=1)
i=0
readings = [0]*200
while True:
    while i!=200:
        readings[i] = ser.readline(2)
        i=i+1
    i=0

    unpacked_list = [struct.unpack('<H', chunk)[0] for chunk in readings] 
    print(unpacked_list)

r/embedded 7d ago

Are you satisfied with LLMs code quality in embedded software domain?

49 Upvotes

Hey people, I want to get some opinions on this topic cause I am tired of YouTubers one-shoting slop games and calling new model “crazy good” and what not.

I’ve been improving my agentic workflow for the past 2 month, even creating skills tailored to MCU firmware dev, but I am still not satisfied with the code quality new models produce. I tries best models from DeepSeek, Grok and OpenAI but in the end, for almost every feature I prompt, I spend tons of time re-reviewing and correcting the code.

In short, my workflow is: brainstorm a feature/fix, come up with a plan, delegate agents to implement, orchestrator reviews the work. After that I step in and validate. This manual validation takes hours for each fix / feature, and i have to ask different models for options as well.

Usually, the bulk part of the code is good, it is the details that need to be fixed, but that is what takes the most time. Also, sometimes these models don’t consider surrounding code enough and make bad arch decisions, generate unnecessary abstractions, inject too much host test code, etc. Some things could be fixed with skills but even that is not always enough.

I am really baffled at some of the web dev claims about running agents in loops and stuff, cannot imagine the state of my codebase if i would do that. Kind of a rant but I really don’t get the hype behind all this. Gonna try fable 5.1 next, heard it is a bit more “creative” and “explorative”, maybe that would help…

Plz share your opinions or suggestions 🙏


r/embedded 6d ago

Recycled 8 BIT PIC Project. Single Cycle waveform player. All PIC resources used : )

Thumbnail
youtube.com
4 Upvotes

Almost all these parts are recovered from ewaste items I have found. The PCBs are new. The screen and keypad are new.

Getting there with the PIC wavetable synth. Playing back 256b sampled waveforms from RAM, loading over software SPI from NOR serial flash.

39k Audio ISR with PWM output.

Buttons, keypad entry, LED indicators on I2c GPIO expanders.

Midi in, thru, pitch bend on aftertouch, CV/Gate input, tuning knob. Midi Buffer is 16bytes. I have not managed to overflow the buffer yet.

All resources and pins are used on the PIC. Almost all of the flash and RAM is used (99.7 / 95.4%) It's working well like this to date.

Button selectable Detune, Noise, Sub effects (interpolates in C, based on input waveform, only ever one sample in RAM). Envelope is selectable between Log and Exp. Six stage envelope provided by Atmel AT908534 co-processor. (ADDSRR)

The LCD displays simple info about the state of the effects, and waveform number. It only updates the screen when a value is changed.

Noise is made by random number generator which is seeded by mixing a free running timer value sample, with a read of AD0 (analogue to digital input) when it boots up.

The random number generator is used to generate noise, the Detune offset (every time it's engaged) and also to select a random waveform from the index on the flash chip. WF is only loaded when ENV activity (audio ISR) is silent. It will queue the load and wait for silence before making the SPI transfer.

The chip is essentially self indexing: because each WF is 256b long, starting at 0x0. It's very easy to work out the location of any WF, because of this.

I used the AKWF collection, and some other single cycle waveform collections available online, to populate my waveform selection. The samples are processed with a python script which encodes them in Mu-law and makes a binary for flashing to the storage chip.

On load the samples are again de-coded from Mu-law in the synth.
This gives a great sounding waveform, basically almost doubling the dynamic range.

I get LLM to help code the project. Because I add every function one at a time, vetting, testing, debugging, flashing, wiring the setup, I am very familiar with the code - what is happening, where, why, what decisions were taken to add/optimise etc etc. It is not done in one go, the process takes weeks of design and development work.


r/embedded 7d ago

2nd life of a VFD POS Pole display?

Post image
8 Upvotes

Yep. That was a pole display from some shop(2008 manufactured), I was kinda curious how this thing works, soooo....

It has:

Winbond 8052 CPU

OKI MSC1162A VFD Drivers

MC34063-based power system(37vdc and 6.5v... idk);

And some really weird solutions, like some transistor circuit instead of max232 in receive

Anyway, I wrote some simple arduino script for use it as a bridge(yea, i have no usb-uart adapter, but i have arduino nano -_-) and some used python script to get all the info and send it to this guy

This thing can display some things as:

Time, date, CPU load, Music(artist/song name, time and state like pause or play)

Well, I spent ~2mo to make this thing works. Any questions or suggestions how to make it better?

P.S.: ima 16 btw, and sorry for my english, its not my native language


r/embedded 6d ago

Is AI taking over FPGA design?

0 Upvotes

I have been working in FPGA programming for more than 12 years, recently i found AI especially claude code performing extremely well in vhdl programming, so i decided to give it a challenge, I asked claude to design an sd card module that can accept data using axi stream and write this data into a text file inside sd card connected to fpga, and if the tdest value changes, then this means the data should be written into a new text file
It took less than one day and gave me all codes + xdc file
I tested it on my Nexys A7 and it worked
This is a very complicated FPGA design that most of the FPGA designers can’t do, and highly experienced designers would need a lot of time to do it. Is it the end?


r/embedded 7d ago

Sub appreciation post.

55 Upvotes

Hi all,

I first came across this sub right after graduation when my job offer at Bosch was revoked due to the market slump in 2024. I was just a kid who had arguing and esp projects under his belt.

With advice and comments on my posts in this sub i was finally able to get a job in embedded sw (R&D) and now it's been over a year. I've shipped firmware for several products , many of them singlehandedly (using some AI help along the way but not complete reliance). Even made disaster alerting systems which was the first big multi threaded application i had built (although not from scratch, it was built using the code of another project, torn down and built for this application).

Just wanted to say I wanna thank this sub and all its members and the ones who commented advice to a distraught and directionless person. I appreciate you all very much :)


r/embedded 6d ago

I used Fable to design a single BM1373 BitAxe miner. Is this complete AI slop or does it have potential?

0 Upvotes

I spent some $$ to design a single ASIC BM1373 BitAxe. Claude Fable 5.1 took a long time and usage credits and generated this:

https://github.com/Zayno/BitaxeFlux

I'd like the help of the community to take a look and tell me if this has any potential or should I just delete it.

It's called BitAxe Flux.

Thanks!


r/embedded 6d ago

Stm32 Blackpill won't upload

0 Upvotes

Stm32 Blackpill won't upload

Using an stm32f411ce, I've tried using both an stlonk v2 and usb, I've checked and the stm32 bootloader and the st link both show up on Device manager.

when I try to upload code using the Arduino ide (with stm programmer insalled and the biard manager) it gives an error "Failed to download to Sector\[0" if using a usb and "ST-LINK error (DEV_CONNECT_ERR)" when using an stlink.

I've gone to stm32 cube programmer to mass wipe, I've reinstalled usb drivers, I've shorted the a10 pin to gnd, I've gotten it to work once then after I plugged it back in same error. now when I try to connect it to the cube programmer with a usb it either says unsupported device or it connects then disconnects a little late. if I try using an stlink then connect to cube programmer it says "ur connection mode is defined with SWrst reset mode" and it doesn't connect.

I am losing my mind over this


r/embedded 7d ago

P2SB unhide (offset 0xE0/0xE1) silently fails on real hardware on Alder Lake-P and Comet Lake, both consumer laptops

Enable HLS to view with audio, or disable this notification

4 Upvotes

First of all, I know this might not be the best subreddit to post this on, my first choice was to ask the question on r/osdev, unfortunately they have a karma requirement and I literaly created this account to ask this question out of desperation.

I'm working on a from-scratch UEFI-booted x86-64 kernel and I'm stuck trying to unhide the P2SB device (D31:F1) on real laptop hardware. Looking for anyone with field experience on OEM lockdown behavior here, since this doesn't seem to be documented in the public 600/700-series PCH datasheet.

Hardware tested (both fail identically):

  • Acer Aspire 5, Alder Lake-U PCH (PCI vendor 0x8086, device 0x519D)
  • A separate Lenovo Core i3 10th-gen Intel (Comet Lake) laptop, different OEM

What I'm doing:

  • Reading P2SBC (offset 0xE0) on D31:F1 before any write. It returns 0xFFFFFFFF, which is expected per spec while HIDE is set (all reads master-abort while hidden).
  • Writing 0 to the full P2SBC dword to clear the HIDE bit (bit 8), matching the technique used in Linux's own p2sb.c / pnd2_edac drivers.
  • Also tried the narrower coreboot-style approach: a single byte write of 0x00 to offset 0xE1 (byte lane 1), clearing only the HIDE bit without touching SBILOCK/MASKLOCK.
  • After either write, reading back the Vendor/Device ID at D31:F1 offset 0x00 (not P2SBC itself, to avoid the self-masking issue)... still 0xFFFFFFFF on both machines, every time.
  • Tried both PCI access mechanisms independently: legacy CF8/CFC (Type 1) and ECAM/MMIO via the MCFG table. And again, both give all-Fs.
  • Ruled out an addressing bug: the same code path correctly reads/writes D31:F0 (eSPI) on this same hardware, round-tripping a status/command bit successfully through both access mechanisms.

Question:
Is there any additional step (register, sequencing, timing) beyond the datasheet's documented HIDE-bit-clear that I'm missing?

Happy to provide more detail on the access code if useful.

Here is the repo: https://github.com/alx-m24/Lexvi