Recently I have been experimenting with battery powered sensor (mySensors).
I created node with 3.3V Arduino Pro Mini (ATMega328P @ 8Mhz with nordic radio chip and BME280 sensor) and successfully programed it many times using either USBAsp programmer or serial (to USB) programmer.
I wanted to lower power consumption and so I disconnected power led and burned fuses as follows: lfuse 62 hfuse DA efuse 7
It worked successfully and I recompiled the sketch and upload it with USBasp. I got an error that data cant be verified. It was late in the night so I jumped to Internet and googled it. In one forum I found, post (which I am unable to find again) that stated the he was able to upload sketch when he switched programmer to 5V. (Power was connected to Vcc)
I did that and it worked fine.
Than I tried to make change to sketch and upload it again (on 3,3V) and again got verification error so I unplugged programmer and switched back to 5V.
When I did that, the device stopped answering.
I regularly used this command to check that device responds and see fuses
avrdude.exe -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -cusbasp -Pusb
What i did
- Checked wiring.
- Tried program fuses on blank new arduino - worked (programmer is fine)
Measured voltage ok
Measured current (its around 4mA, I see it as the board is not sleeping and is actively doing something)
- I noticed that when I issue command mentioned above the on board led quickly lights up and then goes off again.
- I tried to power it from raw, from Vcc and from Vcc on serial hader (picture).
- I measured power on Vcc when connected to Raw pin and it reads 3.3V so power regulator should be ok.
- I used -B10 switch to averdude with no luck
My question is
- Is it possible that I burned the ATMega chip?
- Is it possible that I see target not answering because of USBAsp is unable to lower programming frequency? (warning: cannot set sck period. please check for usbasp firmware update.)
Please suggest if there is anything I can try before throwing it out.
Thank you.
EDIT 2017-01-07 I was able to brick another board. I think that the programmer is the cause.
I tried to upload bootloader with fuses from arduino and it failed with verification error.
I was able to burn bootloader from command line after seting fuses and restarting the board.
When I tried to upload the program it I got
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x00 != 0x0c
avrdude: verification error; content mismatch
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: lfuse changed! Was 62, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: hfuse changed! Was da, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: efuse changed! Was 7, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK (H:07, E:DA, L:62)
I answered yes because in in earlier attempts it just froze.
Now the board is in same condition as the first one.
Is it possible to revive it? Thanks.
avrdude -B10 ....
to slow it down.-B10
. Which seems easier than soldering to me.