This is the week I’m determined to cover the SPI interface. In the process of testing I uncovered an error in the ATmega4809 documentation. The documentation states for the IF Receive Complete Interrupt Flag, “IF is cleared by hardware when executing the corresponding interrupt vector.” This is not true. The flag must be manually cleared …
I performed surgery on the Arduino Library. Yes, it is a risky task. I had to modify five source files, but the changes are conditionally compiled. I had previously added another “board” that is the Arduino Nano Every with a 20MHz clock so I could easily select it. Now I’ve gotten rid of the ATMEGA328 …
The Arduino Nano Every does its best to mimic the operation of the Arduino Nano even to the point of making it difficult to obtain the best performance of the part. I’ve just been pulling my hairs over this and how they handled the Timer/Counters. The ATmega4809 has two types of Timer/Counters, “A” and “B”. …
Both the ATmega328 and ATmega4809 based Arduino boards have a built in temperature sensor that can be used to measure the temperature of the part, and roughly the ambient temperature. Note that the ATmega2560 in the Arduino Mega does not have this capability. In an ATmega328 based Arduino, such as the Uno or Nano, the …
The Analog Comparator has been ignored in the Arduino library software. I discussed it in my Far Inside The Arduino book for the ATmega328P parts, like the Uno and Nano. The Analog Comparator in Arduino Nano Every’s ATmega4809 is more versatile and has more features. There is now an internal DAC that can be connected …
Progress is slow as I’ve been busy with other things. I’ll probably be 50% finished with the Arduino Nano Every book in another week. I think I’ve been spending too much time answering Quora questions, which not only doesn’t get the book written but also doesn’t make me more knowledgeable as the questions are too …
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 used in the Arduino Nano Every differs from the other AVR microcontrollers in other Arduino boards in that all memories can be addressed as part of the data space. This “cheat” means it no longer behaves like a Harvard architecture which simplifies coding. Literal strings and variables declared as const are now …
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 …