I have purchsed a
D1 ESP32-S3 WiFi+Bluetooth 16MB Flash UNO D1 R3 Board Module CH340 N16R8 For ESP32 ESP-32 board
https://www.aliexpress.com/item/1005008212186971.html?spm=a2g0o.order_list.order_list_main.33.4f121802igikM2#nav-description
I can’t use it since I am unable to install this board in the Arduino IDE. The board is listed as unknown. For new board install I can get to the option to install ESP32 (searched ESP32-S3)
When I select that I get this error message
Downloading packages
arduino:dfu-util@0.11.0-arduino5
esp32:esp-rv32@2511
Failed to install platform: 'esp32:esp32:3.3.7'.
Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client.Timeout or context cancellation while reading body)
Those instruction made the installation proceed and finish without error. But still board info says Board info: unknown board. And under tools board I only see one option for ESP32 and that is Arduino nano ESP32. But my board is based on a UNO
What do you see in the Boards Manager if you search for ESP32 ?
Two entries. One that can be removed i.e installed and one that can be installed ESP32 by Espressif system
Which boards does the Espressif one say that it supports ?
Have you tried installing it ?
It is listed as version 3.3.7 and when I try to install it I get the error
Error: 4 DEADLINE_EXCEEDED: context deadline exceeded (Client.Timeout or context cancellation while reading body)
and I have set the time to 10000 s
EDIT I missed to restart Arduino IDE after changing the time. Now it is proceeding and taking a very long time
That is not an Arduino Uno R4 WiFi and therefore your topic has been moved to a more suitable location on the forum.
That's because your board uses a generic usb-to-serial converter (CH340); they don't provide an unique identifier that the IDE can use to identify the board.
If its exactly the one in the photo in the images on that listing and has the ESP32-S3 N8R16 module, then you should be able to use the "ESP32S3 Dev Module Octal (WROOM2)" board option.
This should by default configure in Tools:
Flash type: OPI80MHz
Flash size: 16mb
PSRAM: OPI PSRAM
To get output via serial you will probably also have to set:
USE CDC on Boot: Enabled
I gather that sometimes due to quality issues octal (OPI) does not work, so you have to drop back quad (QPI). If you use "ESP32S3 Dev Module" then you will have to flash size and PSRAM type manually. It defaults to QPI, 4MB and Disabled.
Yes that is exactly the board I now have selected. I also have enabled
USE CDC on Boot:
Still the board id reported as unknown. And I can build and upload the program but serial print does not work
You want to use "disabled".
Your board has a ch340 chip as a usb to uart converter and is not a cdc board with native usb.
On ESP32-S2/S3/C3/C6, "USB CDC On Boot" must be enabled in the Tools menu to use the native USB port for console output.
Making those changes did not help
Please post the code you are using to verify serial printing and your tools settings in the IDE.
Is the baud rate used in the code the same as you have set in the monitor?
Yes same baudrate in program as in monitor 9600 baud
Program
// Visual Micro is in vMicro>General>Tutorial Mode
//
/*
Name: TestHygrometer.ino
Created: 2026-02-17 13:36:25
Author: DESKTOP-VRL8T40\janf5
*/
// Define User Types below here or use a .h file
//
#include <DHT.h>
#include <Wire.h>
#define DHTPIN 4 // what digital pin we're connected to
#define DHTTYPE DHT11 // DHT11
// Define Function Prototypes that use User Types below here or use a .h file
//
// Define Functions below here or use other .ino or cpp files
//
DHT dht(DHTPIN, DHTTYPE);
// The setup() function runs once each time the micro-controller starts
void setup()
{
Serial.begin(9600);
dht.begin();
delay(2000);
Serial.println("START PROGRAM");
}
// Add the main program code into the continuous loop() function
void loop()
{
readHygrometer();
}
void readHygrometer()
{
delay(1000);
float humi = dht.readHumidity();
float tempC = dht.readTemperature();
float tempF = dht.readTemperature(true);
if (isnan(humi) || isnan(tempC) || isnan(tempF))
{
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: "); Serial.print(humi); Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(tempC); Serial.print(" *C ");
Serial.print(tempF); Serial.println(" *F");
}
Very strange if you do not see either "START PROGRAM" and the loop prints.
I would suggest that you disconnect the dht sensor and run this simple test of Serial output.
void setup() {
Serial.begin(9600);
delay(2000);
Serial.println("START PROGRAM");
}
void loop() {
delay(1000);
Serial.println("In Loop");
}
If that's the case, my apologies for the incorrect advice.
My understanding was that if you don't enable CDC on boot, then the ESP does not create an emulated serial port on its USB port. It just operates in native USB mode. The CH340 UART would therefore not have a serial port to connect to on the ESP. However, if that is not the case then i stand corrected.
Your program did give some output as did my old. But that output seen in serial monitor is
p��n��.�$�m�-��l!p��v��.�<�B�U#U,�Oh
What baud rate have you got the Serial Monitor set to ?
If you are seeing some output, you can try changing to different baud rates while the program is running.