Bi2C - 16-bit Accelerometer

iLabsSKU: 105339
Sale price £2.92
incl. VAT
excl. VAT
Only 13 units left

Awesome Extras

iLabsChallenger RP2040 SD/RTC
Sale price £11.67 incl. VAT excl. VAT
iLabsChallenger RP2040 WiFi/BLE MkII (Chip Antenna)
Sale price £12.50 incl. VAT excl. VAT
The Pi HutDouble-Sided Foam Tape - 10m
Sale price £2.08 incl. VAT excl. VAT
iLabsBi2C - Easy NFC
Sale price £13 incl. VAT excl. VAT

The Bi2C - 16-bit accelerometer is based around the Memsic MC3419 accelerometer and uses the Bi2C connection available on many recent iLabs Challenger feather-format boards. Learn more about Bi2C here.

This Bi2C module is only 10x12mm and is intended to be mounted with strong double-sided tape or glued into place. The module comes with one long flexible flat cable so that you can plug it straight into your Challenger board.

We’ve also used this accelerometer on our Challenger RP2040 WiFi/BLE board with accelerometer.

MC3419 Accelerometer

The MC3419 is a small form factor, integrated digital output 3-axis accelerometer with a feature set optimized for cell phones and consumer product motion sensing. Applications include user interface control, gaming motion input, electronic compass tilt compensation for cell phones, game controllers, remote controls and portable media products.

The accelerometer chip features a dedicated motion block which implements algorithms to support “any motion” and shake detection, tilt/flip and tilt 35 position detection. Low power consumption and small size are inherent in the monolithic fabrication approach, where the MEMS accelerometer is integrated into a single chip with the electronics integrated circuit. The internal sample rate can be set from 0.5 to 2000 samples / second and supports the reading of sample and event status via polling or interrupts.

Some of its features broken down are:

  • ±2, ±4, ±8, ±12, ±16g range
  • 16-bit single sample resolution
  • 16-bit resolution with FIFO
  • 0.5 to 2000 Hz Output Data Rate
  • 4μA typical Standby current – making it an ideal companion to our Challenger 840 BLE boards
  • Low typical active current
  • I²C interface, up to 1 MHz

Bi2C Daisy Chaining

The module has true I2C daisy chaining capabilities which means you can connect as many Bi2C modules in one chain as you like. Or at least as many as can reliably work on the same I2C bus!

You also have the possibility to fully disable the pull-up resistors on the module by cutting the wire links on JP2. There should only be one device in the Bi2C chain that has the pull-up resistors enabled. All the other devices must have them disabled.

If you need to connect another Bi2C accelerometer device on the same Bi2C bus, you also have the possibility to configure the accelerometer to its second I2C address (0x6C). This is achieved by cutting the wire link on JP1 and creating a solder blob on the other two pads on the board.

What is Bi2C?

The Bi2C (Bus I2C) concept is a spin-off from the existing Groove, Stemma and Qwiic ecosystems where we use an FFC (Flexible Flat Cable) instead of normal threaded cables to create the connection. This means that we can get away with connectors that have 0.5mm pitch which makes them super thin and compact. Read more about Bi2C here.

You can also use Bi2C with Qwiic/STEMMA QT boards using the Bi2C Qwiic/STEMMA QT adapter, giving you an ultra-thin cable option for compact projects and enclosures.



iLabs have forked a mCube library and adapted it to work in the standard Arduino environment making it accessible not only to all Challenger boards but also to any Arduino-compatible board. This library is available at

Currently, you need to clone or copy the library into the “libraries” folder of your Arduino directory but iLabs are working on getting it into the Arduino library manager. The library has an excellent example of how to use the driver API - iLabs recommend that you study it carefully if you want to use the sensor fully.

Below is a short snippet of code that shows how to create an instance of the driver and how to initialize it:


MC34X9 MC34X9_acc = MC34X9();
#define USE_I2C       1
#define I2C_ADDRESS   0x4C
#define USE_SPI       0

void setup()
  // Init MC34X9 Object
  if (!MC34X9_acc.begin(USE_I2C, I2C_ADDRESS)) {
  // Invalid chip ID
  // Block here
  while (true);

Package Contents

  • 1x Bi2C Accelerometer module
  • 1x FFC cable

Payment & Accreditations

Payment methods
Visa Mastercard Maestro PayPal Amazon Klarna

Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.