The ATmega4809 organizes I/O registers by module and puts all the registers in C structures. The older AVR microcontrollers have a flat organization. For instance, take the Data Direction register for port B. In the ATmega328P this is simply defined: #define DDRB _SFR_IO8(0x04) This puts the register at location 0x04. In the ATmega4809, all the …
Update: individual Arduino Nano Every boards have returned. https://store.arduino.cc/usa/nano-every But the headers are not attached so you have to solder them on, or go the Amazon route which appears to still have them with headers mounted. Posted in February — It looks like Arduino has discontinued sales of individual Nano Every boards. They are now …
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 …
No book progress this month as I’ve been caught up in the holidays. Also, just became a grandfather, so there is that as well. I’ll attempt to get the next book finished in January. Happy holidays!
I heard about, purchased, and read this fascinating book Track Changes: A Literary History of Word Processing, by Matthew G Kirschenbaum. It tells the history of word processing on computers, but primarily from the viewpoint of the writer. This is a scholarly work with 80 pages of footnotes! Using a computer instead of a typewriter …
One thing I have been doing is answering questions on Quora, particularly questions about the Arduino Uno and related boards (using the ATmega328P or ATmega2560) when the questioner would benefit from a little knowledge of what’s “Far Inside”. Perhaps people will read the answers, see my bio blurb, and seek out Far Inside The Arduino. …
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 …
There is a transposed const and * in the section Using the EEPROM. The code snippet should read: struct MYEEPROM { byte aByte; word aWord; word aSecondWord; } * const eeprom = (struct MYEEPROM *)0;
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 …
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 …