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 …
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 …
Far Inside The Arduino is aimed at users of ATmega328P and ATmega2560 microcontrollers. These include the Arduino Uno, Nano, and Mega boards. Some Arduino boards feature other AVR microcontrollers, particularly the ATmega32U4 and the ATmega4809. The ATmega32U4 is found in the Leonardo, Micro, Yun and some other boards. This chip has a build-in USB controller …