Skip to main content

impC001 Breakout

This information is preliminary and subject to change

The impC001 Breakout Board provides a full product evaluation, code development and product prototyping platform for the new cellular imp. It includes not only a set of temperature, humidity and motion sensors, but also an RGB LED for visual feedback. All of the impC001’s GPIO pins and standard buses are exposed via two headers arranged in parallel.

In addition, the impC001 Breakout Board includes a pair of Grove System headers for expansion. One of these headers is intended for I²C peripherals, the other for analog and/or digital devices. Further expansion is provided by a header for a mikroBUS™ connector which, when populated with connectors, can take a wide range of MikroElectronica Click™ devices.

Finally, the impC001 Breakout Board includes a USB Type A host port to which a single device may be connected and accessed via application code.


Hardware Features

  1. Grove connectors (digital/analog and I²C)
  2. USB A host
  3. UART to GPS connector
  4. mikroBUS Click slot header
  5. Rechargeable battery connector
  6. impC001 module
  7. GPIO header pins
  8. BlinkUp™ sensor and status LED
  9. Mini USB (power only)
  10. User RGB LED
  11. Reset switch
  12. Temperature and humidity sensor
  13. Motion sensor


Hardware Details


The impC001 Breakout Board includes a mini USB port for power. Only the port’s power lines are connected; no data can be transferred by this means.

In addition, the board incorporates a standard lithium battery connector, a Maxim Integrated MAXI17055 single-cell charge monitor IC and a Texas Instruments BQ25895 single-cell 5A fast charger IC. These components allow the board not only to be driven by a lithium rechargeable battery, which can be recharged in situ.


The impC001 Breakout Board includes the following sensors:

Sensor Measured Quantity I²C Address (8-bit) Library Datasheet
HTS221 Temperature, humidity 0xBE HTS221.device.lib.nut Link
LIS2DH12 Motion in three axes 0x32* LIS3DH.class.nut Link

*This is not the sensor’s default I²C address, so you will need to add its address into the class constructor of its Electric Imp library.

All of the sensors can be easily accessed in application code using the Electric Imp libraries named in the table above. Click the library links for the latest version. Note The LIS2DH12 intentionally makes use of the LIS3DH library as these two devices are functionally equivalent.


The impC001 Breakout Board’s RGB LED is an APA102, an all-in-one RGB LED with integrated shift register and constant-current driver. It can be accessed via the impC001’s hardware.spiYJTHU bus set to SIMPLEX_TX mode and a speed of 7500KB/s.

The LED is best driven in application code via Electric Imp’s APA102 library (click the link for the latest version). Add #require "APA102.device.lib.nut:2.0.0" to the top of your device code. For example:

#require "APA102.device.lib.nut:2.0.0"

// Instantiate LED array with 1 pixel
hardware.spiYJTHU.configure(SIMPLEX_TX, 7500);
local pixel = APA102(hardware.spiYJTHU, 1);
local state = true;

function loop() {
  pixel.set(0, (state ? [255,0,255] : [0,0,0])).draw();
  state = !state;
  imp.wakeup(1, loop);

// Start the loop

Grove Connectors

The impC001 Breakout Board incorporates two Grove System-compatible headers, each of which connects to a four-wire cable with two data wires (yellow and white) plus 3V3 (red) and GND (black). For more information on the Grove System, please see the Seeed Wiki.

Analog and Digital

One header is intended for Grove Analog and/or Grove Digital peripherals: its A0/D0 (yellow) and A1/D1 (white) lines are connected, respectively, to the impC001’s pins YP and YQ.


The data wires can be used to drive a variety of Grove-compatible devices, though only those which operate over I²C are supported by the impC001 Breakout Board’s I²C header, which is connected to the impC001’s hardware.i2cXDC bus. The yellow wire provides the clock line; the white wire the data line. Only 3V3 I²C devices are supported.


The impC001 Breakout Board provides an optional header pins to allow you to install a mikroBUS connector. Such a connector allows you to fit Click boards (not included) from MikroElectronica. Click is an ecosystem of available modules adding support for current loop communication, thermocouples, 1-Wire® devices and many others.

SPI, UART and I²C interfaces are available through the mikroBUS header, and additional Click control signals are connected to the impC001 GPIO and can be controlled via firmware.

Click Pin No. Click Name Description impC001 Pin
1 AN Analog YK
2 RST Reset YC
3 CS SPI Chip Select S
4 SCLK SPI Clock R
5 MISO SPI Master In Q
6 MOSI SPI Master Out P
7 3V3
10 5V0
11 SDA I2C Data XC
12 SCL I2C Clock XD
13 TX UART TX (to Click) YA
14 RX UART RX (from Click) YB
15 INT Hardware interrupt YD
16 PWM Pulse Width Modulation signal to Click YT


To add an XBee module (not included) to the impC001 Breakout Board, you will need to attach the module directly to the Breakout Board or first fit two 10mm, 2mm-pitch female headers to the board.

The XBee pins are connected to the impC001’s hardware.uartYABCD peripheral. The UART’s TX and RX pins are connected to the XBee’s DIN and DOUT pins, respectively, and the UART’s CTS and RTS pins connect to their XBee equivalents.

XBee Pin impC001 Pin

Electric Imp provides an XBee library to help you work with a mounted XBee module to help you interact with the module, and with other modules across a ZigBee network. The library operates through the XBee API mode, communicating through the connected UART (passed into the library’s class constructor).

Please see the Xbee library documentation for more information.

USB Host Port

The impC001 Breakout Board can operate as a USB host for USB 1.1/2.0 devices using the USB Type A connector on the PCB. Only one USB device may be connected at any one time, and USB hubs are not supported.

The USB port’s D- and D+ pins are connected to the impC001’s pins B and A, respectively, and the bus can be operated using the impC001’s hardware.usbAB bus. Please see the impOS™ USB API for further details on the classes used to manage the board’s USB port.


impC001 Pin USB Function
YM Power enable
YN Overcurrent indication
A D+
B D-


The impC001 Breakout Board provides header pins (J12) for the connection of a UART-based GPS module such as the Ublox M8N or Ublox LEA-6H. Pin 1 (top) provides power; pin 6 (bottom) is GND. The data pins are 2 and 3 which are connected to the the impC001’s pins H and J, respectively, so are ready to be used with the imp API object hardware.uartHJKL configured as NO_CTSRTS.

J12 Pin Role impC001 Pin
1 3V3
2 RX H
3 TX J

To help you manage a connected GPS module, Electric Imp provides two libraries: GPSUARTDriver, which handles the hardware interface, and GPSParser, which you can use to decode GPS data issued by the module.


Please see the impC001 Pin Mux page for information on all of the many GPIO pins and standard buses made available by the impC001 module and exposed via the Breakout Board.


Additional Programming Resources






Grove Connectors


Project Files (Rev. 3.0)