diff --git a/stmhal/pin.c b/stmhal/pin.c
index b71c93efc35115c1b4b7f74adae609921af9b78a..91d5d916da9a149e81379d6ebf584588ca63ac79 100644
--- a/stmhal/pin.c
+++ b/stmhal/pin.c
@@ -30,8 +30,8 @@
 
 #include "py/nlr.h"
 #include "py/runtime.h"
-#include "pin.h"
 #include MICROPY_HAL_H
+#include "pin.h"
 
 /// \moduleref pyb
 /// \class Pin - control I/O pins
diff --git a/stmhal/pin_named_pins.c b/stmhal/pin_named_pins.c
index 420a5d9e0ac678025156f1950086d5a81d171832..f6ee16571147150ec122ebcffdd1ca89b0962404 100644
--- a/stmhal/pin_named_pins.c
+++ b/stmhal/pin_named_pins.c
@@ -28,8 +28,8 @@
 #include <string.h>
 
 #include "py/runtime.h"
-#include "pin.h"
 #include MICROPY_HAL_H
+#include "pin.h"
 
 STATIC void pin_named_pins_obj_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) {
     pin_named_pins_obj_t *self = self_in;
diff --git a/teensy/Makefile b/teensy/Makefile
index 20ba41901d00bb02b104a1b639b9c5462d42db6f..bf3da67801d4072807dcf88f7291a07fc471d710 100644
--- a/teensy/Makefile
+++ b/teensy/Makefile
@@ -31,7 +31,6 @@ CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mcpu=cortex-m4 -msoft-float -mfloat
 
 INC =  -I.
 INC += -I..
-INC += -I$(PY_SRC)
 INC += -I../stmhal
 INC += -I$(BUILD)
 INC += -Icore
diff --git a/teensy/help.c b/teensy/help.c
index 598b6f4e305abfb8128a68f581cc7cde9419552f..38a8d550f97881f64c5df6205993fb050fc9cfe9 100644
--- a/teensy/help.c
+++ b/teensy/help.c
@@ -26,11 +26,7 @@
 
 #include <stdio.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
+#include "py/obj.h"
 
 STATIC const char *help_text =
 "Welcome to Micro Python!\n"
diff --git a/teensy/import.c b/teensy/import.c
index 5332ebe599fad74574d9876a5d5731250401a613..2d5225b88884d1724f48f3e8bb2424d8aa11308e 100644
--- a/teensy/import.c
+++ b/teensy/import.c
@@ -1,11 +1,6 @@
 #include <stdio.h>
-#include <stdint.h>
-
-#include "mpconfig.h"
-#include "misc.h"
-#include "qstr.h"
-#include "lexer.h"
 
+#include "py/lexer.h"
 #include "memzip.h"
 
 mp_import_stat_t mp_import_stat(const char *path) {
diff --git a/teensy/lcd.c b/teensy/lcd.c
index 5b991aac779ef3eb2c1d29eddb840c08803dac11..e79b7d5acb1fc6d4e0120e0f90031ca067d70039 100644
--- a/teensy/lcd.c
+++ b/teensy/lcd.c
@@ -1,9 +1,4 @@
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "parse.h"
-#include "obj.h"
+#include "py/obj.h"
 #include "../stmhal/lcd.h"
 
 void lcd_init(void) {
diff --git a/teensy/led.c b/teensy/led.c
index 2f6e8d6301fbd3182f028ece5e596c679756450c..fc60167b98cce13815ee44a77006dd9506df7aea 100644
--- a/teensy/led.c
+++ b/teensy/led.c
@@ -2,12 +2,8 @@
 
 #include "Arduino.h"
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
+#include "py/nlr.h"
+#include "py/runtime.h"
 #include "led.h"
 #include MICROPY_HAL_H
 #include "pin.h"
diff --git a/teensy/lexermemzip.c b/teensy/lexermemzip.c
index 4c363cd6dcc91ecd13559564148e3444c25a31dc..72fe6b1c6b5dce5da2a776419404efc4d82e1121 100644
--- a/teensy/lexermemzip.c
+++ b/teensy/lexermemzip.c
@@ -1,10 +1,6 @@
-#include <stdint.h>
 #include <stdlib.h>
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "qstr.h"
-#include "lexer.h"
+#include "py/lexer.h"
 #include "memzip.h"
 
 mp_lexer_t *mp_lexer_new_from_file(const char *filename)
diff --git a/teensy/main.c b/teensy/main.c
index bc687fa6752c903e408cdd8bf7a896883e5ed270..f3b0079bbd704bcbda26816b5209f72d88aa0ef3 100644
--- a/teensy/main.c
+++ b/teensy/main.c
@@ -3,19 +3,15 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "qstr.h"
-#include "nlr.h"
-#include "lexer.h"
-#include "lexermemzip.h"
-#include "parse.h"
-#include "obj.h"
-#include "runtime.h"
-#include "gc.h"
+#include "py/nlr.h"
+#include "py/parse.h"
+#include "py/lexer.h"
+#include "py/runtime.h"
+#include "py/gc.h"
 #include "gccollect.h"
 #include "pyexec.h"
 #include "readline.h"
+#include "lexermemzip.h"
 
 #include "Arduino.h"
 #include MICROPY_HAL_H
diff --git a/teensy/memzip.c b/teensy/memzip.c
index 7934bea6b2aacf8118e398c0bf819a6b3271333e..88c0843818c401d8d8c4ede79ee563f69650c0e9 100644
--- a/teensy/memzip.c
+++ b/teensy/memzip.c
@@ -1,8 +1,8 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
-#include "mpconfigport.h"
-#include "misc.h"
+#include "py/mpconfig.h"
+#include "py/misc.h"
 #include "memzip.h"
 
 extern uint8_t _staticfs[];
diff --git a/teensy/mk20dx256_prefix.c b/teensy/mk20dx256_prefix.c
index 048b64316ae75c177215fef7863869f81cc10b84..d8e7480b5891ec311f56ef0155271f1d69896ba8 100644
--- a/teensy/mk20dx256_prefix.c
+++ b/teensy/mk20dx256_prefix.c
@@ -1,15 +1,10 @@
 // stm32fxx-prefix.c becomes the initial portion of the generated pins file.
 
 #include <stdio.h>
-#include <stdint.h>
 #include <mk20dx128.h>
 
+#include "py/obj.h"
 #include "teensy_hal.h"
-
-#include "mpconfig.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
 #include "pin.h"
 
 #define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
diff --git a/teensy/modpyb.c b/teensy/modpyb.c
index 67c5896a5afde6d06d3b68721122229d6cd0eee7..13454b2534c8826d5719e7c34915e7ec178bc69f 100644
--- a/teensy/modpyb.c
+++ b/teensy/modpyb.c
@@ -29,14 +29,11 @@
 #include <mk20dx128.h>
 #include "Arduino.h"
 
-#include "mpconfig.h"
-#include "misc.h"
+#include "py/obj.h"
+#include "py/gc.h"
 
 #include "teensy_hal.h"
 
-#include "qstr.h"
-#include "obj.h"
-#include "gc.h"
 #include "gccollect.h"
 #include "irq.h"
 #include "systick.h"
diff --git a/teensy/pin_defs_teensy.c b/teensy/pin_defs_teensy.c
index 35be6699705d88f7ace476ea50862e92b20ae580..fd2476f7bc2265d491d955808abff25143ff3a99 100644
--- a/teensy/pin_defs_teensy.c
+++ b/teensy/pin_defs_teensy.c
@@ -1,11 +1,6 @@
 #include <stdint.h>
 #include <mk20dx128.h>
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
+#include "py/runtime.h"
 #include MICROPY_HAL_H
 #include "pin.h"
 
diff --git a/teensy/reg.c b/teensy/reg.c
index 8783a8351ff0113087d6f201a4ad5e3631db1d20..cbc427d876d40cdafdeaaed8049f7205e1769694 100644
--- a/teensy/reg.c
+++ b/teensy/reg.c
@@ -1,11 +1,6 @@
 #include <stdio.h>
 #include <string.h>
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
+#include "py/runtime.h"
 #include "reg.h"
 
 #if MICROPY_REG
diff --git a/teensy/teensy_hal.c b/teensy/teensy_hal.c
index 6e9a27c30d4de699b580ea12e7b0701dc653a05d..c28dd918282132009c5f6faf84ecb746cd1c9c17 100644
--- a/teensy/teensy_hal.c
+++ b/teensy/teensy_hal.c
@@ -1,7 +1,6 @@
 #include <stdio.h>
-#include <stdint.h>
 
-#include "mpconfig.h"
+#include "py/mpconfig.h"
 
 #include "Arduino.h"
 
diff --git a/teensy/timer.c b/teensy/timer.c
index a4051e608c44f40733f1b825f3f5172b5ca9faff..e048f61d8a89f375c460dd9e8156b4f434bf044a 100644
--- a/teensy/timer.c
+++ b/teensy/timer.c
@@ -29,18 +29,13 @@
 #include <string.h>
 #include <stddef.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
-#include "pfenv.h"
+#include "py/nlr.h"
+#include "py/runtime.h"
+#include "py/pfenv.h"
+#include "py/gc.h"
 #include MICROPY_HAL_H
-#include "gc.h"
 #include "pin.h"
 #include "reg.h"
-
 #include "timer.h"
 
 typedef enum {
diff --git a/teensy/uart.c b/teensy/uart.c
index 4751e3293f97389a9fc6f70f5028e1a44f5dff67..7e08366b2e2c4ced6ac1f15ba4c50d1d3a2fde26 100644
--- a/teensy/uart.c
+++ b/teensy/uart.c
@@ -27,12 +27,8 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
+#include "py/nlr.h"
+#include "py/runtime.h"
 #include MICROPY_HAL_H
 #include "bufhelper.h"
 #include "uart.h"
diff --git a/teensy/usb.c b/teensy/usb.c
index d1601c32d3e7d107d5bd255e0411bd64c5a48900..ed96826b350f9bab1a61e8761cde672ddab2b2ec 100644
--- a/teensy/usb.c
+++ b/teensy/usb.c
@@ -1,13 +1,8 @@
 #include <string.h>
-#include <stdint.h>
 
-#include "Arduino.h"
+#include "py/runtime.h"
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
+#include "Arduino.h"
 
 #include "usb.h"
 #include "usb_serial.h"