My new book, Far Inside The Arduino: Nano Every Supplement is now available on Amazon. https://www.amazon.com/gp/product/B08GFL6VBF. It’s $9.99 as a Kindle E-book, or $11.99 printed. Roughly half the price of the earlier book for the Uno/Mega/Nano but then it doesn’t cover the theory of the interfaces, just how the differ. Because the Arduino Nano Every …
While writing Far Inside The Arduino: Nano Every Supplement I uncovered some errors in the Microchip (Atmel) documentation. In Timer/Counter B Single-Shot mode, setting EDGE=1 is supposed to generate a pulse on the negative edge of the event signal. Instead it generates a pulse on both edges of the event signal. In the SPI, the …
I’m now doing the final touches to the formatting of the E-book and printed versions of Far Inside The Arduino: Nano Every Supplement. Not really overjoyed with that title, but I do need to emphasize it as being supplemental to all the operational descriptions in the original Far Inside The Arduino book. I did do …
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 …
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 …
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 …
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 …