frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Ask HN: Why does STM32 (or embedded generally) development suck?

6•halfmatthalfcat•7mo ago
I'm getting into embedded development. Got me a STM32F3Discovery (recommended by Embedded Rust). Started going down the embedded rust rabbit hole before I got tired of the complexity (though do like the idea of Embassy), wanted to look for something simpler.

Started looking into embedded Zig. Looks promising but still not there, not a ton of hardware support yet.

Allergic to getting close to C++ due to all it's baggage, decide to start getting into C. Learning C was easy so started to look into getting my stuff onto a chip, again using the Discovery as my base board.

Have a slew of IDE choices, STM32CubeMX, Keil uV, various VSCode extensions. All of them are quite complex and when you get them working, they lay down A TON of files that seem somewhat irrelevant (and noisy) to creating simple programs.

The HALs are confusing so want to just leverage CMSIS and bit bang my way to greatness. ARM has system CMSIS but vendors have vendor-specific CMSIS, so (finding them) and piecing them together sucks.

Oh then you need linkers and startup scripts, where are those? Again, vendor specific that the CubeMX or uV basically pull from STM32's Github org. That org btw, tons of repos of stuff that isn't super obvious what is what, what should be used with what, etc.

Now you have what you need but you need to then flash the chip, again a couple different ways to do this.

I just want a utility that plunks down the necessary CMSIS, linker and startup so I can get my base level bearing and actually do development...why is there so much noise and cruft everywhere?

Comments

sinenomine•7mo ago
TLDR: the whole embedded dev is a cost center, very underfunded compared to normal SWE. I say it from position of compassionate interest.
halfmatthalfcat•7mo ago
It's sad because I would have thought the opposite before getting into it but it really is somewhat of a wasteland of options.
actionfromafar•7mo ago
Every branch down the sprawl of SDKs and hardware is it's own microcosm, unfortunately.
actionfromafar•7mo ago
You can use Zig in a less ambitious way, by using the regular C or C++ interface for the SDK, but your own Zig code for the rest.
npalli•7mo ago
You should try PlatformIO. It solves exactly the problem (last line) for known boards. I did some hobby work but your mileage might vary. Caution that it is C++ first platform (rather than C), so if you are having allergic reaction* might try some other toolkits.

*Given you initially chose Rust for this, I would have tagged you as someone who is into vibes/feeling good rather than getting things done, and the suggestion would have been wasted on you, but you seem to have learned your lesson so rather than dismiss C++ out of hand, take a look.

halfmatthalfcat•7mo ago
Doesn't PlatformIO do the exact same thing as CubeMX/uV? It pulls Keil Packs and lays down the same files? I don't want any of that if that's the case. The PlatformIO configuration looks saner but I still want a "minimally viable embedded environment" without any of the extra stuff.
steveklabnik•7mo ago
Hardware companies care about hardware, not software. Simple as that.

You’ve picked one of the better ones, even. It’s only downhill from here.

the__alchemist•7mo ago
The main official tools I use:

  - Stm32CubeIDE: Graphical IDE, sort of, that shows you how to configure the peripherals. I mainly use it to get clock scalers and linker config, but you can use it to configure all peripherals. Note that the linker config is straightforward for most STM32s, but is messier on H5 and H7.
  - Stm32CubeProgrammer: Flashing for production use, e.g. in DFU mode
I've been using Rust tools for everything else. I had to built a lot of tooling along the way (HAL and interaction with specific peripherals), but it was worth it. There's some boilerplate, but it's not too bad.

The PAC team has done a great job smoothing over errors in ST's IDE. The Knurling team behind `defmt`, and the probe-rs team have also be integral to this being a smooth experience. I'd go as far as saying this is one of rust's core strengths. (Easy builds and in embedded constext, flashing/debugging)

The workflow to build and flash with debugging is: `cargo run --release`.

LicGen – Offline License Generator (CLI and Web UI)

1•tejavvo•2m ago•0 comments

Service Degradation in West US Region

https://azure.status.microsoft/en-gb/status?gsid=5616bb85-f380-4a04-85ed-95674eec3d87&utm_source=...
1•_____k•2m ago•0 comments

The Janitor on Mars

