SAM D21G17D Curiosity Nano Evaluation Kit User's Guide
Preface
The SAMD21G17D Curiosity Nano Evaluation Kit (DM320119) is a hardware platform to evaluate the SAMD21G17D
microcontroller (MCU), and it is supported by the MPLAB® X Integrated Development Environment (IDE). The
evaluation kit provides an easy access to the features of the SAMD21G17D to integrate the device into a custom
design. The Curiosity Nano series of evaluation kits include an On-Board Nano Debugger, hence no external tools
are necessary to program the SAMD21G17D device. The SAMD21G17D Curiosity Nano Evaluation Kit is shown
below.
The Microchip Website.................................................................................................................................18
The SAMD21G17D Curiosity Nano evaluation kit is a hardware platform used to evaluate the SAMD21G17D.
Figure 1-1. Kit Overview
SAM D21G17D
Introduction
1.1 Features
The following are features of the SAMD21G17D Curiosity Nano evaluation kit:
• SAMD21G17D microcontroller
• One yellow user LED
• One mechanical user switch
• On-Board Nano Debugger
– Board identification in MPLAB X IDE
– One green power/status LED
– Programing and debugging
– Virtual COM port (CDC)
– One logic analyzer (DGI GPIO)
• USB powered
• Adjustable target voltage
– MIC5353 LDO regulator controlled by the On-Board Nano Debugger
– 1.7V to 3.6V output voltage
– 500 mA maximum output current (limited by ambient temperature and output voltage)
Follow these steps to explore the Curiosity Nano platform:
1.Download MPLAB X IDE.
2.Launch MPLAB X IDE.
3.Connect a USB cable (Standard-A to Micro-B or Micro-AB) between the PC and the debug USB port on the
kit.
When the Curiosity Nano kit is connected to the computer for the first time, the operating system will perform a driver
software installation. The driver file supports both 32-bit and 64-bit versions of Microsoft® Windows® XP, Windows
Vista®, Windows 7, Windows 8, and Windows 10. The drivers for the kit are included with MPLAB X IDE.
After the Curiosity Nano board is powered, the green status LED will be lit and MPLAB X IDE will auto-detect which
Curiosity Nano board is connected. MPLAB X IDE will populate relevant information like data sheets and kit
documentation in the kit window. The SAMD21G17D device is programmed and debugged by the On-Board Nano
Debugger, hence no external programmer or debugger tool is required.
Curiosity Nano is an evaluation platform that provides a set of small boards with access to most of the microcontroller
I/Os. The platform consists of a series of low pin-count microcontroller (MCU) boards, which are integrated with
MPLAB X IDE to present relevant user guides, application notes, data sheets, and example codes. The platform
features a Virtual COM port (CDC) for serial communication to a host PC and a Data Gateway Interface (DGI) GPIO.
3.1 On-Board Nano Debugger
The SAMD21G17D Curiosity Nano contains an On-Board Nano Debugger for programming and debugging. The OnBoard Nano Debugger is a complex USB device consists of several interfaces, such as a debugger, a mass storage
device, a data gateway, and a Virtual COM port (CDC). Together with MPLAB X IDE, the On-Board Nano Debugger
interface can program and debug the SAMD21G17D. An DGI is available for use with the logic analyzer channels for
code instrumentation to visualize program flow. DGI GPIOs can be graphed using the Data Visualizer. The Virtual
COM port is connected to a UART on the SAMD21G17D and it provides an easy way to communicate with the target
application through terminal software. The On-Board Nano Debugger controls one Power/Status LED (marked PS)
on the SAMD21G17D Curiosity Nano board. The following table describes how the LED is controlled in different
operation modes.
Table 3-1. On-Board Nano Debugger LED Control
Operation ModeStatus LED
SAM D21G17D
Curiosity Nano
Boot Loader mode LED blink at 1 Hz during power up.
Power-upLED is lit, constant.
Normal operationLED is lit, constant.
ProgrammingActivity indicator, the LED flashes slowly during programming or debugging.
FaultThe LED flashes fast if a power fault is detected.
Sleep/OffLED is OFF. The On-Board Nano Debugger is either in Sleep mode or Power-Down mode. This
3.1.1 Virtual COM Port
A general-purpose USB serial bridge between a host PC and a target device.
3.1.1.1 Overview
The debugger implements a complex USB device that includes a standard Communications Device Class (CDC)
interface, which appears on the host as a Virtual COM Port. The CDC can be used to stream arbitrary data in both
directions between the host and the target. Characters sent from the host will appear in UART form on the CDC TX
pin, and UART characters sent into the CDC RX pin will be sent back to the host. On Windows machines, the CDC
will enumerate as the Curiosity Virtual COM Port and appear in the ports section of the device manager. The COM
port number is usually shown here.
Note: On the older version of Windows systems a USB driver is required for CDC. This driver is included in Atmel
Studio and MPLAB X IDE installations. On Linux machines, the CDC will enumerate and appear as /dev/ttyACM#.
On MAC machines, the CDC will enumerate and appear as /dev/tty.usbmodem#. Depending on which terminal
program is used, it will appear in the available list of modems as usbmodem#.
will occur only if the kit is externally powered
®
3.1.1.2 Limitations
Not all UART features are implemented in the debugger CDC, and the constraints are outlined below:
• Baud rate: Must be in the range of 1200 bps to 500 kbps. Values outside this range will be capped to these
values, without warning. Baud rate can be changed on-the-fly.
• Character format: Only 8-bit characters are supported.
During USB enumeration, the host OS will start both communication and data pipes of the CDC interface. At this
point, it is possible to set and read baud rate and other UART parameters of the CDC, but data sending and receiving
will not be enabled. When a terminal connects on the host, it must assert the DTR signal. This is a virtual control
signal that is implemented on the USB interface but not in hardware on the debugger. Asserting DTR from the host
will indicate to the debugger that a CDC session is active, and it will enable its level shifters (if available), and start
the CDC data send and receive mechanisms. Deasserting the DTR signal will not disable the level shifters, but it will
disable the receiver, hence no further data will be streamed to the host. Data packets that are already queued up for
sending to the target will continue to be sent out, but no further data will be accepted.
3.1.1.4 Advanced Use
When the CDC Override mode is in normal operation, the On-Board Nano Debugger is a true UART bridge between
the host and the device. However, under certain use cases, the debugger can override the Basic Operating mode
and use the CDC pins for other purposes. Dropping a text file (with extension .txt) into the debugger’s mass
storage drive can be used to send characters out of the CDC TX pin. The text file must start with the characters:
CMD:SEND_UART=. The maximum message length is 50 characters, and all remaining data in the frame is ignored.
The default baud rate used in this mode is 9600 bps, but if the CDC is already active or has been configured, the
recently used baud rate still applies.
USB-Level Framing Considerations
Sending data from the host to the CDC can be done byte-wise or in blocks, which will be chunked into 64-byte USB
frames. Each frame will be queued up for sending to the CDC TX pin. Sending a small amount of data per frame can
be inefficient, particularly at low-baud rates, because the debugger buffers frames, not bytes. A maximum of 4 x 64byte frames can be active at any time, the debugger will throttle the incoming frames accordingly. Sending full 64byte frames containing data is the most efficient. When receiving data from the target, the debugger will queue up
incoming bytes into 64-byte frames, which are sent to the USB queue for transmission to the host when they are full.
Incomplete frames are also pushed to the USB queue at approximately 100 ms intervals, triggered by USB start-offrame tokens. Up to 8 x 64-byte frames can be active at any time. If the host or software running on it, fails to receive
data fast enough, an overrun will occur. When this happens the last-filled buffer frame will be recycled instead of
being sent to the USB queue, and a full frame of data will be lost. To prevent this occurrence, the user must ensure
that the CDC data pipe is being read continuously, or the incoming data rate must be reduced.
Note: Mass storage disk is not supported during this release.
SAM D21G17D
Curiosity Nano
3.1.2 Mass Storage Disk
Not supported at this time.
3.2 Curiosity Nano Standard Pinout
The twelve edge connections closest to the USB connector on Curiosity Nano kits have a standardized pinout. The
program and debug pins have different functions depending on the target programming interface as shown in the
following table and figure.
The evaluation kit is powered through the USB port and contains two regulators for generating 3.3V for the debugger
and an adjustable regulator for the target. The voltage from the USB connector can vary between 4.4V-5.25V
(according to the USB specification) and will limit the maximum voltage to the target. The following figure shows the
entire power supply system on the SAMD21G17D Curiosity Nano.
The target voltage regulator is a MIC5353 variable output LDO. The On-Board Nano Debugger can adjust the voltage
output that is supplied to the kit target section by manipulating the MIC5353's feedback voltage. The hardware
implementation is limited to an approximate voltage range from 1.7V-5.1V. Additional output voltage limits are
configured in the debugger firmware to ensure that the output voltage never exceeds the hardware limits of the
SAMD21G17D microcontroller. The voltage limits configured in the On-Board Nano Debugger on the SAMD21G17D
Curiosity Nano are 1.7V-3.6 V. The target voltage is set to 3.3V in production and can be changed through Atmel
Studio. Any change to the target voltage done in Atmel Studio is persistent, even through a power toggle. The
MIC5353 supports a maximum current load of 500 mA. It is an LDO regulator in a small package, placed on a small
PCB, and the thermal shutdown condition can be reached at lower loads than 500 mA. The maximum current load
depends on the input voltage, set output voltage, and the ambient temperature. The following figure shows the safe
operation area for the regulator with an input voltage of 5.1V and an ambient temperature of 23°C.
Figure 3-3. Target Regulator Safe Operation Area
SAM D21G17D
Curiosity Nano
3.3.2 External Supply
The SAMD21G17D Curiosity Nano evaluation kit can be powered by an external voltage instead of the on-board
target regulator. When the Voltage Off (VOFF) pin is shorted to ground (GND), the On-Board Nano Debugger
firmware disables the target regulator and it is safe to apply an external voltage to the VTG pin.
Programming, debugging, and data streaming are still possible while using the external power. The debugger and
signal level shifters will be powered from the USB cable. Both regulators, the debugger, and the level shifters are
powered down when the USB cable is removed.
Applying an external voltage to the VTG pin without shorting VOFF to GND may cause permanent damage
to the kit.
Absolute maximum external voltage is 5.5V for the level shifters on board. Applying a higher voltage may
cause permanent damage to the kit.
DS70005409A-page 8
3.4 Disconnecting the On-Board Nano Debugger
The following block diagram shows connections between the debugger and the SAMD21G17D microcontroller. The
round boxes represent connections to the board edge on the SAMD21G17D Curiosity Nano. The signal names are
shown in Figure 3-1 and printed in silkscreen on the bottom side of the board.
Figure 3-4. On-Board Nano Debugger Connections
SAM D21G17D
Curiosity Nano
By cutting the GPIO straps with a sharp tool, as shown in the following figure, all I/Os connected between the
debugger and the SAMD21G17D can be disconnected. To disconnect the target regulator, cut the VTG strap.
Note:
1.Cutting the connections to the debugger will disable programming, debugging, data streaming, and the target
power supply. The signals will also be disconnected from the board edge next to the On-Board Nano
Debugger section.
2.Solder in 0Ω resistors across the footprints or short-circuit them with tin solder to reconnect any cut signals.
The power to the SAMD21G17D is connected from the on-board power supply to the target voltage supply (VTG)
with a cut strap as shown in Disconnecting the On-Board Debugger. To measure the power consumption of the
SAMD21G17D and other peripherals connected to the board, cut the strap and connect an ammeter over the strap.
The ammeter can be connected between the target VTG pad edge connector and an external power supply for easy
measurement. Alternatively, an external power supply can be used as described in External Supply.
SAM D21G17D
Curiosity Nano
Tip: The on-board level shifters will draw a small amount of current even when they are not in use.
Disconnect the On-Board Nano Debugger and level shifters as described in Disconnecting the On-Board
All of the SAMD21G17D I/O pins are accessible at the edge connectors on the SAMD21G17D Curiosity Nano, except
the button and LED (PB10, PB11). The following figure shows the evaluation kit pinout. RA30 and RA31 are only
available at the edge connector in the debugger section as long as the cut straps on the bottom are not cut.
Figure 4-1.
SAM D21G17D
Hardware
4.2 Peripherals
4.2.1 LED
One yellow user LED is available on the SAMD21G17D Curiosity Nano evaluation kit which can be controlled either
with a GPIO or PWM. The LED can be activated by driving the connected I/O line to the GND.
Table 4-1. LED Connection
SAMD21G17DFunctionShared Functionality
PB10Yellow LED0None
4.2.2 Mechanical Switch
The SAMD21G17D Curiosity Nano has one mechanical switch, a generic user configurable switch. When this switch
is pressed, it will drive the I/O line to ground (GND).
Note: No pull-up resistor is connected to the generic user switch. Ensure that the internal pull-up is enabled in the
SAMD21G17D to use the switch.
The SAMD21G17D Curiosity Nano board has the option for a 32.768 kHz crystal, and by default this crystal is not
connected to the SAMD21G17D, as GPIOs are routed out to the edge connector. To use the crystal, some hardware
modifications are required. The two I/O lines routed to the edge connector must be disconnected to reduce the
chance of contention to the crystal, and to remove excessive capacitance on the lines.
Table 4-3. Crystal Connections
SAMD21G17D pinFunctionShared Functionality
PA00XIN32Edge connector
PA01XOUT32Edge connector
4.3 On-Board Nano Debugger Implementation
The SAMD21G17D Curiosity Nano features an On-Board Nano Debugger that can be used to program and debug
the SAMD21G17D using a Serial wire debug (SWD). The On-Board Nano Debugger also includes a Virtual Com port
interface over UART and DGI GPIO. MPLAB X IDE can be used as a front-end for the On-Board Nano Debugger for
programming and debugging. Data Visualizer can be used as a front-end for the CDC and DGI GPIO.
4.3.1 On-Board Nano Debugger Connections
The following table provides the connection details between the target and the debugger section. All connections
between the target and the debugger are tri-stated as long as the debugger is not actively using the interface,
therefore little contamination of the signals and the pins can be configured to the application requirements. For
additional information on how to use the capabilities of the On-Board Nano Debugger, see Curiosity Nano.
Table 4-4. Connection Details between the Target and Debugger Section
This user guide provides the latest available revision of the kit. This chapter contains information about known issues,
a revision history of older revisions, and how older revisions differ from the latest revision.
5.1 Identifying Product ID and Revision
The revision and product identifier of Curiosity Nano boards can be found in two ways; either through the MPLAB X
IDE or by looking at the sticker on the bottom of the PCB. By connecting a Curiosity Nano board to a computer with
MPLAB X IDE running, an information window will pop up. The first six digits of the serial number, which is listed
under kit details, contain the product identifier and revision. The same information can be found on the sticker on the
bottom of the PCB. Most kits will print the identifier and revision in plain text as A09-nnnn\rr, where nnnn is the
identifier and rr is the revision. Boards with limited space have a sticker with only a QR-code, which contains a serial
number string. The serial number string has the following format:
MIC5353:
Vin: 2.6V to 6V
Vout: 1.25V to 5.1V
Imax: 500mA
Dropout (typical): 50mV@150mA, 160mV @ 500mA
Accuracy: 2% initial
Thermal shutdown and current limit
Maximum output voltage is limited by the input voltage and the dropout voltage in the regulator.
(Vmax = Vin - dropout)
J100:
- Cut-strap used for full separation of target power from the level shifters and on-board regulators.
- For current measurements using the on-board power supply, this strap must be cut and an
ammeter connected across.
- For current measurements using an external power supply, this strap could be cut for more
accurate measurements. Leakage back through the switch is in the micro ampere range.
Adjustable output and limitations:
- The debugger can adjust the output voltage of the regulator between 1.25V and 5.1V to the target.
- The level shifters have a minimal voltage level of 1.65V and will limit the minimum operating voltage allowed for the
target to still allow communication.
- The output switch has a minimal volatege level of 1.70V and will limit the minimum voltage delivered to the target.
- Firmware configuration will limit the voltage range to be within the the target specification.
- Firmware feedback loop will adjust the output voltage accuracy to within 0.5%.
Microchip provides online support via our website at http://www.microchip.com/. This website is used to make files
and information easily available to customers. Some of the content available includes:
• Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s
guides and hardware support documents, latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online
discussion groups, Microchip design partner program member listing
• Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of
seminars and events, listings of Microchip sales offices, distributors and factory representatives
Product Change Notification Service
Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will
receive email notification whenever there are changes, updates, revisions or errata related to a specified product
family or development tool of interest.
To register, go to http://www.microchip.com/pcn and follow the registration instructions.
Customer Support
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Embedded Solutions Engineer (ESE)
• Technical Support
Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to
help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website at: http://www.microchip.com/support
To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.
Device:Device A, Feature A, (Package A) Device B, Feature B, (Package B)
Tape & Reel Option:Blank= Tube
T= Tape & Reel
Temperature Range:I= -40°C to +85°C (Industrial)
E= -40°C to +125°C (Extended)
Package:AA= Package AA
BB= Package BB
Examples:
• MCPXXXXXAT-E/AA: Tape and Reel, Extended temperature, XAA package
• MCPXXXXXBT-E/BB: Tape and Reel Extended temperature, XBB package
Note:
1.Tape and Reel identifier only appears in the catalog part number description. This identifier is used for ordering
purposes and is not printed on the device package. Check with your Microchip Sales Office for package
availability with the Tape and Reel option.
2.Small form-factor packaging options may be available. Please check http://www.microchip.com/packaging for
small-form factor package availability, or contact your local Sales Office.
Microchip Devices Code Protection Feature
Note the following details of the code protection feature on Microchip devices:
• Microchip products meet the specification contained in their particular Microchip Data Sheet.
• Microchip believes that its family of products is one of the most secure families of its kind on the market today,
when used in the intended manner and under normal conditions.
• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these
methods, to our knowledge, require using the Microchip products in a manner outside the operating
specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of
intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code
protection does not mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection
features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital
Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you
may have a right to sue for relief under that Act.
Legal Notice
Information contained in this publication regarding device applications and the like is provided only for your
convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with
your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER
EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip
devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend,
indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such
use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless
otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime,
BitCloud, chipKIT, chipKIT logo, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, HELDO, IGLOO, JukeBlox,
KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST,
MOST logo, MPLAB, OptoLyzer, PackeTime, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer,
QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon,
TempTrackr, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, FlashTec, Hyper Speed Control,
HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus,
ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider,
Vite, WinPath, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BlueSky, BodyCom,
CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM,
dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial Programming, ICSP,
INICnet, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, memBrain, Mindi, MiWi, MPASM, MPF,
MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM,
PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, SAM-ICE, Serial Quad
I/O, SMART-I.S., SQI, SuperSwitcher, SuperSwitcher II, Total Endurance, TSHARC, USBCheck, VariSense,
ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A.
and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of
Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip
Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.