@Vegeta: Please give a time reference for the section of your video that's relevant. Few of us will wade through 40 minutes of video to find the interesting bits. If you give a brief summary of the rest of it with times, you may even pick up a few viewers.
A power only 'USB' cable gives no indication on the PC when its connected - no sounds, no tray icons and nothing in Device Manager.
It cant be the cable if its still working reliably with a PICkit 3 for programming, debugging and powering the target board.
As to your CH340G problems, do a loopback test. Ground the Arduino's reset pin, and jumper its RX to TX (Digital pin #0 to digital pin #1) to take the ATmega328P out of the loop and open the COM port with a terminal program (with hardware handshaking and local echo disabled). The one in the Arduino IDE will do if you don't have anything better - it doesn't have hardware handshaking or local echo so no configuration will be needed. If it fails at opening the port, either the drivers or CH340G chip are bad, (or the terminal program's totally borked - if you've got one, try a different serial port to eliminate that. If its a 'real' PC serial port with a DE-9 connector, jumper pins 2 to 3 for loopback). If it opens, every character you send should be echoed, and you can see the signal pulse on the jumper between RX and TX if you use a scope or logic probe. Double check by disconnecting the RX-TX jumper. The characters should no longer be echoed. If you get a double echo that drops to a single one when you disconnect the RX-TX jumper, that's also O.K. - it just means your terminal program has 'local echo' turned on.
If you don't get an echo or it doesn't match what you type, its back to driver or CH340G chip problems. Try it on a different PC, preferably NOT running Windows 10, to eliminate the driver.
Finally, crank up the baud rate in the terminal to 115200, reconnect the RX-TX jumper and confirm it still passes the loopback test as AVRDUDE typically uses that speed when uploading a sketch.
Once you've confirmed that it passes a loopback test, the only remaining problems are around the ATmega328P chip. As you've been flashing it via the AVR ISP connector, odds are you don't have a valid Arduino bootloader in it. Sometimes cheap Arduino clones come without a bootloader when the ghost shift that made them skipped testing and progamming them. Its an easy fix - hook up an ISP programmer, make sure the right board and ISP programmer are selected in the IDE and click 'Burn Bootloader' at the bottom of the Tools menu.
Remove the reset grounding and RX-TX jumpers, go into the IDE's preferences and enable (tick) 'Show verbose output during: upload' and try uploading a sketch. All should be good.
If it fails with avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
then either there is a problem with the CH340G pulsing the Reset pin (check it with a scope or logic probe) or the ATmega's TXD or RXD pins are damaged or its oscillator isn't working. (If the Reset pin was damaged, ISP programming would have failed.)