Setting Link ID on Screenlogic Wireless Link (Quest version)... [SOLVED]

ogdento

Bronze Supporter
Mar 30, 2015
1,169
Chico, CA
Hi folks,
I've been tinkering with Screenlogic Wireless link cards to try and figure out how to reset the Link ID. The Link ID is the 8-digit number printed on a yellow sticker on both units - and the IDs must match for the two. At the moment, if one board fails you have to buy a whole new set... you cannot buy a single/unmatched board from ebay and use it on your system. And unfortunately there are a lot of sellers selling a single indoor OR outdoor unit - these are totally useless since the Link IDs will not match!! But, if you could somehow re-program the Link ID you could 1. save a lot of money and 2. keep a lot of this stuff out of the trash.

These are the cards I'm talking about:
144760_0_2017729122932.jpg

Here's what I've discovered so far:
1. the schematics and other useful docs (theory of operation) are available on the FCC website: FCC ID 2AHWAQTS0000LINK Wireless RS-485 Transceiver by Quest Technical Sales and Marketing, Inc.
2. the indoor and outdoor boards appear to be identical, save for an unpopulated power connector on the outdoor unit and possibly a resistor that determines whether the board is an indoor or outdoor unit (See BOARD_TYPE on the schematic) ** I believe it needs to know this because the outdoor unit is supposed to act as the master
3. the boards use a TI CC430F5147IRGZ processor that has a built in sub-1GHz radio (based on the popular CC1101), and operate at 915MHz.
4. the radio is set to frequency hop, so I wasn't able to sniff it with a software defined radio dongle.
5. there are unpopulated JTAG and a serial headers on this thing... you can use the serial if you populate R632 and R631 (or short the pads)
6. if you open a 9600 baud serial connection (in putty etc), and hold the little white button while you power the board up, you get a very promising prompt...

---FW: H2.1---
Current Link ID: 00031E64
---Set Link ID---
<flashing cursor>

Holy cow that's great! Not so fast... I cannot figure out how to set the new code! Typing a new 8-character code does nothing. Maybe there is a special termination or start/stop character required... but I have no idea what they would even be. I'm basically at a dead end for now unless anybody has any ideas?

Tom
 
Quick update... I managed to change the Link ID!!!

Why would you care? If one of your transceivers dies you can buy a single device off of eBay or some site, without having to buy a matched pair.

I was originally trying to do this using the serial debug header, and with that setup I got a serial prompt to set the ID but couldn't figure out how to properly send the data and set the id. So... while I was cleaning out a cabinet full of junk I came across an old Texas Instruments debug interface (MSP-FET430UIF) - and since this board uses a TI MSP430 chip I figured I'd have a go...

I soldered a 14-pin header onto the empty JTAG port...
IMG_20240104_220724882.jpg

I plugged the board into my MSP-FET and the TI MSP Flasher program was able to read the device memory!! I read the MAIN, BSL, INFO and RAM segments and found the Link ID in the INFO segment with this command:
MSP430Flasher -n cc430f5147 -r [info.txt,INFO]

The Link ID is set in the "INFO" memory block, which starts at address 1800... this is the (shortened) info.txt output from the device I was messing with:
@1800
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
...
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
64 1E 03 00 FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
...
The address of the unit was originally 00031E64... notice it's written in "reverse byte" sequence.

Anyway, I wanted to change it to 00018EAC to match the unit on my pool, so I changed the byte sequence in the info.txt to "AC 8E 01 00" (reverse order, remember), and used this command to upload it:
MSP430Flasher -n cc430f5147 -e ERASE_SEGMENT -w info.txt -v info.txt

After that, I unplugged my working indoor unit, swapped in this one and powered everything back up. It did a little dance for 30 seconds or so to sync up with the outdoor transceiver, and then I was able to control the pool with the Screenlogic app!

Here's my updated indoor transceiver:
IMG_20240104_220646570.jpg

The final thing I'd like to figure out is how to use an "indoor" transceiver as an "outdoor" transceiver (and vice versa)... as noted in the original post, they are the same hardware except for the power and rs485 connectors. The BOARD_TYPE resistor is the same on both units, so that was of no help. But they do appear to have different software since the outdoor unit acts as the "main" controller that the indoor unit has to sync up with (to get the frequency hopping sequence, set the transmit power level, etc.). I'll program the indoor unit with the code from the outdoor unit and see if it still works.
 
  • Like
Reactions: Jimrahbe
I can confirm that the indoor and outdoor boards are the same hardware with different firmware, and you can re-program an indoor unit to behave like an outdoor unit and vice-versa. I soldered on 14-pin headers and pulled the indoor and outdoor firmware code from working units.

This means if your outdoor board were to break, you don't have to purchase a matched set... you could buy an un-matched indoor OR an outdoor board on ebay and then reprogram the ID and the firmware (e.g. if you wanted to use an indoor board outside). Beats spending $$$$ for a new set and keeps some junk out of the landfill.

I had two un-matched indoor units, so I soldered a 14-pin jumper onto one of them and reprogrammed it to have a matching ID and the outdoor firmware... the pair are now working beautifully with my screenlogic. To connect the repurposed indoor board to the outdoor panel I had to use a screenlogic-type 4-pin connector (the green one made by Phoenix) instead of the original black 4-position Riacon/Metz connector.
 
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.