Happy to share news of Ferrocene 26.08.0, the latest release of the quality-managed, TÜV SÜD-qualified, open source Rust toolchain.
What's new:
- Updates from Rust 1.96 and 1.97
- Three newly qualified targets
🔗 Read more: ferrocene.dev/blogs/ferroc...#Ferrocene#RustLang#SafetyCriticalSoftware
Please, install and test the latest probe-rs. @dbuga.bsky.social merged all of my proposed fixes/improvements. If you have cortex-m devices, make sure to check that there are no known regressions. I checked with STM32G071RB, MCXA266, MSPM0G3519, and STM32F405.
These embedded crates are peak software quality. Thank you for making durable software that serves as a foundation:
- cortex_m
- probe_rs
- defmt
- svd2rust
- heapless
#rustlang
You know when you get an idea, and start working on it ... and 70% in you ask yourself, what have I done? How will I ever finish this? When an idea wins ... 😅 Might as well finish the hardware right?
A fun experiment, tried spade-lang.org and made an Ethernet stack running GbE with UDP and ARP support. Nice (Rust) feeling for an HDL, might migrate to it from Amaranth :D Tested on a Colorlight 5A 75B, ECP5 25F. The stack is about 5k LUTs/4k FF, the rest debugging, UART and MDIO scanning.
I need to implement a protocol and a debugging crate using nusb for the JTAGG block, UART debugging is it's own purgatory. I want dat RTT + defmt feeling, but on FPGAs :P
My async compiler work got funded!
So here's my first PR: github.com/rust-lang/ru...
Roughly, it changes
match x {
true => foo(1).await,
false => foo(2).await,
}
to
match x {
true => foo(1),
false => foo(2),
}.await
This means the future will only have 1 state instead of 2
Some hopefully interesting reflections on how the team at my day job made the world’s first functional safety certified product based on Rust.
This was a massive undertaking, and I think some of you might appreciate it 🦀
#rust#rustlang#safety#functionalsafetywww.sonair.com/journal/how-...
Final part of my async blog!
tweedegolf.nl/en/blog/237/...
Last time I shared some tips for improving your async code. Now we look at why the compiler doesn't do it for us.
I want to fix it in the compiler, but I need your help! If you can help with funding, reach out to me.
Please share :)
Async Rust is amazing, but not flawless; async bloat is an issue. In this blog, @diondokter.nl explains the causes of async bloat, and some workarounds: tweedegolf.nl/en/blog/235/...#rustlang#embedded#async
Bare-metal SMP Armv8-R AArch32 in Rust, ping ponging Software Generated Interrupts between cores using the Generic Interrupt Controller v3.
I'm very happy to see this working.
github.com/thejpster/aa...
After poking the PL192 VIC registers in our Cortex-R5F for a few hours and wondering why nothing is happening (and no hardfaults 🤔), remember to double check that the vendor has not replaced the standard interrupt controller with their own 💔 Assumptions is the mother of all ... VIM != VIC
Rust 1.93.0 has been released! 🌈 🦀✨
This release includes a new musl version for the *-linux-musl targets, adds support for #[cfg] inside asm!(), and adds [T]::as_array, VecDeque::{pop_front_if, pop_back_if}, Vec/String::into_raw_parts, fmt::form_fn, and more! ✨
blog.rust-lang.org/2026/01/22/R...
Linkers for embedded kinda suck, no?
Do you work at a big company who could use a new one?
At @tweedegolf.bsky.social we have some amazing people who could build an awesome new embedded linker.
We should talk.
Maybe a stupid question, but why is schematics for PCB design not code? For more advanced "PCBs" (read ICs) we use HDL and in the end if there is an MCU we code it. If it was "code" I'm wondering what amazing linters, CI, checks, integrated knowledge about parts, type safe modules ... could be done.
Maybe a stupid question, but why is schematics for PCB design not code? For more advanced "PCBs" (read ICs) we use HDL and in the end if there is an MCU we code it. If it was "code" I'm wondering what amazing linters, CI, checks, integrated knowledge about parts, type safe modules ... could be done.
Parts could have their requirements, e.g. surrounding passives, differential pairs, length matching, current reoriented, ... encoded. And linters & CI could check that it's followed or a known "accept the risk of not following". I think the answer is "it's how it's always been done"
Maybe a stupid question, but why is schematics for PCB design not code? For more advanced "PCBs" (read ICs) we use HDL and in the end if there is an MCU we code it. If it was "code" I'm wondering what amazing linters, CI, checks, integrated knowledge about parts, type safe modules ... could be done.
Sure one would want to sometimes view things, but that sounds like something that can be generated. And eventually one would trust the type system more and more.
Typst 0.14 is out now! Get ready for production with accessibility, PDFs as images, character-level justification, and more. Learn about more of the highlights in Typst 0.14 in the thread below ⤵️
Ah yes, the radio test box that finds 99% of logic errors 😁 The kind of automated testing that can be done is an absolute treasure. Yankiness is included.
I'm excited to share what I've been working on with @erikjee.bsky.social: RustNL's #rustlang Maintainers Fund!
Many people and companies contributing to Rust, but there are fewer and fewer paid positions for general maintenance (reviews,cleanups,etc). We need to fix that.
bsky.app/profile/rust...
We're excited to announce a new initiative to support the Rust Project, our Rust Maintainers Fund!
We are setting out to employ 6 full-time maintainers and 6 interns in 2026 to make sure #rustlang is well maintained and bugs and contributions get the attention they need.
Read more: rustnl.org/fund
We need your help to get Typst 0.14 over the finish line: The release candidate with accessible PDFs, character-level justification (not even in LaTeX!), and more landed today! Check your documents, packages and against "Typst 0.14.0 Testing" on the web or the new compiler.
Cool! Happy with the playground result.
Love how instant compilation is :D
I've probably committed crimes against the web with my HTML/CSS skills, but it works :)
diondokter.github.io/device-drive...
The home page is super mega WIP, but that wait can until other more important stuff is done.
Rust 1.90.0 has been released! ✨🦀
This release makes LLD the default linker on x86-64 linux-gnu and adds `cargo publish --workspace` to publish an entire workspace all at once!
Check out the blog post and release notes for more: blog.rust-lang.org/2025/09/18/R...
We're launching the embedded-cal project: Providing access to hardware accelerated and formally proven cryptographic algorithms on #embedded systems in #RustLang. For this, I'm teaming up with @inria Paris and @cryspen, supported by the #EU funded @NGIZero.
Right now we're going through […]
Rust 1.88.0 has been released! ✨🎊 🦀
This release brings you let chains, naked functions, automatic Cargo cache cleaning, Cell::update, proc_macro span locations, as_chunks methods on slices, and more!
Check out the blog post and release notes for all the details: blog.rust-lang.org/2025/06/26/R...
I feel like there would be a HUGE amount of ecosystem value for Rust and async/await, if there was funding and the right dev(s) available to focus on improving:
* Memory usage + copies of futures/async fns: particularly wrt overlapping data across yield
* Improving codegen size/perf
* opt-footguns
I can’t abide being called Jon, so I’d get my friends at school to call me JP instead. When I signed up to Force9 dial up in the mid 90s I needed a username for my email. I forget where I’d heard “the something-ster” as a format but that’s what I went with.
I remember reading long ago that COBS framing with CRCs as part of the data could greatly reduce the effectiveness of the CRC checksum and that care beds to be taken, but I'm unable to find where I read this. Does anyone know where this comes from, or if I'm mistaken?
🦀 Hello World!
The Rust project now has an official presence on Bluesky! ✨
We'll be posting the same on our Mastodon and Bluesky accounts, so you won't miss anything on either platform.
MISRA have produced a document outlining how MISRA C rules apply to both safe and unsafe Rust.
It’s like someone designed a language to fix a bunch of obvious pain points.
misra.org.uk/app/uploads/...