Skip to content

Instantly share code, notes, and snippets.

@taktoa
Last active July 12, 2023 07:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taktoa/22e3164237c49a105c518b250a25132f to your computer and use it in GitHub Desktop.
Save taktoa/22e3164237c49a105c518b250a25132f to your computer and use it in GitHub Desktop.
Review of Tangxi Smart USB UHF RFID Reader 915Mhz, USB Desktop Contactless Card Reader Writer, Electronic Tag Access Control ID Card Reader for ISO18000‑6C/ISO18000‑6B Label

TLDR summary: Not much documentation, works as a USB keyboard and emits the contents of tag EPC memory (hex encoded) plus a newline, decent sensitivity, seems very hackable if you are into that kind of thing.

The box contained nothing other than the reader and a mini-USB B to USB A cable.

The reader enclosure can be opened easily by removing 4x 10 mm foam pads at the bottom and unscrewing some self-tapping Phillips head screws. The enclosure measures 64 mm x 105 mm x 13.5 mm. The board inside is slightly smaller at 60 mm x 100 mm x ~9 mm. A large portion of the height of the board is occupied by two LEDs (one blue, one green) inside a large flat diffuser. If desired, the board could be stripped down by removing the antenna/LEDs/beeper and cutting a large empty part of the PCB off, resulting in dimensions 60 mm x 46 mm x 5.1 mm.

The board is essentially a MagicRF M100 module attached to an antenna and an STM32F103 clone, which emulates a USB keyboard and in my testing emits a 96 bit (24 character) hexadecimal string which I assume is meant to represent the contents of the EPC memory. The tags I tested with were ISO 18000-6C tags with 96 bits of EPC memory. When reading a tag, the green LED illuminates (the blue LED is always illuminated while the unit is powered). Additionally, a beeper will sound when the tag is read.

I found that the detection range is about 3-4 feet, though I did not test this rigorously. It was almost annoyingly sensitive for purpose of scanning many tags to determine their EPC contents. I could not find any way to decrease the output power / detection sensitivity without hacking the device entirely, despite the claim that the output power is software adjustable.

Note that there is a male Hirose U.FL antenna connector on the board, which should facilitate the attachment of an external antenna, amplifier, or attenuator if desired. I checked and it is indeed connected to the primary antenna, which would likely need to be desoldered for this usecase.

If oriented as in the photo, the 4 pin 0.1" header holes are connected to (from top to bottom):

  • Ground
  • PA14 (SWCLK)
  • PA13 (SWDIO)
  • VDD

These should allow reprogramming using the SWD interface with an appropriate STLink programmer or similar.

The two LEDs are connected to pins PB8 and PB9. The USB connector D-/D+ is attached to pins PA11 and PA12. The buzzer is attached (through a MOSFET) to pin PB4. The MagicRF module appears to have the same pinout as the reference design shown on the MagicRF website. The TTL_RXD and TTL_TXD pins on the MagicRF module appear to be connected to PA9/USART1_TX and PA10/USART1_RX respectively.

The purpose of the HF600 chip and the unpopulated IC footprint are a mystery to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment