Can't upload to CH340G nano board and Loopback test fail

Hey all, thank you for taking the time to help me out!

[Quick spec rundown, I'm using a CH340G Nano 16M ATmega328P Micro-Controller Board that I'm trying to program on a Windows 10 computer via USB]

I'm trying to get an "arduino compatible" board up and running, but it won't let me upload any sketches. I've installed the CH34X drivers and the bootloader is definitely there judging by how the LEDs light properly when attempting to load a sketch, but whenever I try to upload I get errors. I don't always get the same error, however. Some of the errors include:

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xfc
avrdude: stk500_set_extended_parms(): unknown response=0x00
avrdude: stk500_initialize(): failed
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done.  Thank you.

or

An error occurred while uploading the sketch
avrdude: stk500_getsync(): can't communicate with device: resp=0xfc

avrdude done.  Thank you.

or

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): unknown response=0x04

avrdude done.  Thank you.

I'm not sure what to do about this, because the resp always seems to be garbage, with 0xfc coming up most often.

I've also tried to loopback test, which appears to be functioning properly (Tx and Rx light up when I send a message, and putting the baud at 300 I can see flashing so there's real data being transmitted, supposedly), except I don't get any text back in the console. Messing around connecting Tx/Rx to ground repeatedly I can get garbage text in the console in the form of ⸮'s and boxes, so supposedly the data coming back is being read.

I've tried

  • Reinstalling the drivers, as well as trying drivers sourced from different sites
  • Uploading sketches from both a Macbook laptop and a Windows 10 computer (both with the proper drivers)
  • Resetting the board at various times before, during, and after hitting the upload button
  • Changing COM ports, and verifying under the Devices menu that the board is being detected
  • Changing the board/programmer settings under Tools

all to no avail.

Any help would be appreciated, thank you all so much!

When you say "Changing COM ports, " what and how ?

The Arduino when correctly selected and identified will choose its own programmer. There should be no need to change that.

Don't use USB 3.0 ports or USB 3.0 cables !

By "arduino compatible" I presume you mean the NANO ? (we don't care if its a clone or not)

Under windows what does it list the NANO as in COM & LPT ports ? Any errors there and you will not upload to the board. If it identified elsewhere as an unknown device or similar then there is a chance it is still a driver issue.

"garbage text" usually indicates you have not selected the correct BAUD rate for transmission and reception.

Hey ballscrewbob, thanks for the reply!

Yes, I'm using a NANO board that is a clone.

By changing COM ports, I mean plugging the board into different USB ports on the machine. I am using a 2.0 USB cable, so that shouldn't be a problem, and I've tried all the ports available to me with no success (so even if they were 3.0, I can't help it. Also I've been able to use a genuine board on the same computer so I don't think that's the issue).

Under the COM & LPT ports the board is listed as USB-SERIAL CH340

By "garbage text," I mean I can cause the console to read out text by manually grounding and un-grounding the Rx and Tx pins (this is during the loopback test so baud rate wasn't important)