r/embedded • • 7h ago

Which linux distro is suitable for embedded firmware devlopment

0 Upvotes

I am a Embedded Firmware learner,

Doing bare metal ,freertos and zephyr Rtos firware development and building edge AI models.

I have been also building drivers and open source library in RTOS

Currently I am using Ubuntu , previously I have used Kali Linux.

Could you recommend a best distro for my taste and day to day building ?

And a new learning experience

or does ubuntu itself a good choice and stick to it


r/embedded • • 12h ago

Fast Clean-room Multiplarform C Run-Time for RTOS

0 Upvotes

I wrote a small clean-room C99 runtime under fairly strict real-time constraints:

• Zero heap after boot
• No large static tables (Unicode / case / collation moved out of the core)
• O(1) bounded stack sort
• Written with MISRA C:2023 / CERT C / NASA Power of Ten style rules in mind
• Current size is roughly 1.2–10.5 kB .text depending on configuration
• Side-by-side size comparisons with dietlibc, picolibc, NuttX libc, etc.
• SIMD Assembly Kernels

It was built as the runtime layer for a BTRON-derived system, but the runtime itself is intentionally minimal and separable.

I’m mainly looking for feedback from people who ship actual constrained or safety-oriented code. What would you change or drop?


r/embedded • • 14h ago

Wall-E STM32 Project: Advice Appreciated

Post image
11 Upvotes

Hi all,

I'm currently an ECSE student finishing my second year and I have really enjoyed embedded systems so far. The most extensive experience I have at the moment alongside the fundamentals is working with ADC/IRQ/DMA (I programmed a DAC essentially).

