     // clear bond store data
     bleHIDPeripheral.clearBondStoreData();
   }
+  
+  encoder.write(0);
+  
+#ifdef ANDROID_CENTRAL
+  bleHIDPeripheral.setReportIdOffset(1);
+#endif
   
   bleHIDPeripheral.setLocalName("HID Volume");
   bleHIDPeripheral.addHID(bleMultimedia);

#include <BLEHIDPeripheral.h>
#include <BLEMultimedia.h>

// define pins (varies per shield/board)
#define BLE_REQ   9
#define BLE_RDY   8
#define BLE_RST   4

#define BUTTON_PIN 5

#define ENC_A_PIN 6
#define ENC_B_PIN 7

BLEHIDPeripheral bleHIDPeripheral = BLEHIDPeripheral(BLE_REQ, BLE_RDY, BLE_RST);
BLEMultimedia bleMultimedia;

int buttonState;

void setup() {
  Serial.begin(9600);
#if defined (__AVR_ATmega32U4__)
  while(!Serial);
#endif

  pinMode(BUTTON_PIN, INPUT_PULLUP);
  buttonState = digitalRead(BUTTON_PIN);
  
  pinMode(ENC_A_PIN, INPUT_PULLUP);
  pinMode(ENC_B_PIN, INPUT_PULLUP);

  if (buttonState == LOW) {
    Serial.println(F("BLE HID Peripheral - clearing bond data"));

    Serial.println(central.address());

    while (bleHIDPeripheral.connected()) {
      pollButton();
      
      pollEncoder();
    }

    // central disconnected
