There was some recent news that an Arduino programmed to count up to 1,000,000,000, speaking each count, had malfunctioned after 10 years, not reaching the one billion count. This had many people (on Reddit) conjecturing how long it would take an Arduino Uno R3 to count to one billion if it didn’t have to output …
The Music Computer One (MUC-I) was a music composing and playing machine I designed and built in my Junior year in high school, in 1965. I’ve recently revised the design using an Arduino Uno, which I will describe fully later in this post. But the history really begins with the GENIAC, what was said to …
I hadn’t written a program for other than microcontrollers in many years. Recently I have been playing the Quartiles game in Apple News, and realizing its similarity to the Jumble puzzle, I though that I could write a Quartiles solving program. My Jumble solver is here: https://almy.us/jelbum.html In Quartiles there are 20 tiles with word …
With an abundance of RAM memory and the availability of floating point in the latest microcontrollers, there is little concern about minimizing memory for data storage and optimizing computation time. However, smaller microcontrollers have limited memory and no floating point, and it may become necessary to optimize the usage of memory. Accuracy and Precision Let’s …
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. …