[chbot] Anybody understand rs422 enough to decode this for me?

Stephen Irons stephen at irons.nz
Mon Feb 17 14:28:51 GMT 2025


Just to lay the blame appropriately, your confusion has nothing to do 
with RS422 itself, but with the badly documented protocol that happens 
to use a full-duplex differential physical layer, RS422. As well as 
being badly documented, it looks like a badly designed protocol, thrown 
together by amateurs.

(I feel your pain: my entire career has involved dealing with buggy and 
badly documented protocols, finding out how to avoid the bugs to get 
the data I need, then how to massage it into another buggy and badly 
documented protocol for a different device)

I don't know your background.

RS422 is like RS232 except with a differential pair for each of the 
transmit and receive paths (and no flow hardware flow control lines). 
Different from RS485 which has only one differential signal path, and 
the various devices have to decide who is sending.

My guess about controlling the colours is the same as yours: send 2 
bytes of 0xFF as a frame-start marker, then 3 bytes of RGB colour for 
each tile, with the colours component ranging from 0x00 to 0xFE (not 
0xFF, which is used as the frame start marker).

My guess about receiving the 'interaction' values is that the tiles 
magically work out how many there are -- perhaps derived from the 
number of colours that you have sent previously -- and either 
continuously send the 'interaction' string, or send the 'interaction' 
string once after you have sent the colour setting string. The 
interaction string seems to be one byte of 0xFC, one count byte telling 
you how many tiles, then one byte per tile, either 0x05 if not stepped 
and 0x0A if stepped on.

All sent at 115200 baud, presumably 8 data bits, no parity, no flow 
control.

Personally, I would wire up an RS422 adapter to one or two tiles, then 
write a script (Python is my poison) to send the appropriate 
colour-setting string and capture everything that comes back. See what 
colours appear, and what gets returned when you press a tile.

Jaycar sells a USB RS422/RS485 adapter 
(<https://www.jaycar.co.nz/usb-port-to-rs-485-422-converter-with-automatic-detect-serial-signal-rate/p/XC4136>), 
rather expensive at $80, but available now.

I have an RS422 adapter about to become part of a test jig in the next 
week or so. I can't let you have it, but I am very happy to meet up and 
help decode how the tiles work.

Stephen Irons


On Tue, Feb 18 2025 at 00:30:13 +13:00:00, andrew dean 
<nzandydean at gmail.com> wrote:
> There are some interactive floor tiles used for games where people 
> run around as the floor changes colours, avoiding red, etc.  In our 
> latest escape room we have a room where it would be great to have 
> controllable coloured floor tiles that can sense when people are 
> standing on them.  I sent information requests to dozens of 
> manufacturers and this is the closest thing I got that seems to make 
> sense, only, I don’t think I really get it.
> 
> The floor tiles seem to use rs422 to send color commands, with each 
> tablet reading their own data like a ws2811.  That kinda made sense 
> to me, but the return data did not.  How would all the tiles send 
> back a single serial string with all of their “stepped on” status 
> without some kind of controller collecting all the data?    What is 
> your best guess as to what they are saying and how it would/should 
> work?
> 
> My end goal would be to bridge the data to mqtt, but I’ll need to 
> figure out what their hardware does in order to figure out if I can 
> bridge it or not.
> 
> Can anybody help?  Does it sound to you like you fire off FFFF then 
> the rgb values in order to set the tile colours.  How would getting 
> the pressed data from the tiles work?  (Out of 20 manufacturers, this 
> is the closest to a meaningful communication I’ve had, so I’m 
> trying to decipher it as much as possible before asking followup 
> questions.
> 
> Here’s the protocol document:
> <https://devlincross.co.uk/photos/protocol.png>
> 
> Thanks for any help!
> -Andrew
> 
> 
> 
> _______________________________________________
> Chchrobotics mailing list Chchrobotics at lists.ourshack.com 
> <mailto:Chchrobotics at lists.ourshack.com>
> <https://lists.ourshack.com/mailman/listinfo/chchrobotics>
> Mail Archives: <http://lists.ourshack.com/pipermail/chchrobotics/>
> Meetings usually 3rd Monday each month. See http://kiwibots.org 
> <http://kiwibots.org/> for venue, directions and dates.
> When replying, please edit your Subject line to reflect new subjects.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ourshack.com/pipermail/chchrobotics/attachments/20250218/aeab1ed7/attachment.html>


More information about the Chchrobotics mailing list