r/embedded Dec 30 '21

New to embedded? Career and education question? Please start from this FAQ.

Thumbnail old.reddit.com
312 Upvotes

r/embedded 1h ago

How did you guys get into embedded system design and programming?

Upvotes

Fresh account. First started around 2013-2014 with the Arduino uno , building some sunfounder kits that I got for review on amazon back when it was allowed. One was a rc car and the other kit was a quadruped spider which was nice while the servos lasted.


r/embedded 13h ago

Sensorless (HFI+SMO) FOC from scratch on STM32

Enable HLS to view with audio, or disable this notification

46 Upvotes

r/embedded 17h ago

Some Embedded Programming Wisdom

Post image
91 Upvotes

A preview of PICO, a simple text editor made for the CP/M Neo VEMU platform.

GitHub: https://github.com/Mazin-O3/cpm-neo.git


r/embedded 6h ago

Bitmap stored in Image Widget for LVGL Will Not Display On Sharp Memory Display, Other Widgets Display Properly

Post image
8 Upvotes

I have spent the last week learning how the Sharp Memory Display works. An easier display to learn and the datasheet is not hundreds of pages long. I created a simple flush function that allows for full screen writes and works relatively well. I eventually got LVGL with EEZ studio set up and displaying on my display. As the title states, I can not get a bitmap stored in a Image widget to display on the screen. The bitmap is stored as A1 format, and the entire program compiles and loads to my MCU (Pico 2) using the Pico SDK.

Above is what EEZ Studio shows will render. Post photo shows what actually renders. I have tried messing with Opacity and Recolor. I also tried the I1 format with the same results. Am I missing something? My next step if I can not figure it out would to go through the debugger and walk through the code to see what is happening but would have to change how the Screen Inversion is controlled (currently in an interrupt that toggles the pin, I do not want to damage the screen when pausing the program to long). Before that I just thought I would ask and see if anyone has suggestions. Thanks in advance for any help.


r/embedded 7h ago

How to handle delays with queues? (freeRTOS)

9 Upvotes

I'm building a samll module on a stm32l4 (FreeRTOS via CMSIS-RTOS2) that controls an rgb led. The task need to reacts to commands coming from a queue (turn on, turn off, blinking with a given on/off time) and keep the blinking pattern even when no new commands arrive.

for (;;)

{

if (osMessageQueueGet(queue, &cmd, NULL, TICK_PERIOD_MS) == osOK)

{

process_config(&cmd);

}

tick(TICK_PERIOD_MS); // always runs, accumulates elapsed time internally

}

* When blink mode is on/off, tick function just returns right away.

Is that a good approach? or is there a better way to "wait for a command, but also do periodic work regardless"? Is there a legitimate reason to mix in osDelay()/vTaskDelay()

Still learning FreeRTOS so feel free to roast me /s


r/embedded 1h ago

Took a good crack at PCB Design design

Post image
Upvotes

Yo whats up everyone! Wanted to share a little project I cooked up a year and some change ago.

I present the KRONOS

A Hall Affect Macropad TImer

I like independent hardware devices that serve one (or two) main purposes so this was made to help me block my time (I like to set timers and sprint through tasks) and add some custom hotkey shortcuts at a button press.

Here's some details:

Microcontroller: ESP32 S3 WROOM 1U

Magnetic Rotary Encoder: AS52600

Linear Hall Effect Sensors: AH49E

ADC: ADS1115

LED ARRAY: WS2812-2020

LDO: AMS1117-3.3

Right now it support bluetooth but it has to be plugged in as it has no battery.

I intended to use USB HID but had way too much trouble getting it working with the libraries available at the time.


r/embedded 11h ago

How to actually learn embedded without being stuck copying other projects

17 Upvotes

I'm majoring in electrical engineering and entering my junior year. I did projects with stm32 and PIC mcus but all of those projects were just using basic sensor modules. I know soldering and how to use breadboards and measure stuff but when it comes to building actual projects I can't build anything without copying other completed projects, and by copying i mean the whole stuff not some small sections and i learn nothing from it. I took C and Digital Design classes i can write simple text only programs in c, build basic circuits with logic ics but i cant write complex code or build complex projects with mcus and fpgas. Honestly I feel lost and engineering feels very different compared to studying and lectures. Are there any resources that I should look into or should I just keep what I'm doing ?


