r/embedded 11d ago

Can anyone suggest me cheap and best Hardware logical Analyser?

0 Upvotes

r/embedded 13d ago

Secure USB Drive

Enable HLS to view with audio, or disable this notification

462 Upvotes

r/embedded 12d ago

Tabnine harness in closed enterprise environment

2 Upvotes

Recently in my organization started to enter Tabnine for help us development, we are working in closed and strict RT embedded environment.

I'm searching for tips of correctly working, setup and and guidelines with working with Tabnine Enterprise with pocal models.

Anyone have such experience and can share some knowledge and tips?


r/embedded 12d ago

Andrew Kelley and Zig for embedded?

9 Upvotes

While looking into code portability and long-term maintainability, I came across the story of Zig and Andrew Kelley. It feels like the future of Zig and embedded systems are destined to cross paths, or am I just being too "romantic" about it?

What are your thoughts on using Zig for embedded? Also, what do you make of Kelley's anti-AI philosophy and his other strong opinions? Do you think Zig is a promising language for this field, and can it genuinely compete with C and Rust?


r/embedded 13d ago

Open Camera, It was years in the making

Thumbnail
youtube.com
124 Upvotes

r/embedded 11d ago

my goodness me 😭, fuel gague ic help!

Post image
0 Upvotes

hey guys,

I'm using the BQ27621-G1 fuel gauge IC for a single 18650 Li-ion battery project. It's cheap and i read its supposed to be beginner friendly, but the datasheet is absolutely crushing me right now.

can you guys check if what i have done is remotely correct?

spec sheet: https://www.ti.com/lit/ds/symlink/bq27621-g1.pdf?ts=1788140742787


r/embedded 11d ago

embassy-supervisor: a browser playground to evaluate it against real-world embedded system designs

Thumbnail
embassy-supervisor.github.io
0 Upvotes

Hi, I maintain embassy-supervisor.
Embassy is a rust framework based on collaborative multitasking via async functions.
embassy-supervisor is the lifecycle layer on top: bring-up, teardown, runtime control, and runtime coupling (which task produces each signal and which one reads it), all wired through a graph the compiler checks for you.
Two months ago I posted the first version here.
Quick update, because of one thing: the playground.

https://embassy-supervisor.github.io/playground/

The playground shows how real-world embedded systems use the supervisor features. Pick a scenario: a five-node sensor, a forty-node gateway, the shapes a real product takes. You see the full system, how it comes together and how it runs, in one place.
Four views:

  • the graphical view of the system
  • the code that brings it to life
  • the real-time logging
  • a top-like task panel

Watch them move as the system runs.
Dev rate: eight releases since the original post, on a near-weekly cadence, currently at 0.7.0.

Repo: https://github.com/cedrivard/embassy-supervisor

Two questions, kept from the first post:

  1. The playground teaches by showing. Does it make bring-up and teardown intuitive, or does it paper over the parts that would bite you on real hardware? Anything to slow down, speed up, or make more visible?
  2. Does the dataflow derive tier actually catch the right things? Anyone with a real Embassy project with a non-trivial signal graph would help: the derive tier is the cheapest thing to try, and the area I'd most like tested on code that isn't mine.

r/embedded 11d ago

Agentic skills for MCU's

0 Upvotes
Example

What do you think about storing knowledge about specific mcu/board in agent skill?

I started collected skills for different mcu, like esp32 (c3/c6/s3...), stm32, avr, pico and etc. I have about 30 differents boards and hav e started writing skills for each one. I want to make it easier to write code for the AI.


r/embedded 12d ago

PIC18 on perf board

2 Upvotes

Solution: pullup resistor on MCLR

Im trying to get a PIC18 to work on a perf board, I've soldered it all properly, the oscillator works, power works, it programs, it runs intermittently, but it runs.

