The NL-ESP32-S3-DevKitC development board is based on Espressif's ESP32-S3-WROOM-1-N16R8 module, and is compatible with Espressif's official ESP32-S3-DevKitC-1 development board。 The biggest feature of this development board is that it uses a USB HUB chip (CH334P), directly connected to the ESP32S3 USB port (19D-, 20D+), and also connected to the USB interface of the USB to serial port chip (CH343P), and is connected to ESP32S3 UART0 (44RX, 43TX) through CH343P, so that only a TypeC interface is needed to realize download and debugging at the same time.
| Feature | Details |
|---|---|
| Core Module | Xtensa dual-core 32-bit LX7 CPU clocked at 240MHZ with integrated 2.4GHz Wi-Fi and BLE5.0 |
| Memory | 384KB ROM, 512KB SRAM, 16KB RTC SRAM, 16M extended SPI flash |
| PSROM | 8MB PSRAM (OPI) |
| Power Supply | 5V via USB Type-C or 3.3V via GPIO |
| Timers | 4 x 54-bit universal timers, 1 x 52-bit system timer, 1 watchdog timer |
| Dimensions | 28.2mm × 57mm (PCB Thickness: 1.6mm) |
| Weight | 35g (Net) |
| Interface | Type-C Interface |
| USB Hub Chip | CH334P |
| USB to Serial Chip | CH343P |
| Button | RST Button, BOOT Button |
| Peripherals | 36 x GPIO, SPI, I2S, I2C, PWM, RMT, ADC, UART, SD/MMC |
| Applications | IoT, smart home, automation, prototyping, wireless communication projects |
| Needle | 22pin-2.54mm pitch double row needle |
| Port name | Input | output | Note information |
|---|---|---|---|
| 3.3V | 3.3V power output | ||
| RST | The main control chip reset pin | ||
| VIN | 5V power input | ||
| GND | Power Supply | ||
| 0 | pulled up | √ | Strapping pin, enter serial port download mode at low level |
| 3 | JTAG source | ||
| 45 | √ | √ | 0:VDD_SPI is 3.3V; 1:VDD_SPI is 1.8V |
| 46 | √ | √ | ROM log print 1: print 0: do not print |
| 44(RX) | √ | √ | U0RXD, serial download and receiver |
| 43(TX) | √ | √ | U0RXD, serial port download and send port |
-
Pay attention to the level of the external device on pin 0 to prevent the motherboard from entering download mode and not working properly.
-
ST is the pin of the main control chip. It can only work normally when it is high (3.3V) ESP32S3 if the ground prevents the main control chip from starting. This means that you can restart the ESP32S3 using that pin connected to the button.
CH343SER.EXE - Nanjing Qinheng Microelectronics Co., Ltd.
Installing - - — Arduino ESP32 latest documentation
Development Board - > Select ESP32S3 Dev Module
Flash Size-> 16M
PSRAM -> OPI PSRAM
- Install Arduino Lib
Adafruit_NeoPixel.h
-
open example, File--->Examples--->Adafruit NeoPixel--->simple

-
update RGB PIN 38
-
update NeoPixel ring size 1
-
download program
-
download suceess
-
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Released under the GPLv3 license to match the rest of the
// Adafruit NeoPixel library
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 38 // On Trinket or Gemma, suggest changing this to 1
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 1 // Popular NeoPixel ring size
// When setting up the NeoPixel library, we tell it how many pixels,
// and which pin to use to send signals. Note that for older NeoPixel
// strips you might need to change the third parameter -- see the
// strandtest example for more information on possible values.
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels
void setup() {
// These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
// Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
// END of Trinket-specific code.
pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}
void loop() {
pixels.clear(); // Set all pixel colors to 'off'
// The first NeoPixel in a strand is #0, second is 1, all the way up
// to the count of pixels minus one.
for(int i=0; i<NUMPIXELS; i++) { // For each pixel...
// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
// Here we're using a moderately bright green color:
pixels.setPixelColor(i, pixels.Color(0, 150, 0));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(DELAYVAL); // Pause before next pass through loop
}
}Example phenomenon
Onboard RGB LED lights up green



