USB Uploader (CH340C or CH343G)

The module uses a CH340C USB bridge. Windows10, Linux, and macOS are all drive-free. The specific interface is shown in the following figure:

NyBoard download interface: used to connect to NyBoard, download program firmware to the robot, and communicate with the computer via serial port.

Communication module debugging interface: used to connect the Bluetooth or WiFi module, update the module program and debug the parameters. In order to avoid the cumbersome operation when connecting with Dupont wires, the pin ordering is slightly different from the NyBoard download interface - the TX/RX interface is reversed, and a GND pin becomes an RTS pin. For details on how to use the debugging interface of the communication module, see the following chapters.

Do not plug in the NyBoard and the other module(WiFi or Bluetooth) at the same time! That will block the serial port.

Connect NyBoard

Insert the 6-pin(H1) of the USB uploader to the NyBoard's uploader socket and then use the included USB data cable to insert one end into the MicroUSB interface of the USB upload module; the other end into the USB interface of the PC.

Right-click on "This PC" on the Windows desktop, and then click on "Manage" with the left mouse button (of course, you can also operate in the folder browser), as shown in the figure below, and then select "Device Manager" in the "Computer Management" page to check the connected serial port:

Open the Arduino IDE, or the Desktop App Firmware Uploader interface, and select the corresponding COM port to upload the firmware for the NyBoard and use the serial monitor to communicate.

The uploader has three LEDs: power, Tx, and Rx. Right after the connection, the Tx and Rx should blink for one second indicating initial communication, then dim. Only the power indicator LED should keep lighting up. You can find a new port under Tool->Port as

  • “/dev/cu.usbserial-xxxxxxxx” (Mac)

  • “COM#” (Windows)

  • “ttyUSB# (Linux)

For Linux, once the uploader is connected to your computer, you will see a “ttyUSB# in the serial port list. But you may still get a serial port error when uploading. You will need to give the serial port permission. Please go to this link and follow the instructions:

If Tx and Rx keep lighting up, there’s something wrong with the USB communication. You won’t see the new port. It’s usually caused by overcurrent protection by your computer, if you’re not connecting NyBoard with an external power supply and the servos move all at once.

The Drivers


If you cannot find the serial port after connecting to your computer, you may need to install the driver for the CH340 chip.

CH343G (with two USB ports)

The CH343G version should install the driver automatically on most systems. However, if you are using the module on Mac to configure the ESP8266 module, please download the driver. It will be recognized as two USB devices (usbserial and usbmodem). You may try either one to connect.

For ChromeOS:

  1. Download the Arduino IDE(e.g. 1.8.19) for Linux from

  2. Install it on the Chromebook. Please refer to the video at

  3. Plug the Bittle USB adapter into the robot and the Chromebook.

  4. Set the Chromebook Linux VM to recognize the USB port

Settings => Advanced => Developers => Linux development environment => Manage USB devices => USB Serial (turn on)

NOTE: Step 4 must be repeated every time when the USB connection is reconnected/powered on.

Last updated