CatCan Creative’s NXT SmartSensor Lite

I received a LEGO Mindstorms NXT SmartSensor Lite Edition‘ from CATCAN Creative, a Taiwanese company dedicated to designing sophisticated sensors and servos, for hobbyists and educational use. The SmartSensor Lite Edition is a IMU (Inertial measurement unit) device on steroids. The SmartSensor Lite Edition uses the standard  I2C communication interface to connect to the LEGO Mindstorms NXT Sensor Ports. The CanTan Creative® SmartSensor Lite Edition joins the Dexter Industries® dIMU Inertial Motion Sensor and the CruizCore® XG1300L Sensor which have been released over the last 12 months.

The SmartSensor Lite Edition is a MEMS (Micro-electro-mechanical systems) Sensor, containing a Triaxial Accelerometer (Roll, Pitch, and Yaw), a Three-axis Magnetometer, a Single-axis Gyroscope, and a Temperature Sensor. Quite a lot to fit into such a small foot-printed device, measuring 17mm X 14mm for the electronics footprint with components mounted both sides of the PCB. The complete sensor measures 55mm long, 31mm wide, and is 17mm high, to allow for the standard NXT Cable Socket.

Microelectromechanical systems (MEMS)

MEMS is the technology of very small mechanical devices which are driven by electricity; it merges at the nano-scale into nanoelectromechanical systems (NEMS) and nanotechnology. MEMS devices generally range in size from 20 micrometres (20 millionths of a metre) to a millimetre.

p>MEMS became practical once they could be fabricated using modified semiconductor device fabrication technologies, normally used to make electronics. The fabrication of MEMS is derived from the process technology used in semiconductor device fabrication, i.e. the basic techniques are deposition of material layers, patterning by photolithography and etching to produce the required shapes.


  • Inkjet printers, which use piezoelectrics or thermal bubble ejection to deposit ink on paper.
  • Accelerometers in modern cars for a large number of purposes including airbag deployment in collisions.
  • Accelerometers in consumer electronics devices such as game controllers, personal media players, cell phones, & Digital Cameras.
  • Also used in PCs to park the hard disk head when free-fall is detected, to prevent damage and data loss.
  • MEMS gyroscopes used in modern cars and other applications to detect yaw; e.g., to deploy a roll over bar or trigger dynamic stability control.
  • MEMS microphones in portable devices such as mobile phones, head sets and laptops.
  • Silicon pressure sensors used for car tire pressure sensors, and disposable blood pressure sensors
  • Optical switching technology, which is used for switching technology and alignment for data communications.
  • Bio-MEMS applications in medical and health related technologies from Lab-On-Chip to MicroTotalAnalysis.
  • Interferometric modulator display (IMOD) applications in consumer electronics , used to create interferometric modulation − reflective display technology as found in mirasol displays.
  • Fluid acceleration such as for micro-cooling.

The most common MEMS devices include pressure sensors, accelerometers, gyroscopes, magnetometers, microphones, digital mirror displays, micro fluidic devices, etc.


The Sensor can be used to create very sophisticated robot behaviours (like balancing on two wheels) which can be implemented using the advanced programming techniques found in NXC Programming Language and RobotC Programming Language. The CATCAN Creative website provides a Virtual Instruments that can be used with National Instruments’ LabView software.

The SmartSensor Lite Edition is also compatible with Arduino, and any microcontroller that can interface with I2C. To interface with Arduino, CATCAN Creative supplies a special adapter cable that converts the RJ12 cable to 4x header sockets on fly-leads. The manual gives instructions on how to wire the SmartSensor to the Arduino, complete with an example. The I2C register table for the SmartSensor data listed below is directly compatible with the Arduino.

The SmartSensor Lite Edition can serve as a perfect stepping stone from beginner projects with NXT to more advanced robots using NXT and beyond. The [sartsensor] adds a level of abstraction to the sensor systems of the NXT kit. Most of the NXT sensors are easy to logically understand at an intuitive level. However, the SmartSensor Lite, even though it measures angular position and angular velocity, it does so by outputting data other than the usual true or false values.

The motion sensing capabilities of the SmartSensor Lite Edition opens up many possibilities for building and controlling some very sophisticated LEGO Minstorms NXT based Robots. To start with, it can be used with a simple projects like a Segway, but from there you move on to perhaps a bipedal balancing robot. And then perhaps move onto an Inertial Navigation System (INS), to allow your robot to navigate without GPS, or similar methods around its enviroment. The SmartSensor Lite Edition is well suited to Inertial Navigation with motion sensors (accelerometers) to continuously calculate via dead reckoning, the position, orientation, and velocity (direction and speed of movement) of a moving robot without the need for external references.

CatCan Creative, ‘SmartSensor Lite Edition
Sensor Capabilities:
  • Smart sensor Lite includes the following MEMS sensors:

    • 3D magnetic sensor
    • 3D G sensor (acceleration sensor)
    • 1 axis Gyro sensor
    • A 32 Bit MCU in charge of signal filtering and position calculation.
  • Smart sensor Lite reports following data:

    • MEMS raw data:

      • Original data from magnetic sensor, (Mx_RAW, My_RAW,Mz_RAW)
      • Original data from G sensor ( Ax_RAW, Ay_RAW, Az_RAW)
      • Original data from Gyro sensor (Grto_RAW)
  • 3D vector represent orientation with angles related to X, Y,Z axis in

    • Cartesian coordinate system ( Pitch, Roll, Yaw), defined as following;

      • Pitch – angle of X body axis relative to horizon.
      • Roll – angle of Y body axis relative to horizon.
      • Yaw – angle of X body axis relative to North.
