-board = None
-if microcontroller is not None:
-    if microcontroller == "esp8266":  # TODO more conservative board-guessing
-        board = "feather_huzzah"
-    elif microcontroller == "samd21":
-        board = "feather_m0_express"
-    elif microcontroller == "pyboard":
-        microcontroller = "stm32"
-        board = "pyboard"
-    elif microcontroller == "linux":
-        from Adafruit_GPIO import Platform
-        if Platform.platform_detect() == Platform.RASPBERRY_PI:
-            if Platform.pi_version() == 1:
-                board = "raspi_1"
-            elif Platform.pi_version() == 2:
-                board = "raspi_2"
-            elif Platform.pi_version() == 3:
-                board = "raspi_3"
+# We'll define board and chip id values in agnostic rather than accessing
+# detector directly elsewhere, just in case additional indirection is necessary
+# at some later point:
+
+detector = adafruit_platformdetect.Detector()
+chip_id = detector.chip.id
+board_id = detector.board.id