PROXmobil3 reverse engineering

You know the new ORCA card readers?

King County Metro photo of new ORCA reader

This is the PROXmobil3 made by INIT. It’s not custom made for ORCA. INIT sells variants of it to many transit agencies. One such agency is CapMetro. Or, I should say, was. CapMetro recently retired them in favor of a new system, and sold the old hardware at a public surplus auction. To me. I am the proud owner of approximately 800 700 of them.

It is my goal to reverse engineer them to make them suitable for non-transit uses, and to distribute them to people who will find interesting things to do with them. I will describe what we currently know about them, and then I will plead for you to take one of them off of my hands.

Hardware

It’s built around a TQMa6S module.

I found a “system design document” in RIPTA public records, which contains a block diagram:

There is a 15-pin D-Sub connector on the rear, with the system’s main I/O:

This pinout was determined by trial and error, and I bricked one unit while searching for the ignition pin. RIP.

I made a dongle to adapt this interface to an Ethernet port supporting 24V passive PoE, and a standard USB-A port. KiCad files here. Dongles dated 2025-12-30 or later contain an EEPROM chip with a payload that enables code execution off of a USB storage device without having to open the PROXmobil3’s case.

Booting

To start the system, continuously supply CL30 power, then momentarily supply CL15 power (or press the internal power button on the main board).

To gain code execution on the device, open the rear cover, remove the lower SD card, mount it on a system that supports ext4, and place a shell script in autorun/. It will appear in /init/autorun/ on the device, and will automatically be run at boot.

Or, with newer EEPROM-containing dongles, put a shell script named autorun.sh at the root of a USB filesystem (either attached directly to the rear USB port, or with disklabel MP_SD), and it will be run at startup instead of the stock UI.

Before I had working Ethernet, I did the following to gain interactive access:

  1. Put this script at /init/autorun/ to change the root password at startup
  2. Attach to the serial console, marked “ARMcons” on the upper left of the main board (4 pin TE Micro-MaTch connector, 1=3V3 (leave unconnected), 2=TX, 3=RX, 4=GND, 115200.8.N.1)
  3. Power on the device, interrupt U-Boot, boot with serial tty enabled by running: env set debug 1; boot
  4. Log in with your new root password

Now that Ethernet is working, there are ways of doing this without the serial console.

Obtaining one

Do you want one of these to hack on? I will put one in a USPS Flat Rate Padded Envelope and mail it to you anywhere in the United States for $25 (including a revA PROXdongl3). Limit one per person, as this barely covers my costs, and is intended to get them into the hands of as many people as possible. If you want a larger quantity, pricing and availability depend on how much I like your use case - email me and tell me how many you want, what you plan to use them for, and when you’re available to remove them from a warehouse in Renton.

CLICK HERE to order one. If it says I’m out of stock, check back later - I am limiting this to a small number of outstanding orders at one time, but will replenish inventory as they are shipped.

If you are in possession of an {EEPROM,USB}-less PROXdongl3, or a dongle-less PROXmobil3, and want to upgrade to an EEPROM-containing dongle, CLICK HERE.

See also