10 Tools and IDEs

The Nano Debugger is supported by multiple front-end tools published by Microchip, our partners and the open-source community.

10.1 Partner Ecosystems

The Nano Debugger is supported by various partner ecosystems and IDEs. The CMSIS-DAP standard debug implementation it is based on effectively provides support for any ARM Cortex device. The AVR protocol specification is public, and various IDEs that support AVR devices also support the Nano Debugger (This is the same protocol as used in JTAGICE3, Atmel-ICE, PowerDebugger, and EDBG.)

Partner integration includes, but is not limited to:
  • IAR Embedded Workbench
  • Keil Microvision
  • CodeVisionAVR
  • OpenOCD
  • pyOCD
  • AVRDUDE
  • PlatformIO
  • Bloom
  • probe-rs
Tip: For up-to-date information about our partners, see Development Tool Partners.

10.2 MPLAB® Tools for VS Code

The Nano Debugger is supported in the VS Code development environment. As a standard CMSIS-DAP debugger, it supports generic debug adapters for ARM Cortex devices and frameworks built using these mechanisms. In addition, it is supported by MPLAB Tools for VS Code.

The MPLAB Tools for VS Code can be downloaded from the MPLAB Extensions official website or from the VS Code Marketplace. Each resource provides a complete list of MPLAB extensions that can be installed individually or together as part of the MPLAB Extensions Pack. The installation is performed through the VS Code Extensions. Tutorials are available on the official website with links to the Extensions Developer Help and the MPLAB Extensions for VS Code Video playlist.

Figure 10-1. MPLAB Extensions within the VS Code Extensions Marketplace

10.3 Using MPLAB Data Visualizer

The Nano Debugger, via its USB/serial bridge, facilitates a connection between a UART on the target MCU and your computer's COM port. For example, you can use this to connect to MPLAB Data Visualizer or other terminal programs.

Tip: References for the example Data Visualizer Plot- and Terminal-views above:
  1. Plot View - DebugIO: DebugIO Hello World (Microchip University).
  2. Plot View - Serial Port: MCC Melody Use Case Data Visualizer Run Time Use Case 1.
  3. Terminal - Serial Port: MCC Melody UART Driver: LED Control Commands.

10.4 Kit Window View

Microchip IDEs have a mechanism for detecting Microchip tools connected via USB and presenting useful information in a Kit Window. This includes, for example, an image of the kit in question, ordering information for the kit and/or the device mounted on it, schematics, and links to example projects.

This view is rendered in each IDE with a different look and feel, but the data is deployed on a web server. Updates to the database are not synchronised with any IDE release cycle.

Some of the data presented in the Kit Window is read from the connected kit and not retrieved from the database. This data is stored in the Board Configuration of the Nano Debugger, and can thus be modified by kit developers (partners) as well as by end-users.

Note: The Kit Window is a mechanism developed by Microchip. A subset of this kit information is accessible using the standard CMSIS-DAP API commands on partner IDEs and tools.

For an example of the Kit Window view, see MPLAB X.

10.5 MPLAB X

The Nano Debugger is supported in MPLAB X IDE and IPE.
Tip: Microchip has released MPLAB Tools for VS Code, which is a valuable update for MPLAB X users!

When a Nano Debugger is connected to a host PC via USB, if MPLAB X IDE is open, a Kit Window is opened with several key links presented.

When creating a new project using a development board that includes a Nano Debugger (for example, a Curiosity Nano kit), the part number will be read from the connected board. Nano Debuggers in a standalone configuration will not have this information so the part number must be entered manually.

Note: Be sure to use the latest Tool Pack and Device Family Pack, especially when starting a new project.

As shown in the image below, additional information about your Curiosity Nano can be seen in the "Debug Tool" window once you click "Refresh Debug Tool Status".

Tip:
  • If closed, you can reopen the Kit Window in MPLAB® X IDE through the menu bar: Window > Kit Window
  • The 'How do I?' search bar often provides excellent results if you're new to MPLAB X IDE
  • 'Debug main project" will start a debug session

Tip:

Using a Nano Debugger kit with External Microcontrollers

A Nano Debugger on a development kit can easily be modified to operate with a microcontroller not originally mounted on that kit.
Note: See the User Guide for that particular kit when performing this procedure with a Curiosity Nano kit.
To program and debug a microcontroller other than the one mounted on the board, configure Microchip MPLAB X IDE to allow independent selection of devices and programming interfaces.
  1. Navigate to Tools > Options through the menu at the top of the application.
  2. Select the Embedded > Generic Settings category in the options window.
  3. Check the Exclude device checks for kits option.

Note: Microchip MPLAB X IDE allows any microcontroller and interface to be selected when the Exclude device checks for kits setting is checked - also microcontrollers and interfaces not supported by the Nano Debugger.

10.6 Microchip Studio

The Nano Debugger is supported in Microchip Studio when used with devices that are supported by Microchip Studio and distributed through the Pack Server. This includes many AVR devices with a UPDI interface and some SAM devices.

Microchip Studio is "mature" and not recommended for new designs.

Important: The Nano Debugger USB interface may change in the future, which could render the firmware unusable in Microchip Studio.
Tip: Microchip has released MPLAB Tools for VS Code, which is a valuable update for Microchip Studio users!

Using a Nano Debugger kit with External Microcontrollers

A Nano Debugger on a development kit can easily be modified to operate with a microcontroller not originally mounted on that kit.
Note: See the User Guide for that particular kit when performing this procedure with a Curiosity Nano kit.

To program and debug a different microcontroller than the one mounted on the board, configure Microchip Studio to allow an independent selection of devices and programming interfaces.

  1. Navigate to Tools > Options through the menu at the top of the application.
  2. Select the Tools > Tool settings category in the options window.
  3. Set the Hide unsupported devices option to False.

Note: Microchip Studio allows any microcontroller and interface to be selected when the Hide unsupported devices setting is set to False - also microcontrollers and interfaces not supported by the on-board debugger.

10.7 Using Other Hardware Tools with a Nano Debugger Kit

When mounted as an on-board debugger on a development kit, the Nano Debugger allows for external tools to be connected. Such tools could offer additional features or better performance.

The Nano Debugger will not drive the debugger signal lines without instruction from an IDE.

Tip: For information on using an external debugger with a Nano Debugger kit read that kit's User Guide.
Important: When using a programmer capable of high-voltage programming, be sure to disconnect the Nano Debugger from the high-voltage line. High voltage can permanently damage the Nano Debugger.

10.8 USB Drivers

When a board with the Nano Debugger is connected to the computer for the first time, the operating system will install the driver software. The drivers for the Nano Debugger are included with MPLAB Tools for VS Code, MPLAB X IDE, and Microchip Studio.