ZGM130 GPIO Decoder Ring

One of the challenges with using the Z-Wave developers kit is trying to figure out which pin is connected to what. Every pin of the ZGM130S can perform multiple functions but some pins are best used for certain things. This guide provides general recommendations, but these are not hard-and-fast rules. The ZGM130S provides a great deal of flexibility so feel free to explore the many options each pin and peripheral has to offer. I’m hoping I can guide you with some initial suggestions but feel free to delve into the details to find your ideal solution.

This guide is a compilation of a number of documents and while I’ve been thorough, I could easily have made a typo here or there. Please use the online documentation as the official reference and send me an email pointing out my error and I’ll fix it. I couldn’t possibly include every feature for every pin but the details are available in the reference documents below. The Decoder Ring below is an overview of the most commonly used features. The table below contains a lot of information, so you’ll need to view it on a computer with a big screen.

Reference Documents

ZGM130S        ZGM130S Datasheet – See section 6 for the pin definitions
EFR32XG13    Gecko Family Reference Manual – Each peripheral is detailed here
UG381             ZGM130S Zen Gecko DevKit Users Guide – Section 3 describes connectors

ZGM130S GPIO Decoder Table

ZGM130SGPIO port as described in the ZGM130S data sheet
Pin #GPIO pin number of the ZGM130S SIP package
BRD4202AZen Gecko Developers kit board for the ZGM130S
BRD8029AButton/LED board plugged into the WSTK EXP header for the sample apps
WSTK EXPPin number of the main WSTK board expansion header
WSTKMain developers kit board with USB, LCD and Segger J-link debugger
 The Pxx pins are the holes across the long side of the board
 The Fxx pins are secondary functions that typically connect to the isolators
MiniDBGSmall 20 pin ribbon cable used to connect WSTK to a target DUT
ALT FUNCSAlternate functions the GPIO can perform. All GPIOs can be simple digital 1/0s.
 Some pins have special analog or peripheral functions.
CommentsBrief comments describing special functions of the GPIO
Description of the columns in the table below

General Purpose IOs – Use these for your application first

ZGM 130SPin #BRD 4202ABRD 8029AWSTK EXPWSTKMini DBGALT FUNCsComments
PD1027LED_R
P201-35
  P32  LED ON=low, Pullup Ideal for PWM
PD1128LED_G
P201-37
  P34  LED ON=low, Pullup
PD1229LED_B
P200-3
  P36  LED ON=low, Pullup
PC658P201-4
P200-29
 EXP4P1 F16  Easy to use with WSTK since they are on EXP
PC759P201-6 EXP6P3   
PF35P201-13
P200-16
LED1EXP13P10  JTAG_TDI
PF46P201-11
P200-23
LED0EXP11P8   
PF68P201-7
P200-25
BUTN0EXP7P4 F12   
PC860P201-8
P200-28
 EXP8P5 F15   
PC961P201-10SWEXP10P7   
PB1446P201-30  P27  General IOs
PB1547P201-32  P29   
PD926P201-33  P30   
PF57P201-28
P200-24
  P25 F11   
PD1330P201-34
P200-31
  P31 F18 OPA1PUse for Analog functions
PD1534P201-38  P35 OPA1N 
PA237P201-3
P200-21
LED2EXP3P0 F8 OPA0P 
PA439P201-17  P14 OPA0N 
PA540P201-19
P200-18
  P16 F5  VCOM_ENB Must be 1 for WSTK to pass USART0 to USB

Special Function Pins – Use these for their alternate function

ZGM 130SPin #BRD 4202ABRD 8029AWSTK EXPWSTKMini DBGALT FUNCsComments
PC1062P201-15BUTN2EXP15P12 EM4WU12 I2C1_SDAEM4WU pins are the ONLY pins that will wakeup from EM4
PC1163P201-16BUTN3EXP16P13 I2C1_SCLUse for I2C, will NOT wakeup from EM4
PD1431P201-36 P200-30  P33 F17 OPA1 EM4WU4 
PF79P201-9 P200-26BUTN1EXP9P6 F13 EM4WU1 
PA338P201-5 P200-22LED3EXP5P2 F9 VDAC0 OPA0 EM4WU8 
PB1141P201-21 P200-34  P18 F21 OPA2P
PB1242P201-23 P200-33  P20 F2010OPA2PTI_DATA Future Packet Trace debug
PB1345P201-25 P200-32  P22 F199OPA2N EM4WU9PTI_SYNC Always wire the 2 PTI pins on the ZG14 modem chip to GPIOs on your host CPU

Fixed Function Pins – Reserved for debug

ZGM 130SPin #BRD 4202ABRD 8029AWSTK EXPWSTKMini DBGALT FUNCsComments
PA035P201-12
P200-19
 EXP12P9 F65USART0VCOM_TX
WSTK->ZGM130
PA136P201-14
P200-20
 EXP14P11 F74USART0VCOM_RX
ZGM130->WSTK
PF24P201-31
P200-15
  P28 F26EM4WU0SWO
JTAG_TDO
PF02P201-27
P200-14
  P24 F18BOOTTXSWCLK
JTAG_TCK
PF13P201-29
P200-13
  P26 F07BOOTRXSWDIO
JTAG_TMS
RST_N15P200-17  F4 SW1023 RESET button next to EXP header
ANT23SMA or PCB     Radio Antenna Move cap R2 for PCB

Power Pins

ZGM 130SPin #BRD 4202ABRD 8029AWSTK EXPWSTKMini DBGALT FUNCsComments
VSS GND1,10,11,
12,13,14,
16,17,18,
19,20,21,
22,24,25,
32,33,43, 48,49,51,
53,54,55,
64
    2 Ground 0 Volts
