The post discusses testing FreeRTOS on different microcontroller architectures: ATmega328P, ATmega4809, SAMD21, Renesas RA4M1, and ESP32-S3. It highlights architectural differences and challenges. Special attention is given to time slicing and the need for modifications in library codes for smooth operation across these models, emphasizing differences in scheduler functionality and usage.
The core of a Real Time Operating System (RTOS) is the task scheduler, allowing multiple tasks to share the processor by yielding when necessary. The post explores freeRTOS on 8-bit AVR microcontrollers in Arduino Uno R3, demonstrating tasks toggling pins and discussing time slicing, yielding, and the impact of removing or modifying vTaskDelay calls for efficient execution.
In this post we will go back to basics and look at using pushbuttons. This is the first device covered in my book Making Sense of 37 Sensors. A pushbutton or other switch is the simplest input device you can have in your microcontroller project, but it does have some pitfalls. Let’s look at a …
These boards are very recent and have some interesting features. From left to right they are the Nano ESP32 which is low cost yet powerful, the Uno R4 Minima which is the not really compatible successor to the Uno R3, and the Uno R4 WiFi shown here in the tray. Nano ESP32 This board uses …
Arduino has long used Atmel (now Microchip) 8-bit AVR architecture microcontrollers. The ATmega328P, ATmega32U4, and ATmega2560 have been discussed here. Arduino no longer is “in bed” with Microchip, but there are two other Microchip microcontrollers used in Arduino boards, the ATmega4809 and the SAMD21. Both of these are favorites of mine. ATmega4809 The ATmega4809 is …
There are some Arduino boards that have microcontrollers only used in one board. While the Arduino Framework, the library of functions, attempts to keep all boards compatible, at the lowest level there are differences. These boards because of their unique microcontrollers will generally have the lowest compatibility and potentially the most problems in their use. …
The Arduino website lists 27 different board models, with 5 currently marked as “sold out”. We will assume for these articles that the ones that are sold out will return. Of the 27, three use the very old, but not quite original for Arduino, ATmega328P microcontroller.. Two of these are the still popular, and widely …
One of the features of most microcontrollers is that they allow easy access to connected peripherals like sensors and actuators. This allows fast, accurate, and inexpensive operation. However some recent Arduino boards use microcontrollers that obfuscate the underlying hardware interfaces. A look into the Arduino Library for these parts show that they are calling vendor …
I thought it would be interesting to compare the speeds of various Arduino boards, from older designs to the newest microcontrollers. I looked at the following: Note that the Nano 33 IoT, the Nano RP2040, and the Uno R4 (WiFi version) all have an ESP32 as a coprocessor for the radio functionality. The Nano ESP32 …
Traditional Arduino boards, like the Uno R3 or Nano, are typically programmed using the Arduino Library functions. These conveniently present most of the microcontroller’s functionality to the hobbyist user. Books like my Far Inside The Arduino and the microcontroller’s documentation show how to access additional functionality not addressed by the Arduino Library. As more advanced …