diff --git a/esp8266/modpyb.h b/esp8266/modpyb.h
index eb67d5c..69a6edb 100644
--- a/esp8266/modpyb.h
+++ b/esp8266/modpyb.h
@@ -13,10 +13,9 @@
 
 typedef struct _pyb_pin_obj_t {
     mp_obj_base_t base;
-    uint16_t pin_id;
     uint16_t phys_port;
-    uint32_t periph;
     uint16_t func;
+    uint32_t periph;
 } pyb_pin_obj_t;
 
 uint mp_obj_get_pin(mp_obj_t pin_in);
diff --git a/esp8266/modpybpin.c b/esp8266/modpybpin.c
index 63ba410..d12d550 100644
--- a/esp8266/modpybpin.c
+++ b/esp8266/modpybpin.c
@@ -45,21 +45,21 @@
 //#define GPIO_PULL_DOWN (2)
 
 STATIC const pyb_pin_obj_t pyb_pin_obj[] = {
-    {{&pyb_pin_type}, 0, 0, PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0},
-    {{&pyb_pin_type}, 1, 1, PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1},
-    {{&pyb_pin_type}, 2, 2, PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2},
-    {{&pyb_pin_type}, 3, 3, PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3},
-    {{&pyb_pin_type}, 4, 4, PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4},
-    {{&pyb_pin_type}, 5, 5, PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5},
-    {{&pyb_pin_type}, 9, 9, PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9},
-    {{&pyb_pin_type}, 10, 10, PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10},
-    {{&pyb_pin_type}, 12, 12, PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12},
-    {{&pyb_pin_type}, 13, 13, PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13},
-    {{&pyb_pin_type}, 14, 14, PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14},
-    {{&pyb_pin_type}, 15, 15, PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15},
+    {{&pyb_pin_type}, 0, FUNC_GPIO0, PERIPHS_IO_MUX_GPIO0_U},
+    {{&pyb_pin_type}, 1, FUNC_GPIO1, PERIPHS_IO_MUX_U0TXD_U},
+    {{&pyb_pin_type}, 2, FUNC_GPIO2, PERIPHS_IO_MUX_GPIO2_U},
+    {{&pyb_pin_type}, 3, FUNC_GPIO3, PERIPHS_IO_MUX_U0RXD_U},
+    {{&pyb_pin_type}, 4, FUNC_GPIO4, PERIPHS_IO_MUX_GPIO4_U},
+    {{&pyb_pin_type}, 5, FUNC_GPIO5, PERIPHS_IO_MUX_GPIO5_U},
+    {{&pyb_pin_type}, 9, FUNC_GPIO9, PERIPHS_IO_MUX_SD_DATA2_U},
+    {{&pyb_pin_type}, 10, FUNC_GPIO10, PERIPHS_IO_MUX_SD_DATA3_U},
+    {{&pyb_pin_type}, 12, FUNC_GPIO12, PERIPHS_IO_MUX_MTDI_U},
+    {{&pyb_pin_type}, 13, FUNC_GPIO13, PERIPHS_IO_MUX_MTCK_U},
+    {{&pyb_pin_type}, 14, FUNC_GPIO14, PERIPHS_IO_MUX_MTMS_U},
+    {{&pyb_pin_type}, 15, FUNC_GPIO15, PERIPHS_IO_MUX_MTDO_U},
     // GPIO16 is special, belongs to different register set, and
     // otherwise handled specially.
-    {{&pyb_pin_type}, 16, 16, -1, -1},
+    {{&pyb_pin_type}, 16, -1, -1},
 };
 
 STATIC uint8_t pin_mode[16 + 1];
@@ -130,7 +130,7 @@
     pyb_pin_obj_t *self = self_in;
 
     // pin name
-    mp_printf(print, "Pin(%u)", self->pin_id);
+    mp_printf(print, "Pin(%u)", self->phys_port);
 }
 
 // pin.init(mode, pull=Pin.PULL_NONE, af=-1)
@@ -202,7 +202,7 @@
     int wanted_pin = mp_obj_get_int(args[0]);
     pyb_pin_obj_t *pin = NULL;
     for (int i = 0; i < MP_ARRAY_SIZE(pyb_pin_obj); i++) {
-        if (pyb_pin_obj[i].pin_id == wanted_pin) {
+        if (pyb_pin_obj[i].phys_port == wanted_pin) {
             pin = (pyb_pin_obj_t*)&pyb_pin_obj[i];
             break;
         }
diff --git a/esp8266/modpybpwm.c b/esp8266/modpybpwm.c
index ccd5f56..871e4c3 100644
--- a/esp8266/modpybpwm.c
+++ b/esp8266/modpybpwm.c
@@ -47,7 +47,7 @@
 
 STATIC void pyb_pwm_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
     pyb_pwm_obj_t *self = MP_OBJ_TO_PTR(self_in);
-    mp_printf(print, "PWM(%u", self->pin->pin_id);
+    mp_printf(print, "PWM(%u", self->pin->phys_port);
     if (self->active) {
         mp_printf(print, ", freq=%u, duty=%u",
             pwm_get_freq(self->channel), pwm_get_duty(self->channel));
