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 …
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 …
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 …
My latest book has now become available on Amazon. Still Far Inside The Arduino continues the theme of Far Inside The Arduino and the Nano Every Supplement by using programming techniques and drivers more advanced than what Arduino promotes. Topics include: Distinctions among the various general purpose Arduino boards: ATmega328P based like the Arduino Uno …
I basically stopped and cowered because of COVID-19 and my wife and I being high risk. However I’m now finally back writing again. I’m hoping to get the Arduino Nano Every book done by the end of June. Examples programs will be basically to show new features and how it differs from the older AVR …
I’m pondering the direction of the new book covering the Arduino Nano Every and the ATmega4809 microcontroller. There are considerable differences in the implementation of this board compared to the ATmega328P based boards like the Arduino Nano and Uno. My first book, Far Inside The Arduino, covered using the Uno (and similar) board directly controlling …
I wrote this title to be ambiguous. I’ve been busy with personal things so slow progress on writing. I’ve just started back up on the Arduino Nano Every (ATMega4809) book. The needs of the Arduino people to have this board as compatible as possible with the older Arduino Nano has made this a surprisingly difficult …
The ATmega4809 microcontroller in the Arduino Nano Every is no longer loaded via a bootloader program, but instead uses a single wire programming interface, Unified Program and Debug Interface, or UPDI. This also has debugging capability, but this is not available with the Arduino IDE. The ISCP interface (and its 6-pin header) is no longer …
Using the Arduino Library, a pin (here digital pin 13) can be pulsed at maximum rate with: void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); digitalWrite(13, LOW); } On a Nano, the pulse width is 3.2µs with a period of 6.7µs. On the Nano Every, the pulse width is …
I just received two Arduino Nano Every boards with the ATmega4809 microcontroller. Here are my first observations studying the boards. Next post I will show how I am handling the digital I/O pins and will talk about the compatibility layer that (attempts to) makes the Nano Every behave like a Nano. The Arduino Nano Every …