Skip to content

Commit 2ad5d0f

Browse files
committed
ATECC and LSM6DS firmwares for Arduino Nano 33 IoT
1 parent 3a3e33b commit 2ad5d0f

File tree

13 files changed

+140
-1
lines changed

13 files changed

+140
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../arduino_nano_33_iot/board.c
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#define MICROPY_HW_BOARD_NAME "Arduino Nano 33 IoT"
2+
#define MICROPY_HW_MCU_NAME "samd21g18"
3+
4+
#define MICROPY_HW_LED_STATUS (&pin_PA17)
5+
6+
#define MICROPY_PORT_A (0)
7+
#define MICROPY_PORT_B (0)
8+
#define MICROPY_PORT_C (0)
9+
10+
#define DEFAULT_I2C_BUS_SCL (&pin_PB09)
11+
#define DEFAULT_I2C_BUS_SDA (&pin_PB08)
12+
13+
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
14+
#define DEFAULT_SPI_BUS_MOSI (&pin_PA16)
15+
#define DEFAULT_SPI_BUS_MISO (&pin_PA19)
16+
17+
#define DEFAULT_UART_BUS_RX (&pin_PB23)
18+
#define DEFAULT_UART_BUS_TX (&pin_PB22)
19+
20+
// USB is always used internally so skip the pin objects for it.
21+
#define IGNORE_PIN_PA24 1
22+
#define IGNORE_PIN_PA25 1
23+
24+
#define NANO_IOT_ATECC 1
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
USB_VID = 0x2341
2+
USB_PID = 0x8057
3+
USB_PRODUCT = "Arduino Nano 33 IoT"
4+
USB_MANUFACTURER = "Arduino"
5+
6+
CHIP_VARIANT = SAMD21G18A
7+
CHIP_FAMILY = samd21
8+
9+
INTERNAL_FLASH_FILESYSTEM = 1
10+
LONGINT_IMPL = NONE
11+
CIRCUITPY_SMALL_BUILD = 1
12+
13+
SUPEROPT_GC = 0
14+
15+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
16+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_binascii
17+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ATECC
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../arduino_nano_33_iot/pins.c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../arduino_nano_33_iot/board.c
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#define MICROPY_HW_BOARD_NAME "Arduino Nano 33 IoT"
2+
#define MICROPY_HW_MCU_NAME "samd21g18"
3+
4+
#define MICROPY_HW_LED_STATUS (&pin_PA17)
5+
6+
#define MICROPY_PORT_A (0)
7+
#define MICROPY_PORT_B (0)
8+
#define MICROPY_PORT_C (0)
9+
10+
#define DEFAULT_I2C_BUS_SCL (&pin_PB09)
11+
#define DEFAULT_I2C_BUS_SDA (&pin_PB08)
12+
13+
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
14+
#define DEFAULT_SPI_BUS_MOSI (&pin_PA16)
15+
#define DEFAULT_SPI_BUS_MISO (&pin_PA19)
16+
17+
#define DEFAULT_UART_BUS_RX (&pin_PB23)
18+
#define DEFAULT_UART_BUS_TX (&pin_PB22)
19+
20+
// USB is always used internally so skip the pin objects for it.
21+
#define IGNORE_PIN_PA24 1
22+
#define IGNORE_PIN_PA25 1
23+
24+
#define NANO_IOT_ATECC_LSM6DS 1
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
USB_VID = 0x2341
2+
USB_PID = 0x8057
3+
USB_PRODUCT = "Arduino Nano 33 IoT"
4+
USB_MANUFACTURER = "Arduino"
5+
6+
CHIP_VARIANT = SAMD21G18A
7+
CHIP_FAMILY = samd21
8+
9+
INTERNAL_FLASH_FILESYSTEM = 1
10+
LONGINT_IMPL = NONE
11+
CIRCUITPY_SMALL_BUILD = 1
12+
13+
SUPEROPT_GC = 0
14+
15+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
16+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_binascii
17+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ATECC
18+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
19+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LSM6DS
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../arduino_nano_33_iot/pins.c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../arduino_nano_33_iot/board.c
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#define MICROPY_HW_BOARD_NAME "Arduino Nano 33 IoT"
2+
#define MICROPY_HW_MCU_NAME "samd21g18"
3+
4+
#define MICROPY_HW_LED_STATUS (&pin_PA17)
5+
6+
#define MICROPY_PORT_A (0)
7+
#define MICROPY_PORT_B (0)
8+
#define MICROPY_PORT_C (0)
9+
10+
#define DEFAULT_I2C_BUS_SCL (&pin_PB09)
11+
#define DEFAULT_I2C_BUS_SDA (&pin_PB08)
12+
13+
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
14+
#define DEFAULT_SPI_BUS_MOSI (&pin_PA16)
15+
#define DEFAULT_SPI_BUS_MISO (&pin_PA19)
16+
17+
#define DEFAULT_UART_BUS_RX (&pin_PB23)
18+
#define DEFAULT_UART_BUS_TX (&pin_PB22)
19+
20+
// USB is always used internally so skip the pin objects for it.
21+
#define IGNORE_PIN_PA24 1
22+
#define IGNORE_PIN_PA25 1
23+
24+
#define NANO_IOT_LSM6DS 1
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
USB_VID = 0x2341
2+
USB_PID = 0x8057
3+
USB_PRODUCT = "Arduino Nano 33 IoT"
4+
USB_MANUFACTURER = "Arduino"
5+
6+
CHIP_VARIANT = SAMD21G18A
7+
CHIP_FAMILY = samd21
8+
9+
INTERNAL_FLASH_FILESYSTEM = 1
10+
LONGINT_IMPL = NONE
11+
CIRCUITPY_SMALL_BUILD = 1
12+
13+
SUPEROPT_GC = 0
14+
15+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
16+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
17+
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LSM6DS
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../arduino_nano_33_iot/pins.c

ports/atmel-samd/mpconfigport.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,15 @@
9696
#ifdef SAMD21
9797

9898
#if INTERNAL_FLASH_FILESYSTEM
99-
#define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE (64*1024)
99+
#if defined(NANO_IOT_ATECC)
100+
#define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE (51*1024)
101+
#elif defined(NANO_IOT_LSM6DS)
102+
#define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE (51*1024)
103+
#elif defined(NANO_IOT_ATECC_LSM6DS)
104+
#define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE (38*1024)
105+
#else
106+
#define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE (64*1024)
107+
#endif
100108
#else
101109
#define CIRCUITPY_INTERNAL_FLASH_FILESYSTEM_SIZE (0)
102110
#endif

0 commit comments

Comments
 (0)