Go Down

Topic: [UNO R3] Cant be recognized after oscillator swap (Read 287 times) previous topic - next topic

Gosucherry

Hi !
Recently, I've changed quartz on my Arduino Uno. I soldered in a 14.7564Mhz oscillator in place of 16Mhz. I use another Arduino Uno as ISP. I successfully uploaded a "ArduinoISP" sketch onto my Arduino-ISP. Then I connected everything according to the :CLICK HERE
Including this 10uF condensator. I've uploaded an Bootloader ( optiboot, by those instructions : CLICK HERE ). Everything was fine, but my windows cant recognize this device now. It was once recognized as Arduino Uno ( but with some errors, "Device cant start ( code 10 )" so it didnt work either ). Usually it's Unknown Device for which i cannot install any drivers. But the thing is, that I've succesfully uploaded "Blink" app using Arduino as programmer :) So it's not bricked or anything, and it can be programmed. I've tried on different PC's and Usb cables. Any ideas ? :)

PS : I was using old 1.0.5 Arduino IDE, since it contains all this tools for compiling new bootloader files ( omake etc. ). When I copied compilied files to 1.6 IDE folder, it wouldnt allow me to upload bootloader to the board ( it said it misses some files ). But 1.0.5 passed it freely.

CrossRoads

Did you change the boards.txt entry to reflect 14756400 instead of 16000000?
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Gosucherry

Did you change the boards.txt entry to reflect 14756400 instead of 16000000?
Yes, I did. My boards.txt were expanded by this lines :

Code: [Select]

uno147456.name=Arduino Uno 14.7456MHz
uno147456.upload.protocol=arduino
uno147456.upload.maximum_size=32256
uno147456.upload.speed=115200
uno147456.bootloader.low_fuses=0xff
uno147456.bootloader.high_fuses=0xde
uno147456.bootloader.extended_fuses=0x05
uno147456.bootloader.path=optiboot
uno147456.bootloader.file=optiboot_atmega328_14_7456MHz.hex
uno147456.bootloader.unlock_bits=0x3F
uno147456.bootloader.lock_bits=0x0F
uno147456.build.mcu=atmega328p
uno147456.build.f_cpu=14745600L
uno147456.build.core=arduino
uno147456.build.variant=standard

Isaac96

So your Arduino is no longer recognized? I have a feeling you changed the wrong crystal. Did you replace the thru-hole one or the SMD one? (The SMD is right next to the 328).
Do not PM me for help.Only links to topics.
CONNECT THE GROUNDS!

After Tuesday, even the calendar goes W T F

Gosucherry

Oh my. Please, kill me right now :) All this time I took it as an fact, that this THT crystal was for the Atmega328 ;o ! I thought they intentionally made it that way to make swap easier ;D Ok. The problem is solved. I've just changed the wrong crystal ( no more doubts why my USB communication was broken ).

Isaac96

What I wonder is why in the world they have the xtals that way? I mean, who would want to change the crystal for the 16u2? And people change the 328 clock speed all the time. Now you are going to have to replace that SMD crystal.
Do not PM me for help.Only links to topics.
CONNECT THE GROUNDS!

After Tuesday, even the calendar goes W T F

CrossRoads

I can only guess that better precision is needed for USB comm's hence the crystal there,
while that precision is not needed as much for serial between '328 and 16U2, or for SPI/I2C/Serial to the outside world.
Does hose things somewhat when using 328 for time keeping, unless care is taken to use micros() and paying attention to how time passing is tracked. (blink without delay)
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up