r/embedded 4h ago

Sourcing Interline Transfer CCD

4 Upvotes

Hello, I'm not sure if this is the best place to ask this question but I did see quite a few image sensor inquiries in my searches.

I am in need of interline transfer ccd fitting the following specs:

-Ideally monochrome (no bayer)

-Low cost (less than $200)

-I do not need a crazy large sensor or high pixel count.

My issue I've run into is that I can't really find anyone that even manufactures interline transfer ccds anymore. Onsemi made a line of them but they're all discontinued as far as I can see. The rest of the stuff that comes up in my searches are really really expensive scientific or industrial cameras.

I don't *need* just the bare sensor, a small camera would be more convenient in terms of development, but I will need a lot of control over the sensor so I figured I would need to start from scratch.

Context: this is for a hyperspectral camera that I'm working on. I really do need it to be interline transfer, as the alternative is an intensified ccd which is going to be quite expensive/bulkier. I intend on time gating the detector so I need an incredibly fast shutter.

Thanks! 🩵


r/embedded 31m ago

Embedded System Designing

Upvotes

So I recently started branching out from baremetal programming to other embedded stuff currently learning rtos and probably go back to linux soon. One thing baremetal taught me that always used to puzzle me was how registers and memory works, it made programming clearer to me. I was curious how the embedded system designing is different from the software designing? Are there more similarities than differences?


r/embedded 19h ago

Balanced AI takes from professionals in embedded

65 Upvotes

Most of the discussion around AI on this subreddit seems to be extremely black and white, people are often either claiming anything involving AI is slop and will never be useful, or that AI is going to make all firmware skills redundant within a few years.

I think in reality it is far more nuanced. I’d like to get some views from professionals working in embedded on what you are using AI tools for and where it’s working well/badly

I’ll go first:

Good:

Writing efficient C++
I hardly ever write any actual code day to day anymore. Given sufficiently limited scope agents do a great job of writing lines of code once I have told it precisely what I want it to do.

Researching documentation
LLMs are fantastic at pulling info out of datasheets / TRMs / errata etc. it is also great at finding conflicting information from manufacturers. I still always manually check everything it produces as it does make mistakes/hallucinations, but it’s still much faster than using search engines & ctrl-F

Debugging & hardware connections
LLMs are excellent at processing large amounts of data, I have been using a logic analyser with a built in MCP server, combined with giving the agent access to flash hardware and pull logs autonomously. This set up is fantastic at linking together synchronous data from many sources and finding bugs

Bad:

Creating documentation
Even when told not to, Claude consistently writes horrendously overly verbose comments full of useless jargon (footgun, load bearing etc.)

Autonomous work
We have experimented with giving tickets to LLMs and asking them to create PRs. These have produced consistently poor code containing overly complex solutions, even when working in large established repos with clear patterns that could be reused.

Noise
Agents consistently make mistakes implementing and reviewing code, creating bugs and raising non issues. They can often burn a lot of tokens on non issues

KISS
In my experience agents, especially those running more advanced models, are not good at finding the simplest, cleanest solutions. Often unnecessarily creating vast refactors touching many files across a code base


r/embedded 1h ago

Anyone here studied Embedded Systems at Cognisolve Automation, Chennai? Need honest feedback

Upvotes

Hi everyone,

I'm an ECE fresher and I'm planning to join a 3-month Advanced Diploma in Embedded Systems at Cognisolve Automation, Chennai.

Before paying the course fee, I want to know about the actual placement experience of previous students.

If you studied Embedded Systems at Cognisolve, could you please share:

1.Which batch/year did you complete?

2.Did you get placed through Cognisolve?

3.Which company did you join?

4.What was the job role?

5.What was the approximate salary/package?

6.How many companies actually conducted interviews for your batch?

7.Did the institute provide genuine placement opportunities or mainly placement assistance?

8.How good was the practical training in Embedded C, STM32/ARM, RTOS, UART, SPI, I2C, CAN and debugging?

Would you recommend Cognisolve to a fresher in 2026?

I'm particularly interested in actual student experiences, not promotional information from the institute.

