There's all kinds of features packed into CLUE. Let's take a look!

Microcontroller and QSPI

  • Nordic nRF52840 Bluetooth LE processor - 1 MB of Flash, 256KB RAM, 64 MHz Cortex M4 processor.
  • QSPI flash - 2MB of internal flash storage for datalogging, images, fonts or CircuitPython code.


  • 1.3″ 240×240 Color IPS TFT display - Display high resolution text and graphics. The cable goes through a slot in the board to the back to the display connector.

The front of the TFT has a controller chip embedded in the connector cable (you can see it as a thin rectangle to the left of the display). This chip is light sensitive, so if you use a xenon strobe you may disable the display. If you need to use the CLUE In a strobe/very-high-brightness setup, cover up the chip with a strip of black electrical tape


  • Gyro + Accel: LSM6DS33 - This sensor is a 6-DoF IMU accelerometer + gyroscope. The 3-axis accelerometer, can tell you which direction is down towards the Earth (by measuring gravity) or how fast the CLUE is accelerating in 3D space. The 3-axis gyroscope that can measure spin and twist. Pair with a triple-axis magnetometer to create a 9-DoF inertial measurement unit that can detect its orientation in real-space thanks to Earth's stable magnetic field. Sensor is I2C on standard pins on address 0x6A.
  • Magnetometer: LIS3MDL - Sense the magnetic fields that surround us with this handy triple-axis magnetometer (compass) module. Magnetometers can sense where the strongest magnetic force is coming from, generally used to detect magnetic north, but can also be used for measuring magnetic fields. This sensor tends to be paired with a 6-DoF (degree of freedom) accelerometer/gyroscope to create a 9-DoF inertial measurement unit that can detect its orientation in real-space thanks to Earth's stable magnetic field. Sensor is I2C on standard pins on address 0x1C.
  • Light + Gesture + Proximity: APDS9960 - Detect simple gestures (left to right, right to left, up to down, down to up are currently supported), return the amount of red, blue, green, and clear light, or return how close an object is to the front of the sensor. This sensor has an integrated IR LED and driver, along with four directional photodiodes that sense reflected IR energy from the LED. Since there are four IR sensors, you can measure the changes in light reflectance at each of the cardinal locations over time and turn those changes into gestures. Sensor is I2C on standard pins on address 0x39.
  • PDM Microphone sound sensor: MP34DT01-M - PDM sound sensor. In CircuitPython, board.MICROPHONE_DATA is PDM data, and board.MICROPHONE_CLOCK is PDM clock. In Arduino, D35 is PDM data, and D36 is PDM clock.
  • Speaker/buzzer - This tiny buzzer is good for playing back beeps and tones. It's not suitable for playing back audio files. Addressable in CircuitPython as board.SPEAKER, and in Arduino as D46.
  • Humidity: SHT30 - This sensor has an excellent ±2% relative humidity and ±0.5°C accuracy for most uses. Sensor is I2C on standard pins on address 0x44.
  • Temp + Pressure: BMP280 - This sensor is a precision sensing solution for measuring barometric pressure with ±1 hPa absolute accuraccy, and temperature with ±1.0°C accuracy. Because pressure changes with altitude, and the pressure measurements are so good, you can also use it as an altimeter with ±1 meter accuracy. It has a a low altitude noise of 0.25m and a fast conversion time. Sensor is I2C on standard pins on address 0x77.

USB and Battery

Like the micro:bit, the CLUE does not have built in LiPoly battery charging. This is for your safety so you can use Alkaline or NiMH batteries without damaging them! You can use LiPoly batteries but you will need an external charger
  • USB Micro - This USB port is used for programming and/or powering the CLUE. It is a standard USB Micro connector.
  • Battery - 2-pin JST PH connector for a battery. Power the CLUE from any 3V-6V power source, as it has internal regulator and protection diodes.


  • A and B buttons - The CLUE has two user-programmable buttons on the front, labeled A and B. Use them as inputs to control your code. These are unconnected when not pressed, and connected to GND when pressed, so they read LOW. Set the pins to use an internal pull-UP when reading these pins so they will read HIGH when not pressed. Buttons can be addressed in CircuitPython using board.BUTTON_A and board.BUTTON_B, and in Arduino as D5 (left button) and D11 (right button).
  • Reset button - This button resets the board. Press once to reset. Quickly press twice to enter the bootloader.



  • NeoPixel - The addressable RGB NeoPixel LED is used as a status LED by the bootloader and CircuitPython, but is also controllable using code. Control it using board.NEOPIXEL in CircuitPython and D18 in Arduino.
  • Status LED - This little red LED works as a status LED in the bootloader. Otherwise, it is controllable using code by addressing board.D17 in CircuitPython, and D17 in Arduino.
  • Bright white LEDs - On the front of the board are two bright white LEDs for illumination and color sensing. Control them in CircuitPython using board.WHITE_LEDS, and in Arduino using D43.

GPIO and Power Pads

  • Pads 0, 1 and 2 - These pads are used for connecting external sensors etc, typically using alligator clips. They also work as inputs using capacitive touch. In CircuitPython they are board.D0, board.D1, and board.D2. In Arduino, they are D0, D1 and D2.
  • 3V and GND - These are the power and ground pads used when connecting external sensors etc. typically using alligator clips.

Edge Connector

  • Micro:Bit compatible edge connector - This is the Micro:Bit compatible edge connector, used to break out all of the other features of this microcontroller. Compatible with other Micro:Bit-compatible hardware. While the CLUE is the same outline and we did our best to make the edge-connector pins match up, code may not be immediately compatible without adjustment, especially since only Arduino and CircuitPython are supported at this time.

Here's the pinout diagram for the micro:bit - the CLUE has the same pinout with some extras!

  • The I2C pins are on on the same P19/P20 (we like to use D19/D20 naming)
  • The SPI pins are on on the same P13-P15 (we like to use D13-D15 naming)
  • There are analog pins on P0 (Arduino A2), P1 (Arduino A3), P2 (Arduino A4), P3 (Arduino A5), P4 (Arduino A6), P10 (Arduino A7) just like the micro:bit
  • There are additional analog pins on D12 (Arduino A0) and P16 (Arduino A1)
  • Button A and B are on the same P5 and P11 pins
  • Since we don't have an LED matrix, you can use P3, P4, P6, P7, P9, P10, P11 without worrying about conflicting with an LED grid

Debug Pads

On the bottom of the board are three pads, one near the reset button, and two to the right of the display cable. The pad near the reset button is reset. Of the two pads near the display cable, the top is SWDIO and on the bottom is SWCLK. On the off chance you want to reprogram your CLUE or debug it using a debug/programmer, you will need to solder/connect to these pads.

This guide was first published on Feb 08, 2020. It was last updated on Feb 27, 2024.

This page (Pinouts) was last updated on Jan 29, 2020.

Text editor powered by tinymce.