I tried today to update the firmware on my USB AVR Programmer (Pololu item #: 1300) using this guide:
Everything proceeded as normal, until I pasted in the firmware (using screen on Ubuntu 18.04). Instead of receiving the pipe character, I received a lowercase h. The red LED is blinking slowly. When I unplug and try again, it starts up in bootloader mode, but I keep getting the lowercase h and am unable to proceed.
Any ideas as to what’s going on, or what the “h” indicates? Thanks!
I am sorry you are having trouble updating the firmware on your AVR programmer. ‘h’ means that the bootloader expected to receive a hex digit (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, a, b, c, d, e, or f) but it received something else. Can you tell me more about how you used screen? In particular, which buttons did you click to transmit the firmware file to the bootloader?
I copied the contents of pgm03a_v1.08.pgm using MousePad (default XFCE text editor) and pasted it (via right-clicking and choosing paste in a drop-down menu) into the terminal running screen (after typing “fwbootloads”).
Might the colons in that file have something to do with it, as they’re non-hex characters? Or does the bootloader expect that? If relevant, my programmer was ordered way back in March 2011.
Hello. Thanks for the details. I was able to reproduce the problem you are having on an Ubuntu 16.04 machine using Mousepad, GNOME Terminal, and screen. I also tried gedit, and it didn’t make much difference. I looked at the data transferred via USB and saw that the computer skipped five characters in the middle of a line, so when the bootloader received the newline character it was still expecting to get five more hex characters.
I tested PuTTY, an alternative terminal program that can connect directly to serial ports, and it worked fine. You can install it with sudo apt install putty and you can paste text into it by middle-clicking. Does PuTTY work for you?