       Serial.print("1-wire device ");
       Serial.print(devidx);
       Serial.print(" address ");
-      Serial.print(getAddr(onewire_addresses[devidx]));
+      Serial.print(getAddr(onewire_addressesA[devidx]));
       Serial.println(" ");
-      // configure sensor
-      sensors.setResolution(onewire_addresses[devidx], TEMPERATURE_PRECISION);
+      // configure sensors
+      sensorsA.setResolution(onewire_addressesA[devidx], TEMPERATURE_PRECISION);
+    }
+  }
+
+  // find 1-wire B slave addresses
+  oneWireB.reset_search();
+  for (int devidx = 0; devidx < sensorcountB; devidx++)
+  {
+    if (!oneWireB.search(onewire_addressesB[devidx])) 
+    {
+      Serial.print("Unable to find address for device ");
+      Serial.println(devidx);
+    } else {
+      Serial.print("1-wire device ");
+      Serial.print(devidx);
+      Serial.print(" address ");
+      Serial.print(getAddr(onewire_addressesB[devidx]));
+      Serial.println(" ");
+      // configure sensors
+      sensorsA.setResolution(onewire_addressesB[devidx], TEMPERATURE_PRECISION);
     }
   }
   

  printf_begin();
  printf("rF24RemoteTemp starting\n\r");

  printf("1-wire startup ... ");
  sensors.begin();
  Serial.print("found ");
  sensorcount = sensors.getDeviceCount();
  Serial.print(sensorcount, DEC);
  Serial.println(" devices.");  
  
  // find 1-wire slave addresses
  oneWire.reset_search();
  for (int devidx = 0; devidx < sensorcount; devidx++)
  {
    if (!oneWire.search(onewire_addresses[devidx])) 
    {
      Serial.print("Unable to find address for device ");
      Serial.println(devidx);


// main loop
void loop(void){
  if (sensorcountA || sensorcountB)
  {
    // update 1-wire A 
    sensorsA.requestTemperatures();    
    for (int devidx = 0; devidx < sensorcountA; devidx++)
    {
      String output;
      char outbuf[31];