I have this empty Wall-E toy from when I was a kid and I was thinking it's a good starting point to learn some more STM skills and apply it to something I actually care about. I think it's a good opportunity to learn:

  • Communications with sensors/motors

  • Designing a PCB and battery powered electronics

  • Potential for RTOS and wireless communication (if the project becomes more complicated)

  • Choosing STMs/making engineering decisions (something that's stressed a lot in my course to be an employable engineer)

I've been doing some reading through other's projects and other students who have posted on this subreddit and some of the advice everyone gave. I was wondering if anyone would have advice on how I could begin to tackle this, some pointers on good (non-AI) resources (especially robotics control/system design fundamentals, as I don't have much course experience with this), and also just general industry advice about embedded engineering as someone who would like to get into the industry one day (or even adjacent industries).

I know this project may be looking like a lot to do as basically a beginner, but I want to challenge myself and learn along the way by making this a long term project with room to consistently add to. Any advice would be greatly appreciated!


r/embedded • • 20h ago

Any project ideas for tinkering with STM32 security features?

6 Upvotes

I'm looking for a project that could actually make use of TrustZone, hardware crypto accelerators, tamper pins, etc. on STM32 MCUs. Usually I just ignore TrustZone and RIF by putting everything in the Secure world, but I'd like to actually try using these features for once.

Anyone got any ideas where they'd actually be useful? I don't want to use them just for the sake of it.

Also, how would you even test whether your implementation is secure or not? I'd like to try breaking it afterwards to see how well it holds up 😄


r/embedded • • 20h ago

Doubt on the Learning Path

11 Upvotes

I am a UG student.

Upto now I have learned bare metal programming,freeRTOS and finally Zephyr RTOS and edge AI basics .

And also build some open source project libraries and drivers for sensor and some framing protocol also published it in the esp registery and Arduino libraries.

Now my doubt is where to head next ,or start building ideas further or learn the next phase things

Seeking your advice !


r/embedded • • 21h ago

Everybody couldn’t/didn’t get a formal education. What was your journey?

8 Upvotes

As the title states, not every (embedded) engineer has or has started out with formal education. If you broke into the industry without one what was your journey?


r/embedded • • 23h ago

Looking for a cheap 7 inch 800x480 RGB565 FPC/FFC IPS capacitive touch screen display.

2 Upvotes

Hello, I would like to make a project with a esp32 s3 with a screen but, I don't where to get one and what should I look for. I want to make a custom PCB, I wanted to have the screen connected with a ribbon cable. As the title says I want a 7 inch 800x480 RGB565 FPC/FFC IPS capacitive touch screen display. I don't want a bare screen, I would like to already have the touch screen and screen IC in the cable or on the back or the screen.

Edit: Forgot to say that I would want one screen for around 30 euros or less if possible.

Edit 2: I would like to be powered with 3.3V or 5V


r/embedded • • 23h ago

Can I ask for help regarding in identifying the tvs diode and capacitors or if these are resistors on this MT6835 module?

Post image
0 Upvotes

I've tried and reverse image it with Google but so far the pcb schematic shows up but nothing indicating about the components.

I've feed it to gpt to try and have it deep dive with the picture but so far nothing at all.

I need to specify it for a school project.


r/embedded • • 1d ago

Open-sourcing an MCP tool for automated ARM HardFault decoding & Renode virtual hardware simulation for AI agents

0 Upvotes

Hi r/embedded,

Debugging silicon faults when bringing up new microcontrollers is notoriously tedious, especially when you're staring at raw hexadecimal register dumps (`CFSR`, `HFSR`, `BFAR`, `MMFAR`) on Cortex-M or cryptic ESP32 Guru Meditation backtraces without a debugger attached.

I've open-sourced **Hardware Debug Anything (HDA)**, an MCP (Model Context Protocol) server designed to connect AI coding assistants directly to silicon diagnostics:

- **ARM HardFault & BusFault Decoder**: Parses raw hex bitmasks into plain-English root causes (precise bus error, unaligned memory access, stack overflow, memory management faults).

- **ESP32 Guru Meditation Parser**: Decodes crash frames and backtrace register dumps.

- **Antmicro Renode Virtual Hardware Integration**: Generates `.resc` simulation scripts so firmware can be validated in virtual silicon without needing physical hardware on the desk.

- **I2C/SPI Diagnostics**: Automated pull-up resistor calculations and NACK troubleshooting.

- **GitHub Repository:** https://github.com/hosseinnosrati/hardware-debug-anything

I also built an accompanying EDA tool for closed-loop SPICE simulation and KiCad export (**Circuit Design Anything**): https://github.com/hosseinnosrati/circuit-design-anything

Both are 100% open-source (Apache 2.0). I’d appreciate any feedback from the embedded community!


r/embedded • • 1d ago

Project work (confusion on future endavours)

1 Upvotes

Hey i have been working some embedded systems project with my mentor for past 2 years , I can say I got pretty good at understanding what an embedded systems engineer does..

Iam looking for new problems to tackle with ......

I will also add gbe project such that you can get a better perspective of what I deal with

Project 01 :

Created a multi sensor fusion modeled biological monitoring system .

Hardware in use :

ESP32 (FIREBEETLE)

LOAD CELL SENSOR

TEMPERATURE AND HUMIDITY SENSOR

FUEL GAUGE

REAL TIME CLOCK

MICROPHONE (I2S)

SD CARDS

Via the usage of the RTOS I recorded data such as sound, temp, humidity and wieght of a particular species saved the data in the SD card and in a particular time duration sent the data with battery percent notifications to email via esp32.

The RTOS helped to build a system with more efficiency and lower latency.....

I made the system with bootcounts to save power....

Project 02 :

Inferencing a MobileNet CNN model (6 MB activation) in STM32F401RE nucleo board (96kb RAM) and the end to end inferencing latency was about 2800 ms....

I have applied a row by row inferencing technique to increase the RAM efficiency and also decreasing the number of I/O (I was using SD Cards as a secondary memory storage) . I have applied SIMD instructions while creating the kernel math for model implementation...

I am genuinely confused what shall be done further, would love to work and grow with someone with a passionate and ambitious project to push my intellectual boundaries....


r/embedded • • 1d ago

help starting out with my first project - offline dictionary/encyclopedia

0 Upvotes

I want to make an offline dictionary/encyclopedia gadget which reads from an SD card and runs off AA batteries. I have a software background but I know very little about electronics and haven't worked with micro-controllers before, so I don't know if I should use STM32 or ESP32 or something else.

this project will require some potentially uncommon components:

  • an SD card module that can address >100GB of data

  • a AA battery pack module that can provide sufficient power

I thought it might be a good idea to find these components before I decide on a microcontroller, in case there is limited availability or certain components only work with certain microcontrollers. any pointers for how to look for these components? or general advice on what to use for this project?

related post from a few days ago:

https://www.reddit.com/r/AskElectronics/comments/1xup260/platform_for_gadgets_that_can_readwrite_sd_cards/


r/embedded • • 1d ago

blaris: Windowless random-access LZSS in C (~110 B total RAM, <800 B Flash) for microcontrollers

7 Upvotes

When storing static assets (fonts, UI bitmaps, device trees, config tables) in Flash on tight MCUs, heatshrink and tamp are great - but as sliding-window decoders, random-access reads of a few bytes still force you to allocate the window RAM and sequentially decode from the start of a block (or chop the asset into tiny blocks, hurting compression ratio).

I wrote blaris, an open-source C decompressor and host-side optimal compressor that eliminates the sliding window completely by resolving back-references directly in the compressed payload.

Why it's useful on small MCUs:

  • Minimal RAM: 104–112 B total RAM (76 B stack + 28–36 B static, zero malloc) regardless of lookback range (64 KiB, or 128–256 KiB with aligned distances) or payload size. Heatshrink and tamp require 2^window_log bytes of RAM.

  • Minimal Flash (RV32IMC, Clang -Os, including common adapter): 548–784 B Flash (vs. 1,300–1,464 for heatshrink, and 2,238–3,238 for tamp).

  • Fast small random reads: On 1–32 B slices, it outperforms ratio-matched, block-indexed heatshrink/tamp (e.g., >500× faster on 1 B reads at ~36% ratio on a 15.2 KiB .dtb).

Benchmarked on ESP32-C3FN4 (code + payload in external quad-SPI Flash, no SRAM copy); SPI wait states only added ~1.30–1.33× overhead for slices ≥ 4 B compared to zero-wait-state simulation. Likely helped by the 16KiB cache.

How it works (briefly):
Tokens are split into 3 lockstep-traversable streams (controls at 1 byte/token, raw literals, and bit-packed distance_bits) so the decoder can step both forward and backward. Compact power-of-two checkpoints (7–13 B each) allow the decoder to find the literal run token faster, and an optional host-side chain-flattening pass cuts match-to-match hops by 14%–51% at a ~0.5%–2.2% ratio cost.

When NOT to use it:

  • Large sequential reads (≥ 64–128 B): Because blaris resolves matches per slice without caching prior output, heatshrink/tamp overtake it if you have the RAM.

  • Trusted payloads only: Designed for build-time Flash assets, so it omits runtime bounds/error checks to keep code size under ~800 B. You should add an additional layer of payload verification before calling the decompressor.

C implementation, host compressor, RV32IMC + ESP32-C3 benchmark suite, and full results: https://github.com/lis05/blaris


r/embedded • • 1d ago

Ch32v003

0 Upvotes

Hi any developers that working on ch32?


r/embedded • • 1d ago

Moving to Seattle, WA. Job search help

8 Upvotes

Hi everyone

As the title says, I'm moving to the Seattle area (Redmond more specifically) from overseas. I'm a US citizen, grew up around Seattle, but my entire professional career including education has taken place in Norway. I have a EE bachelors, 8 yoe as Embedded SW Engineer.

I'm not moving until August 2027, but am beginning my job search now.

A few questions,

First question, resume: How long should it be? I can make a skeleton one pager, though that will not describe my full experience sufficiently. Is a 2-3 page resume too long?

And about resume format, mine is pretty black and white and is content heavy. Hopefully that's still acceptable. I've been on the hiring end for a few years now and have seen candidates treating their resumes as a graphics design exercise.

Second question: recruiters, job coaches, etc. Like I said above, all of my professional experience is from Norway. I understand that the US job market can be quite different. I'd appreciate meeting a job coach or recruiter that can support me in my job search. Any recommendations or shared experience in this matter?

Thanks all!


r/embedded • • 1d ago

I built a 6.8g MCU flight coprocessor running lightweight neural ODEs to stop ground-effect drone crashes (0.48ms loop)

Thumbnail
youtube.com
0 Upvotes

Hey everyone,

Standard edge perception stacks (camera -> frame buffer -> companion GPU) introduce 50–100ms latency. In high-speed, low-altitude flight, that delay causes drones to crash into the ground during sudden prop-wash or ground-effect turbulence before the motor controller can react.

To solve this latency bottleneck, I built an auxiliary flight coprocessor board (30x30mm, 6.8g) that runs a sparse continuous-time neural model (CfC / Liquid time-constant network) compiled directly to bare-metal C++ on an MCU.

Technical Breakdown:

• Sensor loop: Reads raw IMU and optical flow over SPI.

• Execution: The continuous-time ODE forward pass executes deterministically in 0.48ms on-chip (no dynamic memory allocation / zero malloc to prevent heap fragmentation).

• Physical Response: Overrides motor signals directly via DShot to initiate a 4.0G recovery maneuver within 48ms total physical window.

• Model Architecture: 19-neuron recurrent sparse topology (632 active parameters / 99.51% sparsity derived from connectome wiring), allowing the full state vector to fit inside L1 cache.

• Power: Draws under 1 Watt, eliminating the weight and heat of companion single-board computers.

In flight testing, this allowed the quadcopter to arrest sudden vertical drops and recover without external optical tracking or desktop compute.

I spent the last several months rewriting the continuous-time ODE solver into fixed-point arithmetic and optimizing the timer interrupt routines to get the loop time down from 2ms to 0.48ms.

Happy to answer technical questions about the C++ fixed-point implementation, SPI interrupt timing, or motor override architecture!


r/embedded • • 2d ago

tiny-langgraph: Multi-agent workflows on microcontrollers with 80 KB RAM

0 Upvotes

I've been experimenting with running agentic workflows on ultra-constrained hardware and recently open-sourced tiny-langgraph.

The engine lets you define workflows in Python using nodes and edges, then compiles them to C while checking behavioral correctness.

It also supports:

  • Multi-board collaboration over ESP-NOW

  • Contract-based agent communication

  • An MCP server on each board

  • Optional on-device language models

  • Plan verification before execution

Tested on ESP32-S3 and ESP8266 modules.

GitHub: https://github.com/mak-ahoy/tiny-langgraph

Would love to hear what embedded developers think about this approach and where it could be useful. Plus any feedback on the system itself?


r/embedded • • 2d ago

Just became an embedded software engineer

127 Upvotes

As the title suggests I recently switched from a controls engineer to an embedded software engineer and was wondering what i should practice before my first day, thanks!


r/embedded • • 2d ago

Open Source RK628H Boards (HDMI to CSI/DSI)

Post image
70 Upvotes

While building my own KVM, I made a few small HDMI to CSI capture boards around the Rockchip RK628H. The documentation is terrible around these chips but the performance is impressive for the cost. We've moved the bridge onto our own boards now, so I've put all three up as open hardware: schematics, Fusion and EAGLE files, gerbers, JLCPCB BOMs, plus the drivers and installers. It can also do HDMI to DSI, you'd just need to update the connector for the pinout needed.

Max Specs (needs 2x 4-lanes):

  • Dual MIPI DSI => 2560x1600@60fps

  • Dual MIPI CSI => 3840x2160@60fps

BoardTested Host4K301080p1204K60
22-pinLuckfox AuraYesYesNo
22-pinRaspberry Pi CM4*YesYesNo
30-pinFirefly ROC-RK3576-PCYesYesNo
Dual 22-pinLuckfox AuraYesYesYes**

*It can also work on the Pi 4B only has 2 camera lanes, which tops out at 1080p60 (60.00 fps, tested on a CM4 limited to 2 lanes). Just need a 22-pin to 15-pin adapter cable.

**The Aura can only encode 4K30, but the RK628H can do 4K60 input

It's most similar to the Waveshare HDMI to CSI board that the DIY PiKVM uses but can do higher resolution/fps. Rockchip's stock driver had a few real bugs and fixes are in the repo. The source never saw EDID changes until you replugged the cable, audio was never advertised, and a hot HDMI replug could wedge the chip until a power cycle.

CERN-OHL-S for the hardware, GPL for the software. Build them, change them, sell them, just keep your changes open. Repo: https://github.com/WarpKVM/rk628-bridge-boards

Happy to answer questions, or try other hosts if someone has one! More open source goodies coming soon!


r/embedded • • 2d ago

Where can i find AMCC PPC460EX bsdl file?

1 Upvotes

Hi, I was porting Linux to a PPC460EX-based device, but I accidentally corrupted the bootloader. I have a backup of the bootloader, but I have no way of writing it because I don't have any hardware that can write to the 56-pin NOR flash. However, the board has JTAG pins, so in theory I can connect via JTAG and write a new bootloader. To do that, though, I need the PPC460EX BSDL file. I would really appreciate it if anyone who has it would be willing to share it with me.


r/embedded • • 2d ago

How do you find people on the same wavelength in Embedded systems, than not focused on business minded other than Passion?

12 Upvotes

I feel finding like-minded people is not easy.

Even in the same field, people can be at very different levels. One may be working with milliamps, another with furnace-level SCR systems. Both have potential, but their ideas and discussions may not always connect.

My question is:

- How do you find people who match your current thinking and learning level?

- People who understand your present struggles and ambitions?

- People whose ideas and priorities connect with yours?

How do you find your kind of people in industry?


r/embedded • • 2d ago

Link margin: the GMSL camera test that finds tomorrow's field failure

0 Upvotes

Automotive GMSL cameras are one of the few camera families that still get a true end-of-line test on a production line, and one gate there deserves more attention than it usually gets: link margin.

A streaming picture only proves the link works right now. Margin tells you how much safety distance is left. The link is a coax run from the serializer (camera side) to the deserializer (capture side), and cable aging, a poorly seated connector, or a damaged equalizer slowly eats signal quality — invisible in the image until the day the link dies on the road.

The measurement follows the GMSL2 channel spec: start at the serializer's default transmit amplitude, step it down in 10 mV increments, dwell at each step and watch for errors, on the forward channel (video) and the reverse channel (control) separately. The number of clean steps before the first error is the remaining headroom. A healthy module keeps running many steps below nominal; a worn cable throws errors early — while the picture still looks perfect.

Three discipline points that make it work as a production gate:

– A written floor per module variant, under version control. Changing the floor is changing the spec.

– Every unit, no sampling. The camera you skip is exactly the one with a perfect picture and no margin left.

– Every reading filed under the serial number, so a field return becomes a query instead of an archaeology project.

TL;DR: a perfect picture proves the link works today; margin predicts whether it survives the vehicle. Step the amplitude down, count clean steps, judge against a written floor, file everything by serial number.

Disclosure: I work on embedded vision at EyeCloud AI — happy to answer follow-ups.


r/embedded • • 2d ago

USB-UART vs TCP

23 Upvotes

Hello, I am a comp eng student and my friends and I are working on a project. The project is about a rocket engine system and I need to get 16 sensors data in every 20ms which is 800 data per second. We were thinking that what if we use esp32 to read data by usb-uart instead of reading them with stm32 by tcp due to price and accessibility. So the question is 'is usb-uart a good way to get data'. I need to sketch a graph for each sensor. I also need to save data to the database. So instead of having data with tcp as packages, using usb-uart is worth it? What are the problems I may have for each way?

It may be a basic question, but consider that I am still learning.

By the way we still use stm to control the relays. The point is esp is easier to find and cheaper to test the system.

Thank you for your advice.


r/embedded • • 2d ago

Crazy idea : just need evaluation and is it useful

0 Upvotes

I thought of building something like COBS as a learning process so the idea came is,

Instead of overhead in cobs (next zero is identified only when the existing zero place comes)

I planned to have a MAP BYTE in my architecture for every eight byte like ,

If the payload is 40603400 the map byte will be 01010011 binary and the one indicates places of zero then while transmitting the zeros are removed from payload and just the map byte and 4634 is only transmitted.

But here is the problem,

In the worst case scenario of my architecture when no zero is there is a single extra byte for eight bytes it is worse than cobs where it is just one byte for 255 bytes.

Just give suggestions over my architecture and how to improve.

Or does this architecture will be helpful it some place or not with to build


r/embedded • • 3d ago

How would you integrate an NFC reader in a watch?

0 Upvotes

Okay so I'm a newbie girl, I've only ever developed software so excuse the stupid question, I'm still looking for mentors lol

Anyway I want to develop this device that ideally would be connected to your wrist - like a watch yk. I saw the Waveshare ESP32-S3 Development Board and it seems like a good fit. It has many things I wouldn't really necessarily need (and some things that aren't ideal - like originally I planner to get an eink screen) but I don't really mind extra stuff because I like having a device I can play with/build random projects with later.

Regardless - I almost truly NEED an NFC reader in the device and I was wondering if anyone who has the Waveshare equipment or can check it out knows what I could use for NFC reading, what component I could add and how to make it fit and all.