Attacking a ‘SmartSensor Lite Edition‘ equipped NXT Segway!

Detailed Specifications:
  • Internal Processor: ARM Cortex-M3 32-BITS @ 64MHz
  • Embedded OS: Real-Time Operation System
  • Algorithm Implementation of the order (Task) Speed: 20ms, at least 20 times per second or more computing attitude information output.
  • 3-axis acceleration sensor (X / Y / Z) : + / – 16G
  • 3-axis magnetic sensor (X / Y / Z): + / -2 gauss
  • Single-axis angular rate gyroscope data: + / -300 degrees / second
  • Output angle: Roll / Pitch + / – 180 degrees, Heading 360 degrees
  • Temperature Sensor: -40 ° C – 125 ° C
  • Dimensions (length x width x high): 38.9 x 16 (mm)
  • Operating voltage: 5V
  • ADC resolution: 12bit
  • Communication Interface: I2C

Please NOTE: Processor I / O voltage level is 3.3V – 5V

The figure above of the SmartSensor Lite Edition, showing all axis, which read out the qualitative direction as the positive direction of the arrow direction. The XY plane is horizontal, Z axis is vertical with the direction of the Pitch, which is an imaginary board with horizontal X-axis angle, the output value is -180 to +180, the unit is the point of Roll. When the board is level with the angle between the Y-axis, the output value is -180 to +180, the unit is the point of Heading (Yaw). When the board is in the X-axis angle between magnetic north, the output value is 0 to 360, the unit is the angle in a clockwise direction to increase the value Pitch, Roll, Heading (Yaw).

The [smatsensor]’s accelerometer, along with the magnetometer undergo smart sensor signal filtering done with the on-board MCU. The calculation of the calculated position uses the Tate – Bryan angles (Tait-Bryan Angles ) method to produce a defined description of the body’s direction in 3D space. The Gyro’s output value is the angular velocity, and goes through filtering of the final output signal. The board rotation axis is the Z-axis, the output value of -300 to +300, with the units measured as degrees / second in a positive counter-clockwise direction.

The SmartSensor Lite’s Register Address Table
Name Type 0×11 (10/ChipID) Byte Size Sequence
Read Offset
Multiplied by
0×00 Pitch(signed int) Read Low Byte/High Byte 2 0 100
0×01 Roll(signed int) Read Low Byte/High Byte 2 2 100
0×02 Yaw(unsigned int) Read Low Byte/High Byte 2 4 100
0×03 Temp(signed int) Read Low Byte/High Byte 2 6 100
0×04 Gyro(signed int) Read Low Byte/High Byte 2 8 100
0×05 Ax_RAW(signed int) Read Low Byte/High Byte 2 10  
0×06 Ay_RAW(signed int) Read Low Byte/High Byte 2 12  
0×07 Ay_RAW(signed int) Read Low Byte/High Byte 2 14  
0×08 Mx_RAW(signed int) Read Low Byte/High Byte 2 16  
0×09 My_RAW(signed int) Read Low Byte/High Byte 2 18  
0x0A Mz_RAW(signed int) Read Low Byte/High Byte 2 20  
0x0B Gyro_RAW(unsigned int) Read Low Byte/High Byte 2 22  
0x0C Mx_max(signed int) Read Low Byte/High Byte 2 24  
0x0D Mx_min(signed int) Read Low Byte/High Byte 2 26  
0x0E My_max(signed int) Read Low Byte/High Byte 2 28  
0x0F My_min(signed int) Read Low Byte/High Byte 2 30  
0×10 Mz_max(signed int) Read Low Byte/High Byte 2 32  
0×11 Mz_min(signed int) Read Low Byte/High Byte 2 34  
0×12 Gyro_Cal(unsigned int) Read Low Byte/High Byte 2 36  
0xF0 Low Filter Disable          
0xF1 Low Filter Enable        




Notes on the SmartSensor Lite Edition Register Table:

  • The address of smart sensor is set at 0×18(7bit mode)
  • Each register address contain 2 bytes of data, when read status, LSB returned first, followed by MSB.
  • Pitch and Roll data are signed int, and has been multiplied by 100, Yaw is unsigned int, also multiplied by 100, so when combined MSB and LSB these data need to be divided by 100
  • Multiple data can be read in one command as long as data are next to each other. Will be show in following example.

When it comes to programming the SmartSensor Lite Edition, the following languages are currently supported by CatCan Creative:

For other text based programming languages, use the appropriate I2C Read routines to access the SmartSensor Lite Edition‘s Registry Data, as per the Table above.

  • Technical Support (Support):
  • Business inquiry (Sales, Quotation):
  • Telephone: 02-89131680 ext:357 (contact Liu Commissioner)

Previous Post

Li-Po Batteries & LEGO Mindstorm NXT

Both the LEGO 7.4 Volt Rechargeable Batteries for Mindstorms NXT (Part #x1678 & #bb495), are of Lithium-ion Polymer construction. Lithium-ion polymer batteries, polymer lithium ion, or more commonly lithium polymer ... Read more

Next Post

Extending the NXT Wifi Sensor's Range

The Dexter Industries Wifi Sensor allows your Lego Mindstorms NXT robots to connect to the internet and send and receive data via a local Wifi network. The I found that ... Read more

Short URL:

Leave a Reply

Your email address will not be published. Required fields are marked *

Do NOT follow this link or you will be banned from the site!
error: Content is protected !!