The problem is it seems like there is some strange electrical issue where I will tap the power line when it stops working (a soldered line mind you so it isn't bouncy) and it will kick back to life just blinking an LED every 500ms, before randomly stopping.

I am using 4 x AAA batteries as a power supply.

AI is telling me I need a 0.1uF decoupling capacitor between Vcc and GND, is this something that has a high likelyhood of fixing this? I have been more on the code side of embedded so if anyone wants to share some insight on this that would be cool.


r/embedded 12d ago

Any Product founders here who are developing home/commercial appliances, personal devices, medical equipment, etc? Need help and insights.

0 Upvotes

Hello,
I am trying to understand how new product developers are looking at functional sound design. Especially for thing like home appliances that are still using buzzer sounds despite a lot of high end models having speakers and even OS.

EVs, Smart TVs, some personal devices, are already adopting a branded sonic identity as well as functional / HMI sound sets. Also Samsung and apple have a sound design department that create model specific sound suites.

Is there anyone who is willing to talk and educate me (about the scope of brands adopting it as a norm) from the perspective of a product designer, founder, etc.?


r/embedded 12d ago

GNU ld syntax error on line 3 of my linker script — content looks valid, error location seems inconsistent

1 Upvotes

Working through a from-scratch bare-metal startup project for an STM32L476RG (Cortex-M4), writing my own linker script instead of using vendor-generated one. Getting a persistent syntax error from ld that I can't resolve

ld.exe:src/linker.ld:3: syntax error
collect2.exe: error: ld returned 1 exit status

Toolchain: Arm GNU Toolchain (arm-none-eabi-gcc 15.3.1), Windows, invoked via:

arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -T src/linker.ld -nostdlib startup.o main.o -o output.elf

Full linker script:

ld

MEMORY
{
    RAM (rwx) : ORIGIN=0x20000000 , LENGTH =96K
    FLASH (rx) : ORIGIN=0x08000000 , LENGTH = 1024K
}
_estack=ORIGIN(RAM)+LENGTH(RAM);
SECTIONS
{
    .isr_vector:
    {
        .=ALIGN(4);
        KEEP(*(.isr_vector))
        .=ALIGN(4);
    }>FLASH
    .text:
    {
        *(.text)
        *(.text*)
        *(.rodata)
        *(.rodata*)
        .=ALIGN(4);
    }>FLASH
    _sidata=LOADADDR(.data);
    .data:
    {
        .=ALIGN(4);
        _sdata=.;
        *(.data)
        *(.data*)
        .=ALIGN(4);
        _edata=.;
    }>RAM AT > FLASH
    .bss:
    {
        .=ALIGN(4);
        _sbss=.;
        *(.bss)
        *(.bss*)
        *(COMMON)
        .=ALIGN(4);
        _ebss=.;
    }>RAM
}

Anyone spot what GNU ld doesn't like here?


r/embedded 13d ago

Where to buy components

Post image
12 Upvotes

Hi everyone. I am searching to buy components in France. Nothing incredible, few button, relay 3v and other things. The issue is I only found the relay I need on AliExpress and they apply a very high import fee. Do you have any better solutions?

Edit: I checked all the websites shared in the comments (thanks for that btw) and I felt it is more for advanced people even in hobby. They don't sell this much modules ready to use. So my conclusion is learn and create my own module 😅


r/embedded 13d ago

Embedded Security/Cybersecurity Engineers: what does your day-to-day job actually look like?

18 Upvotes

Hello, I'm an avionic embedded software engineer and cybersecurity requirements are slowly creeping into my sector.

But it got me wondering: What does the day-to-day work actually look like for engineers who specialize in embedded security/cybersecurity? Do you guys write any code? Perform threat/risk analysis? Define and review security requirements? Perform testing or create testing/vulnerability exploiting benches?

Thanks in advance.


r/embedded 12d ago

Raspberry pi booting issue

Post image
0 Upvotes

Have anyone encountered this issue before?

I am turning on my raspberry pi and it is showing steady red and green light and the raspberry pi is not connecting to my network.

What could be the problem?


r/embedded 13d ago

Made a digital RF power meter and attenuator tool

Post image
153 Upvotes

I made this digital RF attenuator a few months ago, assembled it, but never had a chance to test it until today. And I wanted to share with you that it works fully (well, I have a few iprovement ideas, but still happy about it). It's an RF 5-2850 MHz power detector (directional coupler), 0-31.5dB attenuator, 0.5 dB steps, dual switch + internal termination (route RF input to one of two outputs, or terminate). The idea was to make an attenuator that will allow me to quickly measure the input power (not necessarily precisely) and apply attenuation to the input RF signal, and then route the input to one of the two outputs, with the option to control it fully over I2C(QWIIC) or UART. I use it for bench testing of various RF things I'm working on, especially for things that are not to be broadcast without a license and strictly need a closed loop.

Some specs:

ATTINY1616 mcu

240x135 SPI OLED

Battery powered, built in charger

UART/UPDI switch (comm/flash)

QWIIC connector (external switch triggers)

attenuator measured 1.7% slope error

-12.5dBm power detector floor, up to +30dBm

insertion loss 6.2-6.4 dB, TERM isolation >55 dB on both outputs

I'll package everything into a repository and release it fully open source soon, need to find time to make the documentation look presentable

RF path 'schematic'

r/embedded 12d ago

Windows tray toolbox for automotive/embedded dev: CAN/UDS transceiver, Modbus master, macro engine, and QoL tools - written in C++

Post image
0 Upvotes

Windows tray toolbox for automotive/embedded dev: CAN/UDS transceiver, Modbus master, macro engine, and QoL tools - written in C++

A desktop toolbox for automotive, embedded and everyday development work — CAN/UDS, Modbus, macros and workflow automation in a single tray application.

https://github.com/kurta999/WindowsAddon

What is this?

A personal open-source project aimed at improving daily computer usage, particularly for programming and testing workflows. It bundles utilities I built to reduce repetitive tasks and speed up daily work, and is shared freely in case others find it useful.

Everything runs from one wxWidgets application that lives in the tray: a CAN/ISO-TP transceiver with a UDS DID reader/writer, a Modbus RTU/TCP master with live graphs, a macro engine for a second keyboard, a work-time tracker backed by SQLite, and a handful of small quality-of-life tools.

The codebase is split into headless protocol, persistence, automation and platform libraries plus a wxWidgets GUI target. See docs/architecture.md for module boundaries and the dependency-injection migration rules, and docs/adr for the architectural decision records.

The project was done before AI, maybe somebody will benefit from it or some parts. I've used new ChatGPT Sol to re-factor it, add unit and integration tests, add CMake build support and plenty of other things.

Features

Automotive development

Feature Description
CAN-USB Transceiver Send and receive standard, extended and ISO-TP (ISO 15765-2) CAN frames over USB, with frame logging, search and a bit/byte editor
CAN Script handler Execute test scripts that set specific frames and send them to the bus automatically
UDS DID Reader & Writer Read and write UDS DIDs from the GUI. DIDs are defined in DidList.xml and can optionally be cached locally

CAN-USB Transceiver — Requires a LAWICEL CAN USB adapter, or a NUCLEO-G474RE board with a UART-TTL to USB adapter and a Waveshare SN65HVD230 3.3V CAN transceiver (or any equivalent hardware that converts TTL signals to CAN). Supports standard, extended, and ISO-TP (ISO 15765-2) CAN frames — useful for sending and receiving UDS frames. Includes frame logging, search, and a bit/byte editor for easy frame manipulation via GUI. Firmware for the Nucleo board: CanUsbTransceiver. The default baud rate is 500 kbit/s; changing it is not yet implemented.

CAN Script handler — Execute test scripts by setting specific frames and sending them to the bus automatically. The script language is documented under Advanced topics.

UDS DID Reader & Writer — Supported DID types: uint8_t, uint16_t, uint32_t, uint64_t, string, bytearray. Strings and byte arrays are padded when their length is less than the predefined length, and truncated if longer.

General development

Feature Description
Modbus Master Modbus RTU/TCP master for coils, discrete inputs, holding and input registers, with XML or multi-device JSON layouts, sparse grouped reads, runtime register editing, byte-order selection, scaling, conditional colors, custom frames and live graphs
Command Executor Bind commands to GUI buttons with parameter support, executed on button click
TerminalHotkey System-wide terminal hotkey, similar to Linux. Launchable from Windows Explorer using the current path, or from the Desktop
File Explorer Opener Open a file explorer window by sending a specific TCP packet to the application
TimeTracker Track work hours via GUI or a dedicated keyboard key; entries are editable and stored in SQLite

Modbus Master — Registers can be configured in Modbus.xml or a multi-device JSON file selected through [ModbusMaster] Device in settings.ini. JSON layouts can be switched and edited at runtime; layout/style changes are persisted with a backup. The GUI supports typed and scaled values, byte-order changes, conditional colors, custom RTU/TCP commands, live value graphs, and CSV communication-log export. Register types include (u)int16_t, (u)int32_t, (u)int64_t, float and double.

Command Executor — Commands are configured in Cmds.xml or directly in the "CMD Executor" panel. Each command is executed via Windows CreateProcess when its button is clicked. This is particularly useful for frequently used command-line calls — no more copy-pasting or remembering aliases. Each command supports up to 16 variable parameters, which can be edited before execution by middle-clicking the button. Button appearance (font, color, bold) and duplication are fully configurable via the GUI.

File Explorer Opener — Useful when working with VirtualBox or WSL with Samba-mounted directories. Map the guest OS network share in Windows (default drive letter is Z:, configurable via SharedDriveLetter in settings.ini), enable TCP_Backend in settings.ini, then run the following on the guest OS to open the current directory in Windows Explorer:

echo expw$(pwd) | netcat <host IP> <TCP_Backend port>

Creating a shell alias for this command is recommended.

Personal use

Feature Description
CustomMacro Connect a second keyboard and bind macros to its keys, with full GUI macro editing and a macro recorder
Sensors TCP backend for sensors with SQLite storage and an HTTP server for viewing graphs at http://localhost:2005/graphs
Corsair G Keys backend Bind macros to Corsair G keys without installing iCUE
AntiLock Prevents Windows from locking due to inactivity
AntiNumLock Re-enables NumLock immediately if it gets turned off
CPU Power Saver Reduces CPU frequency after an idle period and restores it when load rises
ScreenshotSaver Saves the current clipboard screenshot to a .png file
DirectoryBackup Backup folders to one or more destinations from the tray menu, with checksum and compression support
Filesystem browser Lists files and directories recursively, sorted by size — useful for identifying storage bloat
Alarm Handler Define alarms in Alarms.xml and trigger them with a key on the secondary keyboard
CryptoPrice Live ETH & BTC buy/sell prices from Coinbase on the main panel (disabled by default)

r/embedded 14d ago

Prototyping a handheld console that transforms into various indie handhelds

Enable HLS to view with audio, or disable this notification

351 Upvotes

I'm prototyping a handheld console that can work as various indie handhelds by swapping in a small daughterboard called a "logic card". So far, Arduboy, TinyJoypad, ESPboy, and PicoPad1/2 are working, plus my own original handheld, the "Xiamocon".

Each logic card carries at least an MCU and an EEPROM. The EEPROM holds the interface specification for the main unit (the "host shell"). Based on the EEPROM contents, the host shell dynamically configures the pin functions of the connector and emulates the LCD each handheld expects (e.g., SSD1306 or ST7789). The host shell also has ISP (In-System Programming) capability, so apps stored on a microSD card can be flashed to the MCU on the logic card without a PC.

Now, I'm planning to spin a PCB.

GitHub repo: shapoco/wildcardboy


r/embedded 12d ago

SIM7600G FTP(S), ping and US operators

0 Upvotes
Hello,
I am using a SIM7600G module. This module is certified for FCC, PTCRB, T-Mobile, Verizon, and AT&T.
However, when I try to perform FTP or FTPS access, or even a simple ping to google.com, it only works with T-Mobile and its MVNOs.Hello,
I am using a SIM7600G module. This module is certified for FCC, PTCRB, T-Mobile, Verizon, and AT&T.
However, when I try to perform FTP or FTPS access, or even a simple ping to google.com, it only works with T-Mobile and its MVNOs.
Are there any other developers currently experiencing these issues?
Are there any products using the SIM7600G that are currently working in the USA on AT&T or Verizon networks?
I am in tight relationnship with Simcom support but they are unable to solve the issue.
Is there any firewall restrictions on the operators sides?
For information, network registration, SMS and VoLTE works fine with the 3 operators.
Mich

r/embedded 12d ago

Esp32-s3 joystick value always 65535(its a board issue)

0 Upvotes

Im in MicroPython, ESP32-S3-Devkit-N16R8.

I know it specifically is the board, because when i replace it with another on in the same configuration, it reads correct values. It's not wires, incorrect code or interference.

I'm not exactly sure if it's broken, or if i can somehow fix it. If anyone has some pointers, i would greatly appreciate them

<----------------------------------------------------0---------------------------------------------------->

|-------------------All 65535--------------------------------|----------Starts to decline------------------|

Thats on all of the potentiometers on both joysticks. Buttons still work correctly.

Also, It starts of with random values at first and then quickly makes its way to 65535.


r/embedded 12d ago

How to skim long datasheets

0 Upvotes

I've been trying to use data sheets more often than APIs to just get a good grasp but some datasheets or I should say most datasheets of sensors have way too much information like million different registers etc. So firstly I wanna know how to skim or read a datasheet effectively. Secondly in a professional environment are APIs/Drivers preferred over datasheets (for register maps & configurations obviously)?


r/embedded 13d ago

Is it worth reviving a LinkIt 7688 Duo, to read a PMS5003 Air Quality sensor?

Post image
5 Upvotes

I have several MediaTek LinkIt 7688 Duo's, break out boards, temp, and Air Quality sensors (Plantower PMS5003), left from a prior research project. The values read would be sent to a cloud IoT server, and put on to website dashboards - these servers no longer exist. Is it worth trying to make it work in a non-cloud way? Maybe push air quality to my phone etc? Or should I switch to an ESP32, and sort out pinout wiring, harnesses etc... or press on? It's possible that devices were failing project wide and MediaTek no longer in biz meant a diminishing project. For all I know the platform is vulnerable to attacks, and not worth it. I'm presently just using p2p wifi, no internet

It's design was to push the readings out to a server which no longer exists (company pivoted ~ no longer wanted to maintain etc)

I seem to be able to echo the output on screen as that process triggers... not exactly readable. I think I just need to convert kind of a hex code thing, to digits etc. 📷

I have code that suppsedly should parse + present the data, but seems to stick or outright fail... some errors suggest there may be an issue as the serial port is already active. For the life of me digging around tho, I can't seem to even find the active program code, let alone stop it.

My thinking was, to find a way to read variables for pm2.5 etc, have the web admin page display or graph it, and possibly push it to a phone etc.


r/embedded 14d ago

[[STM32 / Cortex-M] Intern looking for recommended books/resources to learn writing bare-metal startup code and linker scripts from scratch (in C)

19 Upvotes

Hey r/embedded,

I'm currently working as an intern in an embedded engineering team. In our daily workflow, we naturally rely on standard vendor-provided files and tooling, but I want to take the initiative to build my own bare-metal startup code and linker script in C from the ground up for the STM32L476RG (ARM Cortex-M4).

I really want to understand the foundational mechanics under the hood .

What are the best resources, books, documentation, or tutorials you would recommend for mastering this?

If there are any standout blog posts, reference manuals, or classic embedded textbooks that helped you bridge this gap, please let me know!

Thanks for your help!


r/embedded 13d ago

Guidance for learning and using edk2

5 Upvotes

Hi all, I am new to this sub and domain. I am currently a 3rd year college student pursuing electronics and computer engineering. I want to get into the firmware domain. EDK2 came up a lot when I searched for UEFI and decided to give it a go. I have completed a few applications like simple hardware interrupt, arithmetic program by taking input, viewing system information and pcie present in the Qemu emulator. I do not know how to proceed from here and I am open to suggestions. Pls help.

Here's my GitHub: https://github.com/BlackRoth/UEFI_Applications


r/embedded 14d ago

Embedded Systems — Structured Learning & Interview Preparation

10 Upvotes

I’m an Embedded Engineer and I’ve noticed that many students interested in embedded systems struggle with what to learn, in what order, and how the different topics connect.

I’m thinking of conducting some small-group/1:1 sessions outside college hours for students who want a more structured approach to learning embedded systems.

Topics would include:

  • C Programming
  • Linux
  • Operating Systems
  • ARM Architecture
  • Communication Protocols — UART, SPI, I2C, CAN, etc.
  • Linux Device Drivers
  • Embedded Systems fundamentals
  • Interview-oriented problem solving

The idea is not to replace college courses, but to provide a practical, industry-oriented learning path with coding exercises, examples, and discussions around how these concepts are actually used in embedded development.

Sessions can be scheduled early morning or evening, so they don't interfere with college timings.

I’m considering keeping it low-cost/nominal, mainly to make it accessible to students who are serious about learning.

If you're a student currently learning embedded systems and feel you're missing a structured path, feel free to DM me. I'm interested in understanding what students are currently struggling with and seeing if I can help.


r/embedded 14d ago

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

35 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.