Working (beta) ATSAMD51 board support package (BSP)

Working (beta) ATSAMD51 board support package (BSP)

great news for the arduino community today, we’ve got a working (beta) ATSAMD51 board support package (BSP) going, for the new cortex M4 chips from atmel/microchip.

thanks to arduino team for merging in an update to the CMSIS atmel file that includes ATSAMD51 files, as well as bumping up the bossac firmware tool, also needed for this new chipset.

these fancy chips are similar to the ATSAMD21 in many ways (e.g. nearly pin compatible, familiar peripherals), but are SUPER POWERFUL.

  • Cortex M4 core running at 120 MHz
  • Hardware DSP and floating point support
  • Up to 1 MByte flash, 256 KB RAM
  • Dual 1 MSPS DAC
  • Dual 1 MSPS ADC (with many muxed inputs)
  • 6+ SERCOMs, each one can be hardware SPI/UART/I2C
  • Parallel Camera Capture, can connect ‘raw’ camera sensors and transfer in a full image
  • QSPI flash memory support
  • Built in crypto engines with AES (256 bit), true RNG, Pubkey controller
  • SD/MMC controller
  • “configurable custom logic” – this one is particularly interesting/weird, you get latches and LUT you can link up
  • PDEC – rotary encoder hardware support
  • Lots o Timers and waveform generators, can do stuff like DMA 8 strands of NeoPixels GitHub - adafruit/Adafruit_NeoPXL8: DMA-driven 8-way concurrent NeoPixel driver for SAMD21 (M0+)
  • DMA, DMA, DMA!

these chips are now available from your favorite distributor, and are very attractively priced compared to STM32 and freescale chips. as you can imagine, we’ve pushed out the BSP because we’ve got some designs coming out soon.

you can sign up here Adafruit Metro M4 feat. Microchip ATSAMD51 : ID 3382 : $27.50 : Adafruit Industries, Unique & fun DIY electronics and kits and get notified when the first boards come out of the oven :slight_smile:

you can pick up our board support from

fixes, issues and kudos go here GitHub - adafruit/ArduinoCore-samd

Let’s make it the main processor for Arduino boards for the next 10 years or more.

That is good news, I have been checking that link every week or so since it was on your new products list. Also keeping an eye on CP GitHub activity, and I like what I have seen. I fear ARM-based MCU is going to be painful for me, but I think it is time to start working with them.

I would like to have a C based framework using the standard Debian toolchain packages binutils-arm-none-eabi gcc-arm-none-eabi gdb-arm-none-eabi libnewlib-arm-none-eabi. Since I can not seem to make the heap and stack memory behave reliably using C++ with AVR MCU's. I think my own experience and the fact that both MicroPython and Linux use C is very telling.