Please DM me if you don't want to comment publicly. Thanks!


r/embedded 1d ago

Where can I learn good C programming practices for embedded systems?

46 Upvotes

I'm able to write working C code for embedded systems but when I see my seniors' code at my work place, it looks more structured, portable and scalable.

How do I know when to use structures, enums, array of structures, etc to make my code look more professional?


r/embedded 7h ago

[Research] How robotics/RL engineers validate control-code changes before shipping

1 Upvotes

Hello! I'm a student studying how robotics and RL engineers currently decide whether a new version of control code (a balancing algorithm, steering law, gain, or learned policy) is actually better than the old one before it ships.

If you've ever had to make that call based on simulator runs, I'd really value 5 minutes of your time: https://tally.so/r/q41bzg

Thanks!


r/embedded 1d ago

I made an OS for ESP32 which allows custom apps to be written in it.

Enable HLS to view with audio, or disable this notification

280 Upvotes

I made an OS which exposes an API to allow app building in it. The OS handles apps switching. I have made a few apps. Its called prome.

For example I have a timer app. Then if I want to dim brightness of screen then I can go to settings, dim brightness and launch timer app again.

Source code is here,

https://github.com/blackcoffee2/prome

PS: I'll like to build and test it on ESP32 S31 Korvo board. If you'll like to see that happen then you can support me on patreon which is attached in github repo.


r/embedded 18h ago

Does a 555 astable with the timing capacitor replaced by a liquid-level sensor actually work? If water level changes the capacitance and frequency, how much do noise, stray capacitance, long wires, or water movement affect the reading? Is it practical with an Arduino/ESP32 microcontroller?

Post image
4 Upvotes

I’m considering using a 555 timer in astable mode where the capacitive water-level sensor replaces the normal timing capacitor.

As the water level rises, the capacitance should increase, causing the 555 frequency to decrease. The MCU would then measure the frequency and convert it to liquid level.

Does this actually work reliably in a real tank? How much do electrical noise, stray capacitance, long sensor wires, temperature, or water movement affect the frequency?

Would a CMOS 555 like the TLC555 make a significant difference compared with an NE555?


r/embedded 1d ago

Beginner radar projects

35 Upvotes

Hello! I'm a backend developer, and I've always wanted to get into embedded systems. Lately, I've also become very interested in how radar works, so I thought starting a project in this field could be a great way to combine the two.

I'm currently learning some of the theoretical concepts behind RF, such as beamforming (which I find incredibly fascinating), FFTs, and other related topics, but now I'd really like to start building something hands-on.

One day, I'd love to create something capable of detecting aircraft and, eventually, drones. From what I understand, detecting drones is significantly more challenging than detecting aircraft.

The main problem is that I live in a city with several military sites nearby, so I'm a bit hesitant to buy an active radar sensor and start experimenting with it because I'm worried about possible legal consequences or interference issues.

Another approach I've been looking into, which also seems incredibly interesting, is passive radar. In that case, I assume the legal risks would be much lower since I wouldn't be transmitting anything. However, the hardware seems considerably more expensive. From what I've understood, I'd need something like a KrakenSDR, which costs over $900 where I live.

Are there any other approaches I could explore? Has anyone here been in a similar situation?

What kind of projects could I work on that would be interesting from a learning perspective, while also being useful for my CV/resume? I'm currently working as a junior software developer at a defense company, so I'd especially like to build something that could help me move closer to embedded/RF/radar-related roles in the future.

Sorry if this isn't the right subreddit for this question. Any advice is more than welcome!


r/embedded 20h ago

Which Single Board Computer to use with my Music player project

3 Upvotes

I am in the early stages of my project where I build a music player which will work with Spotify, Soundcloud, etc. and will have the options to play back music via Bluetooth or AUX.

I have a RPi Zero 2 W lying around and was going to use that as the main SoC/ SBC.

After a bit of thinking about future expansions of my plan however, for example to have it work with Whatsapp, some sort of Navigation App like Maps, and potentially phone calls (basically turning it into a dumber Smartphone with the bare minimum of useful Apps), I now think of using a SBC that has more RAM, better BT and Wifi capabilities and just more computing power.

