Currently I use PIC32MX MCUs in my projects, but my new projects are going to have ATSAME5 MCUs onboard. On the PIC32MX I use a 5-pin interface to program and debug using a PICkit4 tool. The signals that I always used with PIC32MX are VCC, GND, MCLR/VPP, DATA-IO/PGD and CLOCK/PGC. For new projects I am going to use ATSAME5 MCUs, and I plan to keep using a 5-pin interface, by using VCC, GND, RESETn, SWDIO and SWCLK. I want to confirm if these group of 5 signals are really enough to program and debug the ATSAM MCUs, because it will be my first project with an ARM core.

  • 1
    \$\begingroup\$ are you asking if you can use the PICkit4 tool to program and debug the ATSAME5x MCU? \$\endgroup\$
    – jsotola
    Dec 22, 2019 at 22:33
  • \$\begingroup\$ I will buy an ATATMEL-ICE tool to program/debug the ATSAM MCUs. My doubt is if is it enough a 5-pin interface with VCC/GND/RESET/SWDCLK/SWDIO... \$\endgroup\$
    – abomin3v3l
    Dec 22, 2019 at 23:14
  • \$\begingroup\$ Is it possible to program ATSAM MCU with PICkit4? \$\endgroup\$
    – abomin3v3l
    Dec 22, 2019 at 23:24
  • \$\begingroup\$ i do not know ... i only commented because your post does not clearly state what you are trying to do ... if you are not planning to use the PICkit4 tool, then the 1st half of your post is irrelevant and only confuses the question ... only the last sentence, with a list of signals, is actually relevant \$\endgroup\$
    – jsotola
    Dec 22, 2019 at 23:49
  • \$\begingroup\$ Yes you can program the SAM device with the PICKit 4. \$\endgroup\$
    – Mike
    Jan 2, 2020 at 7:33

1 Answer 1


Yes you're right, since the SAM E5 family is ARM Cortex based, the 5 signals you mention are the one you need to program a target device in "Serial Wire" mode:


That's what I have on several designs and it works well (AT SAM and STM32).

But if you want extended debugging features you need to add some more signals. The many documentations about ARM Cortex programming interfaces might help you:

Extract from the ARM Keil documentation:

Signal  | Connects to...
SWDIO   | Data I/O pin. Use 100K Ohm pull-up resistor to VCC.
SWO     | **Optional** trace output pin.
SWCLK   | Clock pin. Use 100K Ohm pull-down resistor to GND.
VCC     | Positive Supply Voltage — Power supply for JTAG interface drivers.
GND     | Digital ground.
nRESET  | nRESET pin — Connect this pin to the (active low) reset input of the target CPU. Use 100K Ohm pull-up resistor to VCC. This is an open-collector/open-drain output.
  • \$\begingroup\$ Thanks. Are the pull-down and pull-up really required? On nRESET is ok, but how about SWDIO and SWCLK. They should be push-pull outputs, so what would be the reason for resistors on them? In my case I will have pull-ups ok 10K on both signals because they are shared with other inputs of the board. Thats is, they will be not floating, this should be enough. \$\endgroup\$
    – abomin3v3l
    Dec 25, 2019 at 15:10
  • 1
    \$\begingroup\$ It think it's for the case where the probe is not connected. I have a design where the resistors were removed and it works. By the way: where did you get that SWCLK and SWDIO are push-pull signals? \$\endgroup\$ Dec 27, 2019 at 8:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.