Penny-Size ESP32 Sensory-Controller

Everything You Need on One Arduino-Friendly Board

Notify me when this product is available:


CodeCell

+10 Sensory Readings

  • Light
  • Proximity
  • Rotation
  • Compass
  • Step Counter
  • Activity
  • Tap Detector
  • Accelerometer
  • Gyroscope
  • Move Detect

ESP32-C6 Core

  • 8MB Flash + 512KB SRAM
  • Wi-Fi 6 + BLE 5 + Zigbee
  • Easy-to-use Arduino Library
  • Connects to our free App

Power Port

  • USB-C for Serial UART
  • Arduino programming
  • LiPo charging
  • Safe battery connector
Description CodeCell Description Section

The CodeCell C6 is a compact module measuring just 1.85 cm in width. It features an Arduino-compatible ESP32-C6 microcontroller (ESP32-C6-MINI-1-H8) with Wi-Fi 6, BLE 5, and Zigbee connectivity. It also integrates battery charging management, light/proximity sensing, and a 9-axis IMU motion sensor – now with expanded memory for more demanding projects: 8 MB Flash and 512 KB SRAM. It offers 6 programmable GPIO pins, along with I2C pins, plus multiple power pins for connecting additional modules, sensors, and actuators.

The CodeCell C6 can be powered either through a safe-to-use LiPo battery connector or via USB-C, which also supports reprogramming, serial data transfer, and battery charging. Its power management is built around the BQ24232 battery management chip, enabling dynamic power-path control. This allows the battery to charge while the system continues operating.

CodeCell C6 Image

The CodeCell includes a VCNL4040 light sensor and a BNO085 9-axis IMU motion sensor with onboard sensor-fusion algorithms. The VCNL4040 is an IR-based sensor capable of measuring ambient light and proximity up to 20 cm. For more advanced projects, the BNO085 provides 9-axis sensing by combining a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer. Using sensor-fusion, it delivers detailed motion data such as angular orientation (roll, pitch, yaw), motion state, activity classification, linear acceleration, tap detection, and even step counts. These capabilities make the CodeCell especially suited for robotics and wearable applications.

In addition to timers, the CodeCell C6 now supports multiple interrupt-based wake-up sources: light changes, proximity detection, and tap detection. This makes it far more versatile for low-power designs that need to wake only when real-world events occur.

To make working with the sensors easier, the CodeCell.h Arduino library provides simple, ready-to-use functions along with tutorials and example projects. The CodeCell can also connect to our free app, allowing you to easily add wireless controls to your projects with sliders, buttons, a joystick, real-time sensor feedback, and a 20-character display – perfect for debugging!

Each box includes the CodeCell C6, a set of four M1.2 screws, and three sets of female headers. A 1.25 mm pitch battery cable is also provided, along with the optional 170 mAh 20C LiPo battery. The optional battery measures 23 × 17.5 × 8.7 mm, weighs 4.6 g, and comes pre-wired with a 1.25 mm female connector that plugs directly into the onboard connector. See the full battery datasheet here. Schematics for this module are available here.

This module uses the ESP32-C6-MINI-1-H8, which is certified for FCC, CE (RED), and Wi-Fi Alliance compliance. The CodeCell C6 is also RoHS compliant and follows the IPC-A-600 II standard. Please note that the CodeCell C6 is intended as a DIY maker kit. For commercial use, please contact us.

Specifications CodeCell Specifications
CodeCell Image
  • Electrical:
    • Processor: ESP32-C6-MINI-1-H8 32-bit RISC-V Single-Core
    • Memory: 8 MB (Flash), 512 KB (SRAM)
    • Connectivity: Wi-Fi 6 + BLE 5 + Zigbee
    • Clock Speed: 160MHz
    • Sensors: Light/Proximity + 9-Axis IMU
    • GPIOs: 6 GPIO (3 ADC, 6 PWM) + I2C
    • LiPo Battery Charge Current: 90mA
    • Maximum Output Current: 1500mA (Battery) / 450mA (USB)
    • Sleep Current: RTC Timer (≈40uA), Brightness (≈290uA), Darkness (≈290uA), Proximity (≈425uA), Tap (≈820uA)
  • 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
Frequently Asked Questions CodeCell FAQs
How do I get started?

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

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.

How can it wake-up from sleep?

The new CodeCell C6 supports both RTC-timer and interrupt-triggered sleep wake-ups. Here are the available options and their typical sleep currents:

  • RTC-timer Triggered Wakeup: around 40uA in Sleep Mode
  • Proximity Interrupt Wakeup: around 425uA in Sleep Mode
  • Darkness Interrupt Wakeup: around 290uA in Sleep Mode
  • Brightness Interrupt Wakeup: around 290uA in Sleep Mode
  • Tap Interrupt Wakeup: around 820uA in Sleep Mode

You can select a wake-up source depending on your project’s needs and the desired battery life. If long battery life is the main priority, the RTC-timer wake-up source is the most efficient option (≈40 uA), since it put both sensors into sleep mode. If your project requires light- or tap-based wake-ups, you can enable those instead, though they come with higher sleep current.

To estimate battery life, divide your battery capacity by the average current draw of your project:
Battery Life (hours) = Capacity (mAh) ÷ Current (mA)

For example, a 170 mAh battery with RTC-wakeup could theoretically last about 6 months in standby. In practice, this value will be lower because active usage and wake-up checks needs to be also factored in.

What are the 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 it suitable for?

CodeCell is suitable for anyone curious about electronics! It comes with well-explained Arduino examples that make it easy for kids and teenagers to get started. For children under 12, we recommend that any soldering is done under proper adult supervision and guidance. Please also note that the package includes small parts, such as screws, so care should be taken when handling them.

Does it support MicroPython?

Yes, you can flash CodeCell with MicroPython since it’s based on the ESP32-C6, which supports MicroPython just like other ESP32-based boards. However, please note that our official CodeCell library is written in C++, designed for use with the Arduino IDE. If you plan to use MicroPython, you may need to write custom drivers to interface with the onboard sensors and peripherals

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-C6, 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 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

Get Inspired & Build Something Awesome

Choose a Tutorial to Kickstart your Project:

Add Your Touch

Exploring Other Options? See How the CodeCell Family Compares