Down the Rabbit Hole with Casi-Rusco

We got knee deep into a couple employee identification projects over the summer.  Both systems said that they were using standard HID Prox cards, but as we went through the deploy, we found out that both customers were using HID Prox and another technology badge that our readers could not interpret correctly. As we took a deeper look at these cards, we found these customers had related problems; both had legacy cards based on the Casi-Rusco standard.

This had us stumped, because the number that our XPressProx reader module reported only partially seemed to match the Casi-Rusco badge numbers in either system. Investigating deeper led us down a rabbit hole as we tried to figure out what the story was with Casi-Rusco, their system, cards, and encoding.

Here is what we discovered, digging into this:

  • Casi-Rusco was founded with IP given to them by their previous employer, IBM.
  • Casi-Rusco expanded into a successful access control company, based out of Boca Raton, Florida.
  • Casi-Rusco was acquired by GE Security/Interlogix and continued to be operated independently.
  • GE Security was acquired by UTC and Casi-Rusco was rolled into the Lenel group.

Casi-Rusco sold their own flavor type of 125KHz RFID Proximity badge, for use in their proprietary access control systems, Picture Perfect and Secure Perfect. Their readers and panels communicated using F2F encoding, instead of Wiegand, which was used by much of the rest of the industry.

As we spoke to our partners at Lenel, who now own the Casi-Rusco technology, they helped us by directing us to the openly available formats for Casi Cards: Format 4001: 19 bit facility code/19 bit badge number and the Format 4002: 38 bit badge number.

These are how the formats look:

4001: ExxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyO
4002: EyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyO
E = Even parity (facility code)
O = Odd parity (badge number)
x = "Facility Code"
y = "Badge Number"

If this was all there was to it, we would not have been digging into the details behind Casi-Rusco in the first place.  After all, we regularly eat Wiegand Formats for breakfast. It turns out Casi-Rusco readers don’t actually output the same 40 bit number which the badge sends over the RF Signal. Within each reader, the card data is manipulated before the bits are sent to access panels. This information is not openly available. Of course, the original Casi-Rusco door readers knew how to manipulate data for their own badges. HID also licensed the format from Casi-Rusco for their wall readers, to allow Casi-Rusco cards to support Wiegand. Unfortunately, UTC/Lenel, who owns the Casi brand and technology, doesn’t share this information, even to their OOAP partners. We had no option than to do our own digging.

XPressProx Desktop USB and Serial Badge Reader

Our customers were patient, but internally we heard the white rabbit echoing “you’re late, you’re late!” At one point we discovered that we could interpret original Casi-Rusco cards, but newer Casi cards seemed to have a different encoding. We felt like we were at the Mad Hatter’s tea party where nothing made perfect sense. But after significant work on the problem, we finally reverse engineered the internal bit manipulation, and verified the numbers through the back end system.

XPID100 Handheld Badge Reader

The great result of all this, is that with this decoding worked out, we now have both our handheld badge reader, the XPID100, and our desktop USB/Serial badge reader, XPressProx, fully capable of reading Casi-Rusco compliant cards. Whats more – we can output their bits in any desired format.

So if you have need to read Casi-Rusco – or any other badge technology – from a handheld or computer, let us know!


  1. Hello, we are a solutions integrator from Monterrey, Mexico. One of our clients has 40bit CASI RUSCO Prox cards for their facilities around the globe, but here in Monterrey, they has 26bit prox cards, using eIDC32 Infinias access controller. I’m trying to find out the map of bits that a Lenel 500T reader gave as an output in order to customize the 40bit format in the controller. Is this something that you could help us out with?

  2. Hello Fernando – It is difficult to know the format without seeing the card and system configuration. However, most 26 bit Wiegand cards follow the standard outlined in this link: EFFFFFFFFUUUUUUUUUUUUUUUUO

  3. Thanks David, the card they were using its a HID 00009p with this information COMPOSITE DUOPROX II, PROG, F-GLOSS, B-GLOSS SLOT DOTS, SEQ. NON-MATCHING #, NO SLOT
    Card Format : C10106 Description : CASI RUSCO 12 DIGIT

    Do you have an email to contact

    Thanks in advance

  4. [email protected] is the best email, but to help you further, we would need to see a couple cards. Please send us 2 at
    Telaeris, Inc., 4101 Randolph St. San Diego, CA 92103

  5. Dan T. says:

    Hello there!
    Casi is interesting card format, we successfully got to read it, but then I found that system I work with represents the card number in very odd way. the data on card is read as 12B7015918 (hex), and the representation in the system is 3070318872 (probably also hex, but who knows). Can you, please, check, if the internal bit manipulation you observed on your system results the same numbers as ours? And could you, please, share the principle of the manipulation, or some hints?

    Thank you very much!

Leave A Comment

Email Subscription

Get the latest updates sent directly to your inbox!

By signing up, I understand and agree to the email marketing terms and conditions