How do I remove the 16MHz crystal from a clone Pro Mini and operate from internal RC osc

I have a 5v/16MHz pro mini and would like to operate it from 3.3V and with internal 8Mhz osc divided by 8.
I am using platformIO and don’t have/want Arduino IDE.
I removed the crystal thinking it will revert back to it’s internal RC as per default fuse settings.
Anyone know how I can get out of this rabbit hole?

I’ve discovered that I have to do all the programming (fuses, flash,…) with the crystal installed, then remove the xtal and the 2 caps.
No matter what I tried didn’t work. Not many people are doing what I’m doing and there is not much reliable non-regurgitated videos on YT.
Even AVRDUDESS and USBasp dongles didn’t help.
Note that the delay() will be 16 times longer due to it running at 1 MHz instead of 16MHz. Even with the new board.txt and the ATmegaBOOT_168_atmega328_pro_8MHz.hex firmware.
I had to define the speed of comm this way;

// Set clock to 1 MHz
CLKPR = 0x80; //enable write to change prescalare
CLKPR = 0x04;; //change clock prescaler
// Initialize serial communication
Serial.begin(153600); // 9600 baud at 1 MHz clock 9600*16 = 153600
Now it works like a charm. I wouldn’t go beyond 9600 since temp changes make drastic frequency changes to the main RC oscillator.
Case closed.

1 Like

I am not sure that the clock deviation percentage has to do with baud rate.

1 Like