ESP32-C3 Breadboard Adapter
Discover new opportunities with the ESP32-C3 UNO Development Board.
Unlock a world of innovative possibilities with the ESP32-C3 Breadboard Development Board. This versatile platform empowers developers to create cutting-edge applications, leveraging its advanced features and robust performance. Whether you're working on IoT projects, embedded systems, or automation tasks, the ESP32-C3 Development Board offers the flexibility, power and quick implementation needed to bring your ideas to life.
Explore its capabilities and push the boundaries of your creativity and technical expertise.
Key Features:
- compact size; requires a very little space on a breadboard
- flash a firmware without external adapters as you work with your project
- supplies 3.3V or 5V to the breadboard power rails
- can be powered either by USB-C or external powersupply
- GPIOs are arranged into 4 groups for easier indentification
- on-board power and user-controlled LEDs
- on-board RESET and BOOT push-button switches
Schematic
Specifications Details
Compatibility with MicroPython
Integrating the ESP32-C3 Development Board with MicroPython offers several compelling benefits:
-
Ease of Use: MicroPython simplifies the development process by allowing developers to write code in Python, a high-level, easy-to-read programming language. This reduces the learning curve for beginners and accelerates development for experienced programmers.
-
Rapid Prototyping: With MicroPython, developers can quickly prototype and test their ideas. The interactive REPL (Read-Eval-Print Loop) enables immediate feedback and debugging, making it easier to iterate and refine projects.
-
Extensive Libraries: MicroPython comes with a rich set of libraries that support various functionalities, including networking, sensor interfacing, and data processing. This extensive library support allows developers to leverage pre-built modules and focus on the unique aspects of their projects.
-
Cross-Platform Compatibility: MicroPython code can be easily ported across different hardware platforms that support MicroPython. This cross-platform compatibility ensures that projects developed on the ESP32-S3 UNO can be adapted to other MicroPython-compatible boards with minimal changes.
-
Community Support: The MicroPython community is active and growing, providing a wealth of resources, tutorials, and forums for troubleshooting and collaboration. This community support can be invaluable for both novice and experienced developers.
-
Efficient Resource Management: MicroPython is designed to run efficiently on microcontrollers, making it well-suited for resource-constrained environments. It allows developers to manage memory and processing power effectively, ensuring optimal performance of their applications.
-
Enhanced Connectivity: The ESP32-C3 Development Board offers robust connectivity options, including Wi-Fi and Bluetooth. MicroPython’s networking libraries make it straightforward to implement IoT applications, enabling seamless communication between devices.
-
Versatility: Combining the ESP32-C3 Development Board with MicroPython opens up a wide range of applications, from simple sensor monitoring to complex automation systems. The versatility of this fusion allows developers to explore diverse project ideas and innovate freely.
-
Educational Value: MicroPython’s simplicity and the ESP32-C3’s capabilities make this combination an excellent educational tool. It provides a practical platform for learning programming, electronics, and IoT concepts, fostering a deeper understanding of technology.
-
Cost-Effective Development: Both the ESP32-C3 Development Board and MicroPython are cost-effective solutions, making them accessible to hobbyists, educators, and professionals alike. This affordability encourages experimentation and innovation without significant financial investment.
Features and Specifications of the ESP32-C3 WROOM Module
Core Components:
- Microprocessor: RISC-V® single-core 32-bit microprocessor, operating up to 160 MHz.
- Memory:
- 384 KB ROM
- 400 KB SRAM
- 8 KB SRAM in RTC
Connectivity:
- Wi-Fi:
- 802.11b/g/n, up to 150 Mbps (802.11n), frequency range: 2412 ~ 2484 MHz
- Four virtual Wi-Fi interfaces
- simultaneous support SoftAP mode, Station + SoftAP mode and promiscuous mode
- Bluetooth:
- Bluetooth 5, Bluetooth mesh, 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps
- Features: Advertising extensions, multiple advertisement sets, channel selection algorithm #2
- Co-existence mechanism: Internal co-existence mechanism between Wi-Fi and Bluetooth to share the same antenna
Security:
- RSA-3072-based secure boot and the AES-128/256-XTS flash encryption Peripherals:
- GPIOs: Up to 22 GPIOs, including 4 strapping GPIOs
- Interfaces:
- SPI
- Two UART
- I2C
- I2S
- LED PWM, up to 6 channels
- Full-speed USB 2.0 OTG
- USB Serial/JTAG controller
- TWAI® controller (compatible with ISO 11898-1)
- 12-bit ADC, up to 6 channels
- Touch sensor
- Temperature sensor
- Two 54-bit general purpose timers
- Three digital and one analog watchdog timers
Integrated Components:
- Crystal Oscillator: 40 MHz
- Flash: Up to 16 MB Quad SPI flash
- Antenna: on-board PCB antenna
Operating Conditions:
- Operating Voltage: 3.0 ~ 3.6 V
- Ambient Temperature: –40 ~ 65 °C
Certifications: RF Certification: Various certifications available Green Certification: RoHS/REACH compliant
Applications: Ideal for AI and Artificial Intelligence of Things (AIoT) applications such as: Wake word detection Speech commands recognition Face detection and recognition Smart home devices Smart appliances Smart control panels Smart speakers
Reserver GPIOs and Pins
GPIO | ESP32-C3 Module Pin | Breadboard Pin | Designation |
---|---|---|---|
EN | 1 | 2 | Enable pin |
IO9 | 8 | 8 | Strapping pin |
IO8 | 5 | 7 | Strapping pin |
IO18 | 11 | 13 | USB D- |
IO19 | 9 | 14 | USB D+ |
IO10 | 7 | 10 | On-board user LED |
IO3 | 13 | 15 | On-board user tactile switch |
I2C Pins
The schematic excerpt provided below illustrates the wiring configuration for the SDA and SCL lines. Specifically, the SDA line is connected to GPIO 8, while the SCL line is connected to GPIO 9 on the ESP32-C3 Wroom module.
The image of the PCB board below depicts the physical locations of the SDA and SCL terminals.
i2c_config_t conf = {
.mode = I2C_MODE_MASTER,
.sda_io_num = 8,
.scl_io_num = 9,
.sda_pullup_en = GPIO_PULLUP_ENABLE,
.scl_pullup_en = GPIO_PULLUP_ENABLE,
.master.clk_speed = 100000,
};
i2c_param_config(I2C_NUM_0, &conf);
i2c_driver_install(I2C_NUM_0, conf.mode, 0, 0, 0);
Micropython LED Blinky Code
import esp, esp32, time, os, _thread
from machine import Pin, SoftI2C
# An infinite loop thread to blink LED
def status_led():
# Blink pattern blink-blink-pause
while True:
led.value(1)
time.sleep_ms(250)
led.value(0)
time.sleep_ms(250)
led.value(1)
time.sleep_ms(250)
led.value(0)
time.sleep_ms(750)
def connect_wifi():
import network
wlan = network.WLAN(network.WLAN.IF_STA)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('IoT_bots', '208208208')
while not wlan.isconnected():
pass
print('Network Config:', wlan.ipconfig('addr4'))
# Display information about ESP32S3 module
print("=====================================\n")
print(os.uname())
print("\n=====================================")
print("Flash size: ", esp.flash_size()/1024/1024, "Mb")
print("MCU Temperature: {:4.1f} C".format(esp32.mcu_temperature()))
connect_wifi()
# Configure LED pin and start the blinky loop thread
#led = Pin(45, Pin.OUT)
#led.value(0)
#_thread.start_new_thread(status_led, ())