ESP32 C3

Cheap ESP32 C3 module from AliExpress

The Arduino IDE needs the Tools option 'USB CDC On Boot' enabled so the the USB serial works.

ESP32 C3 OLED

Cheap ESP32 C3 module from AliExpress with 72x40 OLED SSD1306

Using the U8g2 library I needed this for a minimal display test:

#include <Wire.h>
#include <Arduino.h>
#include <U8x8lib.h>

// for ESP32 C3 OLED
#define SDA 5
#define SCL 6

U8X8_SSD1306_72X40_ER_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);   // EastRising 0.42"


void setup(void)
{
  Wire.begin(SDA,SCL);
  u8x8.begin();
  u8x8.setPowerSave(0);
}

void loop(void)
{
  // 72x40 gives 9 characters per line with 5 lines
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.drawString(0,1,"  Hello");
  u8x8.setInverseFont(1);
  u8x8.drawString(0,0,"012345678");
  u8x8.setInverseFont(0);
  u8x8.refreshDisplay();
  delay(2000);
}

WiFi doesn't connect

If the WiFi doesn't connect, try reducing the Tx power.

WiFi.setTxPower(WIFI_POWER_8_5dbm)

Taken from the values in the header.

typedef enum {
    WIFI_POWER_19_5dBm = 78,// 19.5dBm
    WIFI_POWER_19dBm = 76,// 19dBm
    WIFI_POWER_18_5dBm = 74,// 18.5dBm
    WIFI_POWER_17dBm = 68,// 17dBm
    WIFI_POWER_15dBm = 60,// 15dBm
    WIFI_POWER_13dBm = 52,// 13dBm
    WIFI_POWER_11dBm = 44,// 11dBm
    WIFI_POWER_8_5dBm = 34,// 8.5dBm
    WIFI_POWER_7dBm = 28,// 7dBm
    WIFI_POWER_5dBm = 20,// 5dBm
    WIFI_POWER_2dBm = 8,// 2dBm
    WIFI_POWER_MINUS_1dBm = -4// -1dBm
} wifi_power_t;

If you want to check the TxPower:

Serial.printf("\nWiFi Tx Power Level: %u",WiFi.getTxPower());

ESP32 C3 with dual USB type C

Has a WS2812 RGBW LED on pin 8