SAMD21G18 Development Board
SAMD21G18 Development Board
Programmable as an Arduino Zero.
SAMD21G18 in a 48-pin package
34 of the 38 SAMD21G18 IO pins on breadboard friendly connectors
I often need a board for quick evaluation of new sensors or peripherals or an application that won’t ever see production of more than a few units. This is the board that I have developed over time to get me a 32-bit processor with enough program memory and RAM so that programs can be developed without running out of memory. The SAMD21G18 has an awesome set of on-chip peripherals that has drivers available in the Arduino and Atmel Studio programming environments so I can get going quickly and concentrate on my application.
Key Features
Programmable as an Arduino Zero.
The PCB hosts:
- SAMD21G18 in a 48-pin package
- 3.3V regulator capable of delivering 300mA
- 32.768kHz Crystal
- Red, Green and Blue LED in a space saving package
- 400mA battery charger for LiPo Cell
- JST2 LiPo connector
- Charging LED
- Cortex/SWD 10-pin debug header
- On/Off switch
- Push-Push SD Card socket
- 34 of the 38 SAMD21G18 IO pins on breadboard friendly connectors
The board is supplied with an Arduino compatible bootloader pre-programmed.
Processor Features
- ARM Cortex-M0+ CPU running at up to 48MHz
- Single-cycle hardware multiplier
- 256KB in-system self-programmable Flash
- 32KB SRAM Memory
- Power-on reset (POR) and brown-out detection (BOD)
- External Interrupt Controller (EIC)
- 16 external interrupts
- One non-maskable interrupt
- Two-pin Serial Wire Debug (SWD) programming, test and debugging interface
- Idle and standby sleep modes
- SleepWalking peripherals
Processor Peripherals
- Six Serial Communication Interfaces, each configurable to operate as either:
- USART with full-duplex and single-wire half-duplex configuration
- I2C Bus up to 3.4MHz
- SMBUS/PMBUS
- SPI
- LIN slave
- 12-bit, 350ksps Analog-to-Digital Converter (ADC) with up to 14 channels
- Differential and single-ended input
- 1/2x to 16x programmable gain stage
- Automatic offset and gain error compensation
- Oversampling and decimation in hardware to support 13-, 14-, 15- or 16-bit resolution
- 10-bit, 350ksps Digital-to-Analog Converter (DAC)
- Two Analog Comparators (AC) with window compare function
- Up to five 16-bit Timer/Counters (TC), configurable as either:
- One 16-bit TC with compare/capture channels
- One 8-bit TC with compare/capture channels
- One 32-bit TC with compare/capture channels, by using two TCs
- Three 24-bit Timer/Counters for Control (TCC), with extended functions:
- Up to four compare channels with optional complementary output
- Generation of synchronized pulse width modulation (PWM) pattern across port pins
- 32-bit Real Time Counter (RTC) with clock/calendar function
- Watchdog Timer (WDT)
- One full-speed (12Mbps) Universal Serial Bus (USB) 2.0 interface
- Peripheral Touch Controller for up to 256-channel capacitive touch and proximity sensing
Battery Support
The board can be powered directly from the USB connector and while it is plugged in the on board charger will charge the LiPo cell to a cutoff voltage of 4.2V. The charge current is set to 400mA and trickle charge and automatic float charging is supported. The battery will be charged even if the On/Off switch is in the “OFF” position. The board operates normally when the battery is being charged and if the USB is unplugged it continues operating without being reset. The battery voltage is available on one of the connector pins to power external peripherals directly. The battery voltage can be measured on channel seven of the internal ADC.
uSD Card Support
The board can be supplied with the optional Push-Push micro-SD card socket soldered to the bottom of the board. The connector is connected to the SPI interface used by the Arduino environment. Including the SD.h header file in the project results in a SD-card with file read and write fully supported.
Feather Compatibility
The pinout should be Feather compatible and most expansion boards should work. It is mostly untested at the moment.