CodeCell

Get Started with Tutorials

CodeCell Logo

CodeCell is a tiny but powerful module featuring an ESP32-C3, built-in LiPo charging, and onboard sensors - all squeezed into just 1.85 cm of tech magic! It comes with an VCNL4040 IR light proximity sensor, plus an optional BNO085 9-axis motion fusion sensor, making it ideal for robot building & wearables!

What's in the box?

Unbox, Power Up & Start Programming

Image Grid

Choose a Tutorial to Kickstart your Project:

Light Proximity Rotation Steps Compass WiFi Charging Tap Remote Sleep Activity Shake BLE Gyroscope LED Circuit Servo ADC GPIO PWM I2C Debug
Community Support
Placeholder Image

Community Support

Encountering a problem? Check if another customer has already reported and resolved a similar issue. Our GitHub issues page is regularly updated with reported problems, discussions, and solutions from both our team and the community.

Frequently Asked Questions 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.

Does it support MicroPython?

Yes, you can flash CodeCell with MicroPython since it’s based on the ESP32-C3, 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-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.