diff --git a/README.md b/README.md index 3db2d96..57cc065 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Notes on Arduino libraries and sketches and other related stuff. * [Bosch BMP280](#bosch-bmp280) * [TM1637 based Display](#tm1637-based-display) * [ESP32 board with 1.14" RGB ST7789V TFT display](#esp32-board-with-114-rgb-st7789v-tft-display) + * [ESP32-C3 with 0.42" I²C OLED display](#esp32-c3-with-042-ic-oled-display) * [Misc](#misc) * [WS2812 protection circuit](#ws2812-protection-circuit) * [Author](#author) @@ -581,6 +582,21 @@ void setup() { See this [sketch](esp32_st7789v/test.ino) for a working example. +### ESP32-C3 with 0.42" I²C OLED display + +

+ +

+ +This board features the +[ESP32-C3](https://www.espressif.com/en/products/socs/esp32-c3), which is based +on a single core RISC-V CPU. This tiny board also hosts a 0.42" OLED display, +connected by I²C through GPIO 5 (SDA) and GPIO 6 (SCL). The Display has a +resolution of 72x40 pixels, and runs out of the box using the u8g2 library using +the `U8G2_SH1106_72X40_WISE_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE)` +constructor. The on-board LED is connected to GPIO 8 and low active. Look [here +for a demo sketch](./esp32_c3_oled_0.42/esp32_c3_oled.ino). + ## Misc ### WS2812 protection circuit diff --git a/esp32_c3_oled_0.42/Makefile b/esp32_c3_oled_0.42/Makefile new file mode 120000 index 0000000..44526d2 --- /dev/null +++ b/esp32_c3_oled_0.42/Makefile @@ -0,0 +1 @@ +../.common/Makefile \ No newline at end of file diff --git a/esp32_c3_oled_0.42/esp32_c3_oled.ino b/esp32_c3_oled_0.42/esp32_c3_oled.ino new file mode 100644 index 0000000..6d5ca3d --- /dev/null +++ b/esp32_c3_oled_0.42/esp32_c3_oled.ino @@ -0,0 +1,54 @@ +/* + * demo for tiny ESP32-C3 board with 0.42" OLED display using u8glib2. + * The OLED is connected to I²C pins 5 (SDA) and 6 (SCL). + * The on-board LED is connected to pin 8 and low-active. + */ + +#include "U8g2lib.h" +#include "jled.h" +#include +#include + +#define SDA_PIN 5 +#define SCL_PIN 6 + +U8G2_SH1106_72X40_WISE_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); +auto led = JLed(8).Breathe(4000).MinBrightness(20).LowActive().Forever(); + +void setup(void) { + // initialize I²C + Wire.begin(SDA_PIN, SCL_PIN); + u8g2.begin(); + + // Initialize temperature sensor + temp_sensor_config_t temp_sensor = { + .dac_offset = TSENS_DAC_DEFAULT, + .clk_div = 6, + }; + temp_sensor_set_config(temp_sensor); + temp_sensor_start(); +} + +void loop(void) { + static long last_update = 0; + + if (millis() - last_update > 1000) { + u8g2.firstPage(); + do { + float temp; + temp_sensor_read_celsius(&temp); + + u8g2.setFont(u8g2_font_torussansbold8_8r); + u8g2.drawFrame(0, 0, 72, 40); + u8g2.drawStr(2, 10, "Hello"); + u8g2.drawStr(2, 18, "ESP32-C3"); + u8g2.drawStr(2, 26, (String("T=") + String(temp, 1)).c_str()); + u8g2.drawStr(2, 34, (String(last_update / 1000)).c_str()); + + } while (u8g2.nextPage()); + last_update = millis(); + } + + led.Update(); + delay(1); +} diff --git a/esp32_c3_oled_0.42/platformio.ini b/esp32_c3_oled_0.42/platformio.ini new file mode 100644 index 0000000..dfeb084 --- /dev/null +++ b/esp32_c3_oled_0.42/platformio.ini @@ -0,0 +1,10 @@ +[platformio] +default_envs = esp32c3 +src_dir = . + +[env:esp32c3] +platform = espressif32 +board = esp32-c3-devkitm-1 +framework = arduino +lib_deps=olikraus/U8g2@2.36.2 + jandelgado/JLed@4.15.0 diff --git a/images/WS2812_protection.jpg b/images/WS2812_protection.jpg index 82ee412..68c7041 100644 Binary files a/images/WS2812_protection.jpg and b/images/WS2812_protection.jpg differ diff --git a/images/WS2812_protection.jpg_original b/images/WS2812_protection.jpg_original deleted file mode 100644 index 5e35ede..0000000 Binary files a/images/WS2812_protection.jpg_original and /dev/null differ diff --git a/images/bmp280.png b/images/bmp280.png index 180385d..5d13d1e 100644 Binary files a/images/bmp280.png and b/images/bmp280.png differ diff --git a/images/cjmcu-8x8/cjmcu.jpg b/images/cjmcu-8x8/cjmcu.jpg index dd2d9dd..b57ca0a 100644 Binary files a/images/cjmcu-8x8/cjmcu.jpg and b/images/cjmcu-8x8/cjmcu.jpg differ diff --git a/images/cjmcu-8x8/cjmcu.jpg_original b/images/cjmcu-8x8/cjmcu.jpg_original deleted file mode 100644 index dd2d9dd..0000000 Binary files a/images/cjmcu-8x8/cjmcu.jpg_original and /dev/null differ diff --git a/images/cjmcu-8x8/cjmcu.jpg_original_original b/images/cjmcu-8x8/cjmcu.jpg_original_original deleted file mode 100644 index 9d5a17e..0000000 Binary files a/images/cjmcu-8x8/cjmcu.jpg_original_original and /dev/null differ diff --git a/images/cjmcu-8x8/cjmcu_back.jpg b/images/cjmcu-8x8/cjmcu_back.jpg index ea5dad5..5debf70 100644 Binary files a/images/cjmcu-8x8/cjmcu_back.jpg and b/images/cjmcu-8x8/cjmcu_back.jpg differ diff --git a/images/cjmcu-8x8/cjmcu_back.jpg_original b/images/cjmcu-8x8/cjmcu_back.jpg_original deleted file mode 100644 index ea5dad5..0000000 Binary files a/images/cjmcu-8x8/cjmcu_back.jpg_original and /dev/null differ diff --git a/images/cjmcu-8x8/cjmcu_back.jpg_original_original b/images/cjmcu-8x8/cjmcu_back.jpg_original_original deleted file mode 100644 index 88cabd1..0000000 Binary files a/images/cjmcu-8x8/cjmcu_back.jpg_original_original and /dev/null differ diff --git a/images/cjmcu-8x8/cjmcu_front.jpg b/images/cjmcu-8x8/cjmcu_front.jpg index 8f2ce49..af1e540 100644 Binary files a/images/cjmcu-8x8/cjmcu_front.jpg and b/images/cjmcu-8x8/cjmcu_front.jpg differ diff --git a/images/cjmcu-8x8/cjmcu_front.jpg_original b/images/cjmcu-8x8/cjmcu_front.jpg_original deleted file mode 100644 index 8f2ce49..0000000 Binary files a/images/cjmcu-8x8/cjmcu_front.jpg_original and /dev/null differ diff --git a/images/cjmcu-8x8/cjmcu_front.jpg_original_original b/images/cjmcu-8x8/cjmcu_front.jpg_original_original deleted file mode 100644 index 1c85c2d..0000000 Binary files a/images/cjmcu-8x8/cjmcu_front.jpg_original_original and /dev/null differ diff --git a/images/cjmcu-8x8/ws2812_detail.jpg b/images/cjmcu-8x8/ws2812_detail.jpg index d8f11ea..113821c 100644 Binary files a/images/cjmcu-8x8/ws2812_detail.jpg and b/images/cjmcu-8x8/ws2812_detail.jpg differ diff --git a/images/cjmcu-8x8/ws2812_detail.jpg_original b/images/cjmcu-8x8/ws2812_detail.jpg_original deleted file mode 100644 index d8f11ea..0000000 Binary files a/images/cjmcu-8x8/ws2812_detail.jpg_original and /dev/null differ diff --git a/images/cjmcu-8x8/ws2812_detail.jpg_original_original b/images/cjmcu-8x8/ws2812_detail.jpg_original_original deleted file mode 100644 index 1782dcc..0000000 Binary files a/images/cjmcu-8x8/ws2812_detail.jpg_original_original and /dev/null differ diff --git a/images/colorduino.JPG b/images/colorduino.JPG index 6570235..c0fb2e9 100644 Binary files a/images/colorduino.JPG and b/images/colorduino.JPG differ diff --git a/images/colorduino.JPG_original b/images/colorduino.JPG_original deleted file mode 100644 index 10bfc89..0000000 Binary files a/images/colorduino.JPG_original and /dev/null differ diff --git a/images/esp32-ttgo-back.png_original b/images/esp32-ttgo-back.png_original deleted file mode 100644 index 189727f..0000000 Binary files a/images/esp32-ttgo-back.png_original and /dev/null differ diff --git a/images/esp32-ttgo.png_original b/images/esp32-ttgo.png_original deleted file mode 100644 index 42956ea..0000000 Binary files a/images/esp32-ttgo.png_original and /dev/null differ diff --git a/images/esp32_c3_oled.jpg b/images/esp32_c3_oled.jpg new file mode 100644 index 0000000..f9abfd6 Binary files /dev/null and b/images/esp32_c3_oled.jpg differ diff --git a/images/esp32_st7789v_1.jpg b/images/esp32_st7789v_1.jpg index 1c3b860..4337ab6 100644 Binary files a/images/esp32_st7789v_1.jpg and b/images/esp32_st7789v_1.jpg differ diff --git a/images/esp32_st7789v_2.jpg b/images/esp32_st7789v_2.jpg index f9ef6df..f9ec07e 100644 Binary files a/images/esp32_st7789v_2.jpg and b/images/esp32_st7789v_2.jpg differ diff --git a/images/esp32_st7789v_3.jpg b/images/esp32_st7789v_3.jpg index 803a76c..0b0f998 100644 Binary files a/images/esp32_st7789v_3.jpg and b/images/esp32_st7789v_3.jpg differ diff --git a/images/ftdi232.JPG b/images/ftdi232.JPG index 0b68162..df490a2 100644 Binary files a/images/ftdi232.JPG and b/images/ftdi232.JPG differ diff --git a/images/ftdi232.JPG_original b/images/ftdi232.JPG_original deleted file mode 100644 index 62d09f2..0000000 Binary files a/images/ftdi232.JPG_original and /dev/null differ diff --git a/images/heltec.jpg b/images/heltec.jpg index e652260..136a05c 100644 Binary files a/images/heltec.jpg and b/images/heltec.jpg differ diff --git a/images/heltec.jpg_original b/images/heltec.jpg_original deleted file mode 100644 index 39b61b9..0000000 Binary files a/images/heltec.jpg_original and /dev/null differ diff --git a/images/led_matrix_mono.jpg b/images/led_matrix_mono.jpg index 3f457fd..dc5c567 100644 Binary files a/images/led_matrix_mono.jpg and b/images/led_matrix_mono.jpg differ diff --git a/images/led_matrix_mono.jpg_original b/images/led_matrix_mono.jpg_original deleted file mode 100644 index 264d5a3..0000000 Binary files a/images/led_matrix_mono.jpg_original and /dev/null differ diff --git a/images/led_matrix_rgb.JPG b/images/led_matrix_rgb.JPG index 3ab84ff..8d9360c 100644 Binary files a/images/led_matrix_rgb.JPG and b/images/led_matrix_rgb.JPG differ diff --git a/images/led_matrix_rgb.JPG_original b/images/led_matrix_rgb.JPG_original deleted file mode 100644 index 8567805..0000000 Binary files a/images/led_matrix_rgb.JPG_original and /dev/null differ diff --git a/images/led_matrix_rgb_front.JPG b/images/led_matrix_rgb_front.JPG index 4dd7f99..4f5409d 100644 Binary files a/images/led_matrix_rgb_front.JPG and b/images/led_matrix_rgb_front.JPG differ diff --git a/images/led_matrix_rgb_front.JPG_original b/images/led_matrix_rgb_front.JPG_original deleted file mode 100644 index 02a1945..0000000 Binary files a/images/led_matrix_rgb_front.JPG_original and /dev/null differ diff --git a/images/mp3_modules.jpg b/images/mp3_modules.jpg index ed0c926..d5a8553 100644 Binary files a/images/mp3_modules.jpg and b/images/mp3_modules.jpg differ diff --git a/images/pico.jpg b/images/pico.jpg index 240fd17..4b2d982 100644 Binary files a/images/pico.jpg and b/images/pico.jpg differ diff --git a/images/rpi_tft_35.jpg b/images/rpi_tft_35.jpg index b9161f3..d0c80e2 100644 Binary files a/images/rpi_tft_35.jpg and b/images/rpi_tft_35.jpg differ diff --git a/images/rpi_tft_35.jpg_original b/images/rpi_tft_35.jpg_original deleted file mode 100644 index 024b2d4..0000000 Binary files a/images/rpi_tft_35.jpg_original and /dev/null differ diff --git a/images/rpi_tft_35_demo.jpg b/images/rpi_tft_35_demo.jpg index bd02a9d..4d93499 100644 Binary files a/images/rpi_tft_35_demo.jpg and b/images/rpi_tft_35_demo.jpg differ diff --git a/images/rpi_tft_35_demo.jpg_original b/images/rpi_tft_35_demo.jpg_original deleted file mode 100644 index 2045030..0000000 Binary files a/images/rpi_tft_35_demo.jpg_original and /dev/null differ diff --git a/images/rpi_tft_hdmi_1.jpg b/images/rpi_tft_hdmi_1.jpg index 87e686f..2f9ec36 100644 Binary files a/images/rpi_tft_hdmi_1.jpg and b/images/rpi_tft_hdmi_1.jpg differ diff --git a/images/rpi_tft_hdmi_1.jpg_original b/images/rpi_tft_hdmi_1.jpg_original deleted file mode 100644 index cd74dfc..0000000 Binary files a/images/rpi_tft_hdmi_1.jpg_original and /dev/null differ diff --git a/images/rpi_tft_hdmi_2.jpg b/images/rpi_tft_hdmi_2.jpg index 05d63ae..8adea99 100644 Binary files a/images/rpi_tft_hdmi_2.jpg and b/images/rpi_tft_hdmi_2.jpg differ diff --git a/images/rpi_tft_hdmi_2.jpg_original b/images/rpi_tft_hdmi_2.jpg_original deleted file mode 100644 index 77b1476..0000000 Binary files a/images/rpi_tft_hdmi_2.jpg_original and /dev/null differ diff --git a/images/sipeed_nano_1.jpg b/images/sipeed_nano_1.jpg index f684c2e..2b825a1 100644 Binary files a/images/sipeed_nano_1.jpg and b/images/sipeed_nano_1.jpg differ diff --git a/images/sipeed_nano_1.jpg_original b/images/sipeed_nano_1.jpg_original deleted file mode 100644 index d8b222a..0000000 Binary files a/images/sipeed_nano_1.jpg_original and /dev/null differ diff --git a/images/sipeed_nano_2.jpg b/images/sipeed_nano_2.jpg index 00d1e86..ea5ad85 100644 Binary files a/images/sipeed_nano_2.jpg and b/images/sipeed_nano_2.jpg differ diff --git a/images/sipeed_nano_2.jpg_original b/images/sipeed_nano_2.jpg_original deleted file mode 100644 index e77fb43..0000000 Binary files a/images/sipeed_nano_2.jpg_original and /dev/null differ diff --git a/images/ssd13006_back.jpg b/images/ssd13006_back.jpg index 863aba2..9fa2602 100644 Binary files a/images/ssd13006_back.jpg and b/images/ssd13006_back.jpg differ diff --git a/images/ssd13006_back.jpg_original b/images/ssd13006_back.jpg_original deleted file mode 100644 index c9c833b..0000000 Binary files a/images/ssd13006_back.jpg_original and /dev/null differ diff --git a/images/ssd1306.jpg b/images/ssd1306.jpg index e7d295d..929ce6b 100644 Binary files a/images/ssd1306.jpg and b/images/ssd1306.jpg differ diff --git a/images/ssd1306.jpg_original b/images/ssd1306.jpg_original deleted file mode 100644 index 29f4a83..0000000 Binary files a/images/ssd1306.jpg_original and /dev/null differ diff --git a/images/wemos-d-duino.png_original b/images/wemos-d-duino.png_original deleted file mode 100644 index 8952cf4..0000000 Binary files a/images/wemos-d-duino.png_original and /dev/null differ diff --git a/images/wtv020a.png_original b/images/wtv020a.png_original deleted file mode 100644 index eaf7591..0000000 Binary files a/images/wtv020a.png_original and /dev/null differ diff --git a/images/wtv020b.png_original b/images/wtv020b.png_original deleted file mode 100644 index b819bc1..0000000 Binary files a/images/wtv020b.png_original and /dev/null differ