Old topic, new IDE

Hello all, not been here for a while, I've have been on the 8266 forum a lot. But I've come across a problem I can't wrap my head around. It started out with wanting to migrate a project started last year and put aside, which used 3 DS 18b20 sensors on 1Wire bus that I'd set up back then on a pro-mini. That was done using an older IDE (1.6.x)
It worked great, and I wanted to move that over to an ESP-12 (8266). I ran into issues, reading the sensors so I put them back on the pro-mini. When I tried to upload the sketch however the pro-mini did not respond. This led me to believe that somehow the bootloader had gotten corrupted. I've tried several methods found around the internet and the forum of reloading the boot loader using the UNO as an ISP. None were successful. A good example is here [url=https://www.instructables.com/id/Burn-a-New-Bootloader-Arduino-Pro-Mini/?ALLSTEPS[/url]. the result was an error from the IDE of:

Arduino: 1.8.1 (Windows 10), Board: "Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

avrdude: Yikes! Invalid device signature.

Double check connections and try again, or use -F to override

this check.

Error while burning bootloader.

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

Then my USB port froze up. I rebooted my laptop and tried again with this as an error:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
Error while burning bootloader.

I'm totally confused at this point as to how to properly reload the bootloader on to the pro-mini. I can tell you it is a 5v 16mhz version. Any and all help would be greatly appreciated.

Pull the sensors off and clear Tx0,Rx1. Put pressure on your jumpers on the breadboard.

It doesn't matter how the sensors are connected, as long as only one is connected it reads, more than one it errors. My concerns here are 2 fold. 1. the issues with the sensors, and 2. the issues with reloading the bootstrap loader.

Do this:

  • File > Preferences > Show verbose output during: upload (check) > OK
  • Tools > Burn Bootloader
  • After the process fails you'll see a button on the right side of the orange bar "Copy error messages". Click that button".
  • Paste the error messages in a reply here USING CODE TAGS(</> button on the toolbar).

Hi Pert, thanks for the reply, yeah, I saw that verbose notification in the error message. I had done just as you suggested, and that time around I got the same thing without the "verbose suggestion". I'll try duplicating it and post as you suggest, thanks again.

Arduino: 1.8.1 (Windows 10), Board: "Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Error while burning bootloader.

That's about it. I'm wondering if there is some configuring to be done in the sketch I may have missed, but when I followed the instructional I'd mentioned, it didn't refer to any.

You missed the first step he told you:
File > Preferences > Show verbose output during: upload (check) > OK

Then it will tell you what sig it saw.

No DrAzzy I did not miss it. I invoked it. And what you see is what I got.
Now onward.
I have after close scrutiny discovered the pro-mini I'm working on has pins mislabeled. After straightening that mess out. I tried it again. this is the result.

***failed;
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xfd instead of 0x05 (double check with your datasheet first).

flagtrax:
No DrAzzy I did not miss it. I invoked it. And what you see is what I got.

Strange, usually it should show what signature was read, which can give us a clue to the problem.

flagtrax:
***failed;

Is that all there was? It doesn't give us much to go on.

flagtrax:
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xfd instead of 0x05 (double check with your datasheet first).

This is normal and doesn't indicate any problem.

Well I'm as confused as a newborn baby in a topless bar. :stuck_out_tongue:
I'd think "failed" shows a problem.
This website indicates that the ext fuse should be 0x05 why does averdude tell me otherwise?

http://onyxibex.com/2014/05/arduino-fuse-settings/

Thanks again.

The bit about 0xfd vs 0x05 is a warning not an error. You can disregard it. It's a matter of semantics, and what convention is used for "unused" fuse bits. It used to be that (via avrdude.conf) they could be specified to be treated as 1s or 0s. That was changed in recent version of avrdude to enforce treating them as 1's - but since it wasn't always enforced, lots of material exists that treats it differently, and fixing it causes backwards compatibility issues; the arduino version of it was modified to make it a warning (in one version, the included version enforced that, and it was a shitshow, as you might imagine). The reasons behind the AVRdude author's decision on this behavior is unclear to me.

The output you have posted does not look like verbose output. Verbose output includes a whole bunch of junk at the beginning, and also prints what it expected for signature, and what it also got. Could you have instead only set verbose compile output or something?

ER ah phew. OK well... I think... I get what your telling me but it sure makes an unsure neophyte sweat :slight_smile:
As far as the verbose output the options are during compilation and upload. No I didn't check the upload box being unsure if it is considered an "upload" when using the Uno as the ISP. The "failed" indication still has me puzzled though. More so now Because I uncoupled the two, and connected the pro-mini to another USB port, and it appears to be functioning normally?!?! At least I've loaded a couple sketches to it. But with that dirty word "failed" I'm not sure it's totally clean............BTW Your guidance is greatly appreciated. If you'd like I can plug them together again an run another test.......

Ok DRAZZY & PERT,

I'm guessing this is more what you expected to see. This run seemed to be clean.
Could that "failed" been from an earlier message? The initial culprit I'd say here was the mislabeled pins. Thanks again for the great help. Now I can go back to the 18b20 issue.

Well I tried to place the verbose output here but it exceeded the character limit for the post
(>9000) I'll try to attach a .txt

Verbose output.txt (10.1 KB)

Ah, much better, "upload" just means any avrdude output in this case. Obviously that suggestion the IDE provides automatically about verbose output on compilation is wrong in this case. I've been meaning to report that to the developers but didn't manage to reproduce it when I last tried. Glad to see things are working for you now. I've seen that "failed" thing show up before, and in fact even the Arduino developer thought it was strange when it was bought to his attention:

but as you can see from the verbose output it did verify so I think it's safe to ignore.

I generally leave verbose output on compilation disabled unless I need to debug something involving the build process because the information it provides is not generally useful and it really clutters up the console and makes it harder to see the important compiler warnings or errors. I think it's best to not have verbose compilation enabled when you post console output to the forum unless it's specifically relevant because it makes it much more likely that you'll go over 9000 characters and you will likely get less eyes on your issue if people need to download a file to see what's going on. I always have verbose output during upload enabled because I like to see the progress of the upload.

Thanks guys, always great to have backup :wink:

OK so this saga continues. I can write a sketch to the pro-mini......once. Then it will not accept input. If I reload the bootloader I can cycle it again.....once. I thought I'd seen mention of this behavior somewhere on the forum, but can't seem to find it. Anyone know what the solution to this is?
Thanks

flagtrax:
OK so this saga continues. I can write a sketch to the pro-mini......once. Then it will not accept input. If I reload the bootloader I can cycle it again.....once. I thought I'd seen mention of this behavior somewhere on the forum, but can't seem to find it. Anyone know what the solution to this is?
Thanks

Generally this indicates a problem with the autoreset - is the DTR (or RTS) pin of your serial adapter connected to the last pin on the 6-pin serial header at the end of the board?

Also, if you're manually setting fuses or something and use the fuse settings for non-bootloader configuration (ie, no BOOTRST, or incorrect BOOTSZ fuses combined with a large sketch), you get the same behavior - this requires a good deal of effort to do it wrong, though :wink: . And I got a batch of bad pro minis from china ($2 each, I can't complain too hard) where the autoreset circuit was just straight up wrong, like a year and a half ago.

No, can't say I've ever connected the DTR/CLS. Not manually setting fuses, Just basically followed the instructional.