#embedded
Patrice Roy on C++ proposals concerning low-latency programming ๐
Back to #rustembedded after crawling out of the #embedded C swamp.
I learned #zig basics and refreshed my #rust, just to see them side by side. Rust is intimidating, isn't it? Zig's simplicity is compelling.
I have a dynamic typing habit, and Zig's comptime is a lure. But as my brain ages I do feel that Rust's type system is probably the more responsible choice.
If you have the time to learn Rust, it's probably time well spent. But it is not simple.
As for Zig. Definitely worth a look!
Yanina Bellini Saibene( @yabellini ) discussed teaching, localization, barriers to learning coding, and global communities with Elecia( @logicalelegance ) and Chris @stoneymonster ).
Listen here: https://embedded.fm/episodes/465
Embedded is excited to be sponsored by Nordic Semiconductor and Memfault.

I really want to get my hands on the devkit for this new ARM-M85 MCU, but tragically, I've already hit my budget for this month. Something to look forward to.
https://www.mouser.com/new/renesas/renesas-ra8m1-32-bit-mcus/
#arm #embedded
CLion Classic 2023.3 Released With AI Assistant, Meson and Bazel Support, Enhancements for Embedded Developers
#Clang #CLion #News #Releases #20233 #Aiassistant #Assembly #Bazel #Embedded #Featuretrainer #Meson
https://blog.jetbrains.com/clion/2023/12/clion-classic-2023-3-released-ai/
Unveiling secrets of the ESP32: creating an open-source MAC Layer
https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/
This week, we spoke with @yabellini about teaching, localization, barriers to learning coding, and global communities.
Listen to episode 465: Dinosaurs, Pirates, Spaceships here( https://embedded.fm/episodes/465 ).
Yanina touched on the need for collaboration between speakers of different languages in the tech. industry.
Thank you to Memfault for sponsoring Embeddedfm!

What I might want/need is a fundamentals course thatโs language agnostic, maybe even platform agnostic, to then be able to really get to know the details because I feel like thereโs some morsel of knowledge Iโm currently missing.
Something that could enable me to create something of quality thatโs not just copy paste of various samples to make something that seems to work in the surface
This week, we spoke with Yanina Bellini Saibene about teaching, localization, barriers to learning coding, and global communities.
Listen to episode 465: Dinosaurs, Pirates, Spaceships here( https://embedded.fm/episodes/465 ).
Yanina touched on the need for collaboration between speakers of different languages in the tech. industry.
Thank you to Memfault for sponsoring Embeddedfm!

I've to thank @w84death for inspiring me to start OS/1337 ...
#OS1337 #Linux #embedded #EmbeddedLinux #Distro #Development
For everyone interested:
The current development version of OS/1337 as prerelease to test is here:
https://github.com/OS-1337/OS1337/raw/966753e739878e281fb1a2bb5dc250aae753cc9e/build/0.CORE/os1337.img
Please report issues to us on #GitHub:
https://github.com/OS-1337/OS1337/issues
#OS1337 #1440kB #Linux #Embedded #EmbeddedLinux #minimalist #Distro
Status update from @kkarhan :
- Taking notes from @landley 's feedback and turning that into tickets so I don't forget it.
https://github.com/OS-1337/OS1337/issues/6
https://mstdn.jp/@landley/111531023450424231
#OS1337 #Linux #EmbeddedLinux #Development #Kernel #embedded #Distro #Distribution
Need to find some training to do at end-of-year to be busy for work. Any recommendations for embedded (โiotโ) programming courses? I wouldnโt mind it if it was in rust, but at this point Iโm also okay with c/c++ probably. Nothing too expensive would be preferred and also maybe not more than a couple of weeks long at most. Preferably with nrf53/52 DK or Iโll have a hard time sourcing hardware in time.
#embedded #training #RustLang #courses
Banana Pi new wiki online .Any good suggestions??
https://docs.banana-pi.org
#bananapi #sbc #router #iot #opensource #embedded


@yabellini was on Embedded with @logicalelegance and @stoneymonster to discuss teaching, localization, barriers to learning coding, and global communities.
Listen to episode 465: Dinosaurs, Pirates, Spaceships here( https://embedded.fm/episodes/465 ).
Here's Yanina's tip everyone should know:
Thank you to Memfault and Nordic Semiconductor for sponsoring Embeddedfm!

Hi fam!!! ๐ฅณ
Here it is the latest post talking about #sharepoint #embedded ๐
Let me share with you the basis of this new #Microsoft365 service. ๐
Let me know your thoughts ๐ฌ
https://intranetfromthetrenches.substack.com/p/getting-to-know-sharepoint-embedded
I'm trying to reduce the memory usage of the Nimble BLE stack on ESP-IDF. With the default configuration, it uses about 80 KB of my precious heap memory. How daring!
The project will only use it to receive a few BLE advertisements of 31 bytes, so I consider it to be taking too much memory for such a simple task. ๐งต
@TwraSun #Bildbeschreibung fehlt...
Ansonsten #FragWarum - vielleicht weil jene #embedded sind mit den #Energiekonzernen die #finite, #fossile #Energie [und ja auch #Atomkraft gehรถrt dazu, nur weil's mineralisch ist wird's nicht weniger endlich!] produzieren und nutzen???
Here's a short excerpt from the show:
Elecia (04:46):
Do you have a tip everyone should know?
Yanina (04:52):
Yes. Related with projects. I would say that when you have to prioritize a task, try always to finish first the tasks that will allow other people in your team to continue, start or finish their work.
Thank you to Memfault for sponsoring the show!
2/2
For those interested:
Here's the 3,5" 1440kB FDD image of #OS/1337 as of now:
https://github.com/OS-1337/OS1337/blob/966753e739878e281fb1a2bb5dc250aae753cc9e/build/0.CORE/os1337.img
It's still quite broken but it does boot...
so feel free to provide feedback and report issues
https://github.com/OS-1337/OS1337/issues
#Linux #toybox #OS1337 #Embedded #EmbeddedLinux #Distro #Distribution #CLI
![The OS/1337 logo, which is the letters
_OS/1337
on black background.
The Letters _OS/ are amber [ #ff8000 ] and the numbers 1337 are green [ #00ff00 ].
Font is Ubuntu Mono.](https://assets.toot.cafe/cache/media_attachments/files/111/524/364/417/735/029/small/f37028a712716e12.png)
Good news everyone!
OS/1337 now finally boots to a [quite castrated] version of #toybox / #Linux #CLI in glorious 80x25.
Thanks a lot to @SweetAIBelle and also thanks to @landley for nudging me in the right directions...
https://github.com/OS-1337/OS1337/issues/2#issuecomment-1839511578
#OS1337 #Linux #Embedded #EmbeddedLinux #Development #Distro #LinuxDistro

Yanina Bellini Saibene( @yabellini ) joined Elecia( @logicalelegance ) and Chris @stoneymonster ) to discuss teaching, localization, barriers to learning coding, and global communities.
The transcript for the show is available now: https://embedded.fm/transcripts/465.
You're invited to read through and share your favorite quotes!
Thank you to Memfault for sponsoring the show!
Anyway: What @landley said applies to OS/1337 but I want said distro to be something people can daily-drive!
https://www.youtube.com/watch?v=MkJkyMuBm3g&t=1295s
And yes, this is why I do OS/1337:
I want a nice #minimalist #Linux I could reproduceably build and use as a #rescue system more flexible as #tomsrtbt and actually deliver something even more useful than #mkroot in that it is a clean slate or rather coffe table to build a #embedded #Linux from.
https://www.youtube.com/watch?v=MkJkyMuBm3g&t=723s video via @landley
But now that rootfs.cpio.xz works, I've to fix the whole init issue...
https://github.com/OS-1337/OS1337/issues/2#issuecomment-1837640692

I guess I fecked up on this build of OS/1337...
need to repackage rootfs.cpio.xz and see if that works....
https://github.com/OS-1337/OS1337/issues/2#issuecomment-1837628147


Next tuesday, a starter guide to understand what is #sharepoint #embedded in my blog.
Don't miss it if you want to know what is this about!!!

I've recently been bit-banging a floppy drive and creating a driver for it in #rustlang (completely from scratch). Floppy drives are super cool technology and naturally I wanted to share my learnings. I've made this retro website to help future Technoarcheologists understand every aspect of how these ancient things work.
Head on over to the floppy cafe if you want to learn more! https://floppy.cafe/

The Black Magic Probe V2.3 JTAG/SWD debugger/programmer with built in GDB server is back in stock in our US store! https://1bitsquared.com/products/black-magic-probe #jtag #swd #embedded #mcu #programming #debug #hardware


Why do all the "Comparison of Discount Pi-Alike vs Pi!" articles never mention:
Boot time
Current under load
Idle Current
Low power current
Recovery from low power mode time
Join us today at 11 am/5 pm Central European time for the #OpenMP Users Monthly Telecon! The subject of this month's telecon will be "OpenMP Offloaded Quantum ESPRESSO". ๐
The authors Laura Bellentani and Fabrizio Ferrari Ruffino will present the porting status of Quantum ESPRESSO to OpenMP and the strategies they have adopted to offload both high level parent code and low level libraries by means of OpenMP. ๐
More details at:
https://www.openmp.org/events/ecp-sollve-openmp-monthly-teleconference/
Contiki โ an open source operating system that runs on tiny low-power microcontrollers and https://archiveos.org/contiki/ #embedded #arm
Yanina Bellini Saibene( @yabellini ) joined Elecia( @logicalelegance ) and Chris( @stoneymonster ) to discuss teaching, localization, barriers to learning coding, and global communities.
Listen to episode 465: Dinosaurs, Pirates, Spaceships here( https://embedded.fm/episodes/465 ).
Thank you to Memfault for sponsoring the show!
New C library for Raspberry Pi Pico! This one displays procedural effects, animated sprites and text using WS2812B addressable RGB strips and matrices.
It allows multiple concurrent effects with independent framerates, masking, color inversion, global dimming, callback functions, and more.
Who needs a 6k display when you can do all of that on an 8x8 matrix?
Source code: https://github.com/TuriSc/RP2040-WS2812B-Animation
Demo video: https://www.youtube.com/watch?v=l01OJQYX9Kk
#RaspberryPiPico #LEDLibrary #WS2812B #Embedded #DIYelectronics #Cprogramming

Show sponsor Memfault don't just provide a device reliability platform for IoT monitoring, debugging, and updates; they also maintain a blog called Interrupt ( https://interrupt.memfault.com/blog/ ) filled with insightful tech. articles.
Check out what they have been reading in the past month( https://interrupt.memfault.com/blog/october-2023-roundup )
Thank you to Memfault for supporting Embedded.
๐ Tim Mattson describes in the following fascinating #SC23 booth talk that the #OpenMP API is the most popular parallel programming API on GitHub. Of the almost 300000 repositories using parallel programming, it is used in 4๏ธโฃ 5๏ธโฃ % of the repos. ๐
๐ฝ Watch the video at:
https://youtu.be/VkOou-_hhTU
๐ Download the slides from:
https://www.openmp.org/wp-content/uploads/sc23-openmp-popularity-mattson.pdf
#Armbian 23.11 Released with #Linux Kernel 6.6 LTS Support, #Ubuntu 23.10 and #Debian 13-Based Daily Images, and Support for New Devices https://9to5linux.com/armbian-23-11-released-with-linux-kernel-6-6-lts-and-support-for-new-devices

I set the modem to "Reset of World" as the manual states, but the world has not changed.
I think I'll have to open a Telit support ticket.
#embedded

Microsoft Contributes Azure RTOS to Eclipse Foundation
From time to time our users share previews of what they're working on. This one by @xgroleau is very very impressive: Butter smooth scrolling Slint based UI on an NRF52840 MCU with an ST7798 on an 8 MHz SPI bus.
The magic is that the 240x240 screen is backed by a 240x320 buffer, where the next line is rendered out of the viewport and then the display's scroll offset is incremented. The code fits into 725kB flash and uses 45kb heap memory. ๐

Ready for #embedded: Today, we're celebrating #PipeWire 1.0, the first officially stable release of the next-gen multimedia framework for Linux-based systems! ๐ https://col.la/pw1r #OpenFirst #OpenSource @pipewire
The new edition of @logicalelegance 's Making Embedded Systems book published by O'Reilly is finished!(Except for a couple months of tech reviews, updating, copyediting, and drawings.)
Expect to be able to get a copy in March '24!
You can take a peek of the preview at https://learning.oreilly.com/library/view/making-embedded-systems/9781098151539/ .
On Tuesday, November 28, 2023, @logicalelegance (co-host of Embedded) will be on the The Builder Circle by Pratik to talk about firmware and everything related to it with Sera Evcimen.
It promises to be insightful. Be sure to join them.
STMP157-BASE-SOM-EXT -20+85C operating Linux system on module with STM32MP157DAA1 Dual Core CortexA7+CortexM4 from ST Microelectonics , 1 GB RAM, CAN, LAN, USB https://olimex.wordpress.com/2023/11/24/stmp157-base-som-is-system-on-module-which-exposes-all-stm32mp157-soc-features-stmp157-base-som-evb-is-open-source-hardware-reference-design-for-stmp157-base-som/ #embedded #som #linux #debian
How many people would like an ereader with no backlight and no touchscreen, buttons only?
Listen to the latest edition( https://embedded.fm/episodes/464 ) of Embedded as Elecia( @logicalelegance ) and Chris( @stoneymonster ) talk about their favorite processors, breakfast preferences, LLMs and presents.
Here's an excerpt from the show:
Thank you to Nordic for sponsoring this week's show!
#embedded #engineering #annoucement #LLM #CPU #mcu
Ah, it turns out that reconfiguring the SWD debug pins to be GPIO is not something I want to do on this device. #embedded
Interesting reading on how to break bare metal firmware encryption (FortiGate firewalls) for security research.
https://bishopfox.com/blog/breaking-fortinet-firmware-encryption
Join Chris and Elecia on the latest edition https://embedded.fm/episodes/464 as they talk about their favorite processors, breakfast preferences, LLMs and presents.
Check out the transcript for the show: https://embedded.fm/transcripts/464.
Here are some alternate show titles that were in the running:
+ Please Make This Monster Look Scary
+ Type On A Pillow
+ Build a Squirrel Army
+ Candles and Pink Sugar
Thank you to Nordic and Memfault for sponsoring the show.
Embedded systems pro-tip: The correct number of times to beep is three.
Devices that beep three times: Ah, what a normal amount of beeping, I am now aware of the thing it wanted me to be aware of.
Devices that beep four times: OMG, what is this CHAOS? Why on earth is this infernal P-O-S beeping so fracking much? Cast it into the ocean! Come on, Pookie, let's burn this MF down!
This week on Embedded, Chris ( @stoneymonster ) and Elecia( @logicalelegance ) talk about their favorite processors, their breakfast preferences, large language model ethics, presents, and Eeyore's birthday.
There's also an announcement of the winner of the first Nordic PPK2.
Join us here https://embedded.fm/episodes/464 or wherever you get your podcast.
Thank you to Nordic for sponsoring the show!
Check them out at: https://www.nordicsemi.com/?utm_campaign=Sponsorships&utm_source=Embdedded.fm%20podcast&utm_medium=Embdedded.fm%20podcast%20%7C%20Link%20to%20nordicsemi.com&utm_content=Embdedded.fm%20podcast%20%7C%20Link%20to%20nordicsemi.com
#embedded #engineering #annoucement #LLM #CPU
After looking into IP cameras recently, it turns out 99% of them are using a SoC SDK based on an outdated modified Linux kernel (2018 or older).
The newest popular Wyze cameras use Linux 3.10.14 and an OpenSSL release from 2013!
Alternative firmwares like OpenIPC do exist, but unlike OpenWRT they're always based on the same vendor kernel.
SoC vendors, please stop this madness.
#Linux #Embedded #InternetOfShit
Going on with my exploration of the #STM32 world.
Most of the documentation I find when searching around is either bases on the SPL or the HAL libraries by ST.
I'd rather skip them an remain closer to the bare metal. Beside datasheets and related accessory doc, any advice on resources (books/websites) that take a minimalist approach to these micros? #advice #embedded
Reverse engineering of USB flash drives with AES hardware encryption
https://blog.syss.com/posts/hacking-usb-flash-drives-part-1/
https://blog.syss.com/posts/hacking-usb-flash-drives-part-2/
Great writeup about reverse engineering MikroTik router
Blog post: https://margin.re/2022/06/pulling-mikrotik-into-the-limelight/
Slides (RECon): https://margin.re/content/files/2022/11/Pulling_MikroTik_into_the_Limelight-RECon-2022.pdf
#iot #embedded #mikrotik #reverseengineering #cybsersecurity
On November 28,2023 Elecia( @logicalelegance ), co-host of Embedded will be a guest on The Builder Circle podcast ( https://podcasts.apple.com/us/podcast/the-builder-circle-by-pratik-the-hardware-startup/id1687830893 ) talking about what firmware is.
It promises to be insightful.
Anticipate!
#embedded #engineering #makers #firmware #embeddedsystems #embedded #embeddedengineer #stemeducation
Excellent research on reverse engineering and pwning a Google Home Mini smart speaker.
A must read if you are interested in embedded device security and vulnerability research.
https://downrightnifty.me/blog/2022/12/26/hacking-google-home.html
Powers of 2 are really something, huh. Chasing an #embedded bug and I wrote a loop over all of uint16_t to find the bad value and it didn't take any perceptible time. Now I need to search uint64_t and 8 hours later I'm not sure it's ever going to finish.
Join Chris( @stoneymonster ) and Elecia( @logicalelegance ) on the latest edition of Embedded as they talk to Kevin Lannen - an embedded systems engineer - about making powered wheelchairs safer.
Listen to episode 463: Layers of Band-Aids ( https://embedded.fm/episodes/463 ).
RISC-V isn't killing Arm (yet) by @geerlingguy
would anyone be interested in remote access to any of the following devices for the purposes of #Linux mainline development and testing? You'd be able to power cycle the device and boot an Android boot.img (kernel + dtb + ramdisk), I'm also open to using these devices in CI
* OnePlus 6/6T - #Qualcomm Snapdragon 845
* OnePlus 7 and/or 7 pro - #Qualcomm #Snapdragon 855 / sm8150
* Google Pixel 2 XL, 3, or 3 XL - Snapdragon 835 (msm8998) or Snapdragon 845 (sdm845). (Only have one usb-cereal adapter so only one of these is viable right now)
* #Fairphone 2 - MSM8974
* #Fairphone 5 - QCM6490
* #LG G6 - msm8996 (if someone can find UART and find a workaround for the "charger wet" detection being stuck on)
* #Samsung j3 (j3xnlte) - some spreadtrum SoC - Only if you can find UART for me
I don't have things fully set up here but I'm trying to figure out what i should prioritise.
If any of these sounds useful to you then please get in touch with me! I'm especially interested in folks from the #LinuxMobile community, #Kernel maintainers, or anyone else with an interest in upstream Linux support on phones. Please have some kind of public presence in a related field and tell me what your usecase is.
* DM me on matrix - @ caleb:postmarketos.org
* Email me - caleb@connolly.tech
Please boost for reach!
#FOSSMobile #postmarketOS #Android #Embedded #BoardFarm #Testing #CI
Okay that results in a root image with 800K of /bin (busybox), 80MB of /lib (about 3MB of glibc stuff, 77MB of kernel modules), and 1.7MB of /usr/lib (libstdc++).
Also a 20MB linux kernel image, 700K of devicetree crap, and 2MB of BCM bootloader goop.
So, that's a starting point, and it probably can be trimmed down a bit, but it is kinda amazing that the kernel (including modules), libc, and libsdc++ weigh in at a bit over 100MB.
Ok #SoftwareLicensing question: we have some software to interface with an #FPGA which uses the manufacturers USB python code. We want to release our code as an open source package (its currently GPL-3, but thats just my default), but it has this license:
https://opalkelly.com/about-us/frontpanel-license/
Opal Kelly hereby grants to the Licensee a temporary, non-exclusive license to install and use Software. Licensee shall not modify, distribute, resell or otherwise transfer Software for any purpose, commercial or non-commercial. Licensee may integrate and sub-license Software for distribution but Software must only be used in conjunction with Opal Kelly devices or devices incorporating Firmware.
That to me says two opposite things: a) we are not allowed to distribute it for any purpose, and also b) we may sub-license and distribute it if we use it with their hardware (we are)
Is this a normal thing in #embedded world? Can we just... copy and paste it into a vendor
folder and call it a day, or do we need to redesign this thing?
Chris( @stoneymonster ) and Elecia( @logicalelegance ) are joined by Marian Petre to talk about her research on how to make software developers better at developing software.
Listen here ( https://embedded.fm/episodes/462 ) .
Here are some alternate show titles that were in the running:
- โStop Typingโ
- โLimited by Our Imaginationsโ
- โMake the Translation Stepโ
- โSpontaneously High Performingโ
- โA Marmite Bookโ
Which would you have gone for?
This week on Embedded, Chris( @stoneymonster ) and Elecia( @logicalelegance ) speak to Marian Petre about her research on how to make software developers better at developing software.
Listen here ( https://embedded.fm/episodes/462 ) or wherever you get your podcast!
Nordic is giving away some Power Profiler Kit II (PPK2)s for free!
Listen to episode 461( https://embedded.fm/episodes/461 ) to find out how to get one!
Thank you to Nordic for sponsoring the show!
TIL that LVGL is integrated with @zephyr - clearly this is something I should spend more time learning about at some point. #iot #embedded #hardware #AllThingsOpen
Listen to Chris( @stoneymonster ) and Elecia( @logicalelegance ) on this week's show ( https://embedded.fm/episodes/461 ) to find out more about the competition and how to participate for a chance to win a Nordic Power Profiler Kit II!
Thank you to Nordic( https://www.nordicsemi.com/?utm_campaign=Sponsorships&utm_source=Embdedded.fm%2520podcast&utm_medium=Embdedded.fm%2520podcast%2520%257C%2520Link%2520to%2520nordicsemi.com&utm_content=Embdedded.fm%2520podcast%2520%257C%2520Link%2520to%2520nordicsemi.com ) for sponsoring the show!
#giveaway #nordic #embedded #engineering #power #profiling
2/2
New release of defmt-serial for #rust #embedded work. Thanks to @esden for making it work on embassy and making the whole thing more generic: https://crates.io/crates/defmt-serial (https://github.com/gauteh/defmt-serial)
What I had to learn (still have to) coming back to webdev is that it is ok to not be 100% sure that what you are building is correct / robust / gone through 7 QA cycles.
You can throw some stuff out, measure it, roll it back or improve it in the next release.
Anyway, my message:
don't think that embedded is some dark arts of programming. If you are a web developer that cares about the fundamentals, you are probably already a great embedded developer.
Many of the patterns to achieve robustness and resilience are the same: state machines, queues, bottom half/top half.
The same fundamental concepts apply: latency, bandwidth, jitter, request/response, events.
Learn the fundamental in one domain, you are *extremely* well set to be a good developer/architect in the other domain. The tools change, but the thinking is very close.
But, compared to the complexity of the average website, embedded applications are *extremely* simple. There's usually (often?) no concept of a session, no database, no storage, no transactions, no rendering, no user interaction, no UX flows, no styling, no deployment.
Web dev is inherently hard to debug too, and often requires oblique strategies to observe the system in production.
2/
having worked on embedded for more than a decade, one thing many people don't realize is that a lot of embedded software is extremely simple, and in fact should be. its job is to get bytes from A to B and potentially run a minimal control loop.
The "hard" parts are complicated debugging, shitty datasheets and compilers (this has changed) and the need to be robust in the fact of every eventuality, from voltage being too low to random sparks or sensors dying.
1/
Join Elecia ( @logicalelegance ) on the latest edition of Embedded as she speaks with author, engineer, manager, and professor, Dr. Greg Wilson about teaching, science in computer science, ethics, and policy.
Take a listen here https://embedded.fm/episodes/460 , or wherever you get your podcasts!
#author #teaching #science #teaching #books #embedded #podcast