New “MCU-Link Pro”: Debug Probe with Energy Measurement

After the release of the NXP MCU-Link debug probe, there have been hints in the Eclipse based MCUXpresso IDE that there must be another one coming. And indeed: another and more powerful debug probe is now available: the MCU-Link Pro. It is not only a debug probe but a power/energy measurement tool too, including an extra LPC804 mikrocontroller which can be used for all kind of things, like automation or scripting.

NXP MCU-Link Pro

Overview

The MCU-Link Pro (66×73 mm) is a kind of ‘big brother’ of the smaller MCU-Link (41×32 mm). The MCU-Link Pro is much more versatile and includes an extra LPC804 mikrocontroller. The biggest difference is that the Pro can measure energy/power consumption of a target board while debugging it. An extra is that the MCU-Link can be turned into a J-Link while this is not the case for the non-Pro version.

I saw the MCU-Link Pro listed on Mouser (Part number: 771-MCU-LINK-PRO), and they should have it on stock early November. The unit is listed for CHF 42.35 (US$40) compared to the CHF 11.65 (US$10) I usually order from Mouser, and NXP has sent me one to try it out. As of today (17-Oct-21), both Future and Arrow have it on stock (not sure how long I guess).

My view is that the combination of the MCU-Link Pro is replacing the NXP LPC-Link2 debug probe (around US$24), with the addition of current/voltage/power/energy measurement. The non-Pro as a inexpensive entry level solution, with the Pro version providing extra features like powering the target and the energy measurement.

Comparison

The following table gives an overview about the differences between the two probes:

ItemMcu-Link ProMCU-Link
MCULPC55S69 (ARM Cortex M33@150 MHz)
LPC804 (ARM Cortex M0+@15 MHz)
LPC55S69 (ARM Cortex M33@150 MHz)
PCB size73 x 66 mm41 x 32 mm
DebugCMSIS-DAP, J-LinkCMSIS-DAP
Target Voltage1.2 V – 5 V1.2 V – 5 V
SWDyes (10-pin and 20-pin)yes (10-pin)
SWOyesyes
Target Reset Buttonyesno
VCOMyesyes
LEDs7 + 2 (LPC804)1
I/O Connectoryes (LPC55S69 & LPC804) with I2C and SPI bridging(yes) 4 pins, unpopulated
Target Poweryes, 1.8 V & 3.3 V, 400 mAno
Firmware UpdateISP jumper with update script, automatic for J-Link firmwareISP jumper with update script
Energy Measurementyesno
PriceUS$40US$10
Comparison

Unpacking

So here is what you get with an MCU-Link Pro: The hardware comes in a card-box:

MCU-Link Pro Package

It uses the same package concept as the smaller MCU-Link, shown below in comparison:

Comparison Mcu-Link Pro (bottom) and Mcu Link (top)

I like the fact that it is a recyclable package. The inside includes an overview picture and a quick reference card:

MCU-Link Pro Insert
MCU-Link Pro Quick Reference Guide

Inside there are two anti-static bags:

Anti-Static Bags

The bags contain the PCB plus cables and set of four jumpers:

Cables and Board

There is no Micro-USB cable included which is a good thing: I don’t ‘yet another USB cable’, so from an environment point of view this is very positive too. The kit includes a 3-pin Power-Measurement cable plus a 14-pin I/O cable.

The kit contains two debug cables. The board has both the 10 and 20 pin (unpopulated) debug headers.

Debug Headers

There are no extra signals on the 20pin header, so it is more a convenience working with boards having the 20pin connector. A neat solution is that special 10-to-20 pin cable included in the kit which works great for ‘shrouded’ 20pin headers:

Debugging the K20 TWR Board with the 20pin connector and 10 pin cable

Hardware

The board does not come with a special enclosure or stand-offs: from a using standpoint that’s probably not ideal, but this opens up ideas for a custom enclosure, just in case. For the intended target audience of hardware & software engineers this is probably not an issue.

The picture below shows the most important parts of the board:

MCU-Link Overview

The I/O connector makes SPI, I2C, UART and trigger functions available. On the lower left there is the power/energy measurement circuit and connection. On the lower right there is LPC804 with its own debug header and I/O connector available: basically the MCU-Link Pro includes a LPC804 evaluation board which can drive signals or can run standalone. The heart of the board is the LPC55S69 processor which comes with its own debug header and UART connector. The LPC55S69 can be reprogrammed over USB with the firmware update jumper installed. More about this in the next section.

The Multi-Probe Sync connector is “reserved for future use” according to the user manual.

The I/O connector or port features several signals which can be used for example with the LIBUSBSIO USB serial I/O library:

I really like the LPC804 on the board. According the schematics it is used as ‘Demo Signal Generator’ and it can be used for creating dummy loads for current consumption or to connect signals to the LPC55S69 I/O connector. So I think for MCU-Link Pro demos or lab sessions with it (will there be any NXP hands-on labs/conferences after the pandemic?) it would be a great feature: you can use the board without the need for any external board as you can use and debug the on-board LPC804. I think it would be a great idea to use the LPC804 for automation or scripting, for example talking to the LPC55S59 debug chip in an automated test farm. I have not explored that yet, but if the LinkServer (or J-Link) firmware on the board would allow me to do this, this would be a great thing: I could use the LPC804 to turn on/off a relay to switch on/off power, talk to the LPC55S69 firmware to download/debug the DUT (device under test), … Ultimately I can reprogram and debug the LPC55S69 on the board, as there is a dedicated debug header for it.

Firmware

The probe comes factory programmed with a V2.41 firmware (LinkServer). The probe can be updated with the same firmware tools/updater as the MCU-Link.

The same can be found on the Pro web page, including the factory programmed LPC804 application:

To program the LinkServer (CMSIS-DAP) firmware, the installer provides a ‘program_CMSIS.cmd’ script, which requires the ISP/Bootloader J4 jumper installed at board boot time. The steps are the same as for the MCU-Link, see this article or see the next steps.

SEGGER Firmware

The probe can be reprogrammed with a firmware to turn it into a SEGGER J-Link.

💡 Note that only the ‘Pro‘ version of MCU-Link can be re-programmed as a J-Link.

First, put the jumper on J4 and power the board to put it into bootloader mode.

Then run the program_JLINK.cmd (double-click to run it). The ‘program_CMSIS.cmd’ is used to program the board with the LinkServer/CMSIS-DAP firmware.

program_JLINK

This gives this:

Then press a key and it will program the firmware:

Then press CTRL+C to leave the programming, remove the jumper on J4 and re-power the board.

Contratulations, with this the MCU-Link Pro has turned into a SEGGER J-Link 🙂

Newer firmware might be available on the SEGGER (https://www.segger.com/downloads/jlink/#MCU-Link) web page:

A new firmware file can be placed into the firmware folder:

new J-Link firmware for MCU-Link Pro

To program a different firmware, launch the command prompt

Then use the script plus as first argument the new firmware file to use:

For example:

program_JLINK.cmd ../probe_firmware/Firmware_J-Link-MCU-Link_210930.s19

will program the MCU-Link Pro with that given firmware.

Debugging

Debugging worked out-of-the box with the NXP MCUXpresso IDE 11.4.1 using the LinkServer or J-Link firmware.

Debugging Robot with MCU-Link

Below the NXP MCUXpresso IDE at work with the MCU-Link Pro:

Debugging with MCU-Link Pro and MCUXpresso IDE

The J-Link firmware works fine with Visual Studio Code too (there is no LinkServer support in VSC).

Power Measurement

The MCU-Link Pro is able to provide power to the target. In addition to this it has the ability to measure current flowing through energy measurement connector (J9). Using J16, J16 and J18 the measurement ranges can be selected:

Measurement limits (Source: MCU-Link Pro User Manual)

To use the power/energy measurement, the LinkServer firmware is required (does not support the J-Link firmware).

Pay attention to the measurement and the current flow: if in doubt, swap the cables 😉

The energy measurement is accessible through a menu:

Energy Measurement Menu

From that menu the probe can be be selected:

Selecting Probe

After that I can configure the analog part (what to measure, and the sample rate):

Sample Rate

With the ‘play’ button I can start the data collection:

Start data collection

The data is shown in the view where I can zoom and inspect the measurements:

Data collected

For the energy measurement I can read the target voltage:

Read Target Voltage

With the target voltage it calculates the energy:

Power/Energy Measurement

A useful feature is the analog signal measurement (0-3.3V) with signal on the I/O connector:

So the probe can measure current, the power/Energy and an arbitrary voltage (only one at a time).

Summary

The MCU-Link Pro is more capable than the MCU-Link (non-Pro): it adds power/energy measurement, an extra LPC804 mikrocontroller plus the ability to use it as a SEGGER J-Link.

The Pro is to me a replacement of the LPC-Link2, with the addition of the LPC804 plus the ability to measure current/power/energy and voltage. Plus I like the ability to debug and measure the same time.

For the price it is a good combination, especially if I want to debug a target, and the same time want to measure the energy/power consumption. In one of my university lecture/lab we deal with microcontroller low power modes: so far we I have used in the labs an external measurement circuit: switching to the MCU-Link Pro instead would make the setup and the lab much simpler, so I have to consider this for the course in the next semester.

I still have the LPC-Link2 probe in use, but I think I will it replace over time with the more capable MCU-Link Pro. Especially for the labs where we use power/energy measurement, the MCU-Link Pro will be my choice. For any other project or where J-Link support is not needed, the MCU-Link (non-Pro) will do it too.

Happy Linking 🙂

Links

6 thoughts on “New “MCU-Link Pro”: Debug Probe with Energy Measurement

  1. Pingback: Adding RGBW Wings and Enclosure to a Debug Probe | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.