https://www.newyorker.com/magazine/1998/10/26/the-janitor-on-mars
1•evo_9•4m ago•0 comments

Bringing Polars to .NET

https://github.com/ErrorLSC/Polars.NET
2•CurtHagenlocher•5m ago•0 comments

Adventures in Guix Packaging

https://nemin.hu/guix-packaging.html
1•todsacerdoti•7m ago•0 comments

Show HN: We had 20 Claude terminals open, so we built Orcha

1•buildingwdavid•7m ago•0 comments

Your Best Thinking Is Wasted on the Wrong Decisions

https://www.iankduncan.com/engineering/2026-02-07-your-best-thinking-is-wasted-on-the-wrong-decis...
1•iand675•7m ago•0 comments

Warcraftcn/UI – UI component library inspired by classic Warcraft III aesthetics

https://www.warcraftcn.com/
1•vyrotek•8m ago•0 comments

Trump Vodka Becomes Available for Pre-Orders

https://www.forbes.com/sites/kirkogunrinde/2025/12/01/trump-vodka-becomes-available-for-pre-order...
1•stopbulying•9m ago•0 comments

Velocity of Money

https://en.wikipedia.org/wiki/Velocity_of_money
1•gurjeet•12m ago•0 comments

Stop building automations. Start running your business

https://www.fluxtopus.com/automate-your-business
1•valboa•16m ago•1 comments

You can't QA your way to the frontier

https://www.scorecard.io/blog/you-cant-qa-your-way-to-the-frontier
1•gk1•17m ago•0 comments

Show HN: PalettePoint – AI color palette generator from text or images

https://palettepoint.com
1•latentio•18m ago•0 comments

Robust and Interactable World Models in Computer Vision [video]

https://www.youtube.com/watch?v=9B4kkaGOozA
2•Anon84•22m ago•0 comments

Nestlé couldn't crack Japan's coffee market.Then they hired a child psychologist

https://twitter.com/BigBrainMkting/status/2019792335509541220
1•rmason•23m ago•0 comments

Notes for February 2-7

https://taoofmac.com/space/notes/2026/02/07/2000
2•rcarmo•24m ago•0 comments

Study confirms experience beats youthful enthusiasm

https://www.theregister.com/2026/02/07/boomers_vs_zoomers_workplace/
2•Willingham•31m ago•0 comments

The Big Hunger by Walter J Miller, Jr. (1952)

https://lauriepenny.substack.com/p/the-big-hunger
2•shervinafshar•33m ago•0 comments

The Genus Amanita

https://www.mushroomexpert.com/amanita.html
1•rolph•38m ago•0 comments

We have broken SHA-1 in practice

https://shattered.io/
10•mooreds•38m ago•3 comments

Ask HN: Was my first management job bad, or is this what management is like?

1•Buttons840•39m ago•0 comments

Ask HN: How to Reduce Time Spent Crimping?

2•pinkmuffinere•41m ago•0 comments

KV Cache Transform Coding for Compact Storage in LLM Inference

https://arxiv.org/abs/2511.01815
1•walterbell•45m ago•0 comments

A quantitative, multimodal wearable bioelectronic device for stress assessment

https://www.nature.com/articles/s41467-025-67747-9
1•PaulHoule•47m ago•0 comments

Why Big Tech Is Throwing Cash into India in Quest for AI Supremacy

https://www.wsj.com/world/india/why-big-tech-is-throwing-cash-into-india-in-quest-for-ai-supremac...
3•saikatsg•47m ago•0 comments

How to shoot yourself in the foot – 2026 edition

https://github.com/aweussom/HowToShootYourselfInTheFoot
2•aweussom•48m ago•0 comments

Eight More Months of Agents

https://crawshaw.io/blog/eight-more-months-of-agents
4•archb•49m ago•0 comments

From Human Thought to Machine Coordination

https://www.psychologytoday.com/us/blog/the-digital-self/202602/from-human-thought-to-machine-coo...
1•walterbell•50m ago•0 comments

The new X API pricing must be a joke

https://developer.x.com/
1•danver0•51m ago•0 comments

Show HN: RMA Dashboard fast SAST results for monorepos (SARIF and triage)

https://rma-dashboard.bukhari-kibuka7.workers.dev/
1•bumahkib7•51m ago•0 comments