TS-7180 Nimbelink Socket

From Technologic Systems Manuals
Revision as of 15:50, 13 August 2021 by Lionel (talk | contribs) (Mention NIMBEL_PWR_ON)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The CN5 header is a 2mm pitch 2x10 header which supports XBEE form factor modules. These include NimbeLink and Digi cell modems, Zigbee, Digi mesh, and other third party radios.

For Cell radios that use USB this must be enabled. This turns off USB to the bottom port on the dual high type A connector. Only enable if this is compatible with your module:

# Turn on the USB
gpioset 2 12=0

This header can provide 3.3V or 4V as some cell radios require higher voltage. Check the datasheet of your module before turning on any power to this header. Most cell modems require 4V, while most other radios require 3.3V.

# Only turn on one at a time.
# For 4V modules:
gpioset 5 17=1

# For 3.3V modules:
# gpioset 5 18=1

Many NimbeLink modems require NIMBEL_PWR_ON to be toggled before they "turn on". If one thinks of turning on the power (above) as "attaching the battery" of a cellphone, toggling NIMBEL_PWR_ON is analogous to "pressing the power button" for a second. Here's a script to do exactly that.

gpioset 2 19=1
sleep 1
gpioset 2 19=0

If your device doesn't turn on or off as expected, be sure to consult the manual for it. There are often device-specific procedures for powering on and sometimes even custom AT command sequences needed in order to safely power off.

By default there is no UART mapped to this header. Map ttymxc2 with:

tshwctl --addr 307 --poke 1 # Claim bluetooth UART3 (ttymxc2) for modem

See the #FPGA Registers address 307 for more UART options.

For serial modules refer to these related links:

This sample code can be used to verify connectivity to the serial-based XBee modules:

wget https://files.embeddedarm.com/ts-arm-sbc/ts-7840-linux/samples/xbeetest.c
gcc xbeetest.c -o xbeetest

gpioset 5 18=1 # Turn on only 3.3V
tshwctl --addr 307 --poke 1 # Claim bluetooth UART3 (ttymxc2)
./xbeetest /dev/ttymxc2

This will print out the module information such as:

XBee3 Zigbee TH RELE: 100A
Build: Apr 16 2020 19:00:33
HV: 424E
Bootloader: 181 Compiler: 8030001
Stack: 6710
Signals Pin Layout
Pin Signal
1 VCC (XBEE_3.3V or NIMBEL_4.7V)
2 RXD_MODEM_5V [1] [2]
3 TXD_MODEM_3.3V [2]
5 NC
10 GND
11 GND
12 XBEE_CTS / GPIO bank 2 io 15
13 NC
14 3.3V VREF
15 GND
16 GND
17 NC
18 NC
19 NC
20 NIMBEL_PWR_ON / GPIO bank 2 io 19


  1. This is a 5V tolerant TTL UART input.
  2. 2.0 2.1 By default, no uart is mapped here. These are remapped through fpga reg 307. For example, to remap UART3(/dev/ttymxc2) run "tshwctl --addr 308 --poke 1"