Microduino-Module Motion

From Microduino Wiki
(Redirected from Microduino-Motion)
Jump to: navigation, search
Language: English  • 中文

Microduino-Motion(Microduino-10DOF) integrates four sensors including one sensor of 3-axis gyroscope and 3-axis accelerometer(MPU6050), one magnetic field strength sensor(HMC5883L) and a digital barometer sensor(BMP180). Adopting I2C interface, it can be widely used in automation control, such as aero modeling and self-balancing car.


  • Adopt three I2C-communicating sensors, saving IO interfaces.
  • Small, stackable, and economic.
  • Open hardware circuit design and Arduino compatible programming development environment.
  • With a uniform Microduino interface standard and rich peripheral modules, it can easily connect with other Microduino modules and sensors.
  • 2.54mm (0.1 inch) pin pitch, compatible to bread boards and pegboards.


Magnetic field intensity sensor: HMC5883L

  • HMC5883L contains the most advanced high-resolution HMC118X series magnetic-resistive sensor;
  • Integrated circuit with Honeywell patents includes an amplifier, automatic degaussing actuator, offset calibration and a 12-bit AD converter which can control the accuracy of the compass to the range of 1 ° ~ 2 °;
  • A simple IIC serial bus interface.

Digital Pressure Sensor: BMP180

  • BMP180 comprises a resistive pressure sensor, an AD converter, and a control unit;
    • The control unit includes E2PROM and I2C interfaces. BMP180 transmits uncompensated temperature and pressure values. E2PROM stores 176bit individual standard data, which are used for compensation of temperature dependence and other sensor parameters.
  • Available range: 300hPa to 1100hPa (corresponding sea level to -500m -- +9000 m)
  • Absolute accuracy can be 0.03hPa to the lowest.
  • UP = pressure data (16 to 19bit)
  • UT = temperature data (0 to 15bit)

Triaxial accelerometer + three-axis gyro sensor: MPU6050

  • It integrates a 3-axis MEMS gyroscope, a three-axis MEMS accelerometer, and a scalable DMP (Digital Motion Processor);
  • Digital output for 6 or 9 axis rotation matrix, quaternion, Euler angles format (EulerAngleforma) data fusion algorithms;
  • With 131LSBs / °sec sensitivity and whole cell sensing range is ± 250, ± 500, ± 1000 and ± 2000 ° / sec of 3-axis angular velocity sensor (gyroscope);
  • 3-axis accelerometer is programmable control and the range is ± 2g, ± 4g, ± 8g and ± 16g;
  • Reduces the impact of setting given and sensor drift by removing the shaft between the accelerator and the gyro sensitivity, ;
  • The complexity of data fusion algorithms, sensors synchronization, load position sensors can be reduced by using Digital motion processing (DMP: DigitalMotionProcessing) engine
  • A temperature sensor with digital output;
  • Gyro operational current: 5mA, gyroscope standby current: 5uA; accelerator operation current: 500uA, accelerator power saving mode current: 40uA @ 10Hz up to 400kHz fast mode of IIC.



Arduino Libraries and support packages

  • Microduino-Motion:




  • MultiWii and source code:


Use open source of MWC test Microduino-Motion

  • The hardware need to be prepared: Microduino USBTTL, Microduino Core, Microduino Motion;
  • The software need to be prepared: MultiWii(Linux/Mac/Windows), MultiWii source code(Arduino), Arduino IDE(above 1.0 version);
  • First use IED open MultiWii.ino in MultiWii directory,the project can be load directly. The provided source code has already been configured for Microduino 10dof.Select board "Microduino Core (Atmega328P@16M,5V)", and then downloaded directly;
  • Turn on the PC: Take the Windows as the example,Execution "MultiWiiConf.exe" in MultiWiiConf \ application.windows32 directory, select the corresponding serial port, then click "Start" to test module.

Use OLED to test Microduino-Motion

  • The hardware need to be prepare: Microduino USBTTL, Microduino Core, Microduino Motion, Microduino OLED;
  • The software need to be prepare: Arduino IDE(above 1.0 version), Microduino provide test source code(Arduino), BMP180 Library, HMC5883 LLibrary, MPU6050 Library, I2Cdev Library, U8glib Library;
  • The downloaded libraries should be put into library folder within Arduino IDE's installation folder;
  • Start Arduino IED,Open the test code that Microduino provided, select board "Microduino Core (Atmega328P@16M,5V)", and then downloaded directly;
  • After the download, please pay attention to the OLED is complete:
    • Top row is used to test HM5883L, The module is placed in the horizontal position, turn the module can be observed that pointer always points to an angle;
    • The middle row is used to test BMP180, observing pressure and temperature data;
    • The last line is used to test MPU6050, tilt module,then you can observe the ball rolling toward the corresponding direction.



  • April 8,2013,@laoPanorz found SI pin doesn't connect to VDD in HMC5883l.
  • Feb 28,2013, test release publish, no major issue.
  • Feb 18,2013, the first official release layout.


Microduino 10DOF Front

Microduino 10DOF Back