AVDD44      Analog Power 1.8-3.8V
1V850      Leave unconnected
VREG VDD52      DCDC Reg input
Tie to AVDD
2.4V min for DCDC
DECO UPLE56      No-Connect
IOVDD57      Digital IO Power 1.62V-VREGVDD AVDD>=IOVDD
     VAEM1 DUT Power

EXP Port on the WSTK

BRD8029AWSTKPin #Pin #WSTKBRD8029A
 GND12VMCUVMCU
LED2P0 (PA2)34P1(PC6) 
LED3P2(PA3)56P3(PC7) 
BUTN0P4(PF6)78P5(PC8) 
BUTN1P6(PF7)910P7(PC9)SW Pull up/dn
LED0P8(PF4)1112P9(PA0) 
LED1P10(PF3)1314P11(PA1) 
BUTN2P12(PC10)1516P13(PC11)BUTN3
 BoardID_SCL1718+5VNC
 BoardID_SDA19203V3BRDID PWR
P100 connects to the Button/LED BRD8029A

Legend:
WSTK = hole name (ZGM130 GPIO)
EX: WSTK P100 pin 16 is hole P13, ZGM130S GPIO PC11, Button 3 on the BRD8029A
BRD8029A is the Button/LED board. Functionality is:
LEDs are ON when driven high
BUTN pins are pulled up and go low when the button is pressed
The SW can pull the pin either up or down depending on the slide setting
left/on is 1, right/off is 0 thru 1MOhm resistors
The VMCU powers the LEDs/Buttons but the board ID is powered via pin 20
Schematic is in Simplicity Studio

Mini-Simplicity Debug header: Top View

NamePin #Pin #Name
VAEM (3V3)12GND
RESET_N34VCOM_RX (PA1)
VCOM_TX (PA0)56SWO(PF2)
SWDIO(PF1)78SWCLK(PF0)
PTI_SYNC(PB13)910PTI_DATA(PB12)

On the DUT board with the ZGM130S on it, connect VCOM_RX to PA1 and VCOM_TX to PA0. The header is a 0.05” pitch 10 pin header. Typically use a Samtec FTSH-110 but to make the pads even smaller use just the pads for a thru-hole connector. See my post “700 series Debug Header” from October 2019 for more details on the debug header.

Recommendations

Remember that the GPIOs in all the Wireless Gecko chips from Silicon Labs are very flexible and most peripheral functions can be routed to almost any IO pin. That said, there are some pins that have fixed functions and some pins are best at certain other functions. Let’s start with the pins you can’t use.

Power Pins

Obviously, the power pins have to be connected to the proper voltage. The ZGM130 has a lot of ground pins so make sure every one of them is connected to a solid ground. The voltages for the power pins have a few rules but in most cases you’ll tie AVDD and VREGVDD to the same power source of 3.3V. The on-chip DC to DC regulator allows a wide voltage range on VREGVDD so there is some additional flexibility which requires careful consideration. But for most applications, tie these two power pins directly to the battery. Most of the time IOVDD is also tied to the battery though depending on other chips in your system you might need an LDO to keep the IOs at the proper voltage.

Debug Pins

The next set of pins you should not use for GPIOs are the debug pins. All ten IO pins on the Mini-Simplicity header should be wired up as shown in the table above. The UART pins are very important to print out debug information while the chip is running. The advantage here is that you can see things happening in real-time without using a scope or logic analyzer. And you can easily enable/disable blocks of debug statements as needed. The sample apps print all sorts of debug information so you’ll want to do the same in your code. The UART defaults to only 115200 baud but it’s easy to increase it up to roughly 1Mbaud to reduce the time impact of printing debug messages. Also, keep the messages short or else they may impact the timing so much that your code will fail. If you’re really in a pinch for one more IO, you could use the SWO or VCOM_RX pins as you probably don’t need them.

Special Function Pins

A number of pins have specific functions especially for certain analog functions. The ADC/DAC only have their primary and alternate IOs though you can route them thru the ABUS. Only a few of these pins can wake the chip from sleeping in EM4. Be very careful and utilize these pins for buttons or sensors that need to wake the chip up.

General Purpose IOs  

The rest of the pins are available for any purpose. Most of the pins can be any digital IO function. Some pins are handy because of their connection on the DevKit. There are three IOs connected to an RGB LED on the 4202 board. These are really handy to visually observe PWM waveforms based on the color of the LED. The pins that are routed to the EXP header on the WSTK are easy to connect to a proto board. Be careful to avoid using PA5 as that is connected to the VCOM enable pin on the WSTK. PA5 has to be high to route the debug UART data to the USB bus. But this is a restriction only when using the DevKit 4202 board. If connecting to your own PCB via the Mini-Simplicity header you can freely use PA5.

Conclusion

The ZGM130S is a flexible chip with plenty of compute power, RAM and Flash. The GPIOs can largely be routed from any peripheral to any IO though there are some restrictions. The secret decoder ring given here maps out which pin can do what and which ones should be used for your application. This is only a guide and the chip has many more features than I can describe here. Refer to the Reference Documents for more in depth knowledge.

Z-Wave is No Longer Proprietary

One of the impediments to the expansion of Z-Wave by some developers is that Z-Wave was considered “proprietary”. But that impediment has now been removed with yesterdays announcement of the open availability of Z-Wave. Read more about it here. The Z-Wave RF protocol has been an ITU standard for many years – IUT-T G.9959. But that wasn’t enough to be able to get a product to market due to the all the software you would have to develop and then it was uncertain if it could be Z-Wave Certified.

I just wanted to make a quick note here about this very important announcement.