Arduino: 1.8.3 (Windows 10), Board: "Arduino/Genuino Uno"
Sketch uses 928 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Users\ZinggJ\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\ZinggJ\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -carduino -PCOM16 -b115200 -D -Uflash:w:C:\Users\ZinggJ\AppData\Local\Temp\arduino_build_991538/Blink.ino.hex:i
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\ZinggJ\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM16
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x5d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x5d
avrdude done. Thank you.
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I did a similar experiment. I used a yellow CH340 clone to program the bootloader on a Blue 16u2 Uno clone.
The first observation was that avrdude whinged about the external fuse being 0x05 and not 0xFD.
I suggest that you edit your boards.txt to say
uno.bootloader.extended_fuses=0xFD
this cures the whingeing and makes you feel better.
I programmed the Target with the Duemilanove bootloader. Test the new "Duemilanove" and it appeared as a Duemilanove.
I then re-connected the target to the yellow Uno and programmed the Uno bootloader. Test as a "Uno". It appeared as a Uno.
I also tested the ArduinoISP with a regular avrdude command line.
It could read Signature, fuses, Flash, EEPROM, ... just like any regular ISP programmer
I really can't see how there could be a problem with your V4.
You have a USB-UART bridge working in the m16u2.
You should have an Optiboot bootloader in the m328p
Of course, I don't know whether you programmed the m16u2 correctly.
You can use ArduinoISP to read the fuse, flash etc of the m16u2
Or you can simply use the ArduinoISP to Upload a comms sketch to your Red board. e.g. ASCIITable.ino
Connect the Red board to USB. Start th Serial Terminal. Press the Reset. The loaded sketch should run.
Just open and close the Serial Terminal should reset your Red board. No need to press the reset button.
Then see if anything appears on your Serial Terminal.
Ok, I know you are an expert, so you know how to do all this.
I rarely use AVR Arduinos, don't know avrdude commands, etc.
So I have a vague idea of what you are suggesting, but don't know how.
If I could load a program to the V4, in any way, I could check if serial output works.
If it doesn't, then normal upload would not work and cause these timeouts.
I copied the avrdude command of a normal upload, tried to change it to use arduinoisp, but failed so far.
Don't use guesswork. Follow a proper plan. i.e. burn bootloader, use bootloader.
Whenever you fiddle about with ISP programmers you destroy existing bootloaders.
Since you know that you can install a bootloader ok with ArduinoISP, you could Upload sketches with ISP if you really want.
Note that you have to restore the Bootloader before you can use the V4 as Nature intended.
If you don't trust yourself to follow a proper plan, dig the deep hole before you start.
Then you can disconnect the ArduinoISP and bury it as soon as "Burn Bootloader" has completed.
Seeed generally supply schematics. I can't believe that they would make a mistake with schematic or pcb. The "Seeeduino" board has been available for many years. If you do find a routeing error, I would have a full and frank discussion with them. They are a hardware company and not a Lingerie shop.
Please follow the steps that I have outlined.
Write each step down on paper.
Number it.
Then post exactly what you have done. i.e. the full list of numbered steps.
And report what you expected and what you got.
I suspect that you own more than one yellow clone.
You can do experiments with two proven hardware boards.
e.g. burn a fresh bootloader
e.g. Upload sketch with programmer
e.g. observe how bootloader is destroyed.
It is quite possible that Seeed have been selling a load of V4.2 quality control failures.
Seeed is a company with a good reputation. This is very unlikely.
Google would soon reveal unhappy punters from across the world.
After you have gained experience with the proven hardware, you can try again with the V4.2.
I can assure you that the "Burn Bootloader" procedure is very straightforward.
All debugWIRE users will do it regularly at the end of a development cycle.
Ok, they probably use an ATMEL-ICE rather than ArduinoISP.ino
The vast majority of Arduino owners never touch ISP. The boards work straight out of the box.
I would really appreciate if you just answer my questions, instead of repeating what I already know.
Anyway, I started asking for replacement from Seeed-Studio, as there are multiple issues with these V4.2.
Obviously no quality control has been done, as both processors came un-programmed.
I wasted much time with this; some of it was worth it for learning.
I still would like to learn if the Device Signature can be programmed. <- this is my question.
The V4.2 seems to have been on the market for over a year.
Google does not produce reports from unhappy customers.
I bet that there are several V4.2 owners on this Forum.
Perhaps we will hear from other owners.
As I said earlier, it is unlikely that Seeed would sell their own products if damaged. If you have reported a genuine problem, I am sure that they would refund or replace.
Sh*t happens. Even for a respected company. We will have to wait and see.
I would expect an experienced user to follow a logical strategy.
There is simply no chance to upload programs over serial or USB, if the clock speed of the ATmega328p is wrong!
I finally was able to upload over second Arduino through ArduinoISP. I uploaded program ASCIITable.
I got output to Serial Monitor, but this output is in none of the selectable bitrates.
PS: I had a plan: the plan was to find out why upload over USB does not work, why this serial communication fails (as reported by avrdude). Now I know. And I learned a lot the hard way.
Measurements:
Quartz frequencies are 16MHz, as marked on the quartz.
david_prentice:
You concluded that your yellow Unos were wrong.
To join the red V4.2 which is wrong.
Obviously Arduinos will work 100% for the rest of the world but fail in Zentralschweiz.
Have you considered moving?
David.
How do you come to this conclusion? The measurements and findings are for the Seeeduino V4.2.
I understand the misunderstanding: the second Arduino is the yellow one. There was a small difference in the avrdude command, to upload to the final target.
We already have 555 reads, so this will be noticed. I have 2 defective Seeeduino V4.2. I believe there will be more, with this reduced price.
You should just install the standard 16u2 COM firmware. It will provide a regular USB CDC device. i.e. anything written to the 328p USART will go to your PC via USB.
The 16u2 will have a crystal. The USB will only work if the 16u2 has the correct crystal.
I suggested that you experimented with ISP on your yellow clones.
You will gain familiarity and experience.
When you are comfortable with Uploading a sketch with ISP on a yellow Uno, you can try it with the red V4.2
An AVR clock speed is determined by fuses (and crystal). The Burn Bootloader process sets the fuses and lock bits correctly.
An Arduino sketch is compiled and built according to the parameters in boards.txt
i.e. F_CPU and target processor chip.
The easiest way to verify the clock speed etc is to run a Blink sketch.
You should get a 1Hz blink on yellow Uno or red V4.2
#35 makes little sense. You never "set" 16u2 baudrate. You use Serial.begin(9600) in your sketch.
The ASCIITable.ino example sets baudrate to 9600
If your PC terminal only displays ASCIITable output text when it is set to 4800 baud, say so.
The bitrate for ATmega16u2 was set in the Serial Monitor.
The bitrate for ATmega328p was set by Serial.begin(19200) in ASCIITable.ino.
I understand that you have selected 19200 in Serial Terminal dropdown menu (at bottom right of pane)
And you have set Serial.begin(19200) in the ASCIITable.ino sketch.
How can bitrate for ATmega16u2 result in 1200 baud?
If you selected 19200 baud, it will use 19200 baud. It is a PC program that has nothing to do with your AVR.
How can bitrate for ATmega328p result in 9600 baud?
If your yellow Uno or red V4 has incorrect fuses it could run on 8MHz RC instead of 16MHz crystal.
Likewise, if your boards.txt does not match the hardware. But in that case you might have selected an "8MHz board" but are using 16MHz hardware. (in which case it would run at 38400 baud)
I would be a lot happier if you used the ASCIITable.ino example as God had originally written it.
And if you followed a proper procedure when burning the Bootloader.
If you want to use ISP, you should observe the fuse values that are reported at the end of the ISP session.
Seriously. Practice with two yellow Unos. Obtain familiarity and experience before you repeat with the red V4.