         kSensorRotationCharacteristicUUID,
         kSensorButtonCharacteristicUUID,
         kRebootToDFUModeCharacteristicUUID,
-        kHeartBeatCharacteristicUUID
+        kHeartBeatCharacteristicUUID,
+        kFlySensorCalibrationCharacteristicUUID
     ]
 ]
 

        guard peripheral.state == .Connected else { return false }
        guard let rebootToDFUModeCharacteristic = rebootToDFUModeCharacteristic else { return false }
        peripheral.writeValue(NSData(bytes: [UInt8(1)], length: 1), forCharacteristic: rebootToDFUModeCharacteristic, type: .WithResponse)
        return true
    }


    public override var notificationCharacteristicUUIDs: [CBUUID] { get { return nuimoNotificationCharacteristicnUUIDs } }

    public var supportsRebootToDFUMode: Bool { return rebootToDFUModeCharacteristic != nil }
    public var supportsFlySensorCalibration: Bool { return flySensorCalibrationCharacteristic != nil }
    public var heartBeatInterval: NSTimeInterval = 0.0 { didSet { writeHeartBeatInterval() } }

    private var matrixWriter: LEDMatrixWriter?
    private var connectTimeoutTimer: NSTimer?
    private var rebootToDFUModeCharacteristic: CBCharacteristic? { return peripheral.serviceWithUUID(kSensorServiceUUID)?.characteristicWithUUID(kRebootToDFUModeCharacteristicUUID) }
    private var flySensorCalibrationCharacteristic: CBCharacteristic? { return peripheral.serviceWithUUID(kSensorServiceUUID)?.characteristicWithUUID(kFlySensorCalibrationCharacteristicUUID) }

    public override func connect() -> Bool {
        guard super.connect() else { return false }
