I have an existing Bobduino that was running at 16Mhz.
I installed at 20 MHz crystal the waveform is about the same as the 16Mhz except at the higher frequency as expected.
I changed the build.f_cpu=20000000L from build.f_cpu=16000000L.
But I still can not communicate between the IDE and the board as before. I keep getting the following error:
avrdude: stk500_getsync(): not in sync: resp=0x00
Do the AVR Fuse setting need changed?
I have other Bobduino that are running at 16Mhz which have no communication issues using the same PC and the same USB cables. I believe this is purely a board set up issue.
While changing the clock speed in the board.txt file for 20 mhz does compensate for all the arduino libraries and functions that rely on a specific clock speed, the bootloader is different in that it's baudrate is 'hard-coded' to work at a fixed speed and the arduino IDE is expecting to use the baudrate in the boards.txt parameter (example) bobuino.upload.speed=115200
so your choices are either:
1. Find a bootloader that is coded to run at 20Mhz
2. Fiddle with the bobuino.upload.speed=115200 baudrate parameter to try and compensate for the difference between 20 Vs 16 mhz, so maybe around 144,000.
I've never attempted this second method but think it might work.
Fuse changes going from 16 to 20mhz should not be required unless something else changes like the size of the bootloader.