From 528b5d7c4a2fbed1b2a96e4c29cf4b334e2598dd Mon Sep 17 00:00:00 2001 From: Mikey Sklar Date: Fri, 11 Sep 2026 19:24:27 -0700 Subject: [PATCH 1/2] nordic: load native .mpy by default on nRF52 boards Turn on CIRCUITPY_LOAD_NATIVE for the nordic port. It fits on every nRF52 board except these sixteen, which opt out in their own mpconfigboard.mk: ADM_B_NRF52840_1, bless_dev_board_multi_sensor, bluemicro833, bluemicro840, electronut_labs_blip, electronut_labs_papyr, makerdiary_nrf52840_mdk_usb_dongle, nice_nano, pca10059, pillbug, raytac_mdbt50q-db-40, raytac_mdbt50q-rx, ssci_isp1807_dev_board, ssci_isp1807_micro_board, supermini_nrf52840, teknikio_bluebird Co-Authored-By: Claude Opus 5 (1M context) --- ports/nordic/boards/ADM_B_NRF52840_1/mpconfigboard.mk | 1 + .../nordic/boards/bless_dev_board_multi_sensor/mpconfigboard.mk | 1 + ports/nordic/boards/bluemicro833/mpconfigboard.mk | 1 + ports/nordic/boards/bluemicro840/mpconfigboard.mk | 1 + ports/nordic/boards/electronut_labs_blip/mpconfigboard.mk | 1 + ports/nordic/boards/electronut_labs_papyr/mpconfigboard.mk | 1 + .../boards/makerdiary_nrf52840_mdk_usb_dongle/mpconfigboard.mk | 1 + ports/nordic/boards/nice_nano/mpconfigboard.mk | 1 + ports/nordic/boards/pca10059/mpconfigboard.mk | 1 + ports/nordic/boards/pillbug/mpconfigboard.mk | 1 + ports/nordic/boards/raytac_mdbt50q-db-40/mpconfigboard.mk | 1 + ports/nordic/boards/raytac_mdbt50q-rx/mpconfigboard.mk | 1 + ports/nordic/boards/ssci_isp1807_dev_board/mpconfigboard.mk | 1 + ports/nordic/boards/ssci_isp1807_micro_board/mpconfigboard.mk | 1 + ports/nordic/boards/supermini_nrf52840/mpconfigboard.mk | 1 + ports/nordic/boards/teknikio_bluebird/mpconfigboard.mk | 1 + ports/nordic/mpconfigport.mk | 1 + 17 files changed, 17 insertions(+) diff --git a/ports/nordic/boards/ADM_B_NRF52840_1/mpconfigboard.mk b/ports/nordic/boards/ADM_B_NRF52840_1/mpconfigboard.mk index f3a2e830dd7..d7cbcecb540 100644 --- a/ports/nordic/boards/ADM_B_NRF52840_1/mpconfigboard.mk +++ b/ports/nordic/boards/ADM_B_NRF52840_1/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "AtelierDuMaker" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/bless_dev_board_multi_sensor/mpconfigboard.mk b/ports/nordic/boards/bless_dev_board_multi_sensor/mpconfigboard.mk index 90b0908505e..78ead0d13e0 100644 --- a/ports/nordic/boards/bless_dev_board_multi_sensor/mpconfigboard.mk +++ b/ports/nordic/boards/bless_dev_board_multi_sensor/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Switch Science, Inc." MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/bluemicro833/mpconfigboard.mk b/ports/nordic/boards/bluemicro833/mpconfigboard.mk index e1502f09b55..48bd5334f5c 100644 --- a/ports/nordic/boards/bluemicro833/mpconfigboard.mk +++ b/ports/nordic/boards/bluemicro833/mpconfigboard.mk @@ -13,6 +13,7 @@ CIRCUITPY_AUDIOPWMIO = 0 CIRCUITPY_AUDIOMIXER = 0 CIRCUITPY_KEYPAD = 1 CIRCUITPY_KEYPAD_DEMUX = 0 +CIRCUITPY_LOAD_NATIVE = 0 CIRCUITPY_NVM = 0 CIRCUITPY_ONEWIREIO = 0 CIRCUITPY_PIXELBUF = 1 diff --git a/ports/nordic/boards/bluemicro840/mpconfigboard.mk b/ports/nordic/boards/bluemicro840/mpconfigboard.mk index 16d36704a3e..238ec7b97b4 100644 --- a/ports/nordic/boards/bluemicro840/mpconfigboard.mk +++ b/ports/nordic/boards/bluemicro840/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "nrf52.jpconstantineau.com" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/electronut_labs_blip/mpconfigboard.mk b/ports/nordic/boards/electronut_labs_blip/mpconfigboard.mk index fc59a101e45..a6c464e4cf7 100644 --- a/ports/nordic/boards/electronut_labs_blip/mpconfigboard.mk +++ b/ports/nordic/boards/electronut_labs_blip/mpconfigboard.mk @@ -12,3 +12,4 @@ CIRCUITPY_AUDIOIO = 0 CIRCUITPY_DISPLAYIO = 1 CIRCUITPY_STAGE = 1 CIRCUITPY_DIGITALINOUT_PROTOCOL = 0 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/electronut_labs_papyr/mpconfigboard.mk b/ports/nordic/boards/electronut_labs_papyr/mpconfigboard.mk index 569dccc9c4a..0cace0204e3 100644 --- a/ports/nordic/boards/electronut_labs_papyr/mpconfigboard.mk +++ b/ports/nordic/boards/electronut_labs_papyr/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Electronut Labs" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/makerdiary_nrf52840_mdk_usb_dongle/mpconfigboard.mk b/ports/nordic/boards/makerdiary_nrf52840_mdk_usb_dongle/mpconfigboard.mk index 1a650d5d4db..35547b75c3f 100644 --- a/ports/nordic/boards/makerdiary_nrf52840_mdk_usb_dongle/mpconfigboard.mk +++ b/ports/nordic/boards/makerdiary_nrf52840_mdk_usb_dongle/mpconfigboard.mk @@ -8,3 +8,4 @@ MCU_CHIP = nrf52840 CIRCUITPY_BUILD_EXTENSIONS = hex,uf2 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/nice_nano/mpconfigboard.mk b/ports/nordic/boards/nice_nano/mpconfigboard.mk index 511a754e69a..b5efd4f6db5 100644 --- a/ports/nordic/boards/nice_nano/mpconfigboard.mk +++ b/ports/nordic/boards/nice_nano/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Nice Keyboards" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/pca10059/mpconfigboard.mk b/ports/nordic/boards/pca10059/mpconfigboard.mk index fe702a50c94..af77ba2345e 100644 --- a/ports/nordic/boards/pca10059/mpconfigboard.mk +++ b/ports/nordic/boards/pca10059/mpconfigboard.mk @@ -8,3 +8,4 @@ MCU_CHIP = nrf52840 CIRCUITPY_BUILD_EXTENSIONS = bin,uf2 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/pillbug/mpconfigboard.mk b/ports/nordic/boards/pillbug/mpconfigboard.mk index d917ba01578..a485fc9cad8 100644 --- a/ports/nordic/boards/pillbug/mpconfigboard.mk +++ b/ports/nordic/boards/pillbug/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Mechwild" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/raytac_mdbt50q-db-40/mpconfigboard.mk b/ports/nordic/boards/raytac_mdbt50q-db-40/mpconfigboard.mk index f49618e776d..3265b888958 100644 --- a/ports/nordic/boards/raytac_mdbt50q-db-40/mpconfigboard.mk +++ b/ports/nordic/boards/raytac_mdbt50q-db-40/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Raytac Corporation" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/raytac_mdbt50q-rx/mpconfigboard.mk b/ports/nordic/boards/raytac_mdbt50q-rx/mpconfigboard.mk index 08c7266d36b..93ac977e1d8 100644 --- a/ports/nordic/boards/raytac_mdbt50q-rx/mpconfigboard.mk +++ b/ports/nordic/boards/raytac_mdbt50q-rx/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Raytac Corporation" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/ssci_isp1807_dev_board/mpconfigboard.mk b/ports/nordic/boards/ssci_isp1807_dev_board/mpconfigboard.mk index 34b39d13217..4b0b90e5825 100644 --- a/ports/nordic/boards/ssci_isp1807_dev_board/mpconfigboard.mk +++ b/ports/nordic/boards/ssci_isp1807_dev_board/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Switch Science, Inc." MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/ssci_isp1807_micro_board/mpconfigboard.mk b/ports/nordic/boards/ssci_isp1807_micro_board/mpconfigboard.mk index ae3a750f80f..3041078adf3 100644 --- a/ports/nordic/boards/ssci_isp1807_micro_board/mpconfigboard.mk +++ b/ports/nordic/boards/ssci_isp1807_micro_board/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "Switch Science, Inc." MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/supermini_nrf52840/mpconfigboard.mk b/ports/nordic/boards/supermini_nrf52840/mpconfigboard.mk index 699d19b7706..72616717408 100644 --- a/ports/nordic/boards/supermini_nrf52840/mpconfigboard.mk +++ b/ports/nordic/boards/supermini_nrf52840/mpconfigboard.mk @@ -6,3 +6,4 @@ USB_MANUFACTURER = "ICBbuy" MCU_CHIP = nrf52840 INTERNAL_FLASH_FILESYSTEM = 1 +CIRCUITPY_LOAD_NATIVE = 0 diff --git a/ports/nordic/boards/teknikio_bluebird/mpconfigboard.mk b/ports/nordic/boards/teknikio_bluebird/mpconfigboard.mk index 2339a950fed..4a316aea20c 100644 --- a/ports/nordic/boards/teknikio_bluebird/mpconfigboard.mk +++ b/ports/nordic/boards/teknikio_bluebird/mpconfigboard.mk @@ -10,5 +10,6 @@ CIRCUITPY_ANALOGIO = 1 CIRCUITPY_AUDIOCORE = 1 CIRCUITPY_AUDIOPWMIO = 1 CIRCUITPY_DIGITALIO = 1 +CIRCUITPY_LOAD_NATIVE = 0 CIRCUITPY_NEOPIXEL_WRITE = 1 CIRCUITPY_TIME = 1 diff --git a/ports/nordic/mpconfigport.mk b/ports/nordic/mpconfigport.mk index a9299ee60aa..bbe4b6dce26 100644 --- a/ports/nordic/mpconfigport.mk +++ b/ports/nordic/mpconfigport.mk @@ -56,6 +56,7 @@ CIRCUITPY_BLE_FILE_SERVICE ?= 1 CIRCUITPY_BLE_SERIAL_SERVICE ?= 1 CIRCUITPY_COMPUTED_GOTO_SAVE_SPACE ?= 1 +CIRCUITPY_LOAD_NATIVE ?= 1 # nRF52840-specific From 5809b090cdc22436fb72fa2705223bf6f0d358fd Mon Sep 17 00:00:00 2001 From: Mikey Sklar Date: Sun, 13 Sep 2026 15:26:40 -0700 Subject: [PATCH 2/2] nordic: keep the native .mpy loader off on pca10100 After the v1.29 merge the ru build overflows by 232 bytes with the loader on (1,384 bytes free with it off). Co-Authored-By: Claude Fable 5.1 --- ports/nordic/boards/pca10100/mpconfigboard.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/nordic/boards/pca10100/mpconfigboard.mk b/ports/nordic/boards/pca10100/mpconfigboard.mk index 9997abb8bfe..72053e7cb03 100644 --- a/ports/nordic/boards/pca10100/mpconfigboard.mk +++ b/ports/nordic/boards/pca10100/mpconfigboard.mk @@ -11,3 +11,4 @@ CIRCUITPY_ONEWIREIO = 0 CIRCUITPY_AUDIOMIXER = 0 CIRCUITPY_RAINBOWIO = 0 CIRCUITPY_USB_MIDI = 0 +CIRCUITPY_LOAD_NATIVE = 0