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:



    • 1 Hour Challenge

      1 Hour Challenge
    • Backyard Contest

      Backyard Contest
    • Classroom Science Contest

      Classroom Science Contest

    11 Discussions


    1 year ago

    Thanks for this lay-out!
    It has helped me get the Arduino v3 to low-power and strip it down as much as possible.
    (Remove USB after programming,remove CH340G, remove the AMS1117 5v and replace it with a boost converter so I'm able to run it on 1,5v battery at Vcc and finally remove the power led)

    Power consumption is around 7 uA

    That should give me a few extra months of runtime!


    1 year ago on Introduction

    the new ch340 pcb have some bugs i want fix it,but i don't have ch340 pcb project


    1 year ago

    Can I remove the DTR-to-RST capacitor in order to permanently disable the auto-reset function when opening the serial interface. This is feature provided by Arduino, but I do not want it. Thank you!

    1 reply

    1 year ago

    I think you made a mistake in your schematic.
    Wiring between CH340 and Atmega328 seems to be incorrect for me.

    It should be:
    Atmega328 CH340

    31 3
    30 2

    In your schematic it is swept. (31 -> 2 and 30 -> 3)
    Can you please check this?

    2 replies

    Reply 1 year ago

    Yes, it looks like you found a mistake. That is not my schematic, it is a link on the Internet to somebody's blog. That is a good thing to be aware of, thanks for pointing it out.


    Reply 1 year ago

    Fortunately I checked all connections in my board layout twice before sending the gerber-files to my pcb manufacture! :)

    Maybe it would be the best, if you make a note in you instruction?


    3 years ago

    I believe that is not a crystal but a resonator. I can't tell if it has three contacts or not. And it's probably 12Mhz.

    I have a different version which has a micro USB. It has a big 12MHz crystal with capacitors for the CH340G. And it has a separate 3.3Vdc regulator, supposed to have 180mA capacity.

    Thanks for the tip about the 1K pullup on Reset.


    No, HC-05 and HC-06 are the same regarding the hardware, and the only difference is HC-06 is programmed differently and is a slave only. I prefer HC-05 and only buy those. Pro Mini and Pro Micro are a better choices for connecting to Bluetooth in my opinion, better than Nano. I have separate Instructables for those Arduinos with Bluetooth.