In this Section
↩ Return Home
↩ Return to Resources
<aside> 📢 Unless you've soldered on a new SAMD51 microcontroller, it's likely the bootloader is already programmed for you.
If you're looking how to update the bootloader or firmware, see Updating PyCubed
.uf2files for your respective board version from the PyCubed GitHub
⭐ bootloader flashing is only required once: on brand-new SAMD51 that haven't been used on a PyCubed board before.
With the requirements above satisfied, plug the JTAG programmer into your computer and open Atmel Studio 7.
Navigate to Tools → Device Programming, as shown:
Select the appropriate Tool and Device from the drop-down menus and click apply.
❗ make sure to choose the correct microcontroller part number. Visually check the part markings on the SAMD51 to confirm if it's the SAMD51x19 or SAMD51x20.
Navigate to "Memories" on the left-hand side.
Uncheck the "Erase Flash before programming" box, and then click the "..." button, as shown:
Navigate to the directory you saved the GitHub firmware files, and change the file parameters from "Programming Files" to "Binary" and shown:
.bin file downloaded previously and click the "Open" button:
Now make the following connections to the PyCubed board. If you're careful, you can avoid soldering header-pins to the board by just holding jumper-wire pins (or pogo pins, if you have them) against the through-holes during programming. When in doubt, solder the header pins.
[ ] Main micro USB cable (to provide power)
NOTE: it's good practice to use a multimeter and confirm 3.3V is present when the USB connection is made to the PyCubed board. If the voltage doesn't read 3.3V between "3V3" and "GND" you need to troubleshoot that first.
[ ] VTref (connected to 3V3)
[ ] TMS (connected to SWDIO)
[ ] TCK (connected to SWCLK)
[ ] GND (connected to GND)
With the connections made, return to Atmel Studio 7 and click the "Read" button. A device signature should populate. If an error appears, check connections and troubleshoot the specific error message.
After receiving a device signature, click the "Program" button. Programming should only take a few moments.
Successful bootloader programming will trigger the PyCubed board to reboot. After a few moments, the board should mount to the computer as a
Drag the CircuitPython firmware
.uf2 file downloaded previously to the
As soon as the file is done transferring, the board will reboot again and mount as
PYCUBED and is now a functioning CircuitPython board. Congratulations! 🎉
Note: you may wish to load the default libraries by copying everything from the respective board version here: https://github.com/pycubed/software to your