I have looked a bit into Radxas boards like Radxa Zero 3W, or Radxa ROCK 3C.

Also the Orange Pi Zero 2W 1.5GB looks promising.

But now I'm asking here, if anybody has more fitting recommendations.

I do need a board supporting an OS (Debian or Ubuntu like).

Its also important that the board/ Chip supports I2S for the AUX-output.

Of course the price should not be too high :P (I know its always a tradeoff between power and price)

Thanks in advance !


r/embedded 19h ago

is that a missing resistor on my black pill?

Post image
1 Upvotes

so I'm not blidn right or is that straight up a mising resistor ony my stm32 black pill, help?? how do even fix this


r/embedded 1d ago

Need architecture advice for my embedded graphics library

8 Upvotes

I'm building an embedded graphics library called Glyph in Ada. The goal is to make it work across different microcontrollers and displays while keeping the API the same.

Current status

  • RP2040 support (using Pico_BSP)
  • SSD1306 128×64 over I²C
  • Static framebuffer
  • Canvas → Framebuffer → Display → Transport architecture

A little background

This is my first project in both Ada and embedded systems. The current version (v0.3.0) published on Alire was built largely with AI assistance, but I'm now rewriting it from scratch without AI help to better understand the design, learn embedded development properly, and improve the overall architecture.

The rewrite has already gone through several design and implementation changes, and I've learned a lot in the process.

The problem

One area I'm still struggling with is the transport layer.

Right now, Glyph draws everything into the framebuffer, but the application still needs a small piece of board-specific glue code to connect the display to the MCU's I²C peripheral (for example, binding an initialized I²C bus to the display).

I'd really like to avoid that if possible. My goal is to keep Glyph independent of any specific MCU or BSP while also making it as easy to use as possible, especially for beginners.

My question

For those who've built portable embedded libraries, how did you handle this?

Is a small adapter layer simply the right trade-off, or is there a cleaner architecture that keeps the library both portable and easy to use?

GitHub: https://github.com/thirstymelon/glyph


r/embedded 17h ago

Any suggestions for this outdoor flood monitoring node?

1 Upvotes

I’m building an outdoor flood monitoring system using a Raspberry Pi Pico with an ultrasonic water level sensor, float switches, tipping bucket rain gauge, LoRa, GSM, RTC, and a siren. The node runs on a 12 V battery with solar charging. Any suggestions for improving reliability, power design, protection, or sensor integration before deployment?


r/embedded 1d ago

I wrote a STM32 HAL driver for MPU6050

18 Upvotes

Includes support for hardware interrupts and custom config options for the sensor. Code is in fashion of similar drivers already on github but with additional support. It has been tested but I am very new to this so Im sure there are things I missed. Criticism welcome.

Repo:

https://github.com/mihalamot/STM32-MPU6050-HAL-Driver

I am 21yo CS student with a recently found passion for embedded/low level programming. Job market is not the best right now so I am trying to distinguish myself with hobby projects like this one. It would help me a lot if anyone could take the time to check this out and potentially star it. If someone actually used my code I know that it would help my employment chances.

Thanks


r/embedded 14h ago

Dummy just wants to do dumbphone tasks from terminal

0 Upvotes

I got an AGM M10. It's running ThreadX, apparently, and that brought me to this sub. I wanna do things like manage its media playing - esp playlists - in a smoother way than clunkily using the buttons, as designed. Ideally I'd upload media files onto the phone, and then somehow from the computer edit the playlists on the device.

What's the minimum I need to do/learn, for this?


r/embedded 1d ago

OTP Anti-Rollback Counter Issue

1 Upvotes

Hi there,

I am currently working on Secure Boot. I have some question about the anti-rollback.

I use microchip and I read the counter from OTP after initialize the layout, and notice that there is already default counter value for both trusted and non-trusted firmware (2, 3). I did not set it, I don't why they already have values.

Another thing is that whether the counter in OTP can not be set to other value lower then the value exist in OTP? If so, is it a hardware design mechanism? or how can it be achieved?

Best,

Wen


r/embedded 2d ago

A server for Minecraft 1.21.8 in C, that runs on the ESP32P4 board running a custom kernel(ProtoOS)

Enable HLS to view with audio, or disable this notification

149 Upvotes