Hello,
I am building a custom PCB that emulates my setup that I have working on a Nano 33 IoT board. My problem is that after I flash the Nano 33 IoT bootloader, I am unable to get it to connect to the PC over USB.
Current Setup:
-ATSAMD21GA-AUT chip in an Adafruit test socket.
-Test socket is wired up to a 3.3 VDC regulated power supply from a Sparkfun SAMD21 Dev Board.
-The socket is wired up to a SWD breakout from Adafruit.
-I have a USB-A female breakout for my USB port connection.
-I am using the internal crystal oscillator.
-I am flashing the chip over a J-Link with an Olimex ARM-JTAG-20-10 adapter using the Atmel Studio 7 software.
What I've tried:
-
I have tried downloading the Nano 33 IoT bootloader to the board but do not get a USB connection after the flash.
-
I have also tried downloading the Zero and MKR0 bootloader with the same result.
-
I have tried flashing the bare chip with the Sparkfun SAMD21 bootloader and that connects back over USB to the computer after flashing.
-
I have tried adding the Crystalless definition to the board_definitions_arduino_nano_33_iot.h file and tried recreating the bootloader with the "BOARD_ID=arduino_nano_33_iot NAME=samd21_ba_arduino_nano_33_iot make clean all" command. This was unsuccessful as well.
/* Frequency of the board main oscillator */
#define VARIANT_MAINOSC (32768ul)
#define CRYSTALLESS (1) -
I have tried flashing both versions of the nano 33 iot bootloader to the Sparkfun dev board and those connect back successfully after the flash.
I suspect that the problem lies in the use of the internal cyrstal with the Arduino bootloader. The dev board uses an external crystal but is otherwise similar in setup.
Does anyone have any additional advice?
References:
Sparkfun Dev Board: Sparkfun P/N #13672
Arduino Bootloaders: GitHub - arduino/ArduinoCore-samd: Arduino Core for SAMD21 CPU
Sparkfun Bootloader: SAMD21_Dev_Breakout/Firmware at master · sparkfun/SAMD21_Dev_Breakout · GitHub
Test Socket: Adafruit P/N #1241