Introduction: Arduino Nano ATmega238P/CH340G V3.0 PCB Layout

About: These Arduinos are driving me up the wall.

These are my notes about the Nano ATmega238P/CH340G that is popular on eBay.

The CG340G chip replaces the FTDI USB chip used on the officially-released and documented Arduino Nano. This design is different from the official Nano schematic, and I have not found a schematic for this CH340G version of the Nano. I have explored with an ohm meter and studied and annotated the board layout, and thought I would share for those of you who may be interested in hardware hacking or modifications.

The CG340G has an external crystal and the Nano has unpopulated pads for capacitors related to the crystal.

The RX and TX LEDs are not driven by separate pins on the USB chip as in the official Nano, but rather they are connected to the RX and TX pins of the ATmega328P. The RX and TX LEDs are active low, while the pin 13 and power LEDs are active high, just as on the official Nano.

The remaining interesting things that may contain differences from the official Nano are on the bottom side of the board.

The 5V regulator is an AMS1117.

Between the RX and TX lines on the CH340G and the TX and RX lines of the Arduino header and ATmega328P chip there are 1K resistors, same as in the official Nano schematic. These are arranged near the A3 and A4 pins.

The capacitor closest to the D2 pin is the DTR-to-RST capacitor used to reset on USB serial connection.

The resistor closest to the RX0 pin is the reset pullup. This is a rather strong pullup at 1K compared to other Arduinos, but I see it is 1K on the official Nano, too. Most other Arduinos are designed with a 10K pullup.

Notes about using Nano with HC-05 Bluetooth board

You can wire the HC-05 Bluetooth board to auto-reset the Nano by connecting the State pin to RST through a 0.1 uF capacitor, which works on other Arduino models such as the Pro Mini and Pro Micro. For the Nano, I found it is necessary to add an external pull down resistor of 1K to the reset pin. That is necessary since the Nano's onboard DTR capacitor interferes with the DTR capacitor you add to send the reset pulse from the HC-05 State pin. If you disable the CH340G auto reset by removing the DTR cap from the Nano, you should not have that trouble and would not need the pull down resistor.

Also, the connection between HC-05 Bluetooth TX and Nano RX pin sometimes gives trouble. It appears the TX output of the HC-05 is not quite strong enough with it's 3.3V logic level to drive the Nano RX pin. Other Arduino models do not have the same trouble. On the breadboard, if I situate the HC-05 Bluetooth board close to the Nano serial pins, make the wire as short as possible, and run 2 wires to make an extra good connection, it works fine. I have also used a logic-level converter to make the connections, which is the most reliable solution. 3 or 4 channel converter modules are listed on eBay for $0.99 USD, in many cases shipping included.

Additional technical info

More technical info here, including schematic, researched by Arduino community member marpik:

Note that the above link is to another person's blog, and that it is not guaranteed accurate information. I have studied it and think it is useful information and generally accurate. DanielB122 identified (comments below) a problem with the schematic RX and TX routes, and it appears that was corrected in a revision of the schematic.

Datasheets in English for the CH340G do not appear to be from the manufacturer, and are homemade attempts to provide some information in a language other than Chinese. According to the data sheets and other information I have read, the crystal connected to the CG340G is supposed to be 12 MHz. But the crystal I have observed on the Nano, and that I have shown photos of, is engraved 20.0. I do not know what is going on with that.

More useful info: