Penny-Size ESP32 Sensory-Controller

Everything You Need on One Arduino-Friendly Board

| /

This module is a customer favorite but currently out of stock. Pre-Order yours today, shipping re-starts Jan 15th!
*FedEx Shipping is Required for 170mAh Battery Option

Sensor
Battery
Connectors

Description CodeCell Description Section

The CodeCell is a compact 1.85 cm wide module featuring an Arduino-compatible ESP32-C3 that offers both Wi-Fi and BLE connectivity. It provides 6 programmable GPIO pins, along with 2 I2C pins that can be reconfigured as GPIOs if not needed for communication. The module also has multiple power pins for connecting additional modules, sensors, and actuators.

CodeCell can be powered through a LiPo battery connector or via USB-C, which is also used for reprogramming and charging the battery. The power management system of the CodeCell is built around the BQ24232 battery management chip, which enables dynamic power-path control. This allows the battery to charge while the system continues to operate.

CodeCell Image

The CodeCell includes a VCNL4040 light sensor, allowing it to measure ambient light and proximity up to 20 cm. For more advanced projects, an optional BNO085 motion sensor is available, which adds 9-axis sensing capabilities. This is an expensive sensor but combines a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer, using sensor fusion algorithms to provide detailed motion data such as angular readings (roll, pitch, yaw), motion state, personal activity guessing, linear acceleration, tap detection, and even step counts. This feature makes the CodeCell especially suitable for robotics and wearable applications.

To make interacting with the sensors easier, the 'CodeCell.h' library provides easy-to-use functions and multiple examples. Use the Init() function to configure the module and enable its sensing features, and the Run() function in the main loop to handle power management tasks automatically. The CodeCell will ship with default software that initializes the light sensor, runs the power management, and displays a breathing-light animation controlled by proximity sensing.

The box will include the CodeCell, a set of four M1.2 screws and 3 sets of female headers (soldering is optional). It will also include a battery cable (1.25mm pitch) or the optional battery. The optional 170mAh 20C LiPo battery measures 23 x 17.5 x 8.7 mm and weighs 4.6 grams. It has a 1.25mm female-connector wired to it, which can be plugged directly into the onboard connector. Click here for the full battery datasheet. Schematics for this module are available here.

This PCB is ROHS Compliant & follows the IPC-A-600 II standard. Please note that the CodeCell is intended to be used as a DIY maker kit. For commercial purposes, please get in touch.

Specifications CodeCell Specifications
CodeCell Image
  • Electrical:
    • Processor: ESP32-C3 32-bit RISC-V Single-Core
    • Memory: 4 MB (Flash), 400 KB (SRAM)
    • Clock Speed: 160MHz
    • Average Sleep Current: 689μA
    • LiPo Battery Charge Current: 90mA
    • Maximum Output Current: 1500mA (Battery) / 450mA (USB)
  • Mechanical:
    • Dimensions: 9.4mm H x 18.5mm L x 18.5mm W (+5.2mm antenna)
    • Castellated Pins Pitch: 2.54mm
    • Screws: M1.2 (included)
    • Weight: 3.4 grams
3D Model
Getting Started CodeCell Tutorial Section

Get Started with Tutorials

Easily learn how to use its sensors and library

Full Guide
Examples CodeCell Examples
CodeCell Tutorials

Here are some additional CodeCell tutorials to help you get started with various applications:

FAQs CodeCell FAQs
What are CodeCell Shipping Details?

CodeCell can be shipped using all our available shipping methods. However, if you choose the 170mAh LiPo battery option, it must ship via FedEx due to regulations. This may increase your cart total, but it’s express and reliable. You can also add other items to the same shipment to make the most of it. We appreciate your understanding 😊

What ages is CodeCell suitable for?

CodeCell is suitable for anyone curious about electronics! It come with well-explained Arduino examples that make it easier for kids and teenagers to get started. For children under 12, we recommend opting for pre-soldered connectors or ensuring soldering is done under proper adult supervision and guidance. Please also note that the package will include small parts, like screws, so care should be taken when handling them.

How to install the CodeCell library?

To install the CodeCell library, go to 'Sketch > Include Library > Manage Libraries' - the 'Library Manager' should open up. Just type "CodeCell" and click 'Install' to download the latest version of the CodeCell library.

We are continuously updating and adding new features to this library, so make sure you're using the latest version. To quickly get familiar with this library, go to 'File > Examples > CodeCell,' where you'll find multiple examples you can use and modify for your projects. We recommend starting with the 'GettingStarted' example, which contains just a few lines of code but explains all the sensing functionalities available with CodeCell.

What about the BOOT Pin?

Some ESP32 development boards include both a RST (Reset) button and a BOOT button to manually put the device into programming mode. However, the ESP32-C3, such as the one on the CodeCell module, can automatically enter boot mode through the serial interface when using the Arduino IDE. This means the CodeCell doesn't need dedicated RST or BOOT buttons, which allowed us to make it as small as it is.

In the rare case that your CodeCell freezes or encounters an exception (causing it to continuously reset), you can manually force it into boot mode to reflash the firmware. To do this, simply follow these steps:

  • Connect a wire between the SCL pin and the GND pin.
  • Unplug the USB and switch off the battery (if connected).
  • Reconnect the USB port.
  • Reprogram your CodeCell with new code - make sure your code doesn't contain the bug that created the issue.
  • Remove the shorted wire between the SCL pin and the GND pin. Power your battery back on if connected.

Following these steps will restore your CodeCell back to life.

Does the sensor support interrupts for sleep wake-up?

Unfortunately, the CodeCell pins are fully utilized, and we couldn't include the interrupt pins to prioritize the GPIOs. An alternative for sleep wake is adding a timer to wake up and checking the sensor data. An example can be found here: Light Sleep Example.

How do I get started?

CodeCell comes with tutorials and multiple examples. All can be found here: CodeCell Tutorials.

Does the motion sensor justify the price?

The optional advanced IMU sensor is a pricey upgrade, but we believe it's well worth the investment! It upgrades the CodeCell’s capabilities with an integrated 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer. The BNO085’s advanced sensor fusion algorithms combine data from these sensors to accurately determine motion data, such as:

  • Angular Rotational Reading (Roll, Pitch, Yaw)
  • Motion State (e.g., On Table, Stationary, Motion)
  • Motion Activity (e.g., Driving, Walking, Running)
  • Accelerometer Readings
  • Gyro Reading
  • Magnetometer Reading
  • Gravity Reading
  • Linear Acceleration Reading
  • Tap Detection
  • Step Counter

Things You Can Build