Date CET Initials Name Justification
2018-03-05 14:38:29 NTJ Niels Thybo Johansen
This document is the property of Silicon Labs. The data contained herein, in whole
or in part, may not be duplicated, used or disclosed outside the recipient for any
purpose. This restriction does not limit the recipient's right to use information
contained in the data if it is obtained from another source without restriction.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page ii of vii
REVISION RECORD
Doc.
Rev
Date
By
Pages affected
Brief description of changes
1
20061001
SSE
JFR
ALL
Initial draft
2
20070322
JFR
5.8.8
5.10.1
Shortcut keys revised
Console frequency parameters revised
3
20070420
SSE - Programmer firmware upgrade added
4
20080227
JFR - Revised with respect to 100 Series
5
20081212
DDA
JFR
ALL
Revised and updated with respect to 400 Series and ZDP03A
6
20090929
JFR
3.4
3.4
ZDP03A Jumper J20 settings clarified
Not possible to program external EEPROM on 100 Series based modules
when using ZDP03A
7
20100127
DDA
4 & 5
Updated screenshot. MTP description added. Added Hold device in reset,
Write on PCB button, Use test frequencies. Description of SRAM updated.
Console interface syntax added. Firmware upgrade updated.
8
20110210
DDA
5.4.5
Section about Calibration and Program feature added.
9
20110217
DDA
5.9
Console interface syntax updated.
10
20110816
DDA - Added ZW040x RF settings
Updated interface
11
20130515
MVO
All
Replaced first section and updated headers/footers
Updated references
Editorial cleanup. Separated on-board and ISP descriptions. Added details
on 500 series programming. Added details on 500 series calibration.
Updated screen dumps. Console interface syntax updated. Console interface
help text updated. Removed 100 series details. Added details on 500 series
calibration hardware.
13
20131001
ABR
5.3.2
Added more on USB/UART/SPI programming interfaces
13
20131002
ABR
5.3
Added more on USB/UART/SPI programming interfaces
13
20131112
ABR
Various
Minor editorial cleanup.
PC Programmer v2.68 screen dumps added.
13
20131205
ABR
Various
Updated front page Z-Wave logo.
Removed ZDP02A and Interface module due to End Of Life.
Reordered sections: 500 series details are described first.
Added new figure to 5.1: Using DP03A for USB-UART conversion
Improved DP03A jumper overview + added details for J3+J4: USB-UART
14
20140220
JFR
MVO
5.6
4.3.6
5.10.1
Supports only EEPROM’s and via SPI
Revised lock bits description
Revised console interface description
15
20140603
JFR
5.4.6.3
Revised ZW050x RF settings
16
20150715
JFR
5.4.6
Updated procedure for incorporating RF transmit power levels in the target
file.
16
20150910
SRO
4.3.5
Updated screenshot and description with Production Tag information
17
20151027
JFR
5.4.6
Explained how the default Tx power values are used in library
17
20151229
SRO
All
Updated application screenshots
17
20151229
SRO
4
4.3.2
4.3.2,4.4.1,4.5.1
4.3.3
4.3.4
5.10.1.4
Remove Log View section (it is a separate view opened from menu)
Added description of the Security S2 keys related buttons
Added description of the “Production” button
Added description of the “Execute out of SRAM” button
Added description of the NVM modules related buttons
Added new commands for Security S2 keys support
18
20160224
SRO
All
4.3.2
Updated Screenshots: Remove Production feature, Added DSK Display
Remove Production View section
Added DSK text box description
19
20160725
SRO
4.3.2
Rename S2 keys to S2 keypair, remove Set S2 keys, updated screenshot
Table 2. ZDP03A status LEDs ..................................................................................................................... 8
Table 3. Z-Wave PC Programmer menu ................................................................................................... 14
Table 4. 500 series Lock Bits .................................................................................................................... 21
Table 5. Available programming interfaces of 500 series modules and chips .......................................... 32
Table 6. ZW0201/ZW0301 Tx Power Settings .......................................................................................... 39
Table 7. ZW040x Tx Power Settings ......................................................................................................... 41
Table 8. ZW050x Tx Power Settings ......................................................................................................... 43
Table 9. Z-Wave PC Programmer shortcut keys ....................................................................................... 53
Table 10. PC Programmer console mode return codes ............................................................................ 60
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 1 of 69
Abbreviation
Explanation
EEPROM
Electrically Erasable Programmable Read Only Memory
Flash
A type of EEPROM memory that can be erased and reprogrammed in blocks.
GUI
Graphical User Interface
HW
Hardware
ISP
In-System Programming
LED
Light Emitting Diode
MTP
Many Time Programmable; a type of NVM
NVM
Non-Volatile Memory
NVR
Non-volatile register
OTA
Over The Air (firmware update)
OTP
One-Time Programmable; a type of NVM
PA
Power Amplifier
PCB
Printed Circuit Board
pF
Pico Farad
RF
Radio Frequency
Rx
Receive
SD34xx
Range of 400 series Z-Wave Single Chips
SD35xx
Range of 500 series Z-Wave Single Chips
SD3502
General Purpose Wireless Z-Wave Chip, QFN48 (Full IO chip)
SD3503
Wireless Z-Wave Modem SOC, QFN32 (Modem chip)
SDK
Software Development Kit
SoC
System on Chip
SPI
Serial Peripheral Interface
SW
Software
Tx
Transmit
UART
Universal Asynchronous Receiver-Transmitter
USB
Universal Serial Bus
ZDB5xxx
Range of 500 series Z-Wave Development Modules
ZDB5101
Z-Wave Development Module containing a ZM5101 General Purpose Z-Wave SiP
Module
ZDB5202
Z-Wave Development Module containing a ZM5202 General Purpose Z-Wave
Module
ZDB5304
Z-Wave Development Module containing a ZM5304 Z-Wave Serial Interface
Module with Antenna
ZDP02A
Z-Wave Development Programmer, version 02A.
This version is no longer supported by Silicon Labs.
ZDP03A
Z-Wave Development Programmer, version 03A
Supports Silicon Labs Z-Wave chips series 100/200/300/400/500
ZM1206
6 cm² Z-Wave Module containing a 100 Series Z-Wave Single Chip
ZM1220
20 cm² Z-Wave Module containing integrated PCB antenna, EEPROM and 100
Series Z-Wave Single Chip
ZM2102
2 cm² Z-Wave Module containing a 200 Series Z-Wave Single Chip
ZM2106
6 cm² Z-Wave Module containing a 200 Series Z-Wave Single Chip
ZM2120
20 cm² Z-Wave Module containing a 200 Series Z-Wave Single Chip
1 ABBREVIATIONS
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 2 of 69
Abbreviation
Explanation
ZM2120C
20 cm² Converter Z-Wave Module, used to convert ZM2106 to ZM2120-formfactor
ZM3102N
2 cm² Z-Wave Module containing a 300 Series Z-Wave Single Chip
ZM3106C
6 cm² Z-Wave Module containing a 300 Series Z-Wave Single Chip
ZM3120
20 cm² Z-Wave Module containing a 300 Series Z-Wave Single Chip
ZM3120C
20 cm² Converter Z-Wave Module, used to convert ZM3106C to ZM3120formfactor
ZM4225
25 cm² Z-Wave Module containing integrated PCB antenna, EEPROM and Z-Wave
SD3402 Single Chip (QFN)
ZM5xxx
Range of 500 series Z-Wave Modules
ZM5101
General Purpose Z-Wave® SiP Module (Full IO module)
ZM5202
General Purpose Z-Wave® Module (Basic IO module)
ZM5304
Z-Wave® Serial Interface Module with Antenna (Modem module)
ZW0102
100 Series Z-Wave Soc
ZW0201
200 Series Z-Wave Soc
ZW0301
300 Series Z-Wave Soc
ZW040x
400 Series Z-Wave Soc
ZW050x
500 Series Z-Wave Soc
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 3 of 69
2 INTRODUCTION
2.1 Purpose
The purpose of this document is to present the Silicon Labs Z-Wave chip programming environment
consisting of the ZDP03A programming hardware and the PC Programmer application.
The Z-Wave PC Programmer can program the complete range of Silicon Labs Z-Wave chips and
modules via the ZDP03A programming hardware. The programming environment also supports
programming of External NVM on Z-Wave modules. Finally, the programming environment can be used
to configure RF settings and Lock Bits in Z-Wave modules.
500 series chip USB and UART programming modes are supported by the Z-Wave PC Programmer.
ZW040x and ZW050x chips may need two types of calibration for the Z-Wave chip to operate perfectly.
While Tx calibration is handled automatically by the Z-Wave PC Programmer application, crystal calibration requires dedicated calibration hardware. For more details on crystal calibration, refer to
section 5.4.5.
2.2 Audience and prerequisites
The audience is Z-Wave partners and Silicon Labs.
2.3 Implementation
The Z-Wave Programmer tool is implemented in Visual Studio .NET 2008 C# and uses the .NET
Framework 3.5. The solution also contains Setup project for creating msi setup file and xxx.UnitTest
project with unit tests. Both can be excluded safely from the solution. However, in order to build Setup
project and UnitTest projects solution requires:
The WiX toolset (http://wixtoolset.org/) lets developers create installers for Windows Installer, the
Windows installation engine. Must install specific version WiX toolset 3.8
https://wix.codeplex.com/releases/view/115492 and execute win38.exe
NUnit (http://www.nunit.org/) is a unit-testing framework for all .Net languages. Must install
specific version NUnit 2.6.4 https://github.com/nunit/nunitv2/releases/tag/2.6.4 and execute
NUnit-2.6.4.msi
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 4 of 69
3 GETTING STARTED
3.1 Check the prerequisites
The following components should be pre-installed on the machine that you need to run Z-Wave PC
Controller Windows application:
1. .NET Framework, version 3.5 SP1 or later
2. Windows Installer 3.0 (Windows Installer 3.1 or later is recommended)
Limitation: Z-Wave Zniffer has been tested on Windows 7, Windows 8 and Windows 10. The PC
application is a ‘desktop application’ that runs on X86 (32bit and 64bit) architecture.
Important: Make sure you have the latest service pack and critical updates for the version of Windows
that you are running. To find the recent security updates, visit Windows Update.
3.2 Required PC hardware
USB interface or optional serial port interface.
3.3 Installation
The ZDP03A programming hardware can be used for programming Silicon Labs Z-Wave
200/300/400/500 Series Chips. The ZDP03A is intended for use during SW and HW development and for
small production series. A Z-Wave development module can be mounted in the Z-Wave module socket
on the ZDP0xx programming hardware and product specific hardware may be programmed via an ISP
cable. The ZDP03A programming hardware is connected to the PC via a USB interface. An external
9VDC 500mA power supply must always be used for the ZDP03A.
ALWAYS install the USB driver firmware in the PC BEFORE connecting the USB cable to the ZDP03A.
ALWAYS check that the jumpers are mounted correctly on the ZDP03A programming hardware before
applying power.
The Z-Wave PC Programmer supports three programming interfaces:
SPI, via ZDP03A(ZW020x/ZW030x/ZW040x/ZW050x)
UART, directly to end product or via ZDP03A(ZW050x)
USB, directly to end product or via ZDP03A(ZW050x)
The ZDP03A provides USB and UART interfaces mapping directly to the USB and TTL level UART
interfaces of Silicon Labs ZW050x Z-Wave modules. Further, the ZDP03A may be configured so that the
USB interface acts as a USB to UART converter; connecting the PC USB port to the UART interface of
the Z-Wave module. The interfaces may also be configured for direct in-system programming, e.g. for
testing the programming of end product firmware before hardware is available for such products.
As the SPI interface is the most versatile, it is recommended to use the SPI interface during general
software development in ZDP03A compatible Z-Wave modules.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 5 of 69
3.3.1 ZDP03A USB Driver installation
The USB driver firmware MUST be installed in the PC before connecting the USB cable to the ZDP03A.
Follow the step-by-step instructions below.
1. Install the CP210x VCP driver.
Figure 1. ZDP03A USB driver location
To run the CP210x VCP driver installation wizard, extract content of the
…\ZWaveProgrammer_vX_YY\PC\CP210x_VCP_Windows.zip, run installer application and
follow the installation wizard. It is RECOMMENDED to not change the suggested destination
folder. If changing the destination folder, the new folder name should be recorded for later use.
2. Check the jumper settings on the ZDP03A; refer to section 3.4.
3. Connect the external 9VDC power supply.
4. Connect the ZDP03A to the PC using the USB cable (USB interface “J1” on the ZDP03A).
Windows 7 will detect the new hardware and the new hardware wizard will start. Once
completed, the driver installation is confirmed. The reported COM port number may vary.
Figure 2. ZDP03A USB driver installation confirmation
5. Restart the PC when the USB driver installation is finished if prompted to do so.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 6 of 69
ISP Cable
Connector
Z-Wave
Module
Connectors
LED D9
LED D11
LED D15
LED D16
LED D17
Jumper J4
Jumper J3
Jumper J8
Jumper J7
Jumper J2
Jumper J20
UART 1
UART 2
USB 2
USB 1
3.4 ZDP03A Programming hardware
The ZDP03A Z-Wave programming hardware can be used for programming Z-Wave 200/300/400/500
Series Chips.
Warning:
Always install the USB driver firmware on the PC before connecting the USB cable to the ZDP03A.
Always check that the jumpers are mounted correctly on the ZDP03A before applying power.
3.4.1 ZDP03A Connectors, LEDs and jumpers
The ZDP03A is connected to the PC using the USB interface “J1” and powered by an external 9VDC
power supply. The embedded application may be debugged while the Z-Wave module is mounted in the
Z-Wave module connector of the ZDP03A.
Figure 3. ZDP03A connectors, LEDs and jumpers
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 7 of 69
LED
Function
Options
J2
ZDP03A Power via USB
: Disable (RECOMMENDED)
: Enable
J3+J4
UART connector selection
ZDP03A UART 1 directly to
module UART
ZDP03A USB 1 via CP210 to
module UART
J7
OTP programming enable
(ZW0400 only)
: Disable
: Enable (RECOMMENDED)
J20
ATmega128 reset
(LED D9 turns off)
: No reset (RECOMMENDED)
: Reset
The following Jumpers must be correctly configured. Refer to Figure 3.
Table 1. ZDP03A configuration jumpers
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 8 of 69
LED
On State
Off State
D9
ZDP03A firmware is up and running
ZDP03A firmware is halted
D11
ZDP03A is busy
ZDP03A is idle
D15
ZDP03A and host PC are connected via USB
ZDP03A USB un-connected
D16
External power on
External power off
D17
USB power on
USB power off
The following LEDs indicate the state of the programmer.
Table 2. ZDP03A status LEDs
The figure below shows the ZDP03A with a ZW050x Z-Wave module mounted in the Z-Wave Module
connector.
3.4.2 ZDP03A Firmware
The ZDP03A Z-Wave programming hardware is delivered with a preprogrammed ATmega128 chip.
However, ATmega128 firmware is available in case it is necessary to re-program it.
Figure 4. ZDP03A with Z-Wave module
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 9 of 69
The Z-Wave Programmer/bootloader for the ATmega128 (only downloaded once) located in the directory
…\ZWaveProgrammer_vX_YY\ZDP0xA_Firmware\ATMega128_Firmware.hex
The Z-Wave Programmer firmware for the ATmega128 used when upgrading to a newer version located
in the directory …\ZWaveProgrammer_vX_YY\ZDP0xA_Firmware\ZWaveProgrammer_FW.hex
3.5 Z-Wave PC Programmer installation
The Z-Wave Programmer software is installed by browsing to the …\ZWaveProgrammer_vX_YY\PC\
directory and double click on the ZWaveProgrammerSetup.msi file.
Figure 5. Selecting the Z-Wave PC Programmer installer
The “Welcome” dialog appears.
Figure 6. PC Programmer setup wizard
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 10 of 69
Click on the ‘Next>’ button.
Click on the ‘Next>’ button.
The Installation Folder dialog appears.
It is RECOMMENDED to use the suggested default folder path.
Figure 7. PC Programmer installation folder
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 11 of 69
Click on the ‘Install’ button. The wizard starts installing the Z-Wave PC Programmer application.
Click on the ‘Finish’ button to exit the installation wizard.
Run the Z-Wave PC Programmer from the Windows start menu:
Start->All Programs->Silicon Labs->Z-Wave Programmer.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 12 of 69
From the Z-Wave PC Programmer main menu, choose the USB interface used by the ZDP03A
programming hardware:
Z-Wave PC Programmer->Settings.
Figure 8. PC Programmer COM port selection
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 13 of 69
4 Z-WAVE PC PROGRAMMER GUI
The Z-Wave PC Programmer application implements a Graphical User Interface (GUI) as well as a
console interface. Both user interfaces may be used for programming the internal and External NVM of
Z-Wave chips. This chapter focuses on the GUI. Refer to section 5.10 for a description of the console
interface.
Figure 9 shows the Z-Wave PC Programmer main window.
The Z-Wave PC Programmer window is organized in a number of views.
The tab strip in the top of the left view is for selection of the actual chip type. The contents of the left view
depend on the selected tab. The “Log” and “Output” views in the right half of the window are the same for
all series of Z-Wave chips.
Notice that the Output window MUST be opened before using any read buttons.
Figure 9. Z-Wave PC Programmer main window
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
Opens up a “Settings” dialog with two tabs: “Communication” and “Other”.
The “Communication” tab allows for selection of the USB port used by the
ZDP03A programming hardware while the “Other” tab gives access to
advanced settings.
Help
Help resources and application version information.
4.1 Main Window Menu
The main window offers the following menu:
Table 3. Z-Wave PC Programmer menu
4.2 Output View
A user may request that the current NVM contents are read back from the Z-Wave module. The Output
view shows the data that were read back. The user may save the contents of the Output View as a HEX
file.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 15 of 69
4.3 The ZW050x view
Figure 10. ZW050x::Flash Code Memory view
Note: If using the ZDP03A Z-Wave programming hardware for programming Z-Wave 500 series chips,
the ZDP03A MUST run firmware v1.26 or newer.
Figure 11. Reading ZDP03A firmware version from status bar of the PC Programmer main window
The ZW050x view is organized as three views, each showing one memory type along with a number of
permanently visible GUI blocks. The actual ZW050x view is selected from a second tab strip just under
the chip type tab strip. Each block is presented in the following.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 16 of 69
1
1
4.3.1 Programming Interface Block
The PC Programmer Application supports three programming modes; SPI, UART and USB.
The SPI interface SHOULD be used during general software development.
4.3.2 ZW050x::Flash Code Memory View
The ZW050x Flash Code memory view is outlined in Figure 10. The Flash block comprises the following
GUI elements:
HEX File textbox (path to HEX file)
Add Security S2 keypair checkbox (S2 keypair will be added if checked to NVR)
Generate Security S2 keypair checkbox (generate new pair or use specified in related
texboxes)
Pr textbox (public key that will be written to module)
Pu textbox (private key that will be written to module)
DSK textbox Device Specific Key (based on public key value)
Read button (read the Internal NVM)
Erase button (erase the Internal NVM)
Calibrate, Program and Verify button (calibrate Tx frequencies and write HEX file to Internal
NVM)
Compare button (compare the Internal NVM contents to a HEX file)
Get S2 keypair button (read security public/private keypair from module)
Normal TX Power and Low TX Power textbox (Refer to Table 8)
Get Options button (read current TX power and frequency)
Set Options button (write TX power and frequency to the Internal NVM)
The Erase button SHOULD NOT be used prior to the programming of a new software image to a
ZW050x Z-Wave module. The erase operation not only clears the Flash code memory block but also the
NVR page. The NVR page holds certain module specific data such as crystal calibration constants. If the
NVR is cleared, the Z-Wave PC Programmer will need dedicated calibration hardware to perform a chip
crystal calibration. Furthermore, it is also necessary to restore the remaining NVR content such as UUID.
Refer to section 5.4.5.
Dedicated calibration hardware may be required for chip crystal calibration. Refer to section 5.4.5.
INS10679-22 Z-Wave Programmer User Guide (ZDP03A, PC) 2018-03-05
silabs.com | Building a more connected world.
Page 17 of 69
4.3.3 ZW050x::SRAM View
Figure 12. ZW050x::SRAM view
The SRAM view comprises the following GUI elements:
HEX File textbox (path to HEX file)
Read button (read the SRAM contents)
Program button (write HEX file to the SRAM)
Verify button (compare the SRAM contents to a hex file)
Program SRAM and execute out of SRAM button (write HEX file to SRAM and execute out of
SRAM)
Loading...
+ 53 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.