         g_aPins[i].connections[j] = false;
     }
   }
+
+  strcpy(g_aPins[0].label,"0");
+  strcpy(g_aPins[1].label,"1");
+  strcpy(g_aPins[2].label,"2");
+  strcpy(g_aPins[3].label,"3");
+  strcpy(g_aPins[4].label,"4");
+  strcpy(g_aPins[5].label,"5");
+  strcpy(g_aPins[6].label,"6");
+  strcpy(g_aPins[7].label,"7");
+  strcpy(g_aPins[8].label,"8");
+  strcpy(g_aPins[9].label,"9");
+  strcpy(g_aPins[10].label,"10");
+  strcpy(g_aPins[11].label,"11");
+  strcpy(g_aPins[12].label,"12");
+  strcpy(g_aPins[13].label,"13");
+  strcpy(g_aPins[14].label,"A0");
+  strcpy(g_aPins[15].label,"A1");
+  strcpy(g_aPins[16].label,"A2");
+  strcpy(g_aPins[17].label,"A3");
+  strcpy(g_aPins[18].label,"A4");
+  strcpy(g_aPins[19].label,"A5");
 
   // Initialize pins 0-13 as digital out pins
   for(int i=0; i<(TOTAL_NUM_OF_PINS-NUM_OF_ANALOG_PINS); i++)

    }

    // Populate sensitivity
//    snprintf(buff, sizeof(buff),"%f", g_aPins[i].sensitivity);
//    aJson.addItemToObject(apoPin[i],"sensitivity", aJson.createItem( buff ) );
    aJson.addItemToObject(apoPin[i],"sensitivity", aJson.createItem( g_aPins[i].sensitivity ) );
    
    // Populate pin's inversion


  if( g_luiCounter%100 == 0)
  {

    unsigned char buf[LWS_SEND_BUFFER_PRE_PADDING + WEB_SOCKET_BUFFER_SIZE + LWS_SEND_BUFFER_POST_PADDING];
    unsigned char *p = &buf[LWS_SEND_BUFFER_PRE_PADDING];
    
    updateBoardState();
    
    aJsonObject *msg = getJsonBoardState();  
    
    aJsonStringStream stringStream(NULL, (char *)p, WEB_SOCKET_BUFFER_SIZE);
    aJson.print(msg, &stringStream);
    String sTempString((char *)p);
      
    n = libwebsocket_write(wsi, p, sTempString.length(), LWS_WRITE_TEXT);
    
    aJson.deleteItem(msg);

  }

  g_luiCounter++;
