Blinking an LED is a great way to determine that you have your hardware and software ducks in a row. In this example, you'll breadboard an LED to the MISO pin (P1.6/16
), upload the example code and see your LED blink on and off every second.

// SPDX-FileCopyrightText: 2024 ladyada for Adafruit Industries // // SPDX-License-Identifier: MIT #define NEOPIXEL_PIN 10 #define A0 11 #define A1 14 #define A2 15 #define MOSI A2 #define MISO 16 #define SCK 17 #define RX 30 #define TX 31 #define A3 32 #define SCL 33 #define SDA 34 int led = MISO; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Confirm that your upload settings match the settings listed here under Tools:
- Board: CH552 Board
- USB Settings: Default CDC
- Upload method: USB
- Clock Source: 16 MHz (internal), 3.3V or 5V
- Bootloader pin: P3.6 (D+) pull-up
For the port, select the COM port that matches your QT Py. It will not be labeled like you may be used to with other boards in the Arduino IDE.
You can confirm that you have the correct port selected by selecting Get Board Info from the Tools menu. This will open the Board Info window. The CH552 QT Py VID is 1209 and the PID is C550.
If you're not able to upload to the board, you may need to 'manually' put it into bootloader mode. Check this page https://learn.adafruit.com/adafruit-ch552-qt-py/bootloader-mode
Page last edited January 22, 2025
Text editor powered by tinymce.