manuals.online logo
Brands
  1. Home
  2. •
  3. Brands
  4. •
  5. Laird
  6. •
  7. Motherboard
  8. •
  9. Laird 453-00062-K1 Installation and operating instructions

Laird 453-00062-K1 Installation and operating instructions

A
https://www.lairdconnect.com/
1
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Application Note v1.0
The USB-SWD Programmer board is a multifunction
debugging/programming/passthrough/UART board which can be used to program Laird
Connectivity’s range of wireless modules and sensors including BL600, BL620, BL651,
BL652, BL653, BL653μ, BL654, BL654PA, RM1xx, BT510, BT6x0, BT710, Pinnacle 100,
and MG100 devices. Features include the following:
▪USB connection to host PC exposes CMSIS-compatible debug interface
▪Mass storage device with drag-and-drop hex/bin file programming support
▪Programmer firmware upgrade support
▪ARM 9-pin debug connector for connecting to modules
▪10-pin IDC connector for use with Tag-Connect TC2050-IDC cable for connecting
to BT510 sensors (this port is not for connecting to any other devices)
▪UART (with optional hardware flow control on the module side only) supporting the following baud rates: 1200, 2400,
4800, 9600, 14400, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1000000
▪3.3v or 1.8v output voltage to target the host module (up to 100 mA can be provided) or target can supply a voltage to
programming board between 1.8v-3.6v as the programming reference voltage
▪Reset button for resetting target device
▪Unrestricted royalty-free programming of any nRF51/nRF52 module
▪Passthrough mode for allowing a connected BT510 to be used with an external programmer such as a JLink
An annotated picture of the USB-SWD programmer board is shown below:
Figure 1: USB-SWD programmer board
https://www.lairdconnect.com/
2
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
This document describes how to use the USB-SWD programmer to program and debug modules, change configuration
options, and upgrade the programmer firmware.
To use the SWD programmer, you need the following:
▪SWD Programmer board (including micro USB cable and debug cables)
▪PC (Windows/Linux/Mac supported; this guide is based on Windows 7)
▪Target module, board, or sensor to program
▪UwTerminalX (available at https://github.com/LairdCP/UwTerminalX/releases)
▪pyOCD (instructions for install available on https://github.com/pyocd/pyOCD)
▪MBED serial port driver (for Windows 7 only, newer versions of Windows do not need this driver, available at
https://os.mbed.com/docs/mbed-os/v6.8/program-setup/windows-serial-driver.html)
If using Mac, Linux, or a version of Windows newer than Windows 7, please skip this step and start at the Hardware Setup
section. Windows 7 requires an external driver to be installed on the system to communicate with the USB-SWD programmer
board. This can be downloaded from the MBED website: https://os.mbed.com/docs/mbed-os/v6.8/program-setup/windows-
serial-driver.html
Once downloaded, launch the installer and follow the instructions on screen to install the driver on your system. Administrator
access is required for the install to complete. Once installed, the USB-SWD programmer is usable and a serial port should be
visible along with a CMSIS debug interface.
The USB-SWD programmer can be configured to provide remote power to a device/module at 1.8v or 3.3v, or can use the
reference voltage of the target device (1.8v-3.6v supported).
Note: The USB-SWD programmer board generates its own power internally and, if set to follow the voltage of the target, the
target voltage is used as a reference only and does not power the USB-SWD programmer board.
To supply power to an external module or device follow these steps:
Set the SW6 switch to the Supply out position.
Set the SW5 switch into the 3V3 or 1V8 position, depending upon what voltage the target should be powered at.
For nRF51 based devices, the voltage must be 3.3v for flash writing/erasing to occur. For nRF52 devices, the flash can
be written/erased at either 3.3v or 1.8v.
Refer to your module/device datasheet for information on voltage operating ranges as some modules (such as the
Pinnacle 100) cannot be operated at these voltages.
https://www.lairdconnect.com/
3
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Note: The target device should draw less than 100 mA of current using a USB port that can supply at least 250 mA
of power (including the power usage of the USB-SWD programming board and target device). Going beyond
this limit may cause damage to the target module/device, USB-SWD programming board, or PC.
When programming BT510 modules, this setup must be used. The voltage should be set to 3.3v to closely match the coin cell
which operates at 3v (the battery cannot be connected whilst the debugger is connected, therefore there is no issue of a
voltage mismatch or back-powering of the coin cell).
To use the target’s voltage source as a reference voltage, set the SW6 switch to the Supply in position and set the SW5 switch
into the 1V8 position. The reference voltage of the target must be supplied on pin 1 of the ARM-debug connector (P1) or pin 1
of the BT510 IDC connector (J3) with a suitable ground connection to the ground of the USB-SWD programmer board.
The USB-SWD programmer board operates at the voltage set on SW5 until the voltage of an external device is sensed. We
recommend that you keep this switch on 1.8v if devices operating at less than 3.3v are connected. This prevents any power
passing from the USB-SWD programmer board to the target device before the USB-SWD programmer board’s reference
voltage circuitry has updated with the voltage being synchronised to all power-systems on the board.
The USB-SWD programmer has various volatile and non-volatile options that can be set by copying empty files with specific
filenames to the USB mass storage device. There is additional information about this feature on the MBED DAPLINK github
site: https://github.com/ARMmbed/DAPLink/blob/master/docs/MSD_COMMANDS.md
Table 1 displays the supported actions (volatile, these are reset to defaults when the USB-SWD programmer is powered up)
for the USB-SWD programmer.
Table 1: Supported actions
Filename
Function
Checking
start_bl.act
Enters bootloader mode on the USB-SWD
programmer so that the firmware can be
upgraded
If the red LED and green LED are on constantly (and the
mass storage USB drive is named LC_SWDMAINT) then
the device is in bootloader mode.
start_if.act
Enters normal mode on the USB-SWD
programmer (if device is in bootloader mode
and BOOTLOADER header pin is not fitted)
If the red LED and green LED are both off or just one is
on (and the mass storage USB drive is not named
LC_SWDMAINT) then the device is in normal mode.
refresh.act
Closes the USB mass storage device and
re-opens it
https://www.lairdconnect.com/
4
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Filename
Function
Checking
erase.act
Erases the flash of the connectedmodule (if
QSPI/SPI flash is connected to target device
and option is enabled in firmware, this also
erases the flashmemory contents of said
flash chip)
page_off.act
Performs a full-chip erase before
programming a file via drag and drop
programming to the connected module (non-
persistent configuration option –reverts to
persistent configuration when power of
programmer is cycled. See non-volatile
configuration options for details)
After USB mass storage device refresh, open
DETAILS.TXT, check the Page erasing line (should be 0
for active)
page_on.act
Performs sector erases before programming
a file via drag and drop programming to the
connected module (non-persistent
configuration option –reverts to persistent
configuration when power of programmer is
cycled. See non-volatile configuration
options for details)
After USB mass storage device refresh, open
DETAILS.TXT, check the Page erasing line (should be 1
for active)
device.act
Queries information from the connected
device and puts this information into the
LASTDEV.TXT file
Open LASTDEV.TXT after USB drive refreshes. It is
populated with information from the attached module.
Note: If readback protection is enabled then this
information cannot be retrieved.
Table 2 displays the supported configuration options (non-volatile, these are persistent even when the USB-SWD programmer
is powered off) for the USB-SWD programmer:
Table 2: Supported configuration options
Filename
Function
Checking
nrfauto.cfg
Sets drop-and-drag programming mode to automatic
nRF51/nRF52 detection
After USB mass storage device refresh,
open DETAILS.TXT, check the Device line
(should state automatic detection)
nrf51.cfg
Sets drop-and-drag programming mode to nRF51 device
mode (BL600/BL620/RM1xx)
After USB mass storage device refresh,
open DETAILS.TXT, check the Device line
(should state nRF51)
nrf52.cfg
Sets drop-and-drag programming modeto nRF52 device
mode (BL65x/BT510/Pinnacle 100/MG100)
After USB mass storage device refresh,
open DETAILS.TXT, check the Device line
(should state nRF52)
flow_off.cfg
Disables hardware flow control on the USB-SWD UART
interface
Note: Hardware flow control cannot be enabled on the
USB serial port as the CDC driver does not
support flow control, and so is always disabled.
After USB mass storage device refresh,
open DETAILS.TXT, check the UART HW
Flow option (should be 0)
https://www.lairdconnect.com/
5
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Filename
Function
Checking
flow_on.cfg
Enables hardware flow control on the USB-SWD UART
interface
Note: Hardware flow control cannot be enabled on the
USB serial port as the CDC driver does not
support flow control, and so is always disabled.
The state of the CTS pin is reflected in the DSR
signal.
After USB mass storage device refresh,
open DETAILS.TXT, check the UART HW
Flow option (should be 1)
ovfl_off.cfg
Disables serial port data overflow reporting on the serial
CDC port
If there is an overflow on the UART, there will be no
response on the PC.
After USB mass storage device refresh,
open DETAILS.TXT, check the UART
Overflow option (should be 0)
ovfl_on.cfg
Enables serial port data overflow reporting on the serial
CDC port
If there is an overflow on the UART, a message is sent to
the CDC port on the PC.
After USB mass storage device refresh,
open DETAILS.TXT, check the UART
Overflow option (should be 1)
page_off.cfg
Turns page/sector erasing off and performs a full-chip
erase before programming via drag and drop
programming as the default when the programming board
is powered up (does not change active configuration. See
volatile configuration for details)
After USB mass storage device refresh,
open DETAILS.TXT, check the Page
erasing line (should be 0 for non-vol)
page_on.cfg
Turns page/sector erasing on and only erases sectors that
are specified for writing before programming via drag and
drop programming as the default when the programming
board is powered up (does not change active
configuration. See volatile configuration for details)
After USB mass storage device refresh,
open DETAILS.TXT, check the Page
erasing line (should be 1 for non-vol)
last_off.cfg
Disables listing the details of the last device
programmed/erased/queried in the LASTDEV.TXT file
After USB mass storage device refresh,
open DETAILS.TXT, check the Last device
info option (should be 0)
last_on.cfg
Enables listing the details of the last device
programmed/erased/queried in the LASTDEV.TXT file
After USB mass storage device refresh,
open DETAILS.TXT, check the Last device
info option (should be 1)
default.cfg
Restores the volatile and non-volatile configuration values
to their defaults (see the Restoring To Default
Configuration/Settings section for details on the default
settings)
After USB mass storage device refresh,
open DETAILS.TXT, check all the settings
are back to their defaults.
qspi_on.cfg
Enables QSPI and SPI flash access functionality
After USB mass storage device refresh,
open DETAILS.TXT, check the QSPI/SPI
flash access line (should be 1)
qspi_off.cfg
Disables QSPI and SPI flash access functionality
After USB mass storage device refresh,
open DETAILS.TXT, check the QSPI/SPI
flash access line (should be 0)
spi_on.cfg
Enables QSPI and SPI flash access functionality
After USB mass storage device refresh,
open DETAILS.TXT, check theQSPI/SPI
flash access line (should be 1)
spi_off.cfg
Disables QSPI and SPI flash access functionality
After USB mass storage device refresh,
open DETAILS.TXT, check the QSPI/SPI
flash access line (should be 0)
https://www.lairdconnect.com/
6
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Filename
Function
Checking
swd1mhz.cfg
Sets the SWD maximum clock speed to 1 MHz
After USB mass storage device refresh,
open DETAILS.TXT, check the SWD line
(should be 1 MHz)
swd2mhz.cfg
Sets the SWD maximum clock speed to 2 MHz
After USB mass storage device refresh,
open DETAILS.TXT, check the SWD line
(should be 2 MHz)
swd3mhz.cfg
Sets the SWD maximum clock speed to 3 MHz
After USB mass storage device refresh,
open DETAILS.TXT, check the SWD line
(should be 3 MHz)
swd4mhz.cfg
Sets the SWD maximum clock speed to 4 MHz
After USB mass storage device refresh,
open DETAILS.TXT, check the SWD line
(should be 4 MHz)
swd5mhz.cfg
Sets the SWD maximum clock speed to 5 MHz
After USB mass storage device refresh,
open DETAILS.TXT, check the SWD line
(should be 5 MHz)
swd6mhz.cfg
Sets the SWD maximum clock speed to 6 MHz
After USB mass storage device refresh,
open DETAILS.TXT, check the SWD line
(should be 6 MHz)
By default, the USB-SWD programmer is set to automatically detect if an nRF51/nRF52 device is detected and program it,
with hardware flow control being disabled.
Note: The nRF51/nRF52 selection is for the USB mass storage programming only. If using pyOCD then this option is
ignored and pyOCD sends the commands to select the correct device as supplied on the command line.
The USB-SWD programmer supports querying the attached device to retrieve information on the device which includes silicon
revision, flash/RAM size, and other details. If readback protection is enabled, then this information cannot be retrieved. To
read module information, follow these steps:
1. Attach the target device to the USB-SWD programmer.
2. Plug the SWD programmer into the PC with a micro USB cable.
3. Ensure the programmer is set to the correct target device, open DETAILS.TXT, and check if it is set for nRF51 or
nRF52 or automatic detection. If it is set to the wrong device then create an empty file on the host computer named
nrf51.cfg, nrf52.cfg, or nrfauto.cfg (depending on target device). Copy this file and paste it in the USB-SWD programmer
mass storage device drive
4. Create an empty file on the host computer named device.act. Copy this file and paste it in the USB-SWD programmer
USB mass storage device.
5. The USB-SWD programmer queries the attached device and refresh the USB mass storage device.
6. Once complete, open LASTDEV.TXT from the USB mass storage device.
7. If the module information could be read correctly then the information about the device is displayed here.
The Variant field displays the revision of silicon in the module (nRF52 only). This information can be used to check SDK
support details and errata listings. Refer to the Nordic documentation for your part for details on this information.
Note: If this feature is enabled with the last_on.cfg option then any flash erase/program on the target module also
generates the LASTDEV.TXT file information. The information returned during this time is the configuration values
prior to programming and may have changed during the erase/program process.
https://www.lairdconnect.com/
7
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
The USB-SWD programmer allows connected modules to be programmed by copying a .hex file to a mass storage USB
device. Follow the steps below to program a hex file.
Ensure the target voltage and input/output mode is set correctly.
Connect the target module to the programming board.
Plug the USB-SWD programmer board into the PC with a micro USB cable.
If the USB-SWD programmer was switched to nRF51 mode, create an empty file somewhere on the host computer
named nrf52.cfg or nrfauto.cfg (depending on if automatic detection or forced-nRF52 support is required), copy this file
and paste it into the USB-SWD programmer USB mass storage device. The device resets, goes back into the USB
drive, opens DETAILS.TXT, and ensures that the Device line is updated.
Copy the .hex file with the new firmware on to the USB mass storage device. It programs it to the module. If there are
multiple hex files (such as one for a softdevice and one for an application), then these must be copied one at a time and
the current file copy must complete before the next one can begin.
The target module should reset and begin running the new application. At this point the USB-SWD programmer can be
disconnected.
Note: QSPI flash programming on the nRF52840 is supported and verified for the Pinnacle 100 only. Compatibility with
different QSPI flash chips is not guaranteed. If the QSPI chip has a register/command for enabling QSPI mode, then
this must be set/enabled by code on the nRF52840 prior to downloading a hex file. QSPI flash programming is only
available on nRF52840-based modules and begins at the memory-mapped address for QSPI access on the
nRF52840, 0x12000000.
If the USB-SWD programmer board needs to supply power to the target device, ensure that the voltage output is set to
output and on 3.3v, as nRF51 devices do not support 1.8v flash programming.
Connect the target module to the programming board.
Plug the USB-SWD programmer board into the PC with a micro USB cable.
If the USB-SWD programmer was not switched to nRF51 mode, create an empty file somewhere on the host computer
named nrf51.cfg or nrfauto.cfg (depending on if automatic detection or forced-nRF51 support is required). Copy this file
and paste it into the USB-SWD programmer USB mass storage device. The device resets, goes back into the USB
drive, opens DETAILS.TXT, and ensures that the Details line is updated.
Copy the .hex file with the new firmware on to the USB mass storage device. This programs it to the module. If there
are multiple hex files (such as one for a softdevice and one for an application), then these must be copied one at a time
and the current file copy must complete before the next one can begin.
The target module should reset and begin running the new application. At this point the USB-SWD programmer can be
disconnected.
Note: SPI flash programming on the nRF51822 is supported and verified for the RM1xx only, compatibility with different SPI
flash chips is not guaranteed. SPI flash programming is only available on nRF51822-based modules and begins at
address 0x12000000.
https://www.lairdconnect.com/
8
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
pyOCD is a python-based command line utility which allows for the programming and debugging of code using the USB-SWD
programmer board. To program a hex file to a module, follow these steps:
Set the correct voltage and power options for your module on the SWD programmer board.
Note: For target nRF51 devices, the power must be set to output and on 3.3v, as nRF51 devices do no support 1.8v
flash programming).
Note: Programming using pyOCD does not require that the programmer be set in the correct nRF51/nRF52 modefor
the target device as pyOCD sends specific commands for the attached module.
Connect the target module to the programming board.
Plug the SWD programmer board into the PC with a micro USB cable.
Open a command prompt or terminal.
Use pyOCD to program the module. The command line options are: pyocd flash -t <TARGET> -e <ERASETYPE>
<FILENAME>
where <TARGET> can be nrf5, nrf52 or nrf52840
where <ERASETYPE> can be chip (erases the whole chip before programming) or sector (only erases sectors where
data is to be written which is the default)
where <FILENAME> is a .hex file for the target module
If there is an issue during programming, it could be related to the flash programming speed, the speed can be reduced
by using the -f <FREQUENCY> option. Try starting at 5M and decrementing by 1. If programming still fails at 1 MHz,
then the setup of the programming board and target module should be investigated.
Note: When using pyOCD, SPI/QSPI flash devices cannot be programmed.
pyOCD can be used as a debugging tool by acting as a GDB server. It can then be used to step through code, set
breakpoints, and use other debugging functionality.
This process assumes that you are already familiar with using the ARM GCC utilities and currently have them set up on your
system. The latest versions can be downloaded from https://developer.arm.com/tools-and-software/open-source-
software/developer-tools/gnu-toolchain/gnu-rm/downloads).
To begin debugging using pyOCD, follow these steps:
Set the correct voltage and power options for your module on the SWD programmer board
Note: For target nRF51 devices, the power must be set to output and on 3.3v because nRF51 devices do no support
1.8v flash programming.
Note: Debugging using pyOCD does not require that the programmer be set in the correct nRF51/nRF52 mode for
the target device as pyOCD sends specific commands for the attached module.
Connect the target module to the programming board.
Plug the SWD programmer board into the PC with a micro USB cable.
Open a command prompt or terminal.
https://www.lairdconnect.com/
9
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Use pyOCD to start a GDB server with the module. The command line options are: pyocd gdbserver -t <TARGET>
where <TARGET> can be nrf51, nrf52 or nrf52840.
If there is an issue during debugging, it could be related to the flash programming speed.
The speed can be increased or reduced by using the -f <FREQUENCY> option. Try starting at 5M and decrementing by
1. If programming still fails at 1 MHz then the setup of the programming board and target module should be
investigated. Speeds can also be increased up to 8M for faster debugging.
Launch ARM GCC GDB from where your files to debug are located.
Connect from GDB to the server by sending the following command: target remote localhost:3333.
You are now able to load/debug code on the target device. It is possible that external toolchains can be set up to allow
debugging through a GUI. This is outsidethe scope of this document.
The BT510 module can be programmed directly from a Zephyr RTOS build tree. For details and an example of how to do this,
follow the instructions on the Zephyr documentation site: https://docs.zephyrproject.org/latest/boards/arm/bt510/doc/bt510.html
A boards file is included with Zephyr which maps the sensors/peripherals and GPIOs out for software development. We
recommend that a complete application should have the application firmware and themcuboot bootloader programmed so that
the software on the unit can be upgraded in the field (for example, using Bluetooth). The design of such an upgrade system is
outside the scope of this document. Details and information on this can be found on the Zephyr project website.
The USB-SWD Programmer features a UART (J1) which can be used to connect to modules and other devices. A jumper
must be fitted on J35 to route the pins to the UART interface, otherwise they are disconnected. Note that this is a UART
interface which is exposed to the host PC, no external USB/PC UART cable needs to be connected to this PC for access of
the UART by the PC.
Note: Power is supplied via this interface (and subject to the same constraints as listed in the Supplying Power to External
Module/Device section) on the VDD pin at the level set by the switches. There is a solder bridge (SB2) which can be
cut to prevent this if it is not desired.
The UART operates over the voltage range of 0v to VDD (set by the switches) as a TTL UART and is not compatible with an
RS232 UART. Connecting RS232 lines directly to the UART interface is likely to cause irreparable damage to the
programming board and devices to which it is connected. A voltage level translation circuit is required for this operation which
is outside the scope of this document.
The pinout of this connector is displayed on the board, and is as follows:
Pin
Function
Perspective (USB-SWD Programmer Board)
1
Ground
https://www.lairdconnect.com/
10
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Pin
Function
Perspective (USB-SWD Programmer Board)
2
CTS
Input
3
VDD
Input/Output (SW6)
4
TX
Output
5
RX
Input
6
RTS
Output
The Bx600 modules can be directly connected to the UART header by plugging it in. Note that the top of the Bx600 module
(with the BL600 facing upwards) is inserted facing downwards into the USB-SWD programmer board (with the components of
the USB-SWD programming facing upwards):
The Bx600 expects a baud rate of 9600 with flow control enabled by default. Due to silicon constraints of the nRF51, the SWD
programmer should be operating at 3.3v, otherwise the flash of the nRF51 silicon in the connected BL600 module cannot be
written to.
The Pinnacle 100 development board can be directly connected to the UART header by plugging it in. The GND pin names
should align. For example, to the HL7800 debug UART port. Note that the operating voltage must be set to 1.8v or damage
may be caused to the equipment.
https://www.lairdconnect.com/
11
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
This debug UART can then be used to update firmware of the modem. For details, please see the documentation on the
Pinnacle 100 website.
The BT510 sensor can be debugged and controlled via the UART, when running the official firmware. To set the BT510 up for
debugging, place a jumper on J2 from TM to GND with the BT510 connected as shown in Figure 2. Open a terminal utility
such as UwTerminalX with baud rate set to 115200, flow control set to none, parity set to none and open the port, then press
the reset button on the USB-SWD programmer to reboot the BT510, debug data will be shown on the terminal utility’s screen.
Figure 2: BT510 connected to USB-SWD Programmer Board with test mode enabled
The USB-SWD programmer board can be used with a BT510 to provide a debugging connection to the target board via a
Segger JLink (or other external programmers/debuggers). In this mode the USB-SWD programmer board acts as a
passthrough device for the signals and supplies power to the BT510. To use the USB-SWD programmer board in passthrough
mode:
Set the USB-SWD programmer board to supply power to the target module at 3.3v.
Connect the BT510 up to the programmer board by using the TagConnect TC-2050 IDC cable. Remove the back plate
from the BT510, remove the battery, insert the TagConnect into the BT510, and insert the IDC connector into the SWD
programmer board.
Change SW1 to be in the PASSTHROUGH position.
Connect the target JLink (or other device) to the USB-SWD programmer board using the ARM/Debug header.
Connect the USB-SWD programmer up to the computer via a micro USB cable.
The target device can now be debugged/programmed using the external programmer.
Note: The two UART pins are still connected to the USB-SWD programmer board and can be used as normal from
the CDC serial port. If this feature is not desired, then the J35 header can be removed. This disconnects the
UART pins from the target BT510 device. In this mode, the J1 UART pins can be connected to another device
and will work.
To use the USB-SWD programming board in non-passthrough mode, SW1 needs to be moved to the DEBUG position.
https://www.lairdconnect.com/
12
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
The USB-SWD programmer board has an inbuilt bootloader which allows the firmware to be upgraded. Details of the current
firmware can be viewed by opening the DETAILS.TXT file on mass storage device when the programmer is plugged in. If there
is a new firmware, then it is listed and available for download on the Laird Connectivity USB-SWD programmer website.
To upgrade the firmware on the USB-SWD programmer, remove all debug connectors and the USB cable from the board.
Place a jumper on the BOOTLOADER header near the USB port.
Plug in the micro USB cable. Both the red and green LEDs illuminate at this point to indicate that the unit is in bootloader
mode. Remove the jumper from the BOOTLOADER header pin.
The USB drive should be called LC_SWDMAINT. Copy the .bin upgrade file from the firmware upgrade package to this drive.
The bootloader flashes the new firmware onto the device and reboots. Once complete, the USB-SWD programmer LEDs turns
off and the programmer appears as normal.
To restore the USB-SWD programmer to default configuration and state, follow these steps:
Move SW11 into the DEBUG position.
Move SW6 into the SUPPLY OUT position.
Move SW5 into 3V3 position.
Remove any jumpers from J2.
Remove any jumpers from J4.
https://www.lairdconnect.com/
13
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Remove any jumpers from J5.
Remove any jumpers from J6.
Ensure a jumper is fitted on J35.
Plug the USB-SWD programmer into a computer using a micro USB cable.
Create a new empty file on the host computer named DEFAULT.CFG.
Copy the DEFAULT.CFG file and paste it into the USB-SWD programmer mass storage device drive.
The programmer remounts itself and all settings are restored to default.
The settings and configuration are now restored to factory defaults. Default settings of the USB-SWD programmer are as
follows:
▪Automatic reset –enabled
▪Page erasing (non-volatile) –enabled
▪UART hardware flow control –disabled
▪UART overflow detection –enabled
▪Device –nRF51/nRF52 automatic detection
▪QSPI/SPI flash access –enabled
▪Last device information –disabled
▪Maximum SWD speed –6 MHz
https://www.lairdconnect.com/
14
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
This section contains some common issues that may be encountered when using the USB-SWD programmer board and
possible solutions for these problems.
Problem
The unit is connected to the computer and the red LED is on constantly, the green LED is not on.
Possible Resolution
Check if there is a NOLIC.TXT file in the virtual flash drive. If there is, please contact Laird
Connectivity support with the details of this file.
Problem
Attempting to program or erase a module fails and does not work.
Possible Resolution
Check that the target device is correctly connected to the USB-SWD programmer board and that the
voltage level is set correctly for the target (nRF51-based modules (BL600 and RM1xx) do not
support writing/erasing flash at 1.8v and must be programmed at 3.3v).
Check that the programmer is set to the correct device type. If automatic detection fails or has
issues, set the programmer to force a specific module type by creating an empty file nrf51.cfg for
nRF51-based modules or nrf52.cfg for nRF52-based modules. Copy it to the virtual flash drive, then
retry the write/erase process. If this still fails, try reducing the maximum SWD clock speed by
creating an empty file swd1mhz.cfg and copying it to the virtual flash drive then retrying the
write/erase process again.
Problem
The MSD drive does not appear on the computer or is visible but is empty as if there is no disk
inserted into it.
Possible Resolution
Try power cycling the USB-SWD programmer board and ensure the voltage level is set up correctly
for your module. If you are using Windows 7, ensure that the MBED serial port driver is installed as
described in the MBED Serial Port Driver (Windows 7 only) section.
Problem
Writing to or erasing nRF52 devices with a QSPI memory chip can be very slow and/or time out.
Possible Resolution
The QSPI chip fitted in the Pinnacle 100/MG100 can take between 1-3 minutes to perform a full
erase.
We do not recommend that you perform a full erase of the QSPI chip. Try disabling QSPI/SPI flash
access by creating an empty file qspi_off.cfg and copying it to the virtual flash drive. This hould
prevent use of the QSPI erase function.
Note: This entirely disables QSPI support.
https://www.lairdconnect.com/
15
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Problem
Transferring firmware files via the drag-and-drop interface takes a long time (much longer than
expected)
Possible Resolution
This can be caused if the file is trying to write to QSPI/SPI flash and there is no flash attached, or
there may be other hardware on these pins and the module is causing a voltage conflict.
Try disabling QSPI/SPI flash access by creating an empty file qspi_off.cfg and copying it to the
virtual flash drive.
Problem
After using pyOCD, SWD access or other functionality is not working.
Possible Resolution
At time of writing with pyOCD version 0.29.0, there appears to be a bug in that SWD is not
configured but is dis-configured in some circumstances. There is currently no known workaround for
this issue other than by disconnecting and reconnecting the USB-SWD programmer to the
computer.
Problem
Data is being transmitted or received on the UART but is not visible on the host PC.
Possible Resolution
Check that the J35 header has a jumper on it. If there is no jumper, the UART lines are
disconnected from the target device/header. Check that the voltage source and level is correctly set
for the module to which it is connected. If one side is operating at 1.8v and the other at 3.3v then
UART communication is not possible.
https://www.lairdconnect.com/
16
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Acronym
Description
CMSIS
Cortex-M Software Interface Standard
CDC
Communications Device Class
USB
Universal Serial Bus
https://www.lairdconnect.com/
17
© Copyright 2021 Laird Connectivity, Inc.
All Rights Reserved
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
Additional information on products referred to in this document can be located at the following URLs:
▪BL600 –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-42-and-40-modules/bl600-
series-bluetooth-module
▪BL620 –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-42-and-40-modules/bl620-
bluetooth-module
▪BL600 breakout boards –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-42-and-40-
modules/bl600-bluetooth-breakout-boards
▪RM1xx –https://www.lairdconnect.com/wireless-modules/lorawan-solutions/sentrius-rm1xx-lora-ble-module
▪BL651 –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl651-series-
bluetooth-module
▪BL652 –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl652-series-
bluetooth-v5-nfc-module
▪BL653 –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl653-series-
bluetooth-51-802154-nfc-module
▪BL653μ –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl653-micro-series-
bluetooth-51-802154-nfc-modules
▪BL654 –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl654-series-
bluetooth-module-nfc
▪BL654PA –https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl654pa-series-
long-range-bluetooth-module
▪Pinnacle 100 –https://www.lairdconnect.com/wireless-modules/cellular-solutions/pinnacle-100-cellular-modem
▪MG100 –https://www.lairdconnect.com/iot-devices/iot-gateways/sentrius-mg100-gateway-lte-mnb-iot-and-bluetooth-5
▪BT510 –https://www.lairdconnect.com/iot-devices/iot-sensors/bt510-bluetooth-5-long-range-ip67-temperature-sensor
▪BT6x0 –https://www.lairdconnect.com/bt6x0-series
▪USB-SWD Programmer –https://www.lairdconnect.com/usb-swd-programmer
Version
Date
Notes
Contributor(s)
Approver
1.0
28 Apr 2021
Initial Release
Jamie Mccrae
Jonathan Kaye

Other Laird Motherboard manuals

Laird Lyra S User manual

Laird

Laird Lyra S User manual

Laird Lyra P User manual

Laird

Laird Lyra P User manual

Laird RM126 Series User manual

Laird

Laird RM126 Series User manual

Popular Motherboard manuals by other brands

Advantech PCE-5126 user manual

Advantech

Advantech PCE-5126 user manual

MSI Z97 GUARD-PRO manual

MSI

MSI Z97 GUARD-PRO manual

M-Systems Flash Disk Pioneers DiskOnChip user manual

M-Systems Flash Disk Pioneers

M-Systems Flash Disk Pioneers DiskOnChip user manual

ASROCK P65iCafe user manual

ASROCK

ASROCK P65iCafe user manual

Asus Strix Z270I Gaming user manual

Asus

Asus Strix Z270I Gaming user manual

Intel D845HV specification

Intel

Intel D845HV specification

ASROCK CONROE1333-D667 - V3.0 user manual

ASROCK

ASROCK CONROE1333-D667 - V3.0 user manual

Intel VX PENTIUM PCI user manual

Intel

Intel VX PENTIUM PCI user manual

MSI H61MU-E35 series user manual

MSI

MSI H61MU-E35 series user manual

ASROCK B75M-GL user manual

ASROCK

ASROCK B75M-GL user manual

Gigabyte B365M DS3H WIFI user manual

Gigabyte

Gigabyte B365M DS3H WIFI user manual

hager EG293B User instructions

hager

hager EG293B User instructions

Gigabyte GA-8PENXP user manual

Gigabyte

Gigabyte GA-8PENXP user manual

sparkfun gator:bit v2 HOOK-UP GUIDE

sparkfun

sparkfun gator:bit v2 HOOK-UP GUIDE

Avalue Technology ERX- C236KP user manual

Avalue Technology

Avalue Technology ERX- C236KP user manual

Linear Technology DC1811A Demo Manual

Linear Technology

Linear Technology DC1811A Demo Manual

Asus A7S-VM user manual

Asus

Asus A7S-VM user manual

Phytec phyCORE-XC161 Quick start instructions

Phytec

Phytec phyCORE-XC161 Quick start instructions

manuals.online logo
manuals.online logoBrands
  • About & Mission
  • Contact us
  • Privacy Policy
  • Terms and Conditions

Copyright 2025 Manuals.Online. All Rights Reserved.