CodeCell is a compact module featuring the ESP32-C3, multiple power options, and integrated sensors, all within a tiny 1.85 cm wide form factor. These features make it a powerful tool for a wide range of applications.
In this first section, we'll start by getting familiar with the circuitry that forms the CodeCell. After that, we'll walk through the simple steps to set up your CodeCell.
To follow the circuitry in more detail, check out the CodeCell schematics here.
At the heart of the CodeCell is the ESP32-C3 module, a compact microcontroller known for being maker-friendly in the IoT space. It combines an Arduino-compatible architecture with built-in Wi-Fi and Bluetooth Low Energy (BLE) capabilities.
The ESP32-C3 module's PCB antenna is positioned on one side, away from other components, to minimize interference and improve signal transmission and reception. This placement helps reduce the impact of ground planes or other conductive surfaces that could degrade antenna performance. Testing has shown that the antenna’s performance remains unaffected in battery powered-applications, with minimal interference when plugging in the USB-C cable for charging, as these cables are typically shielded.
The ESP32-C3 provides 4 MB of Flash and 400 KB of SRAM, making it capable of running most applications. Its 32-bit RISC-V single-core processor, running at up to 160 MHz, efficiently handles various tasks. The ESP32-C3 also includes a USB Serial/JTAG Controller, allowing CodeCell to be reflashable through the USB-C port and facilitating serial communication and debugging.
The CodeCell offers flexibility in power supply options. It can be powered through the LiPo battery connector, a USB-C cable, or both.
Power management is handled by the BQ24232 battery management chip, which supports Dynamic Power-Path Management (DPPM). This allows CodeCell to be powered while simultaneously charging the battery. The battery charging process follows three phases:
The output voltage is regulated through the BQ24232 chip, supporting up to 1500mA when powered by the LiPo battery and 450mA via USB.
By default, the LiPo battery charge current is set to 90mA to ensure a safe charge rate for the optional 170mAh LiPo battery. Advanced users can adjust this rate by replacing 0402 resistor R12, following the formula R = 870/Ichrg. This modification is recommended only for those skilled in soldering 0402 components. See the BQ24232 datasheet for details.
The CodeCell library provides visual feedback on power status through the onboard addressable RGB LED:
The board also includes 100µF bulk capacitors for stable power delivery and TVS diodes for ESD protection. A 3.3V Low Dropout (LDO) regulator (NCP177) provides a steady 500mA output with a 200mV dropout at max current.
The compact design of the CodeCell required careful placement of GPIO and power pins. The board is divided into functional sections:
The CodeCell is equipped with onboard sensors to enhance its functionality:
VCNL4040 Light Sensor:
Optional 9-axis BNO085 Motion Sensor:
Our CodeCell library simplifies sensor configuration and reading each sensor.
Many ESP32 development boards include RST (Reset) and BOOT buttons. However, the ESP32-C3 on CodeCell can enter boot mode automatically via the Arduino IDE, eliminating the need for these buttons and allowing for a smaller form factor.
If the CodeCell encounters an exception (causing continuous resets), it can be manually forced into boot mode for reflashing:
Following these steps will bring the CodeCell back to life.
Each CodeCell package includes:
Join our Community ~ Be the first to know about new products and get exciting deals!
© 2025 Microbots.