Update:
More details to answer Christ Stratton question:
My low fuse is 62: 01100010. So, according to the specifications, the internal clock is used and set at 1MHz.
I programmed the Atmega using my own test bed, a Pololu programmer (as described in the book Practical AVR Microcontrollers: Games, Gadgets, and Home Automation with the Microcontroller Used in Arduino) and avrdude (through the use of platformio). This is the command line used by platformio to flash the ROM:
/Users/[user]/.platformio/packages/tool-avrdude/avrdude -v -p atmega328p -C /Users/[user]/.platformio/packages/tool-avrdude/avrdude.conf -c avrispv2 -B 10 -e -b 115200 -P "/dev/cu.usbmodem00149121" -U flash:w:.pioenvs/pololu/firmware.hex
According to avrdude documentation, -B 10
means bitclock is set to 10us (microseconds) so a clock at speed 100Khz.
Now if I set this -B option to 1 (1Mhz), I can't program the Atmega anymore. Avrdude just timeout:
avrdude stk500v2_ReceiveMessage(): timeout