var i2c = require('i2c-bus');
var MPU6050 = require('i2c-mpu6050');

// IMU - Inertial Measurement Unit (here, a MPU6050 is used)
module.exports = function (quad, done) {
	var config = quad.config;

	var i2cDev = i2c.open(config.mpu6050.device, function (err) {
		if (err) return done(err);

		var mpu6050;
		try {
			mpu6050 = new MPU6050(i2cDev, parseInt(config.mpu6050.address));
		} catch (err) {
			done(err);
			return;
		}

		done(null, {
			mpu6050: mpu6050
		});
	});
};
@@ -158,14 +158,8 @@
 quad
-, done
 ) %7B%0A
@@ -186,16 +186,66 @@
 onfig;%0A%0A
+%09return new Promise(function (resolve, reject) %7B%0A%09
 %09var i2c
@@ -301,16 +301,17 @@
 rr) %7B%0A%09%09
+%09
 if (err)
@@ -318,20 +318,22 @@
  return 
-done
+reject
 (err);%0A%0A
@@ -334,16 +334,17 @@
 rr);%0A%0A%09%09
+%09
 var mpu6
@@ -354,14 +354,16 @@
 ;%0A%09%09
+%09
 try %7B%0A
+%09
 %09%09%09m
@@ -428,16 +428,17 @@
 ss));%0A%09%09
+%09
 %7D catch 
@@ -452,50 +452,49 @@
 %0A%09%09%09
-done(err);%0A%09%09%09return;%0A%09%09%7D%0A%0A%09%09done(null, 
+%09return reject(err);%0A%09%09%09%7D%0A%0A%09%09%09resolve(
 %7B%0A
+%09
 %09%09%09m
@@ -509,16 +509,23 @@
 mpu6050%0A
+%09%09%09%7D);%0A
 %09%09%7D);%0A%09%7D
@@ -529,8 +529,9 @@
 %0A%09%7D);%0A%7D;
+%0A

Update sensors.js