{"v":1,"built":"a1ff2fa9f6","support":{"tel":"+917827321722","text":"+91 78273 21722","email":"support@identium.in"},"groups":[{"key":"dr-app","family":"desktop","title":"Identium Desktop Reader app","sub":"Windows and macOS app for both USB desktop readers","photo":"/resourcehub/img/udr103-v1.webp","models":["103","UDR-111"],"aliases":["desktop reader app","identium desktop reader","desktopreader","desktop app"]},{"key":"103","family":"desktop","title":"103 UHF desktop reader","sub":"IDTS-103UDR · USB UHF reader-writer","photo":"/resourcehub/img/udr103-v1.webp","models":["103"],"aliases":["103","103udr","103 udr","idts-103udr","idts 103","udr103","udr-103","udr 103","103ud"]},{"key":"udr111","family":"desktop","title":"UDR-111 UHF desktop reader","sub":"IDTS-111UDR · USB UHF reader-writer","photo":"/resourcehub/img/udr111-v1.webp","models":["UDR-111"],"aliases":["udr-111","udr111","udr 111","111udr","111 udr","idts-111udr","111"]},{"key":"readersense","family":"fixed","title":"ReaderSense reader software","sub":"Configure, tune and tag-test Identium fixed readers over Ethernet or Wi-Fi","photo":"/resourcehub/img/readersense-v1.webp","models":["IF9A","IHZ4","IHZ8","HLR200 gate","ID-UM01 module"],"aliases":["readersense","reader sense","reader-sense","ihz4","ihz-4","ihz 4","ihz8","ihz-8","ihz16","hlr200","hlr 200","gate reader","rfid gate","id-um01","um01","4 port","8 port","multi port","multiport","gate","gates","hlr200 gate","hlr"]},{"key":"if9a","family":"fixed","title":"IF9A integrated reader","sub":"IF9A, IF9A-2P, IF9A Wi-Fi and IF9A 4G","photo":"/resourcehub/img/if9a-v1.webp","models":["IF9A","IF9A-2P","IF9A Wi-Fi","IF9A 4G"],"aliases":["if9a","if-9a","if 9a","if9a-2p","if9a 2p","if9a wifi","if9a 4g","integrated reader","ipj"]},{"key":"if9c","family":"fixed","title":"IF9C integrated reader","sub":"Integrated UHF reader · Ethernet, RS485 and Wiegand · own desktop app","photo":"/resourcehub/img/if9c-v1.webp","models":["IF9C"],"aliases":[]},{"key":"cx1500n","family":"handheld","title":"CX1500N rugged handheld","sub":"Android UHF handheld with barcode scanner · CX Flow Pro also runs on the CX1000","photo":"/resourcehub/img/cx1500n-v1.webp","models":["CX1500N","CX1000"],"aliases":["cx1500n","cx1500","cx 1500","cx-1500n","cx1000","cx 1000","cx flow","cx flow pro","cxflow","idos","handheld","hand held","pda"]},{"key":"mubr01","family":"handheld","title":"MUBR01 Bluetooth reader","sub":"Portable Bluetooth UHF reader for phones and tablets","photo":"/resourcehub/img/mubr01-v1.webp","models":["MUBR01"],"aliases":["mubr01","mubr","mubr-01","mubr 01","bluetooth reader","pocket reader"]},{"key":"ucr10","family":"handheld","title":"UCR10 USB-C reader","sub":"Pocket UHF reader that plugs into a phone, tablet or PC","photo":"/resourcehub/img/ucr10-v1.webp","models":["UCR10"],"aliases":["ucr10","ucr-10","ucr 10","ucr10 flow","type c reader","type-c reader","typec","usb-c reader","usb c reader","otg reader"]},{"key":"uwr6","family":"handheld","title":"IDTS-UWR6 watch reader","sub":"Wearable Bluetooth UHF reader","photo":"/resourcehub/img/uwr6-v1.webp","models":["IDTS-UWR6"],"aliases":["uwr6","uwr-6","idts-uwr6","watch reader","rfid watch","wearable","watch"]},{"key":"it4rl","family":"printer","title":"iT4RL desktop RFID printer","sub":"Prints and encodes UHF RFID labels","photo":"/resourcehub/img/it4rl-v1.webp","models":["iT4RL"],"aliases":["it4rl","it4r","it-4r","it 4r","rfid printer","label printer","printer","tagsmith","tag smith","labelsoft","label soft"]},{"key":"f529","family":"active","title":"F529 active RFID reader","sub":"Long-range 2.4 GHz active RFID reader","photo":"/resourcehub/img/f529-v1.webp","models":["F529"],"aliases":["f529","f-529","f 529","active reader","active rfid","2.4 ghz","2.4ghz","rtls"]},{"key":"ble","family":"active","title":"BLE tags, cards & gateways","sub":"Bluetooth beacons, work cards, gateways and AoA anchors","photo":"/resourcehub/img/atlas-ble-v1.webp","models":["BLE beacons & tags","BLE work cards","BLE gateways & anchors"],"aliases":["ble","beacon","beacons","gateway","aoa","anchor","work card","ble tag"]},{"key":"nfc","family":"nfc","title":"NFC tags & cards","sub":"The Identium NFC app works with any Android phone that has NFC","photo":"/resourcehub/img/nfc-v1.webp","models":["NFC tags","NFC cards"],"aliases":["nfc","identium nfc","nfc app","ntag","nfc tag","nfc card"]}],"types":[{"key":"software","one":"Desktop app","label":"Desktop software","desc":"Windows and macOS applications"},{"key":"app","one":"Mobile app","label":"Mobile apps","desc":"Android apps for handheld and mobile readers"},{"key":"sdk","one":"SDK","label":"SDKs","desc":"Libraries, demo source and developer packages"},{"key":"manual","one":"User manual","label":"User manuals","desc":"Setting up and using each reader and printer"},{"key":"guide","one":"User guide","label":"User guides","desc":"How to use each app or software tool"},{"key":"integration","one":"Integration guide","label":"Integration guides","desc":"API references, developer guides and protocols"}],"manuals":[{"slug":"active","title":"Active RFID Reader F529 — User Manual","href":"/resourcehub/downloads/active-reader-app/Identium-F529-Active-Reader-User-Manual-v1.2.pdf","ver":"v1.2","model":"F529","g":["f529"]},{"slug":"cx1500n","title":"CX1500N Handheld — User Manual","href":"/resourcehub/downloads/cx-flow-pro/Identium-CX1500N-User-Manual-v1.0.pdf?v=1.0.3","ver":"v1.0.3","model":"CX1500N","g":["cx1500n"]},{"slug":"if9a","title":"IF9A Integrated Reader — User Manual","href":"/resourcehub/downloads/if9a-ipj/Identium-IF9A-User-Manual-v1.4.pdf","ver":"v1.4","model":"IF9A","g":["if9a"]},{"slug":"it4rl","title":"iT4RL RFID Printer — User Manual","href":"/resourcehub/downloads/it4rl-printer/Identium-IT4RL-RFID-Printer-User-Manual-v1.1.pdf","ver":"v1.1","model":"IT4RL","g":["it4rl"]},{"slug":"mubr01","title":"MUBR01 Bluetooth Reader — User Manual","href":"/resourcehub/downloads/mubr01/Identium-MUBR01-User-Manual-v1.2.pdf","ver":"v1.2","model":"MUBR01","g":["mubr01"]},{"slug":"nfc","title":"Identium NFC App — User Manual","href":"/resourcehub/downloads/identium-nfc/Identium-NFC-App-User-Manual-v1.2.pdf","ver":"v1.2","model":"Identium NFC","g":["nfc"]},{"slug":"readersense","title":"Identium ReaderSense — User Manual","href":"/resourcehub/downloads/readersense/Identium-ReaderSense-User-Manual-v1.2.pdf","ver":"v1.2","model":"Identium ReaderSense","g":["readersense","if9a"]},{"slug":"tagsmith","title":"Identium TagSmith — User Manual","href":"/resourcehub/downloads/it4rl-printer/Identium-TagSmith-User-Manual-v1.0.pdf","ver":"v1.0","model":"Identium TagSmith","g":["it4rl"]},{"slug":"ucr10","title":"UCR10 Type-C Reader — User Manual","href":"/resourcehub/downloads/ucr10-typec-apk/Identium-UCR10-User-Manual-v1.2.pdf","ver":"v1.2","model":"UCR10","g":["ucr10"]},{"slug":"udr103","title":"103 UHF Desktop Reader — User Manual","href":"/resourcehub/downloads/identium-desktop-reader/Identium-103-Desktop-Reader-User-Manual-v1.3.pdf","ver":"v1.3","model":"103 UHF Desktop Reader","g":["103","dr-app"]},{"slug":"udr111","title":"UDR-111 Desktop Reader — User Manual","href":"/resourcehub/downloads/uhf-desktop-111udr-s-new/Identium-UDR-111-Desktop-Reader-User-Manual-v1.3.pdf","ver":"v1.3","model":"UDR-111","g":["udr111","dr-app"]},{"slug":"uwr6","title":"UHF Watch Reader (IDTS-UWR6) — User Manual","href":"/resourcehub/downloads/uhf-watch-reader/Identium-IDTS-UWR6-User-Manual-v1.2.pdf","ver":"v1.2","model":"IDTS-UWR6","g":["uwr6"]}],"docs":[{"k":"row","m":0,"s":"Packing List","h":"","t":"1","kv":[["Item","F529 Active RFID Reader — four antennas built in, power lead with DC jack attached"],["Qty","1"]]},{"k":"row","m":0,"s":"Packing List","h":"","t":"2","kv":[["Item","Mounting bracket"],["Qty","1"]]},{"k":"row","m":0,"s":"Packing List","h":"","t":"3","kv":[["Item","Pole clamps (band type)"],["Qty","2"]]},{"k":"row","m":0,"s":"Packing List","h":"","t":"4","kv":[["Item","Power adapter, 12 V 2 A"],["Qty","1"]]},{"k":"topic","m":0,"s":"Packing List","h":"","t":"Packing List","b":[{"table":{"head":["No.","Item","Qty"],"rows":[["1","F529 Active RFID Reader — four antennas built in, power lead with DC jack attached","1"],["2","Mounting bracket","1"],["3","Pole clamps (band type)","2"],["4","Power adapter, 12 V 2 A","1"]]}},{"p":"Contents as shown in the Identium F529 catalogue. Your delivery note is the final list."},{"note":"Also have ready a **data SIM card** with an active data plan from your mobile operator — the reader sends its tag reads over mobile data. Active tags are ordered separately: Identium supplies matching 2.4 GHz active tags — confirm the tag model for this reader when you order.","kind":"info"}]},{"k":"topic","m":0,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** Reader housing — one directional antenna inside each side","**2** Reader power lead with DC jack (9–12 V DC in)","**3** Mounting bracket — for a pole or a wall","**4** Pole clamps (2)","**5** Power adapter 12 V 2 A with DC plug","**6** SIM card tray — on the underside (section 03)"]},{"p":"F529 reader and accessories. The adapter plug type may differ from the photo."},{"h":"The four antennas"},{"p":"Each side of the housing has its own antenna. The reader reports every tag together with the number of the antenna that heard it, so your software knows which side of the reader the tag is on. The app and the SDK use these names:"},{"table":{"head":["Antenna","Direction"],"rows":[["Antenna 1","East"],["Antenna 2","South"],["Antenna 3","West"],["Antenna 4","North"]]}},{"p":"Mount the reader so that its sides face the compass directions you want to report. After mounting, confirm which side is which with the **Antenna Debug** test (section 09)."},{"p":"Front view: 106 mm wide, 230.5 mm tall; 106 mm deep"}]},{"k":"topic","m":0,"s":"Installation and Power","h":"","t":"Installation and Power","b":[{"p":"Survey the site before you drill. A reader that is badly placed is hard to move later, and every read is located relative to where the reader sits."}]},{"k":"topic","m":0,"s":"Installation and Power","h":"Choose the location","t":"Choose the location","b":[{"ul":["Mount the reader high on a pole or wall, with a clear view over the area you want to cover.","Pick a point with mains power close by, and a protected, dry place for the power adapter.","When you install several readers, plan their read zones so that they cover the whole area with as little overlap as possible."]},{"h":"Fit the SIM card"},{"p":"Do this on the bench, before you mount the reader, while the underside is easy to reach."},{"ol":["Turn the reader over. The SIM tray (1) sits in the underside of the housing, beside the power lead (2).","Place the data SIM card in the tray as shown.","Slide the tray into its slot with your fingers.","Press the tray fully home with a fingernail until it locks. The holder is self-locking, so the tray stays in place once it is home."],"start":1},{"p":"Underside of the reader: (1) SIM tray, half inserted; (2) power lead (lead colour may differ)"}]},{"k":"topic","m":0,"s":"Installation and Power","h":"Mount the reader","t":"Mount the reader","b":[{"ol":["**On a pole:** pass the two pole clamps through the bracket and tighten them around the pole. **On a wall:** mark the bracket holes, drill, fit expansion screws and fix the bracket.","Fix the reader to the bracket. Turn it so its sides face the directions you planned, then tighten the bolts.","Push the adapter's DC plug into the reader's DC jack and tie the two together with a nylon cable tie so they cannot pull apart.","Keep the adapter out of rain and standing water — indoors or in a weatherproof box.","Plug the adapter into a mains socket to power the reader.","Set the reader up from your phone with the Identium Active Reader app (sections 04–07)."],"start":1},{"note":"Power the reader only from the supplied 12 V 2 A adapter or another regulated **9–12 V DC** supply. A long, thin power cable loses voltage — keep it short so the reader always receives at least 9 V, or it may miss tags.","kind":"caution"},{"note":"Bring a ladder or lift, drill and bits, expansion screws for wall mounting, screwdriver, spanner, cable ties and electrical tape. Work safely at height and treat the mains supply with care.","kind":"tip"}]},{"k":"topic","m":0,"s":"Install the Identium Active Reader App","h":"","t":"Install the Identium Active Reader App","b":[{"p":"The app sets the reader up over Bluetooth. You need an Android phone with **Android 7.0 or newer** and Bluetooth."},{"ol":["On the phone, open **www.identiumone.com/resourcehub/** and download **Active Reader — Android App** (`Identium-Active-Reader-v2.0.apk`).","Open the downloaded file. If Android asks, allow installs from this source, then tap **Install**.","Open **Identium Reader** (home screen title: **Reader Manager**). When asked, allow **Nearby devices** (Android 12 and newer) or **Location** (Android 11 and older — also switch Location on).","The home screen shows the connection band and the **Connect Reader**, **Configuration** and **Tag Scanner** tiles. Scroll to the bottom of the home screen to see the app version."],"start":1},{"note":"**Configuration** and **Tag Scanner** need a connection; if you open them first, the app takes you to **Connect Reader**.","kind":"info"},{"p":"Home screen"}]},{"k":"topic","m":0,"s":"Connect to the Reader","h":"","t":"Connect to the Reader","b":[{"ol":["Power the reader and stand within a few metres of it with Bluetooth on.","Tap **Connect Reader**. The app keeps searching and lists readers strongest signal first, so the unit in front of you is normally at the top.","Tap your reader. The app fills in the factory Bluetooth password for you — just tap **Connect**. Change the password field only if this reader has a site password.","The app opens **Configuration**, and the chip at the top right shows **●** and the reader's name. Tap that chip on any screen to disconnect when you are done."],"start":1},{"p":"**Reader not listed?** Tap **Show all devices** to see every Bluetooth device nearby, then tap **Rescan**."},{"p":"**\"This reader is locked\"?** Enter the reader's Bluetooth password, or tap **Try defaults** to send the factory passwords. If Android asks for a pairing PIN instead, enter **1234**."},{"p":"Connect Reader"},{"note":"The reader accepts one Bluetooth connection at a time. Disconnect any other phone first, or your connection is refused.","kind":"caution"}]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"**Read Device Info**","kv":[["What it does","Loads the reader's current settings and status into every tab. Always do this first."]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"**Set Params**","kv":[["What it does","Saves the settings from **all** tabs to the reader in one go. The reader then restarts and the Bluetooth link drops; wait about 30 seconds, reconnect and tap **Read Device Info** to check the new values. It also deletes stored tag reads — see the caution below."]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Device Info","kv":[["Use it for","Device ID, factory number, firmware version, reader clock, link status, tags waiting in memory"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Wireless Network","kv":[["Use it for","Your server's address and port (**Plat IP 1**, **Plat Port 1**); modem IMEI and mobile signal; Bluetooth password"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"APN Access","kv":[["Use it for","Mobile network APN for the SIM (has its own Read APN / Set APN buttons)"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Antenna Parameters","kv":[["Use it for","Read range of each antenna, repeat-report timers, buzzer"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Wire Network","kv":[["Use it for","Wired-link settings. This manual sets the reader up over mobile data, so leave this tab as set at the factory"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Antenna Info","kv":[["Use it for","Live firmware, gain and threshold reported by each antenna; link and reader mode"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Antenna Debug","kv":[["Use it for","Walk-round test with one tag to prove every antenna works"]]},{"k":"row","m":0,"s":"Configure the Reader","h":"","t":"Command Log","kv":[["Use it for","Every command sent to the reader and every reply — copy it for support"]]},{"k":"topic","m":0,"s":"Configure the Reader","h":"","t":"Configure the Reader","b":[{"p":"**Configuration** groups every setting into eight tabs. Swipe left and right, or tap a tab name. Two buttons stay at the bottom of every tab:"},{"table":{"head":["Button","What it does"],"rows":[["**Read Device Info**","Loads the reader's current settings and status into every tab. Always do this first."],["**Set Params**","Saves the settings from **all** tabs to the reader in one go. The reader then restarts and the Bluetooth link drops; wait about 30 seconds, reconnect and tap **Read Device Info** to check the new values. It also deletes stored tag reads — see the caution below."]]}},{"note":"**Set Params deletes tag reads still waiting in the reader's memory.** Check **Total ID in Buffer** on Device Info first. If it is above 0 and those reads matter, let the reader deliver them before you change settings, or record that they will be lost.","kind":"caution"},{"table":{"head":["Tab","Use it for"],"rows":[["Device Info","Device ID, factory number, firmware version, reader clock, link status, tags waiting in memory"],["Wireless Network","Your server's address and port (**Plat IP 1**, **Plat Port 1**); modem IMEI and mobile signal; Bluetooth password"],["APN Access","Mobile network APN for the SIM (has its own Read APN / Set APN buttons)"],["Antenna Parameters","Read range of each antenna, repeat-report timers, buzzer"],["Wire Network","Wired-link settings. This manual sets the reader up over mobile data, so leave this tab as set at the factory"],["Antenna Info","Live firmware, gain and threshold reported by each antenna; link and reader mode"],["Antenna Debug","Walk-round test with one tag to prove every antenna works"],["Command Log","Every command sent to the reader and every reply — copy it for support"]]}},{"h":"Device Info"},{"ul":["**Device ID** — the 15-digit ID the reader sends with every tag read. It must match the Device ID registered for this reader on your server, character for character. It is set at the factory; change it only together with the server.","**Factory No.** and **Version** — read-only. When you contact support, quote the **Device ID** and **Version**; give the Factory No. only if support asks for it.","**System Time** — the reader's clock, used to time-stamp tags it stores while offline. Tap **Set** to copy the phone's time to the reader, for example after a power cut.","**Network Status** and **Wireless Connect IP** — whether the reader has a live session with your server over mobile data; **Wireless connected** is what you want to see.","**Total ID in Buffer** — tag reads waiting to be delivered. It should stay near zero; **Set Params** deletes them."]},{"p":"Device Info — shown with no reader connected"},{"h":"Help on every field"},{"p":"Every setting has a grey **ⓘ** button. Tap it to see what the field means, what to enter and what to do if you are not sure."},{"h":"Command Log"},{"p":"The **Command Log** tab lists everything sent to the reader (→) and everything it answered (←), newest first. When a setting does not apply, the answer is almost always here. Tap **Copy** and paste the log into your message to Identium support."},{"p":"Help for Plat Port 1 — shown with no reader connected"}]},{"k":"topic","m":0,"s":"Connect the Reader to Your Server","h":"","t":"Connect the Reader to Your Server","b":[{"p":"The reader is the one that dials out: over its data SIM it opens a TCP connection to your server's IP address and port, and sends every tag read over it. Your server therefore needs a **public IP address** that the reader can reach from the mobile network. All the server settings are on the **Wireless Network** tab. Fit the SIM card first (section 03)."},{"note":"**Set Params deletes tag reads still waiting in the reader.** Check **Total ID in Buffer** on Device Info before you save new server settings (see section 06).","kind":"caution"},{"h":"Point the reader at your server"},{"p":"The blue box at the top of the tab is a reminder that these settings need a SIM card. Its **Wire Network** hint is for readers on a network cable; set the F529 up over mobile data as below."},{"ol":["Tap **Read Device Info**, then open **Wireless Network**. Enter your server's public IP address in **Plat IP 1** and its reader port in **Plat Port 1**.","Tap **Read** next to **RSSI Strength**. The mobile signal runs from 0 to 31; below about 10 the link is unreliable, and 99 means no signal.","If your operator gave you an APN, open **APN Access**, enter the **APN Name** (and user name and password if supplied), tick **Apply these APN settings** and tap **Set APN**. APN settings are saved by their own button — **Set Params** does not send them — and take effect after the reader restarts.","Tap **Set Params**, wait for the restart, reconnect and tap **Read Device Info**. **Network Status** on Device Info should now show **Wireless connected**."],"start":1},{"p":"Wireless Network — no reader connected; the Plat IP 1 hint is edited to show an example address"},{"note":"The port must be the server's **reader listener**, not the port the website runs on. On the Identium Active Reader platform it is the TCP port shown on the Reader Management page — **4610** by default. A reader pointed at the web port looks connected but its tags never arrive.","kind":"caution"},{"note":"Before you leave site, change the reader's Bluetooth password: on **Wireless Network**, enter the old password and an 8-character new one under **Bluetooth password**, then tap **Set**. Write it down. If the password is lost, the reader has to be returned to Identium for a reset.","kind":"tip"}]},{"k":"topic","m":0,"s":"Antennas and Read Range","h":"","t":"Antennas and Read Range","b":[{"p":"**Antenna Parameters** shows the settings stored in the reader, one row per antenna. The right-hand box of each row is the read-range control: an **RSSI cut-off in dBm**. The antenna ignores any tag that arrives weaker than this value. Always enter a negative number — the app does not save 0 or a positive value. **More negative = longer range; nearer 0 = shorter range.** The default is −88 dBm."},{"table":{"head":["RSSI cut-off","Range","Typical use"],"rows":[["−90 dBm or lower","Maximum — every tag the reader can hear","Wide-area presence, large yard"],["−70 dBm","Medium","General tracking"],["−50 dBm","Short — only nearby tags","Gate, lane or doorway"],["−40 dBm","Very short — tags right at the antenna","Single-point check-in"]]}},{"p":"Starting points only — real distances depend on the tag, mounting height and site. Fine-tune with the Tag Scanner."},{"ul":["Each antenna is set on its own, so a side facing a gate can be short while a side facing the yard stays long.","The left-hand box is the antenna gain (0–31). Leave it at the factory value and use the cut-off to set range."]},{"p":"Antenna Parameters — shown with no reader connected"},{"h":"Timing and options"},{"ul":["**Filter Time (second)** — the same tag is reported only once within this time. Raise it to cut repeat reports from a tag that stays in front of the reader; lower it for faster repeats.","**Residence Time (second)** — how long the reader keeps remembering a tag after it stops hearing it. Enter 0, or a value from 60 upwards.","**Open Buzzer** — beeps on each read, on readers fitted with a buzzer. Handy while installing.","**Direction Filter** settings — leave as set at the factory unless Identium advises a change."]},{"p":"Tap **Set Params** to save. Then check the result with the Tag Scanner (section 10)."},{"p":"Antenna Parameters, lower part — shown with no reader connected"}]},{"k":"topic","m":0,"s":"Check the Antennas","h":"","t":"Check the Antennas","b":[{"p":"Run these checks after installation and whenever a side of the reader seems to miss tags. Keep one known, working tag in your hand."},{"h":"Antenna Info"},{"p":"Tap the **Reading antenna info** button at the top of the tab to read what each of the four antennas reports: firmware version, gain and read-range threshold. An antenna that does not answer shows firmware **not fitted**, with gain and threshold **—**. Below, **Platform link** shows whether the reader is connected to your server, **Mobile signal** the SIM signal (0–31) and **Reader mode** whether the reader is in normal or testing mode."},{"p":"Antenna Info — shown with no reader connected"},{"h":"Antenna Debug — walk-round test"},{"ol":["Enter the test tag's ID — 8 hex characters, as shown in the Tag Scanner list — in **Test tag ID**.","Leave **Main threshold** (−40 dBm), **Second threshold** (−45 dBm) and **Test length** (120 s) as they are unless support asks otherwise.","Tap **Start test**. Walk the tag slowly round the reader, stopping in front of each side in turn.","Watch the four antenna rows. Each row shows a **main** and a **second** result and turns green when either of them shows **seen**. Use the green row to confirm which physical side is East, South, West and North.","The tab ends with **Test passed — all antennas saw the tag** or tells you the tag was not seen on every antenna. Tap **Stop test** to end early."],"start":1},{"p":"Antenna Debug — shown with no reader connected"},{"note":"The reader does not report tags to your server while it is in test mode. The app stops the test when you tap **Stop test** or leave the tab; check that **Reader mode** on Antenna Info is back to normal before you leave site.","kind":"caution"}]},{"k":"topic","m":0,"s":"Watch Tags Live — Tag Scanner","h":"","t":"Watch Tags Live — Tag Scanner","b":[{"p":"The Tag Scanner shows the tags the connected reader is hearing right now — the quickest way to prove an installation before you leave site."},{"ol":["On the home screen tap **Tag Scanner**, then **Read all tags**.","Each row shows the tag ID, how many times it has been seen, its signal in dBm and a rough distance figure worked out from the signal. The strongest tags sort to the top. The signal turns green above −60 dBm, amber down to −75 dBm and red below that.","Type in **Search for a tag ID…** to follow one tag — useful for finding a single asset.","Tap **Map** to see the tags around the reader, and **List** to go back. Tap **Stop** when you are done."],"start":1},{"p":"Tag Scanner, map view — shown with no reader connected"}]},{"k":"topic","m":0,"s":"Watch Tags Live — Tag Scanner","h":"Reading the map","t":"Reading the map","b":[{"p":"The reader sits at the centre and each tag is a dot. A dot's distance from the centre follows the signal at which the reader hears it: the stronger the signal, the nearer the centre. The position around the circle is a display layout; to find which side of the reader a tag is on, use **Antenna Debug** (section 09) or the antenna number your server receives with every read (section 11). A searched tag is highlighted while the others stay visible, and its signal rises as the tagged item moves closer to the reader."},{"note":"The distance figures and the map rings are a \"stronger = nearer\" guide, not a measurement in metres. The app's estimate stops at about 17 m, so distant tags all show at about the same place. For site-wide positions, combine several readers in your tracking software.","kind":"info"}]},{"k":"topic","m":0,"s":"Watch Tags Live — Tag Scanner","h":"Before you leave site","t":"Before you leave site","b":[{"ul":["**Network Status** on Device Info shows **Wireless connected** (section 07), and **Total ID in Buffer** stays near zero.","The **Device ID** matches the one registered for this reader on your server (section 06).","Every antenna passed **Antenna Debug**, and **Reader mode** on Antenna Info is back to normal (section 09).","A tag held in front of each side of the reader shows up in the Tag Scanner.","The Device ID, server settings and new Bluetooth password are written down (section 07)."]}]},{"k":"row","m":0,"s":"For Developers: SDK Quick Start","h":"","t":"Reader library","kv":[["What it does","Folder `1-Reader-Library/`. Decodes every packet the reader sends and builds the replies. Prebuilt for Windows, 32-bit (x86) and 64-bit (x64), with its C header `RFID_READER_DLL.h`; for Linux, build it from the library source with `make`."]]},{"k":"row","m":0,"s":"For Developers: SDK Quick Start","h":"","t":"Server demo","kv":[["What it does","Folder `2-Server-Demo-Windows/`: `Identium-F529-Server-Demo.exe`, a ready-to-run Windows program that accepts the reader's connection and shows its tag reads. Use it to prove the link first."]]},{"k":"row","m":0,"s":"For Developers: SDK Quick Start","h":"","t":"Sample servers","kv":[["What it does","Folder `3-Sample-Servers/`: a Java (Eclipse) project using the library via JNA (`Java-JNA/`) and the C++ (Visual Studio) source of the server demo (`CPP-Windows/`). Both use port 4600 — set it to your Plat Port."]]},{"k":"row","m":0,"s":"For Developers: SDK Quick Start","h":"","t":"Library source","kv":[["What it does","Folder `4-Library-Source/`: C source of the library, with its Visual Studio solution and Linux Makefile. Link your server against the prebuilt Windows library, or run `make` to build the Linux library."]]},{"k":"row","m":0,"s":"For Developers: SDK Quick Start","h":"","t":"Documents","kv":[["What it does","Folder `5-Docs/`: `Identium-F529-Reader-Library-API-Guide.pdf` — every library function, the JSON it returns and the error codes — plus the reader–platform and Bluetooth/serial protocols."]]},{"k":"topic","m":0,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"The **Active Reader SDK** lets your own server receive the F529's tag reads. Download **Active Reader — SDK & Demo** (`Identium-F529-Active-Reader-SDK-1.0.zip`) from **www.identiumone.com/resourcehub/**. It has five parts:"},{"table":{"head":["Part","What it does"],"rows":[["Reader library","Folder `1-Reader-Library/`. Decodes every packet the reader sends and builds the replies. Prebuilt for Windows, 32-bit (x86) and 64-bit (x64), with its C header `RFID_READER_DLL.h`; for Linux, build it from the library source with `make`."],["Server demo","Folder `2-Server-Demo-Windows/`: `Identium-F529-Server-Demo.exe`, a ready-to-run Windows program that accepts the reader's connection and shows its tag reads. Use it to prove the link first."],["Sample servers","Folder `3-Sample-Servers/`: a Java (Eclipse) project using the library via JNA (`Java-JNA/`) and the C++ (Visual Studio) source of the server demo (`CPP-Windows/`). Both use port 4600 — set it to your Plat Port."],["Library source","Folder `4-Library-Source/`: C source of the library, with its Visual Studio solution and Linux Makefile. Link your server against the prebuilt Windows library, or run `make` to build the Linux library."],["Documents","Folder `5-Docs/`: `Identium-F529-Reader-Library-API-Guide.pdf` — every library function, the JSON it returns and the error codes — plus the reader–platform and Bluetooth/serial protocols."]]}}]},{"k":"topic","m":0,"s":"For Developers: SDK Quick Start","h":"Run the demo in five minutes","t":"Run the demo in five minutes","b":[{"ol":["Use a PC with a fixed public IP address that the reader can reach over mobile data (section 07).","In the app, tap **Read Device Info**, open **Wireless Network**, enter the PC's public IP as **Plat IP 1** and **4600** (the demo's default) as **Plat Port 1**, then tap **Set Params**.","On the PC, start `Identium-F529-Server-Demo.exe` (keep `RFID_READER_DLL.dll` and `setting.ini` next to it). It opens with the PC's own IP address and port 4600 already filled in; keep the port the same as the reader's Plat Port 1 and click **Start**.","Hold a tag near the reader. Its reads appear in the demo window. If nothing arrives, allow the demo through the Windows firewall."],"start":1}]},{"k":"topic","m":0,"s":"For Developers: SDK Quick Start","h":"Integrate in your own server","t":"Integrate in your own server","b":[{"ol":["Open a TCP listener on the reader's Plat Port. The reader is the client: it connects to you and keeps the connection open. Any free port works (the demo uses 4600, the Identium Active Reader platform 4610) as long as both sides agree.","For each packet received, call `RFID_ReadCmd()`. It returns the command code and a JSON header with `device` (the reader's Device ID), `seqno` and the firmware `version`.","Answer every packet on the same socket: **0x0008** register → `RFID_Register()`; **0x0001** login → `RFID_Login()`; **0x0003** heartbeat → `RFID_Heartbeat()`; **0x0004** tag data → `RFID_DataRecord()`. Replies are at most 250 bytes. The address you pass to `RFID_Register()` is the server the reader logs in to next — normally your own, as the reader reaches it.","For **0x0004** packets also call `RFID_TagDataParse()`. It returns a JSON array with `tagid`, `tagtype`, `tagdata`, `antenna` (1 East, 2 South, 3 West, 4 North), `intensity` (RSSI in dBm), `entry`, `staying`, `alarm`, `status` and `time`. Give it at least 10 KB: the library does not check the buffer size.","Negative return values are errors: −101 parameter error, −102 CRC check failed, −103 JSON parsing failed."],"start":1},{"code":"#include \"RFID_READER_DLL.h\"\n\nunsigned char tx[250];\nchar json[51200], addr[64];                /* 50 KB, as in the Java sample */\nint jlen = 0, out = 0;\n\n/* server_ip, listen_port: the same values as the reader's Plat IP and Plat Port */\nsnprintf(addr, sizeof addr, \"{\\\"ip\\\":\\\"%s\\\",\\\"port\\\":%d}\", server_ip, listen_port);\n\nint cmd = RFID_ReadCmd(rx, n, json, &jlen);   /* rx, n: bytes just received */\nswitch (cmd) {\ncase 0x0008: out = RFID_Register(rx, n, 0x00, addr, tx); break;   /* register  */\ncase 0x0001: out = RFID_Login(rx, n, 0x00, tx);          break;   /* login     */\ncase 0x0003: out = RFID_Heartbeat(rx, n, 0x00, tx);      break;   /* heartbeat */\ncase 0x0004:                                                      /* tag data  */\n    out = RFID_DataRecord(rx, n, tx);\n    RFID_TagDataParse(rx, n, json, &jlen);     /* {\"TAG\":[{...}]} */\n    break;\n}\nif (out > 0) send(sock, (const char *)tx, out, 0);"},{"code":"{\"TAG\":[{\"device\":\"202509031010012\",\"tagid\":\"16100001\",\"tlvtype\":\"0x8B01\",\n  \"tagtype\":\"20\",\"tagdata\":\"36.2\",\"antenna\":1,\"intensity\":-78,\n  \"entry\":0,\"staying\":0,\"alarm\":0,\"status\":\"00000000\",\n  \"time\":\"2026-10-27 15:20:40\"}]}"},{"p":"**Writing your own parser?** Frames start with `55 AA`, then a header (command, sequence number, Device ID), TLV records (tag reads are TLV `0x8B01`) and a CRC16-CCITT check. The full frame format is in `5-Docs/Identium-F529-Reader-Platform-Protocol.pdf`."}]},{"k":"topic","m":0,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["Power the reader only from the supplied 12 V 2 A adapter or another regulated 9–12 V DC supply.","The reader housing is weatherproof (IP65); the power adapter is not. Keep the adapter dry and protected.","Tie the adapter's DC plug to the reader's DC jack with a nylon cable tie so wind and vibration cannot pull them apart.","Keep the housing closed. Opening it breaks the weather seal.","Clean the housing with a damp cloth. Strong chemicals and detergents corrode the plastic.","Operate the reader between −20 °C and +60 °C.","The reader sends its tag reads over mobile data. Choose a SIM data plan that suits the number of tags you expect.","Use a proper ladder or lift when working at height, and take care with the mains supply.","Record the reader's Device ID, server settings and Bluetooth password once the reader is commissioned."]}]},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Model","v":"F529"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Type","v":"2.4 GHz ultra-long-range integrated active RFID reader (outdoor base station)"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Frequency","v":"2.4 GHz ISM band; working frequency 2440 MHz"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Modulation / data rate","v":"GFSK / 1 Mbit/s"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Antennas","v":"Four integrated dual-polarised directional antennas, one per side; usable as omnidirectional or directional"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Antenna gain","v":"12 dBi"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Receive sensitivity","v":"−90 dBm maximum"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Read range","v":"Up to 400 m, directional — depends on tag type, terrain, buildings and mounting height"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Direction finding","v":"Reports which of the four sides a tag is on"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Network interface","v":"TCP/IP over mobile data (SIM card)"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Configuration","v":"Bluetooth, from the Identium Active Reader app. Remote parameter set-up and firmware upgrade are part of the reader protocol and need a server that implements them"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Protocol","v":"Identium reader protocol — library, API guide and protocol document in the Active Reader SDK"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Ingress protection","v":"IP65 — rainproof"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Lightning protection","v":"≥ 4000 V"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Wind resistance","v":"Rated for wind up to Beaufort force 12"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Housing","v":"ABS, high-temperature resistant, white"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Dimensions","v":"230.5 × 106 × 106 mm"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Weight","v":"2 kg"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Power","v":"9–12 V DC input, 300 mA; 12 V 2 A adapter supplied"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Operating temperature","v":"−20 °C to +60 °C"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Storage temperature","v":"−45 °C to +85 °C"},{"k":"spec","m":0,"s":"Parameters","h":"","t":"Compatible tags","v":"Identium 2.4 GHz active tags (sold separately; confirm the model with Identium)"},{"k":"topic","m":0,"s":"Parameters","h":"","t":"Parameters","b":[{"kv":[["Model","F529"],["Type","2.4 GHz ultra-long-range integrated active RFID reader (outdoor base station)"],["Frequency","2.4 GHz ISM band; working frequency 2440 MHz"],["Modulation / data rate","GFSK / 1 Mbit/s"],["Antennas","Four integrated dual-polarised directional antennas, one per side; usable as omnidirectional or directional"],["Antenna gain","12 dBi"],["Receive sensitivity","−90 dBm maximum"],["Read range","Up to 400 m, directional — depends on tag type, terrain, buildings and mounting height"],["Direction finding","Reports which of the four sides a tag is on"],["Network interface","TCP/IP over mobile data (SIM card)"],["Configuration","Bluetooth, from the Identium Active Reader app. Remote parameter set-up and firmware upgrade are part of the reader protocol and need a server that implements them"],["Protocol","Identium reader protocol — library, API guide and protocol document in the Active Reader SDK"],["Ingress protection","IP65 — rainproof"],["Lightning protection","≥ 4000 V"],["Wind resistance","Rated for wind up to Beaufort force 12"],["Housing","ABS, high-temperature resistant, white"],["Dimensions","230.5 × 106 × 106 mm"],["Weight","2 kg"],["Power","9–12 V DC input, 300 mA; 12 V 2 A adapter supplied"],["Operating temperature","−20 °C to +60 °C"],["Storage temperature","−45 °C to +85 °C"],["Compatible tags","Identium 2.4 GHz active tags (sold separately; confirm the model with Identium)"]]},{"p":"Specifications are indicative. Confirm coverage for your site with a survey; for short indoor read zones see the F530 indoor active reader."}]},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"Reader not listed in **Connect Reader**","cause":"","fix":"Check the reader has power and stand within a few metres. Turn the phone's Bluetooth off and on. On Android 11 and older switch Location on. Tap **Show all devices**, then **Rescan**."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"Connection fails or the reader is locked","cause":"","fix":"Disconnect any other phone. Forget the reader in Android's Bluetooth settings and retry. If asked, enter the site password or tap **Try defaults**; for a pairing PIN enter 1234."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"New settings did not stick","cause":"","fix":"Tap **Read Device Info** before **Set Params**. After saving, the reader restarts: wait about 30 seconds, reconnect and read again. APN settings need **Set APN** and a restart."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"Reader is online but tags never reach the server","cause":"","fix":"Check **Network Status** and **Total ID in Buffer** on Device Info. A buffer count that keeps climbing means the reader cannot reach the server: check **Plat IP 1** / **Plat Port 1** on Wireless Network, use the server's numeric public IP and the reader port (not the website port). Saving the fix with **Set Params** deletes the waiting reads — note the count first."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"Server does not file the reader's tags","cause":"","fix":"The **Device ID** in the reader must match the one registered on the server exactly."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"No mobile link, or it keeps dropping","cause":"","fix":"Check the SIM tray is pushed fully home (section 03) and the SIM has an active data plan. Read **RSSI Strength**: below about 10 the link is unreliable, 99 means no signal. Check the APN, or move the reader."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"Tags from the next area are read, or wanted tags missed","cause":"","fix":"On **Antenna Parameters**, raise that antenna's RSSI cut-off towards 0 (keep it negative) to shorten its range, or lower it (more negative) to lengthen it. Check with the Tag Scanner. For repeat reports of one tag, increase **Filter Time**."},{"k":"fix","m":0,"s":"Troubleshooting","h":"","t":"Antenna **not fitted** or fails Antenna Debug","cause":"","fix":"Repeat the test with a second tag. If the same antenna fails again, copy the **Command Log** and contact Identium support."},{"k":"row","m":1,"s":"Packing List","h":"","t":"CX1500N UHF RFID handheld reader","kv":[["Qty","1"],["Notes","IDOS (Identium's OS built on Android 15) and CX Flow Pro pre-installed"]]},{"k":"row","m":1,"s":"Packing List","h":"","t":"Rechargeable battery pack, 10,000 mAh, 3.7 V Li-ion polymer","kv":[["Qty","1"],["Notes","The pack the reader ships with"]]},{"k":"row","m":1,"s":"Packing List","h":"","t":"USB cable","kv":[["Qty","1"],["Notes","Charging and file transfer"]]},{"k":"row","m":1,"s":"Packing List","h":"","t":"Power adapter, 5 V / 2 A","kv":[["Qty","1"],["Notes","Use with the USB cable"]]},{"k":"row","m":1,"s":"Packing List","h":"","t":"Charging cradle for the CX1500N","kv":[["Store ID","10059"],["What it adds","A desk cradle that charges the reader through its contacts; any spare-battery bay or data function is stated in your quotation"]]},{"k":"row","m":1,"s":"Packing List","h":"","t":"Spare battery, 10,000 mAh","kv":[["Store ID","10058"],["What it adds","A second pack, so a long count can carry on with a swap instead of a charging stop"]]},{"k":"row","m":1,"s":"Packing List","h":"","t":"Inventory evaluation kit CX1500N-EVK","kv":[["Store ID","10036"],["What it adds","A CX1500N plus a sample kit of UHF RFID labels and tags chosen for your stock (mix confirmed with your order)"]]},{"k":"topic","m":1,"s":"Packing List","h":"","t":"Packing List","b":[{"p":"Check the box contents against this list before you start. Contact Identium if anything is missing or damaged."},{"table":{"head":["Item","Qty","Notes"],"rows":[["CX1500N UHF RFID handheld reader","1","IDOS (Identium's OS built on Android 15) and CX Flow Pro pre-installed"],["Rechargeable battery pack, 10,000 mAh, 3.7 V Li-ion polymer","1","The pack the reader ships with"],["USB cable","1","Charging and file transfer"],["Power adapter, 5 V / 2 A","1","Use with the USB cable"]]}},{"table":{"head":["Ordered separately","Store ID","What it adds"],"rows":[["Charging cradle for the CX1500N","10059","A desk cradle that charges the reader through its contacts; any spare-battery bay or data function is stated in your quotation"],["Spare battery, 10,000 mAh","10058","A second pack, so a long count can carry on with a swap instead of a charging stop"],["Inventory evaluation kit CX1500N-EVK","10036","A CX1500N plus a sample kit of UHF RFID labels and tags chosen for your stock (mix confirmed with your order)"]]}}]},{"k":"topic","m":1,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** Front camera (5 MP)","**2** Receiver (earpiece)","**3** 5.0-inch touch screen","**4** Touch keys: ≡, Home and Back","**5** Volume + / −","**6** Right side button (Action button)","**7** SIM / TF card cover (2 × nano-SIM, 1 × TF card)","**8** Charging contacts (for the cradle) and USB port, at the bottom end","**9** Pistol grip","**10** Power button","**11** Left side button (Action button)","**12** Barcode imager window (Class 2 laser aimer)","**13** UHF RFID antenna: point this face at the tags","**14** Trigger (Action button)"]},{"p":"The CX1500N seen from the front and right side (left) and from the back and left side (right)."},{"p":"The UHF antenna (13) is a circularly polarised 4.5 dBi ceramic antenna, which helps read tags that sit at mixed angles. Hold the reader by the grip (9) with the screen facing you and the antenna pointing at the items you want to read."}]},{"k":"topic","m":1,"s":"Power On/Off and Charging","h":"Switch on and off","t":"Switch on and off","b":[{"ol":["**Switch on:** press and hold the power button (10) until the screen lights up. IDOS starts and shows the lock screen; swipe up to unlock.","**Lock or wake the screen:** press the power button briefly.","**Switch off or restart:** press and hold the power button, then tap **Power off** or **Restart**."],"start":1}]},{"k":"topic","m":1,"s":"Power On/Off and Charging","h":"Charge the battery","t":"Charge the battery","b":[{"ul":["**With the cable:** connect the USB cable to the USB port at the bottom end of the reader (8) and to the 5 V / 2 A power adapter, then plug the adapter in.","**In the cradle:** stand the reader in the optional charging cradle, which charges it through the charging contacts (8)."]},{"note":"Charge before first use and at the end of every shift, so the reader starts each count full.","kind":"info"}]},{"k":"topic","m":1,"s":"Power On/Off and Charging","h":"Change the battery pack","t":"Change the battery pack","b":[{"ol":["Power the reader down.","Swap the empty pack for a charged 10,000 mAh pack, then switch the reader on again.","Put the empty pack on charge straight away, and rotate the two packs so both age evenly."],"start":1},{"note":"How long a charge lasts depends on how much of the day the reader transmits: continuous bulk inventory at full power uses far more than occasional single reads, and the screen and scanner add to it. A spare pack turns a charging stop into a quick swap.","kind":"tip"}]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"","t":"Power (10)","kv":[["What it does","Press and hold to switch on, or for the power menu. Press briefly to lock or wake the screen."]]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"","t":"Volume + / − (5)","kv":[["What it does","Sets the loudspeaker volume, including the read beeps."]]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"","t":"Trigger (14), left side button (11), right side button (6)","kv":[["What it does","**Action buttons.** In IDOS each one runs one of eight actions, such as Scan barcode, **CX Flow Pro trigger**, Flashlight, Camera or Open an app. Out of the box the right side button (6) is the CX Flow Pro trigger; the trigger (14) and the left side button (11) scan barcodes."]]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"","t":"Touch keys (4)","kv":[["What it does","≡, Home and Back, for moving around Android."]]},{"k":"topic","m":1,"s":"Buttons and Feedback","h":"","t":"Buttons and Feedback","b":[{"table":{"head":["Button","What it does"],"rows":[["Power (10)","Press and hold to switch on, or for the power menu. Press briefly to lock or wake the screen."],["Volume + / − (5)","Sets the loudspeaker volume, including the read beeps."],["Trigger (14), left side button (11), right side button (6)","**Action buttons.** In IDOS each one runs one of eight actions, such as Scan barcode, **CX Flow Pro trigger**, Flashlight, Camera or Open an app. Out of the box the right side button (6) is the CX Flow Pro trigger; the trigger (14) and the left side button (11) scan barcodes."],["Touch keys (4)","≡, Home and Back, for moving around Android."]]}}]},{"k":"topic","m":1,"s":"Buttons and Feedback","h":"Set the button you read tags with","t":"Set the button you read tags with","b":[{"p":"CX Flow Pro starts and stops reading when it receives the **CX Flow Pro trigger** action. Out of the box the **right side button (6)** sends it, so the steps in this manual say \"press the right side button\". If you give the CX Flow Pro trigger to another button, use that one instead. To change it:"},{"ol":["Open IDOS **Settings › Action buttons**.","Pick the trigger or a side button and set its action to **CX Flow Pro trigger**.","Keep the **CX Triggers** tile switched on in the pull-down quick-settings shade, so the buttons stay active."],"start":1}]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"What the CX Flow Pro trigger does on each screen","t":"Scan","kv":[["Trigger action","Hold to read, release to stop. With Trigger Mode set to Single, each press reads one tag."]]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"What the CX Flow Pro trigger does on each screen","t":"Custom Scan","kv":[["Trigger action","Hold to read your stock sheet, release to stop."]]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"What the CX Flow Pro trigger does on each screen","t":"Tracking","kv":[["Trigger action","Hold to search, release to stop."]]},{"k":"row","m":1,"s":"Buttons and Feedback","h":"What the CX Flow Pro trigger does on each screen","t":"Config","kv":[["Trigger action","Press once to run the selected Read, Write, Lock or Destroy operation straight away."]]},{"k":"topic","m":1,"s":"Buttons and Feedback","h":"What the CX Flow Pro trigger does on each screen","t":"What the CX Flow Pro trigger does on each screen","b":[{"table":{"head":["Screen","Trigger action"],"rows":[["Scan","Hold to read, release to stop. With Trigger Mode set to Single, each press reads one tag."],["Custom Scan","Hold to read your stock sheet, release to stop."],["Tracking","Hold to search, release to stop."],["Config","Press once to run the selected Read, Write, Lock or Destroy operation straight away."]]}},{"p":"Every screen also has an on-screen Start / Stop or Execute button that does the same thing."}]},{"k":"topic","m":1,"s":"Buttons and Feedback","h":"Beep and vibration","t":"Beep and vibration","b":[{"p":"By default the reader beeps and vibrates on each **new** tag; switch **When To Alert** to **Every read** in **More › Settings › Feedback** to hear every read. In Tracking the beep speeds up as you get closer to the tag you are looking for. Beep length and volume, vibration strength (Off, Light, Normal, Strong) and button haptics are set in the same place."}]},{"k":"topic","m":1,"s":"Install and Start CX Flow Pro","h":"","t":"Install and Start CX Flow Pro","b":[{"p":"**CX Flow Pro** is Identium's RFID data-capture app. It comes pre-installed on every CX1500N, with no licence fee: open it from the app list (icon **CX Flow Pro**). This manual describes version 2.4.0, the version on the Resource Hub. Your reader may come with a newer version, whose screens can differ slightly."},{"kv":[["Version described","2.4.0 (Resource Hub build)"],["Application ID","`in.identium.cxflowpro`"],["Runs on","Android 8.0 or newer (the CX1500N runs IDOS, built on Android 15)"],["Download","Resource Hub row **CX Flow Pro (CX1500N)**, file `CX-Flow-Pro-v2.4.0.apk`"]]}]},{"k":"topic","m":1,"s":"Install and Start CX Flow Pro","h":"Install or update from the Resource Hub","t":"Install or update from the Resource Hub","b":[{"note":"**Check your version first:** open **More › Settings** and look at the bottom of the **Data** section. Install the Resource Hub APK only if it is newer than the version on your reader; Android does not install an older version over a newer one.","kind":"info"},{"ol":["On a PC, download `CX-Flow-Pro-v2.4.0.apk` from **identiumone.com/resourcehub/**.","Connect the CX1500N to the PC with the USB cable. On the handheld, choose **File transfer** for the USB connection, then copy the APK into the **Download** folder.","On the handheld, open **Files › Downloads** and tap the APK.","If asked, allow installs from this source, then tap **Install** (or **Update**).","Open **CX Flow Pro**."],"start":1}]},{"k":"topic","m":1,"s":"Install and Start CX Flow Pro","h":"First start","t":"First start","b":[{"ol":["Allow notifications when Android asks.","The app offers to set up the **Keyboard Emulator**. Tap **Later** for now, or **Open Accessibility** to set it up straight away (see section 11).","The app opens on the **Scan** screen, ready to read."],"start":1},{"p":"First-start prompt"}]},{"k":"row","m":1,"s":"Install and Start CX Flow Pro","h":"Getting around","t":"**Custom**","kv":[["Use it to","Audit stock against a spreadsheet you import, with a live dashboard."]]},{"k":"row","m":1,"s":"Install and Start CX Flow Pro","h":"Getting around","t":"**Tracking**","kv":[["Use it to","Find one tag (proximity circle and Geiger-style beep) or check a whole pick list (found/missing lists and a radar)."]]},{"k":"row","m":1,"s":"Install and Start CX Flow Pro","h":"Getting around","t":"**Scan** (centre)","kv":[["Use it to","Count every tag in range, then save or export the list."]]},{"k":"row","m":1,"s":"Install and Start CX Flow Pro","h":"Getting around","t":"**Config**","kv":[["Use it to","Read, write, lock or destroy the memory of a single tag."]]},{"k":"row","m":1,"s":"Install and Start CX Flow Pro","h":"Getting around","t":"**More**","kv":[["Use it to","**Settings** (reader, output, feedback, keyboard and Auto Mode) and **Inventory** (saved sessions)."]]},{"k":"topic","m":1,"s":"Install and Start CX Flow Pro","h":"Getting around","t":"Getting around","b":[{"table":{"head":["Bottom bar","Use it to"],"rows":[["**Custom**","Audit stock against a spreadsheet you import, with a live dashboard."],["**Tracking**","Find one tag (proximity circle and Geiger-style beep) or check a whole pick list (found/missing lists and a radar)."],["**Scan** (centre)","Count every tag in range, then save or export the list."],["**Config**","Read, write, lock or destroy the memory of a single tag."],["**More**","**Settings** (reader, output, feedback, keyboard and Auto Mode) and **Inventory** (saved sessions)."]]}},{"p":"The **AI Sense** button at the top right of the Scan screen opens AISense, which recommends reader settings for the job you describe (section 10)."}]},{"k":"topic","m":1,"s":"Scan: Count Tags","h":"","t":"Scan: Count Tags","b":[{"ol":["Tap **Scan** in the bottom bar and point the antenna at the tags.","Press and hold the right side button, or tap the round ▶ button. The status reads **SCANNING**.","Watch the big number: it is the count of **unique tags found**. The reads counter above the list shows every read, including repeats.","Release the button, or tap ■, to stop. The list stays on screen."],"start":1},{"p":"Scan screen during a count"},{"p":"Each row shows the tag's EPC, how many times it was read (for example `x3`), its signal strength in dBm, a closeness word (Very Close, Close, Near, Far, Very Far) and the time it was last seen. Type part of an EPC in **Filter tags** (several, separated by commas) to list, count, save and export only the tags that match."}]},{"k":"topic","m":1,"s":"Scan: Count Tags","h":"Read power","t":"Read power","b":[{"p":"Tap the **POWER** tile to open the RF power slider (5 to 33 dBm). Turn it down to read only the shelf in front of you; turn it up to sweep a room. Read range is up to 25 m at full power, depending on the tag, its orientation and the surroundings."}]},{"k":"row","m":1,"s":"Scan: Count Tags","h":"The header buttons","t":"Timer","kv":[["What it does","Stops scanning by itself after the number of seconds you enter (0 = off)."]]},{"k":"row","m":1,"s":"Scan: Count Tags","h":"The header buttons","t":"Clear (red bin)","kv":[["What it does","Clears the live list and counters. Saved sessions are not touched."]]},{"k":"row","m":1,"s":"Scan: Count Tags","h":"The header buttons","t":"Load (folder)","kv":[["What it does","Adds a saved session back into the live list, to re-check or extend an earlier count."]]},{"k":"row","m":1,"s":"Scan: Count Tags","h":"The header buttons","t":"Save (disk)","kv":[["What it does","Names and stores the current list as a session on the reader."]]},{"k":"row","m":1,"s":"Scan: Count Tags","h":"The header buttons","t":"Export (download arrow)","kv":[["What it does","Exports the list as **Excel (.xlsx)** or **PDF** and opens Android's share sheet, so you can send or save the file."]]},{"k":"topic","m":1,"s":"Scan: Count Tags","h":"The header buttons","t":"The header buttons","b":[{"p":"Tap ‹ next to the Scanner title to show these buttons; tap › to hide them again."},{"table":{"head":["Button (left to right)","What it does"],"rows":[["Timer","Stops scanning by itself after the number of seconds you enter (0 = off)."],["Clear (red bin)","Clears the live list and counters. Saved sessions are not touched."],["Load (folder)","Adds a saved session back into the live list, to re-check or extend an earlier count."],["Save (disk)","Names and stores the current list as a session on the reader."],["Export (download arrow)","Exports the list as **Excel (.xlsx)** or **PDF** and opens Android's share sheet, so you can send or save the file."]]}},{"p":"Tap POWER: the RF power slider Save: name the session Export: Excel or PDF"},{"p":"Export columns: Type, EPC / Code, TID, User, Barcode, Time, Peak RSSI and Count. When the scan is stopped, tap a tag to see its details; TID and User are read on demand when your output format includes them (**More › Settings › Data Acquisition**)."}]},{"k":"topic","m":1,"s":"Scan: Count Tags","h":"Saved sessions (More › Inventory)","t":"Saved sessions (More › Inventory)","b":[{"p":"Every session you save appears in **More › Inventory** as a numbered card with its name, date and time, **Tag count** and **Total reads**."},{"table":{"head":["To","Do this"],"rows":[["Find a session","Type in **Search sessions**, or change **Sort** (Latest first, Oldest first, Most tags first, Fewest tags first)."],["See its tags","Tap the card."],["Export one","Tap the PDF or Excel icon on the card."],["Export or delete several","Long-press a card to start selecting, tick more (or **ALL**), then tap PDF, Excel or delete. Several sessions export into one file with a Session column."],["Delete one","Tap the red bin and confirm."]]}},{"p":"More › Inventory: saved sessions"}]},{"k":"topic","m":1,"s":"Custom Scan: Audit Against Your Stock Sheet","h":"","t":"Custom Scan: Audit Against Your Stock Sheet","b":[{"p":"Custom Scan checks a physical count against a spreadsheet: import your stock list, scan, and see which items were found and which are still missing, with a dashboard you can group by a column such as Category, Location or Department (any column with a manageable number of different values)."},{"ol":["Prepare an **.xlsx** file with one row per item. It needs an **EPC** column (headers such as EPC, Tag ID or RFID) and an **Item Name** column (such as Item Name, Product, Asset Name or SKU). Any other columns, such as Category or Location, are kept.","Copy the file to the reader (for example into **Download**).","Tap **Custom** in the bottom bar, then **IMPORT SHEET** and pick the file. The screen shows **0 / N** under **Items Found**.","Press and hold the right side button, or tap ▶, and walk the area. Items turn **FOUND** as their tags are read.","Tap **ALL** to switch to found items only; tap an item to see every column from its row.","Open **Dashboard** for charts, and use the export button (top right) for an Excel or PDF report."],"start":1},{"p":"Scan: items found against the sheet Dashboard grouped by Category"},{"p":"The dashboard shows **Audit Completion**, **Found vs Expected** per group, **Stock Mix**, **Items Per Group**, **Still Missing** and **Scan Progress**. Choose the grouping column under **Group By**; a column named Category, Type, Group or Department is picked by default. **Group By** lists the columns that have at least two and only a limited number of different values, never the EPC or item-name column; if the sheet has none, the dashboard shows **No groupable column**."}]},{"k":"topic","m":1,"s":"Tracking: Find a Tag or Check a List","h":"Individual Tag: find one item","t":"Individual Tag: find one item","b":[{"ol":["Tap **Tracking**, then **Individual Tag**.","Type or paste the target EPC and tap **SET**.","Scroll down and tap **Start Search**, or press and hold the right side button.","Sweep the reader slowly. When the tag answers, the centre circle turns green and shows a percentage, and the beep starts.","Walk towards the rising percentage: a fuller, darker green circle and a faster beep mean you are closer.","Tap **Stop Search**, or release the button, when you have found it."],"start":1},{"p":"The three round buttons at the top switch the tag LED, the beep and the vibration on or off. The LED button lights the searched-for tag when it is an LED tag."},{"p":"Searching: Found %, RSSI and reads Closer: 72% and a fuller green circle"}]},{"k":"topic","m":1,"s":"Tracking: Find a Tag or Check a List","h":"Bulk Tag: check a pick list","t":"Bulk Tag: check a pick list","b":[{"ol":["Tap **Bulk Tag**.","Paste one tag per line, as `EPC` or `EPC,Asset Name`, and tap **Load List**. Or tap **Upload File** and pick an .xlsx or .csv file with the EPC in column A and the asset name in column B.","Tap **Start Search**, or press and hold the right side button, and walk the area.","Items move from **MISSING** to **FOUND** as they are read, and the radar plots each found tag by closeness. When every item is found the app shows **All tags found** and stops."],"start":1},{"note":"In version 2.4.0, Bulk Tag suits lists of a few dozen tags. For longer stock lists, use Custom Scan (section 07).","kind":"tip"},{"p":"Bulk: found and missing items Bulk: radar of found tags"}]},{"k":"row","m":1,"s":"Config: Read, Write, Lock or Destroy a Tag","h":"","t":"Read","kv":[["Fields","Memory Bank (Reserved, EPC, TID, User), Start Address, Data Length"],["Notes","Shows the data as hex."]]},{"k":"row","m":1,"s":"Config: Read, Write, Lock or Destroy a Tag","h":"","t":"Write","kv":[["Fields","Memory Bank, Start Address, Data Length, Data to Write (hex)"],["Notes","Writing to the EPC bank sets a new EPC and keeps the length word correct. TID is the chip's factory serial and is read-only."]]},{"k":"row","m":1,"s":"Config: Read, Write, Lock or Destroy a Tag","h":"","t":"Lock","kv":[["Fields","Lock Area (Kill Password, Access Password, EPC, TID, User), Lock Type (Unlock, Lock, Perma-Lock)"],["Notes","Set a real access password on the tag first; a lock with `00000000` gives no protection."]]},{"k":"row","m":1,"s":"Config: Read, Write, Lock or Destroy a Tag","h":"","t":"Destroy","kv":[["Fields","Access Password (type the tag's kill password here)"],["Notes","Permanently kills the tag. The tag must already have a non-zero kill password."]]},{"k":"topic","m":1,"s":"Config: Read, Write, Lock or Destroy a Tag","h":"","t":"Config: Read, Write, Lock or Destroy a Tag","b":[{"p":"Config works on one tag at a time. It runs at its own low power (10 dBm by default) and first identifies the single nearest tag, then acts only on that tag. Hold just one tag close to the antenna."},{"ol":["Tap **Config** and choose **Read**, **Write**, **Lock** or **Destroy**.","Enter the tag's **Access Password** if it has one (eight hex digits; `00000000` if none). For **Destroy**, type the tag's kill password in this field.","Fill in the fields for that operation (see the table).","Hold one tag close to the antenna and tap **EXECUTE READ** (the button names the mode: Write, Lock or Destroy), or press the right side button.","Read the result: **SUCCESS** or the reason it failed, with the target EPC. Tap the copy icon to copy a read result."],"start":1},{"note":"Keep the power slider low (about 8 to 12 dBm) so only the nearest tag answers. Start Address and Data Length are in words: 1 word = 2 bytes.","kind":"tip"},{"p":"Reading the TID bank"},{"table":{"head":["Mode","Fields","Notes"],"rows":[["Read","Memory Bank (Reserved, EPC, TID, User), Start Address, Data Length","Shows the data as hex."],["Write","Memory Bank, Start Address, Data Length, Data to Write (hex)","Writing to the EPC bank sets a new EPC and keeps the length word correct. TID is the chip's factory serial and is read-only."],["Lock","Lock Area (Kill Password, Access Password, EPC, TID, User), Lock Type (Unlock, Lock, Perma-Lock)","Set a real access password on the tag first; a lock with `00000000` gives no protection."],["Destroy","Access Password (type the tag's kill password here)","Permanently kills the tag. The tag must already have a non-zero kill password."]]}},{"note":"**Perma-Lock and Destroy cannot be undone.** A single press of EXECUTE or the right side button runs the operation immediately, with no confirmation. Run **Read** first to see which tag answers, then switch to Lock or Destroy. For Destroy, type the tag's kill password into the Access Password field.","kind":"caution"}]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"Data Acquisition","kv":[["Settings","Enable Barcode Scanner · Scan Source (UHF (RFID), Barcode / QR; tick both to read together) · Output Format (EPC, TID, User ID, Barcode, Time, sent in the order you tick them) · Prefix · Suffix / Terminator (None, Enter, Tab, Space) · Trigger Mode (Continuous: hold to scan; Single: press once)"]]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"Reader","kv":[["Settings","RF Read Power (5 to 33 dBm) · Region (default **Europe**, the ETSI setting; used by Scan, Custom Scan, Config, the Keyboard Emulator and Auto Mode) · Session (S0 to S3) · Target (A, B, A → B, B → A)"]]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"LED Tags","kv":[["Settings","Turn on Tag LED, to light LED tags while scanning · memory bank, start address and length of the LED word"]]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"Feedback","kv":[["Settings","Beep on read, beep length and volume · vibration strength · haptics on buttons · alert on new tags only or every read"]]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"Keyboard & Auto","kv":[["Settings","Keyboard Emulator · Auto Mode (post to URL) · Webhook Endpoint URL · Auto-start on boot (section 11)"]]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"Appearance","kv":[["Settings","Theme: System, Light or Dark"]]},{"k":"row","m":1,"s":"Settings and AISense","h":"","t":"Data","kv":[["Settings","Reset Settings to Default (returns every app setting to its first-install value, including the webhook URL and saved AISense profiles; saved sessions are kept) · Clear All Saved Sessions (permanent) · app version"]]},{"k":"topic","m":1,"s":"Settings and AISense","h":"","t":"Settings and AISense","b":[{"p":"Open **More › Settings**. Tap a chip at the top to jump to a section, change what you need, then tap **SAVE SETTINGS**."},{"note":"**First-install defaults:** RF power 33 dBm, Region **Europe**, Session S0, Target A → B and EPC-only output.","kind":"info"},{"p":"More › Settings, Data Acquisition"},{"table":{"head":["Section","Settings"],"rows":[["Data Acquisition","Enable Barcode Scanner · Scan Source (UHF (RFID), Barcode / QR; tick both to read together) · Output Format (EPC, TID, User ID, Barcode, Time, sent in the order you tick them) · Prefix · Suffix / Terminator (None, Enter, Tab, Space) · Trigger Mode (Continuous: hold to scan; Single: press once)"],["Reader","RF Read Power (5 to 33 dBm) · Region (default **Europe**, the ETSI setting; used by Scan, Custom Scan, Config, the Keyboard Emulator and Auto Mode) · Session (S0 to S3) · Target (A, B, A → B, B → A)"],["LED Tags","Turn on Tag LED, to light LED tags while scanning · memory bank, start address and length of the LED word"],["Feedback","Beep on read, beep length and volume · vibration strength · haptics on buttons · alert on new tags only or every read"],["Keyboard & Auto","Keyboard Emulator · Auto Mode (post to URL) · Webhook Endpoint URL · Auto-start on boot (section 11)"],["Appearance","Theme: System, Light or Dark"],["Data","Reset Settings to Default (returns every app setting to its first-install value, including the webhook URL and saved AISense profiles; saved sessions are kept) · Clear All Saved Sessions (permanent) · app version"]]}}]},{"k":"topic","m":1,"s":"Settings and AISense","h":"AISense: let the app pick reader settings","t":"AISense: let the app pick reader settings","b":[{"ol":["On the Scan screen, tap **AI Sense** (top right). If AISense has been applied before, it opens on the active settings: tap **NEW AI SWEEP** to describe a new job, or **Revert to previous settings** to undo the last apply.","Describe the job: **Tag Population**, **Read Distance**, **Tag Motion**, **RF Environment** and **Application**.","Tap **OPTIMISE**. AISense matches your answers to a recommended RF power, Gen2 session and target, and output format.","Tap **APPLY THESE SETTINGS**, or **Save as Profile** to keep it for this kind of job, or **Run Again**."],"start":1},{"p":"AISense changes the settings used by Scan, the Keyboard Emulator and Auto Mode. Tracking and Config keep their own power and parameters."},{"p":"AISense recommendation"}]},{"k":"topic","m":1,"s":"Send Reads to Other Apps and Servers","h":"","t":"Send Reads to Other Apps and Servers","b":[{"p":"CX Flow Pro can pass reads on to your own software in two ways: the **Keyboard Emulator** types them into another app, and **Auto Mode** posts them to your server."}]},{"k":"topic","m":1,"s":"Send Reads to Other Apps and Servers","h":"Keyboard Emulator: type reads into any app","t":"Keyboard Emulator: type reads into any app","b":[{"ol":["Open **More › Settings › Keyboard & Auto**, switch on **Keyboard Emulator** and tap **SAVE SETTINGS**.","Tap **Open Accessibility Settings** and turn on **CX Flow Pro Keyboard**.","In **Data Acquisition**, choose the **Output Format**, **Prefix** and **Suffix**: each read is typed in that shape. Set the Suffix to **Enter** or **Tab** if each read should move to the next field.","Open your app (a web form, ERP screen or spreadsheet), tap in a text field and press the right side button. The read is typed into the field."],"start":1}]},{"k":"topic","m":1,"s":"Send Reads to Other Apps and Servers","h":"Auto Mode: post reads to your server","t":"Auto Mode: post reads to your server","b":[{"ol":["In **Keyboard & Auto**, switch on **Auto Mode (post to URL)**.","Enter your **Webhook Endpoint URL** (for example `https://api.example.com/collect`) and tap **SAVE SETTINGS**.","Scan. Each new tag on the Scan screen, and each read you make with the right side button while you work in another app, is sent to your URL as an HTTP POST with a JSON body."],"start":1},{"p":"While Auto Mode is on, reads made with the right side button in other apps go to your URL instead of being typed. Switch on **Auto-start on boot** to have the reading service start with the reader."},{"p":"Keyboard & Auto settings"},{"p":"**What each post carries.** Reads made with the right side button while you work in another app are posted with `formatted` set to your Output Format, Prefix and Suffix, and with `tid` and `user` filled when your output format includes them. Tags posted from the Scan screen carry the EPC (and the TID if it was already read); their `user` and `formatted` fields are empty. Barcodes posted from the Scan screen carry `barcode` and `formatted`."},{"code":"{\n  \"epc\": \"E28011606000020C4B4A1014\",\n  \"tid\": \"\",\n  \"user\": \"\",\n  \"barcode\": \"\",\n  \"formatted\": \"E28011606000020C4B4A1014\",\n  \"device\": \"<device model>\",\n  \"time\": \"2026-10-27T16:18:35.120+0530\"\n}"},{"note":"Test with a request-inspection URL first, then point Auto Mode at your own endpoint. Your server should answer within 5 seconds.","kind":"tip"}]},{"k":"topic","m":1,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"To build your own Android app for the CX1500N, download **Identium CX1500N SDK 2.9** (package 2.9.1, 6.7 MB) from the Resource Hub. It is the package for all new apps: one self-contained Android library (AAR) with a ready-built demo app and an integration guide."}]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"`IdentiumCX1500N.aar`","kv":[["Contents","The SDK. Native libraries and open-source JARs are bundled inside; it is the only file your app needs."]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"`IdentiumCX1500N-Demo_2.9.apk`","kv":[["Contents","The **Identium CX1500N Demo** app, ready to install on the handheld."]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"`Identium-CX1500N-SDK-Integration-Guide.pdf`","kv":[["Contents","Requirements, Gradle set-up, basic usage, the demo app, 16 KB page-size status and troubleshooting."]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"`docs/SDK-Developer-Guide.md`","kv":[["Contents","Full API reference and code examples, region codes, RF link profiles, Q and session for dense tag populations, and which settings survive a power cycle."]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"`check16k.py`","kv":[["Contents","Checks native libraries for Android 16 KB memory-page support."]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"`README.md`","kv":[["Contents","Package overview and quick start."]]},{"k":"topic","m":1,"s":"For Developers: SDK Quick Start","h":"What is in the SDK package","t":"What is in the SDK package","b":[{"table":{"head":["Path in Identium-CX1500N-SDK-2.9.1.zip","Contents"],"rows":[["`IdentiumCX1500N.aar`","The SDK. Native libraries and open-source JARs are bundled inside; it is the only file your app needs."],["`IdentiumCX1500N-Demo_2.9.apk`","The **Identium CX1500N Demo** app, ready to install on the handheld."],["`Identium-CX1500N-SDK-Integration-Guide.pdf`","Requirements, Gradle set-up, basic usage, the demo app, 16 KB page-size status and troubleshooting."],["`docs/SDK-Developer-Guide.md`","Full API reference and code examples, region codes, RF link profiles, Q and session for dense tag populations, and which settings survive a power cycle."],["`check16k.py`","Checks native libraries for Android 16 KB memory-page support."],["`README.md`","Package overview and quick start."]]}}]},{"k":"topic","m":1,"s":"For Developers: SDK Quick Start","h":"Run the demo","t":"Run the demo","b":[{"ol":["Unzip `Identium-CX1500N-SDK-2.9.1.zip` on your PC and copy `IdentiumCX1500N-Demo_2.9.apk` from the unzipped folder to the handheld (USB cable, File transfer).","On the handheld, tap the APK in **Files** to install it.","Close CX Flow Pro first: only one app can use the reader module at a time.","Open **Identium CX1500N Demo**. Use **Tags** to start and stop an inventory, **Config** for power and band, **Read**, **Write**, **Lock** and **Destroy** for tag memory, and **Location** to find a tag."],"start":1}]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"Integrate the SDK in six steps","t":"Single read","kv":[["SDK call","`singleTagInventory()`"]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"Integrate the SDK in six steps","t":"Read / write tag memory","kv":[["SDK call","`read(password, bank, address, words, select)` · `write(...)` · `writeEPCID(...)`"]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"Integrate the SDK in six steps","t":"Lock / kill","kv":[["SDK call","`lock(password, bank, action, select)` · `kill(password, select)`"]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"Integrate the SDK in six steps","t":"Reader settings","kv":[["SDK call","`setPower(dBm)` · `setFrequencyRegion(code)` · `setSession(...)` · `setDynamicTarget(...)` · `setQ(...)` · `setRFLink(0-3)`"]]},{"k":"row","m":1,"s":"For Developers: SDK Quick Start","h":"Integrate the SDK in six steps","t":"Module information","kv":[["SDK call","`getVersions()` · `getTemperature()` · `getPower()` · `getFrequencyRegion()`"]]},{"k":"topic","m":1,"s":"For Developers: SDK Quick Start","h":"Integrate the SDK in six steps","t":"Integrate the SDK in six steps","b":[{"ol":["Copy `IdentiumCX1500N.aar` into your app module's `libs/` folder.","In the module's `build.gradle`, set `minSdk 22` (API 21 is the minimum; 22 is recommended), `abiFilters 'arm64-v8a', 'armeabi-v7a'` and add `implementation files('libs/IdentiumCX1500N.aar')` with `androidx.appcompat:appcompat:1.7.0` and `com.google.android.material:material:1.12.0`. Build with JDK 17 and compileSdk 34.","Connect once with `UHFReader.getInstance().connect()` and check for `CODE_SUCCESS`. Run SDK calls off the UI thread: `connect()` can take several seconds, and most other commands up to about 1 s.","Register `setOnInventoryDataListener(...)`. Tags arrive as a list on the SDK's reader thread: keep the callback short and post to the UI thread before touching views.","Call `startInventory()` and `stopInventory()`. Stop the inventory before sending any other command, and call `disConnect()` when your activity closes.","After every connect, re-apply power, region and session: they live in module memory and revert when the module powers down."],"start":1},{"code":"UHFReader reader = UHFReader.getInstance();\nif (reader.connect().getResultCode() == UHFReaderResult.ResultCode.CODE_SUCCESS) {\n    reader.setPower(30);                 // dBm, 5-33\n    reader.setFrequencyRegion(0x08);     // EU / ETSI region, used in India\n    reader.setOnInventoryDataListener(tags -> runOnUiThread(() -> {\n        for (UHFTagEntity t : tags) show(t.getEcpHex(), t.getRssi());\n    }));\n    reader.startInventory();\n}\n// ... later\nreader.stopInventory();\nreader.disConnect();"},{"table":{"head":["Task","SDK call"],"rows":[["Single read","`singleTagInventory()`"],["Read / write tag memory","`read(password, bank, address, words, select)` · `write(...)` · `writeEPCID(...)`"],["Lock / kill","`lock(password, bank, action, select)` · `kill(password, select)`"],["Reader settings","`setPower(dBm)` · `setFrequencyRegion(code)` · `setSession(...)` · `setDynamicTarget(...)` · `setQ(...)` · `setRFLink(0-3)`"],["Module information","`getVersions()` · `getTemperature()` · `getPower()` · `getFrequencyRegion()`"]]}},{"p":"See `docs/SDK-Developer-Guide.md` for the full API (section 5), region codes (5.5), RF link profiles (4.2) and code examples (6)."},{"note":"The SDK talks to the CX1500N's built-in reader module over its internal serial port and power lines, so run and debug your app on the handheld itself. Apps built on SDK 2.9 run on the CX1500N as shipped; see section 2 of the integration guide for the Google Play 16 KB page-size status.","kind":"info"}]},{"k":"topic","m":1,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["**Laser:** the barcode imager window (12) carries a Class 2 laser caution label. Do not stare into the window or point it at anyone's eyes.","**Charging:** charge with the supplied USB cable and 5 V / 2 A adapter, or the CX1500N charging cradle.","**Battery:** power the reader down before changing the pack. Keep Li-ion packs away from heat, never puncture them, and store spare packs part-charged.","**Temperature and humidity:** use the reader between −20 °C and +55 °C and store it between −30 °C and +70 °C, at 5–95% relative humidity without condensation.","**Drops:** the reader is built to survive a 1.2 m fall onto concrete. Carry it by the grip.","**Radio band:** for use in India, order the 865–868 MHz version of the reader.","**Read range:** range depends on tag size, orientation and surroundings. Lower the power to avoid reading neighbouring shelves.","**Tag programming:** Perma-Lock and Destroy are permanent and run without a confirmation. Run Read first, and keep Config power low so only the intended tag answers.","**Exports:** saved sessions stay on the reader until you export or delete them. Export important counts before you clear sessions or reset the reader."]}]},{"k":"spec","m":1,"s":"Parameters","h":"UHF RFID","t":"Frequency","v":"865–868 MHz (ETSI EN 302 208, India/EU); 902–928 MHz and 920–925 MHz versions available"},{"k":"spec","m":1,"s":"Parameters","h":"UHF RFID","t":"Protocol","v":"ISO/IEC 18000-6C (EPC Global C1 Gen2), ISO/IEC 18000-6B"},{"k":"spec","m":1,"s":"Parameters","h":"UHF RFID","t":"Read range","v":"0–25 m"},{"k":"spec","m":1,"s":"Parameters","h":"UHF RFID","t":"Antenna","v":"Circularly polarised, 4.5 dBi ceramic"},{"k":"spec","m":1,"s":"Parameters","h":"UHF RFID","t":"Transmit power","v":"Up to 33 dBm, adjustable"},{"k":"topic","m":1,"s":"Parameters","h":"UHF RFID","t":"UHF RFID","b":[{"kv":[["Frequency","865–868 MHz (ETSI EN 302 208, India/EU); 902–928 MHz and 920–925 MHz versions available"],["Protocol","ISO/IEC 18000-6C (EPC Global C1 Gen2), ISO/IEC 18000-6B"],["Read range","0–25 m"],["Antenna","Circularly polarised, 4.5 dBi ceramic"],["Transmit power","Up to 33 dBm, adjustable"]]}]},{"k":"spec","m":1,"s":"Parameters","h":"Computer","t":"Operating system","v":"IDOS, Identium's OS built on Android 15 (pre-installed)"},{"k":"spec","m":1,"s":"Parameters","h":"Computer","t":"Pre-installed apps","v":"CX Flow Pro; IDOS adds Action buttons, Auto RFID and CX Code Scanner"},{"k":"spec","m":1,"s":"Parameters","h":"Computer","t":"Processor","v":"Octa-core, 2.0 GHz"},{"k":"spec","m":1,"s":"Parameters","h":"Computer","t":"Memory","v":"4 GB RAM, 64 GB flash; TF card up to 128 GB"},{"k":"topic","m":1,"s":"Parameters","h":"Computer","t":"Computer","b":[{"kv":[["Operating system","IDOS, Identium's OS built on Android 15 (pre-installed)"],["Pre-installed apps","CX Flow Pro; IDOS adds Action buttons, Auto RFID and CX Code Scanner"],["Processor","Octa-core, 2.0 GHz"],["Memory","4 GB RAM, 64 GB flash; TF card up to 128 GB"]]}]},{"k":"spec","m":1,"s":"Parameters","h":"Display, scanner and keys","t":"Display","v":"5.0-inch IPS, 720 × 1440, hardened (9H) cover glass, touch screen"},{"k":"spec","m":1,"s":"Parameters","h":"Display, scanner and keys","t":"Barcode","v":"1D/2D imager: Code 128, QR Code, PDF417, Data Matrix and others"},{"k":"spec","m":1,"s":"Parameters","h":"Display, scanner and keys","t":"Camera","v":"13 MP rear with autofocus and flash; 5 MP front"},{"k":"spec","m":1,"s":"Parameters","h":"Display, scanner and keys","t":"Keys","v":"Touch screen; trigger and two side buttons, each programmable"},{"k":"spec","m":1,"s":"Parameters","h":"Display, scanner and keys","t":"Audio","v":"Built-in loudspeaker, adjustable volume"},{"k":"topic","m":1,"s":"Parameters","h":"Display, scanner and keys","t":"Display, scanner and keys","b":[{"kv":[["Display","5.0-inch IPS, 720 × 1440, hardened (9H) cover glass, touch screen"],["Barcode","1D/2D imager: Code 128, QR Code, PDF417, Data Matrix and others"],["Camera","13 MP rear with autofocus and flash; 5 MP front"],["Keys","Touch screen; trigger and two side buttons, each programmable"],["Audio","Built-in loudspeaker, adjustable volume"]]}]},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Mobile network","v":"4G data: TDD-LTE bands 38, 39, 40, 41; FDD-LTE bands 1, 2, 3, 4, 7, 17, 20"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Wi-Fi","v":"IEEE 802.11 b/g/n"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Bluetooth","v":"4.0"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"GPS","v":"Accuracy within 10 m"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Slots","v":"1 × SD/MMC (TF) card, 2 × nano-SIM"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Battery","v":"10,000 mAh, 3.7 V rechargeable Li-ion polymer"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Cradle","v":"Optional desk cradle, DC 5 V; charging (data transfer as stated in the quotation)"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Drop","v":"1.2 m free fall onto concrete"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Operating temperature","v":"−20 °C to +55 °C"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Storage temperature","v":"−30 °C to +70 °C"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Humidity","v":"5–95% RH, non-condensing"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Atmospheric pressure","v":"86–108 kPa"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Dimensions","v":"178 × 83 × 17 mm (±2 mm)"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Weight","v":"580 g"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"In the box","v":"USB cable, 5 V / 2 A power adapter"},{"k":"spec","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Compliance","v":"BIS and WPC approved"},{"k":"topic","m":1,"s":"Parameters","h":"Connectivity, power and environment","t":"Connectivity, power and environment","b":[{"kv":[["Mobile network","4G data: TDD-LTE bands 38, 39, 40, 41; FDD-LTE bands 1, 2, 3, 4, 7, 17, 20"],["Wi-Fi","IEEE 802.11 b/g/n"],["Bluetooth","4.0"],["GPS","Accuracy within 10 m"],["Slots","1 × SD/MMC (TF) card, 2 × nano-SIM"],["Battery","10,000 mAh, 3.7 V rechargeable Li-ion polymer"],["Cradle","Optional desk cradle, DC 5 V; charging (data transfer as stated in the quotation)"],["Drop","1.2 m free fall onto concrete"],["Operating temperature","−20 °C to +55 °C"],["Storage temperature","−30 °C to +70 °C"],["Humidity","5–95% RH, non-condensing"],["Atmospheric pressure","86–108 kPa"],["Dimensions","178 × 83 × 17 mm (±2 mm)"],["Weight","580 g"],["In the box","USB cable, 5 V / 2 A power adapter"],["Compliance","BIS and WPC approved"]]},{"p":"Specifications are from the CX1500N product page. Confirm the frequency version and accessories for your order in the quotation."}]},{"k":"fix","m":1,"s":"Troubleshooting","h":"Connecting and reading","t":"\"Reader not connected\"","cause":"Another app is using the reader module, or the app has not reconnected yet.","fix":"Close other RFID apps (such as the SDK demo), then leave the tab and come back so CX Flow Pro reconnects. Restart the reader if it persists."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Connecting and reading","t":"Pressing a button does nothing in CX Flow Pro","cause":"The button is not set to CX Flow Pro trigger (out of the box only the right side button is; the trigger scans barcodes), or the CX Triggers tile is off.","fix":"Use the right side button, or in IDOS **Settings › Action buttons** set the button you want to **CX Flow Pro trigger**. Switch on the **CX Triggers** tile. The on-screen ▶ button always works."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Connecting and reading","t":"No tags are read","cause":"Region, power or scan source is wrong, or the tags are out of range.","fix":"Check **Region** is set to the default, **Europe**, power is not at the minimum, and **UHF (RFID)** is ticked under Scan Source. Move closer and point the antenna face at the tags."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Range, tracking and tag programming","t":"Too many tags, or tags from the next shelf","cause":"Power is too high for the job.","fix":"Lower the power on the POWER tile, or use **Filter tags** to keep only the EPCs you want."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Range, tracking and tag programming","t":"Config reads or writes the wrong tag","cause":"More than one tag is in range.","fix":"Hold one tag against the antenna and keep Config power around 8–12 dBm."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Range, tracking and tag programming","t":"Destroy fails","cause":"The tag's kill password is still `00000000`.","fix":"Write a kill password to the Reserved bank (address 0, 2 words) first, then destroy with that password in the Access Password field."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Range, tracking and tag programming","t":"Lock or write fails on a protected tag","cause":"Wrong or missing access password.","fix":"Enter the tag's access password (eight hex digits) and try again."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Range, tracking and tag programming","t":"Tracking stays at 0% or SEARCHING","cause":"The EPC is not exact, was not SET, or the tag is far away.","fix":"Check the EPC, tap **SET**, then sweep slowly; far tags answer only now and then."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Data and output","t":"TID or User shows \"-\" in tag details or exports","cause":"The output format asks only for the EPC.","fix":"Tick **TID** and/or **User ID** under **Output Format** and save."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Data and output","t":"Keyboard Emulator types nothing","cause":"Accessibility service off, or no text field selected.","fix":"Turn on **CX Flow Pro Keyboard** in Accessibility, switch on Keyboard Emulator, tap **SAVE SETTINGS**, and tap in a text field before pressing the right side button. Check Auto Mode is off."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Data and output","t":"Auto Mode posts nothing","cause":"URL, network or switch.","fix":"Check the URL starts with `https://` or `http://`, the reader has Wi-Fi or 4G data, Auto Mode is on, and you tapped **SAVE SETTINGS**."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Barcodes, import and battery","t":"Barcodes are not read in CX Flow Pro","cause":"Barcode source is off.","fix":"Switch on **Enable Barcode Scanner** and tick **Barcode / QR** under Scan Source."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Barcodes, import and battery","t":"Custom Scan will not import the sheet","cause":"The file is not .xlsx, or the columns are not recognised.","fix":"Save the sheet as .xlsx with an EPC column and an Item Name column in the first row."},{"k":"fix","m":1,"s":"Troubleshooting","h":"Barcodes, import and battery","t":"Battery runs down during a shift","cause":"Long periods of full-power continuous reading.","fix":"Lower the power where you can, use Single trigger mode for spot checks, and carry a charged spare pack."},{"k":"row","m":2,"s":"The IF9A Family","h":"","t":"**IF9A**","kv":[["What it adds","Base model: one built-in antenna; USB, RS232, Wiegand, RJ45 Ethernet and PoE"]]},{"k":"row","m":2,"s":"The IF9A Family","h":"","t":"**IF9A‑2P**","kv":[["What it adds","A second port for one external UHF antenna, to cover a second zone"]]},{"k":"row","m":2,"s":"The IF9A Family","h":"","t":"**IF9A‑4G**","kv":[["What it adds","Built-in 4G with a micro SIM slot; pushes reads straight to your cloud server"]]},{"k":"row","m":2,"s":"The IF9A Family","h":"","t":"**IF9A‑Wifi**","kv":[["What it adds","Built-in Wi-Fi; posts reads to your server by HTTP"]]},{"k":"topic","m":2,"s":"The IF9A Family","h":"","t":"The IF9A Family","b":[{"p":"All IF9A models put an Impinj reader chip and a built-in 9 dBi antenna in one case, show reads on the same multi-function LED and work with the same software. They differ in how they connect."},{"table":{"head":["Model","What it adds"],"rows":[["**IF9A**","Base model: one built-in antenna; USB, RS232, Wiegand, RJ45 Ethernet and PoE"],["**IF9A‑2P**","A second port for one external UHF antenna, to cover a second zone"],["**IF9A‑4G**","Built-in 4G with a micro SIM slot; pushes reads straight to your cloud server"],["**IF9A‑Wifi**","Built-in Wi-Fi; posts reads to your server by HTTP"]]}},{"p":"Full specifications for each model are in section 16."}]},{"k":"topic","m":2,"s":"The IF9A Family","h":"Evaluation kit and accessories","t":"Evaluation kit and accessories","b":[{"ul":["**IF9A-EVK fixed reader evaluation kit:** an IF9A single-port reader, a sample pack of UHF RFID labels (the mix is confirmed with your order) and Identium ReaderSense desktop software for Windows and macOS (free, no licence fee).","**Wall / pole mounting bracket:** a steel bracket for IF9A-size readers. It fixes to a wall or gantry with screws, or to a pole with U-bolts sized to the pole; the tilt is set and locked at installation.","**PoE injector:** powers the reader over its network cable where the switch has no PoE port."]},{"note":"This manual uses **Identium ReaderSense**, Identium's free desktop app for Windows and macOS, for set-up, reading and Auto Mode on the IF9A. The **IF9A SDK** package adds the C# and Java SDKs, protocol documents and Auto Mode example servers for your own software. For an antenna check or a firmware update, contact Identium support.","kind":"info"}]},{"k":"topic","m":2,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** Front face — the 9 dBi UHF antenna sits behind it. Aim this face at the read zone.","**2** Multi-function LED — red = power, green = tag read.","**3** Cable breakout, where the cable from the housing splits into the connector leads.","**4** Connector leads for power, Ethernet/PoE and the reader's I/O (such as Wiegand, RS232 or relay). The leads fitted depend on the model and options ordered."]},{"p":"IF9A, front view"}]},{"k":"topic","m":2,"s":"Power On/Off","h":"","t":"Power On/Off","b":[{"p":"The IF9A and IF9A‑Wifi, and an IF9A‑2P ordered with PoE, take their power over Ethernet (PoE) on the RJ45 lead, so one network cable carries both power and data."},{"ol":["Plug the reader's RJ45 lead into a PoE switch port, or into the PoE port of a PoE injector.","Connect the injector's data port (or the switch) to your network or PC.","Switch on the PoE supply. The LED lights **red** when the reader has power.","To power the reader off, switch off the PoE supply or unplug the network cable."],"start":1},{"note":"Keep the PoE injector indoors. Only the reader and its cable belong outside, with the cable exit protected from rain.","kind":"caution"},{"p":"**IF9A‑4G:** fit a micro SIM with an active data plan, then power the reader from the supply Identium specifies for it. Check that the 4G signal is strong at the gate or pole itself, not at the site office."}]},{"k":"row","m":2,"s":"Indicators","h":"","t":"Multi-function LED","kv":[["State","Red"],["Meaning","The reader has power"]]},{"k":"row","m":2,"s":"Indicators","h":"","t":"Multi-function LED","kv":[["State","Green"],["Meaning","A tag has been read (green on each read)"]]},{"k":"row","m":2,"s":"Indicators","h":"","t":"Buzzer (output GPO 5)","kv":[["State","Sounds while the output is on"],["Meaning","Driven by ReaderSense, your software, the demos or Auto Mode, for example a beep on each read"]]},{"k":"topic","m":2,"s":"Indicators","h":"","t":"Indicators","b":[{"table":{"head":["Indicator","State","Meaning"],"rows":[["Multi-function LED","Red","The reader has power"],["Multi-function LED","Green","A tag has been read (green on each read)"],["Buzzer (output GPO 5)","Sounds while the output is on","Driven by ReaderSense, your software, the demos or Auto Mode, for example a beep on each read"]]}},{"note":"Use the green LED when aiming the reader. With an inventory running (click **Start Inventory** in ReaderSense, or with the reader in Auto Mode), hold a tag where it will pass and adjust the angle until the LED turns green on every pass.","kind":"tip"}]},{"k":"topic","m":2,"s":"Mounting the Reader","h":"","t":"Mounting the Reader","b":[{"ol":["Choose the read point. The IF9A reads tags in front of its face, so mount it where tags pass through that zone: a lane, gate, dock door or conveyor.","Fix the bracket to the wall or gantry with screws, or to the pole with the pipe clamp or U-bolts sized to the pole diameter.","Fit the reader to the bracket and leave the fixings hand-tight while you aim.","For vehicle lanes, mount the reader high enough to look down at the windshield without being hit, usually on a pole beside the barrier, with the face looking slightly down the lane towards the point where vehicles stop.","Power the reader, start an inventory (section 09) and pass a tagged item or vehicle through the zone. Adjust the tilt until reads are steady, then tighten and lock the bracket.","Dress the cable so the cable exit is protected from rain."],"start":1},{"note":"Up to 25 m is possible with a good long-range tag on an open site. Small labels, tags on metal or liquids and crowded surroundings read closer, so test with the tags you will use before you fix the final position.","kind":"tip"},{"p":"IF9A mounting drawing (dimensions in mm): 260 × 260 mm face, 65 mm deep, shown on a Ø 48 mm pole. Bottom left: the L bracket and the pipe clamp, which closes round the pole with M6 × 75 stainless-steel hex bolts, lock washers, flat washers and nuts."},{"p":"**IF9A‑2P:** connect an external UHF antenna to the second port to cover a second zone, for example the far side of a wide gate. Confirm the antenna connector and cable length with Identium when you order."}]},{"k":"topic","m":2,"s":"Network Set-up","h":"","t":"Network Set-up","b":[{"kv":[["Reader IP address","`192.168.1.100`"],["Subnet mask","`255.255.255.0`"],["Gateway","`192.168.1.254`"],["SDK connection","TCP port `8999` must be reachable from the PC"]]},{"p":"Factory network settings (Ethernet)."},{"ol":["Give your PC's network adapter a fixed address in the same network as the reader, for example `192.168.1.10` with subnet mask `255.255.255.0`.","Connect the PC and the reader to the same switch, or the PC to the injector's data port.","Open a Command Prompt and type `ping 192.168.1.100 -t`. Replies mean the network link works. Press Ctrl+C to stop.","No reply? Check the cable and the PC's address, type `arp -d` to clear the PC's address list, and ping again."],"start":1}]},{"k":"topic","m":2,"s":"Network Set-up","h":"Change the reader's IP address","t":"Change the reader's IP address","b":[{"p":"Connect with ReaderSense (section 08), open **Settings › Network**, enter the new IP address, subnet mask and gateway — all three must belong to the same network — and click **Set**. The reader then answers on the new address: reconnect from the **Connect** page. If you no longer know a reader's address, the search button next to the address box on the Connect page lists every reader on the network with its IP and MAC address."}]},{"k":"topic","m":2,"s":"Network Set-up","h":"IF9A‑Wifi and IF9A‑4G","t":"IF9A‑Wifi and IF9A‑4G","b":[{"p":"Set both up from a PC first, from ReaderSense's **Auto Mode** page (section 12). Connect the IF9A‑Wifi to the PC over its RJ45 lead; for the IF9A‑4G, use the set-up connection Identium gives with your reader. Type the reader's address in **IP/Serial Port**, click **Get Parameters** and open **Static Parameter Configuration**, where **Wireless Settings** and **4G Settings** appear on readers fitted with them. Then click **Set Parameters** with **Restart the device** ticked; the reader answers again after about 20 seconds."},{"ul":["**IF9A‑Wifi:** under **Wireless Settings** set **Work Pattern** to **STA Pattern** (the reader joins your Wi-Fi network), enter the network name in **SSID** and its **Password**, then enable **DHCP** or enter a fixed IP address, subnet mask and gateway. To send reads over Wi-Fi, choose **WIFI** as the hardware interface in Auto Mode.","**IF9A‑4G:** fit a micro SIM with an active data plan. Under **4G Settings** tick **APN › Enable**, then enter the **APN Name** your mobile operator gives for the SIM, plus the **APN UserName**, **APN Pwd** and **APN AuthenticationMode** (None, PAP or CHAP) if the operator uses them. **SignalStrength** shows the 4G signal: 25–31 is good, 20–25 is fair and below 20 is poor. Then choose **4G** as the hardware interface in Auto Mode and enter your server address."]}]},{"k":"row","m":2,"s":"Install the Software","h":"","t":"Identium ReaderSense","kv":[["File","`Identium ReaderSense Client Setup 4.0.0.exe`, plus a portable .exe and two macOS .dmg files"],["What it contains","Identium's desktop app for the IF9A, used in sections 08–12"]]},{"k":"row","m":2,"s":"Install the Software","h":"","t":"IF9A — SDK","kv":[["File","Identium-IF9A-SDK-1.0.zip (6.6 MB)"],["What it contains","C# and Java SDKs, protocol documents and Auto Mode example servers"]]},{"k":"row","m":2,"s":"Install the Software","h":"","t":"IF9A — C# FASTag Reader Demo","kv":[["File","Identium-IF9A-CSharp-Fastag-Reader-Demo-v1.1.0.zip (751 KB)"],["What it contains","A small C# reader app as source code, plus a ready-built copy and the SDK library it uses; section 13 shows how to build it for India"]]},{"k":"topic","m":2,"s":"Install the Software","h":"","t":"Install the Software","b":[{"p":"Download the IF9A files from the Identium Resource Hub, **www.identiumone.com/resourcehub/**:"},{"table":{"head":["Resource Hub item","File","What it contains"],"rows":[["Identium ReaderSense","`Identium ReaderSense Client Setup 4.0.0.exe`, plus a portable .exe and two macOS .dmg files","Identium's desktop app for the IF9A, used in sections 08–12"],["IF9A — SDK","Identium-IF9A-SDK-1.0.zip (6.6 MB)","C# and Java SDKs, protocol documents and Auto Mode example servers"],["IF9A — C# FASTag Reader Demo","Identium-IF9A-CSharp-Fastag-Reader-Demo-v1.1.0.zip (751 KB)","A small C# reader app as source code, plus a ready-built copy and the SDK library it uses; section 13 shows how to build it for India"]]}}]},{"k":"topic","m":2,"s":"Install the Software","h":"Install ReaderSense on Windows","t":"Install ReaderSense on Windows","b":[{"ol":["Download `Identium ReaderSense Client Setup 4.0.0.exe` from the Resource Hub and double-click it. If Windows SmartScreen shows **Windows protected your PC**, click **More info › Run anyway**.","Choose the install folder (or keep the default) and click **Install**.","Start **Identium ReaderSense** from the desktop or the Start menu. It opens on the **Connect** page."],"start":1},{"p":"The portable .exe runs without installing. On a Mac, use the `-arm64.dmg` file (Apple Silicon) or the `-x64.dmg` file (Intel); the Mac version connects over the network and needs one extra free runtime, described with every page of the app in the Identium ReaderSense User Manual. The screens in sections 08–12 are ReaderSense 4.0.0 set up for an IF9A, shown with sample tag data."}]},{"k":"row","m":2,"s":"Install the Software","h":"What is in the IF9A SDK package","t":"`README.md`","kv":[["What it is","Start here: requirements, the first C# steps, Auto Mode and the India region setting"]]},{"k":"row","m":2,"s":"Install the Software","h":"What is in the IF9A SDK package","t":"`CSharp-SDK/`","kv":[["What it is","The C# SDK library (`lib/ModuleAPI.dll`) and its HTML guide (open `API-Reference/index.html`): life cycle, parameters, inventory, tag access, GPI/GPO and errors."]]},{"k":"row","m":2,"s":"Install the Software","h":"What is in the IF9A SDK package","t":"`Java-SDK/`","kv":[["What it is","Java SDK for Windows: the SDK .jar and x86/x64 JNI libraries (`libs/`), four Eclipse demo projects (`demos/`) and a 66-page developer manual (`docs/`, PDF)"]]},{"k":"row","m":2,"s":"Install the Software","h":"What is in the IF9A SDK package","t":"`Samples/`","kv":[["What it is","Example servers that receive the reader's Auto Mode HTTP posts: `HTTP-Python` (Python) and `Tag-Web-Server` (Node.js, with a browser tag list)"]]},{"k":"row","m":2,"s":"Install the Software","h":"What is in the IF9A SDK package","t":"`Docs/`","kv":[["What it is","Reference documents: module command protocol, Auto Mode TCP frames and HTTP data format, and the Modbus protocol (section 14)"]]},{"k":"topic","m":2,"s":"Install the Software","h":"What is in the IF9A SDK package","t":"What is in the IF9A SDK package","b":[{"table":{"head":["Item in Identium-IF9A-SDK-1.0.zip","What it is"],"rows":[["`README.md`","Start here: requirements, the first C# steps, Auto Mode and the India region setting"],["`CSharp-SDK/`","The C# SDK library (`lib/ModuleAPI.dll`) and its HTML guide (open `API-Reference/index.html`): life cycle, parameters, inventory, tag access, GPI/GPO and errors."],["`Java-SDK/`","Java SDK for Windows: the SDK .jar and x86/x64 JNI libraries (`libs/`), four Eclipse demo projects (`demos/`) and a 66-page developer manual (`docs/`, PDF)"],["`Samples/`","Example servers that receive the reader's Auto Mode HTTP posts: `HTTP-Python` (Python) and `Tag-Web-Server` (Node.js, with a browser tag list)"],["`Docs/`","Reference documents: module command protocol, Auto Mode TCP frames and HTTP data format, and the Modbus protocol (section 14)"]]}},{"p":"The main items in the package. Section 14 shows how to use them."}]},{"k":"topic","m":2,"s":"Connect to the Reader","h":"","t":"Connect to the Reader","b":[{"note":"**Before you start:** power the reader and connect it to the same network as the computer (section 06). Close any other reader software, because the reader accepts one control connection at a time.","kind":"info"},{"ol":["Open **Connect** and choose **IF9A** in **Device Model**. It sets the one antenna port of the IF9A. For an IF9A‑2P, ask Identium which setting to use with your reader.","Under **Reader Address** keep **Network (IP)** and click the address box. ReaderSense lists the readers it finds on your network; click one, or type the IP address (factory setting `192.168.1.100`). The magnifier button gives a full list with each reader's MAC address and work state; **active** means the reader is in Auto Mode.","For a serial cable (Windows), install the USB-to-serial driver and choose **Serial (COM)**. ReaderSense checks the COM ports and fills in the one the reader answers on.","Click **Connect**. The status card turns green and shows **Connected** with the address.","**Current Reader Settings** shows the region, Gen2 settings, read power and hop channels the reader is running (a reader set up for India shows Region **IN**). Click **Disconnect** before you connect to a different reader."],"start":1},{"p":"ReaderSense › Connect with the IF9A selected. Current Reader Settings shows the region, read power and channels the reader is using (sample values)."}]},{"k":"topic","m":2,"s":"Read Tags (Inventory)","h":"","t":"Read Tags (Inventory)","b":[{"p":"Inventory on the IF9A. The line under the title shows the read mode, antenna 1 and the read power; the counters show unique tags, total reads and time (sample values)."},{"ol":["Connect the reader (section 08) and open **Inventory**.","Click **Start Inventory**. Each tag appears once in the table, and its **Reads** count rises every time it is seen.","Click **Stop** when you have finished.","Click **Export CSV** or **Export XLSX** to save the list. **Clear** empties the table for a new count."],"start":1},{"p":"**RSSI** is the signal strength in dBm (closer to 0 is stronger), **Freq** the channel and **Bank Data** the extra memory read when Additional Data is on (section 10)."},{"ul":["**Read mode** (top left): **Fast Mode-Standard** is the default. Try **Normal Mode** if a fast mode reads nothing.","**Filter** (right of the table) narrows the list: type the start of the EPCs you want, for example `E280, 3008`. Export saves the tags the filter shows.","**Tag Filter** (top bar) filters inside the reader, so tags that do not match are never reported (tick **Enable in Inventory** to use it). The **Statistics** tab shows reads per antenna and per frequency channel."]},{"note":"If nothing is read for 20 seconds, ReaderSense says so and offers **Retry in Normal mode**. First check that a tag is in front of the reader and that antenna 1 is ticked **In Use** (section 10).","kind":"tip"}]},{"k":"row","m":2,"s":"Reader Settings","h":"","t":"Antennas","kv":[["What you set there","Read and write power of the antenna port, in hundredths of a dBm (for example `2600` = 26.00 dBm), and **In Use**. Keep antenna 1 ticked."]]},{"k":"row","m":2,"s":"Reader Settings","h":"","t":"Inventory","kv":[["What you set there","**Fast Mode Type**; **Read Duration** and **Read Interval** for Normal mode; Gen2 **Session**, **Target**, **Q Value** and **Link Profile**; **Additional Data** 1–3 (extra memory-bank words returned with every tag) and the shared access password."]]},{"k":"row","m":2,"s":"Reader Settings","h":"","t":"Network","kv":[["What you set there","The reader's IP address, subnet mask and gateway (section 06)."]]},{"k":"row","m":2,"s":"Reader Settings","h":"","t":"Advance","kv":[["What you set there","**Hop Mode**, **Max Dwell Time of Ant**, **Gen2 Write Mode** (Word or Block write), tag data cache options and **Working Region**. In India keep the region set to **IN** (India, 865–868 MHz); change it only when Identium support asks you to."]]},{"k":"row","m":2,"s":"Reader Settings","h":"","t":"GPIO","kv":[["What you set there","**GPI Trigger Operation** starts and stops inventory from an input such as a photo-eye. **Tag Read GPO Trigger** switches an output on each read; GPO 5 is the buzzer."]]},{"k":"topic","m":2,"s":"Reader Settings","h":"","t":"Reader Settings","b":[{"p":"**Settings** holds the reader's own parameters, grouped in tabs. **Get** reads the current values from the reader; **Set** writes the values on the tab you are looking at. **Perpetual** also asks the reader to keep them after a power cut; the values it keeps are the antenna power, the Gen2 inventory parameters (Session, Profile, Target and Q) and the region and channels. After **Perpetual**, switch the reader off and on and click **Get** to confirm."},{"p":"Settings › Antennas on the IF9A: one port, read and write power in hundredths of a dBm, detection state and In Use (sample values)."},{"table":{"head":["Tab","What you set there"],"rows":[["Antennas","Read and write power of the antenna port, in hundredths of a dBm (for example `2600` = 26.00 dBm), and **In Use**. Keep antenna 1 ticked."],["Inventory","**Fast Mode Type**; **Read Duration** and **Read Interval** for Normal mode; Gen2 **Session**, **Target**, **Q Value** and **Link Profile**; **Additional Data** 1–3 (extra memory-bank words returned with every tag) and the shared access password."],["Network","The reader's IP address, subnet mask and gateway (section 06)."],["Advance","**Hop Mode**, **Max Dwell Time of Ant**, **Gen2 Write Mode** (Word or Block write), tag data cache options and **Working Region**. In India keep the region set to **IN** (India, 865–868 MHz); change it only when Identium support asks you to."],["GPIO","**GPI Trigger Operation** starts and stops inventory from an input such as a photo-eye. **Tag Read GPO Trigger** switches an output on each read; GPO 5 is the buzzer."]]}},{"note":"India's licence-exempt rules allow an RFID reader at most 2 W e.r.p., and the IF9A's built-in antenna adds 9 dBi of gain to the power set here. Ask Identium support for the read power to use at your site in India before you change it.","kind":"caution"}]},{"k":"row","m":2,"s":"Read, Write and Lock Tags","h":"","t":"Read Bank","kv":[["Parameters","**Bank** (Reserved, EPC, TID or User), **Start Address** and **Block Count** in words. In the EPC bank, word 0 is the CRC, word 1 the PC and the EPC number starts at word 2."]]},{"k":"row","m":2,"s":"Read, Write and Lock Tags","h":"","t":"Write Bank","kv":[["Parameters","Bank, start address and the data in hex. Data must be whole words: a multiple of 4 hex characters. The TID bank is programmed at the factory and is read-only."]]},{"k":"row","m":2,"s":"Read, Write and Lock Tags","h":"","t":"Write EPC","kv":[["Parameters","The new EPC in hex, whole words; a standard 96-bit EPC is 24 characters. ReaderSense updates the PC word for you."]]},{"k":"row","m":2,"s":"Read, Write and Lock Tags","h":"","t":"Lock Tag","kv":[["Parameters","**Lock Target** (EPC, TID, User, Kill password or Access password) and **Lock Type** (Unlock, Lock or Permanent)."]]},{"k":"row","m":2,"s":"Read, Write and Lock Tags","h":"","t":"Kill Tag","kv":[["Parameters","The tag's kill password (hex)."]]},{"k":"topic","m":2,"s":"Read, Write and Lock Tags","h":"","t":"Read, Write and Lock Tags","b":[{"p":"Tag Access works on one tag at a time. Hold only the tag you want in front of the reader, or narrow the choice with the EPC filter."},{"ol":["Open **Tag Access** and pick an **Operation Type**: **Read Bank**, **Write Bank**, **Write EPC**, **Lock Tag** or **Kill Tag**.","Under **Antenna** pick **1**, the IF9A antenna.","Enter the **Access Password** (8 hex characters) if the tag is locked; leave it blank otherwise.","Optionally type the start of the tag's EPC in **EPC Filter** so only that tag answers.","Fill in the parameters for the operation (table below) and click **Execute**. The result appears under the button."],"start":1},{"note":"**Permanent** lock and **Kill** cannot be undone, with any password. Try them on a spare tag first.","kind":"caution"},{"p":"Before you lock a bank, write a non-zero access password to the Reserved bank (words 2–3) and enter it in **Access Password**: a lock with password 0 leaves the tag unprotected."},{"p":"A tag whose kill password is still 0 cannot be killed. Write a kill password to the Reserved bank (words 0–1) first."},{"p":"Tag Access: operation type, antenna and access password. The EPC filter is below, the bank parameters to the right."},{"table":{"head":["Operation","Parameters"],"rows":[["Read Bank","**Bank** (Reserved, EPC, TID or User), **Start Address** and **Block Count** in words. In the EPC bank, word 0 is the CRC, word 1 the PC and the EPC number starts at word 2."],["Write Bank","Bank, start address and the data in hex. Data must be whole words: a multiple of 4 hex characters. The TID bank is programmed at the factory and is read-only."],["Write EPC","The new EPC in hex, whole words; a standard 96-bit EPC is 24 characters. ReaderSense updates the PC word for you."],["Lock Tag","**Lock Target** (EPC, TID, User, Kill password or Access password) and **Lock Type** (Unlock, Lock or Permanent)."],["Kill Tag","The tag's kill password (hex)."]]}}]},{"k":"topic","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"","t":"Auto Mode: Send Reads Without a PC","b":[{"p":"The IF9A has two working modes. In **Answer mode** (shown as **Passive** in the software) it waits for commands from your PC or application. In **Active mode**, set up from the **Auto Mode** page, it starts reading by itself at power-up and sends the reads to your server over HTTP, TCP or MQTT, so no PC is needed at the read point."}]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"Example: send tag reads to your server over HTTP","t":"Ethernet, WIFI or 4G","kv":[["What to fill in","**HTTP**: the **Upload URL**; your server must answer each upload with HTTP 200. **TCP**: the **Server Address** and **Port Number**. **MQTT**: **Host Address**, **Port Number** (usually 1883), **Publish Topic** and QoS, plus user name, password and TLS if used."]]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"Example: send tag reads to your server over HTTP","t":"Wiegand or RS232 Serial Port","kv":[["What to fill in","No network protocol: set the Wiegand type (Wiegand 26, 34 or 66) and pulse timing, or the serial parameters, instead."]]},{"k":"topic","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"Example: send tag reads to your server over HTTP","t":"Example: send tag reads to your server over HTTP","b":[{"ol":["Open **Auto Mode**, type the reader's address in **IP/Serial Port** and click **Get Parameters**.","On **Static Parameter Configuration**, check the network settings, **Ant Power**, **Working Region** (**India**), **Working Antenna** and **Device Type** (**1 Antenna** for the IF9A). Click **Set Parameters**; tick **Restart the device** if you changed network settings.","Open **Advanced Parameter Configuration** and click **Get Parameters**.","Under **Required Parameters**, choose the **Hardware Interface**: **Ethernet**, **WIFI** (IF9A‑Wifi) or **4G** (IF9A‑4G). Set **Communication Protocol** to **HTTP** and the **Data Processing Cycle**, for example `1000` ms to send buffered reads once a second.","Under **HTTP Parameters**, enter your server's **Upload URL**.","Under **Event Subscription**, tick **Tag Data** (or **Tag Enter**), and **Heartbeat** for a regular sign of life. Without a tag event the reader sends no tag data.","Under **Additional Parameters**, give the reader a **Reader Logical Name** (it is sent as `reader_name`) and set **Initial Count Condition** to **Inventory**. Without it the reader enters Active mode but never starts reading.","Click **Set Active**. The reader restarts; when **WorkState** shows **Active**, it is reading and sending."],"start":1},{"p":"Auto Mode › Advanced Parameter Configuration: WorkState and the mode buttons at the top, then the required parameters and the HTTP upload URL."},{"table":{"head":["Hardware interface","What to fill in"],"rows":[["Ethernet, WIFI or 4G","**HTTP**: the **Upload URL**; your server must answer each upload with HTTP 200. **TCP**: the **Server Address** and **Port Number**. **MQTT**: **Host Address**, **Port Number** (usually 1883), **Publish Topic** and QoS, plus user name, password and TLS if used."],["Wiegand or RS232 Serial Port","No network protocol: set the Wiegand type (Wiegand 26, 34 or 66) and pulse timing, or the serial parameters, instead."]]}}]},{"k":"topic","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"Taking the reader out of Auto Mode","t":"Taking the reader out of Auto Mode","b":[{"p":"Read **WorkState**, click **Revert to Passive**, then check that **WorkState** now reads **Passive**. The button switches the work state either way, so pressed on a reader that is already passive it turns Active mode back on. **Clear Parameters** erases the Auto Mode settings. Return the reader to Passive before you use the other ReaderSense pages, the SDK or the FASTag demo."}]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"What your server receives over HTTP","t":"`ep`","kv":[["Meaning","EPC in hex (always sent; length varies)"],["Key","`pt`"],["Meaning","Tag protocol"]]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"What your server receives over HTTP","t":"`bd`","kv":[["Meaning","Additional (bank) data"],["Key","`ri`"],["Meaning","RSSI in dBm"]]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"What your server receives over HTTP","t":"`at`","kv":[["Meaning","Antenna number"],["Key","`rv`"],["Meaning","Reserve field"]]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"What your server receives over HTTP","t":"`rc`","kv":[["Meaning","Read count"],["Key","`ft`"],["Meaning","First seen, ms since 1970"]]},{"k":"row","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"What your server receives over HTTP","t":"`fq`","kv":[["Meaning","Frequency in kHz"],["Key","`lt`"],["Meaning","Last seen, ms since 1970"]]},{"k":"topic","m":2,"s":"Auto Mode: Send Reads Without a PC","h":"What your server receives over HTTP","t":"What your server receives over HTTP","b":[{"p":"Each upload is an HTTP POST with a JSON body (`Content-Type: application/json; charset=utf-8`) holding three keys: `reader_name`, `event_type` and `event_data`. Always reply with HTTP 200, even when you reject the data; any other reply makes the reader treat the upload as failed and send it again."},{"code":"{\n  \"reader_name\": \"IF9A-GATE-01\",\n  \"event_type\": \"tag_coming\",\n  \"event_data\": [\n    { \"ep\": \"E28068940000502352B2B8B4\", \"bd\": \"\", \"at\": 1, \"rc\": 1,\n      \"fq\": 865700, \"pt\": 5, \"ri\": -29, \"rv\": 183831284,\n      \"ft\": 1754985600000, \"lt\": 1754985600000 }\n  ]\n}"},{"table":{"head":["Key","Meaning","Key","Meaning"],"rows":[["`ep`","EPC in hex (always sent; length varies)","`pt`","Tag protocol"],["`bd`","Additional (bank) data","`ri`","RSSI in dBm"],["`at`","Antenna number","`rv`","Reserve field"],["`rc`","Read count","`ft`","First seen, ms since 1970"],["`fq`","Frequency in kHz","`lt`","Last seen, ms since 1970"]]}},{"ul":["Event types: `tag_read` (the batch sent every Data Processing Cycle, **Tag Data**), `tag_coming` (first sighting of a tag, **Tag Enter**), `heart_beat` (a counter, **Heartbeat**), `gpi_changed` (the state of every input and a timestamp, **GPI Change**) and `sync_time_req` (**Time Synchronization**).","The tag fields you tick decide which keys are sent. `tag_read` often carries only `ep`, `bd`, `at` and `rc`, and `ep` is not always 24 characters. **Format Type** picks the new format (the fields you tick) or the old compact format (`ep`, `rc` and `lt` only).","Timestamps are milliseconds since 1 January 1970 (13 digits). The reader's clock starts from zero at every power-up, so subscribe to **Time Synchronization** when you need real times and answer the reader's `sync_time_req`.","Your 200 reply may carry one command for the reader as `{ \"command_type\": …, \"command_data\": … }`: `sync_time` (set the clock), `set_gpo` (switch outputs, for example a barrier relay), `pause_inventory` or `resume_inventory`.","The IF9A SDK package has example servers that receive these posts: `Samples/HTTP-Python` and `Samples/Tag-Web-Server`."]}]},{"k":"topic","m":2,"s":"C# FASTag Reader Demo","h":"","t":"C# FASTag Reader Demo","b":[{"p":"A small Windows app, supplied as C# source code, that shows the core reader jobs in readable code: connect, read (continuously or once), read EPC, TID and User memory, drive the buzzer and outputs, and change the network and power settings the reader starts up with. It reads the EPC and TID of every tag in the field, for example vehicle windshield tags at a gate."},{"note":"Always use the demo built for India (`Region.IN`), as below. The ready-built copy in the package's `app` folder opens the reader with the North America region setting (`Region.NA`).","kind":"caution"}]},{"k":"row","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"1 Connection","kv":[["Controls","IP / COM, Antenna, Connect, Disconnect"],["What it does","Opens the reader at an IP address (default `192.168.1.100`) or a serial port such as `com3:115200`. The Antenna box picks the port used for reading: 1 on the IF9A."]]},{"k":"row","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"2 Read mode","kv":[["Controls","EPC only (fastest) · EPC + TID · EPC + TID + User"],["What it does","What is read for each new tag. EPC only skips the extra memory reads, so it is the fastest."]]},{"k":"row","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"3 Read","kv":[["Controls","Start, Read once, Stop; Buzzer (GPO5) + GPO4 on while reading"],["What it does","Start reads continuously and lists each tag once; Read once does one 0.5 s read of every tag in the field."]]},{"k":"row","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"4 Buzzer + GPIO","kv":[["Controls","Beep 300ms, Read GPI, GPO 4+5 ON / OFF"],["What it does","Tests the buzzer (GPO 5) and the spare output GPO 4 (lamp or relay), and reads the inputs."]]},{"k":"row","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"5 Saved reader settings","kv":[["Controls","IP address, Subnet mask, Gateway, DNS, Power (dBm, all antennas); Restart reader after saving; Load, Save to reader"],["What it does","**Load** reads the settings the reader starts up with; **Save to reader** writes these five values and keeps everything else stored on the reader. It works on the address in box 1, with no connection needed. With **Restart reader after saving** ticked (the default) the reader restarts, which takes about 20 seconds. Load and Save use TCP port 8080."]]},{"k":"row","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"Tag list and log","kv":[["Controls","#, Time, Ant, RSSI, EPC, TID, User; Clear"],["What it does","One row per tag, and each read as text in the log."]]},{"k":"topic","m":2,"s":"C# FASTag Reader Demo","h":"Build and run the demo for India","t":"Build and run the demo for India","b":[{"ol":["Download **Identium-IF9A-CSharp-Fastag-Reader-Demo-v1.1.0.zip** from the Resource Hub and extract it on a Windows PC.","Install the .NET Framework 4.8 Developer Pack, plus either the .NET SDK (to build with `dotnet build`) or Visual Studio with the .NET desktop workload.","Open `source/RFID_Reader_Demo/ReaderService.cs` and, in the `Connect` method, change `Region.NA` in the `Reader.Create(…)` call to `Region.IN`.","In the `source` folder run `dotnet build -c Release`, or open `RFID_Reader_Demo.sln` in Visual Studio and build.","Run `RFID_Reader_Demo\\bin\\Release\\RFID_Reader_Demo.exe`. The build puts the two .dll files it needs beside it; keep all three files together.","Make sure the reader is in Answer (Passive) mode and TCP port 8999 is reachable, then enter the reader address, pick antenna **1**, click **Connect** and click **Start** or **Read once**."],"start":1},{"note":"The project is built as 32-bit (x86) because the SDK library is 32-bit; an AnyCPU or x64 build can stop with a `BadImageFormatException`. All reader calls are in `ReaderService.cs` and `MainForm.cs` is only the user interface, so you can reuse the service in a console app or Windows service unchanged.","kind":"info"},{"table":{"head":["Panel","Controls","What it does"],"rows":[["1 Connection","IP / COM, Antenna, Connect, Disconnect","Opens the reader at an IP address (default `192.168.1.100`) or a serial port such as `com3:115200`. The Antenna box picks the port used for reading: 1 on the IF9A."],["2 Read mode","EPC only (fastest) · EPC + TID · EPC + TID + User","What is read for each new tag. EPC only skips the extra memory reads, so it is the fastest."],["3 Read","Start, Read once, Stop; Buzzer (GPO5) + GPO4 on while reading","Start reads continuously and lists each tag once; Read once does one 0.5 s read of every tag in the field."],["4 Buzzer + GPIO","Beep 300ms, Read GPI, GPO 4+5 ON / OFF","Tests the buzzer (GPO 5) and the spare output GPO 4 (lamp or relay), and reads the inputs."],["5 Saved reader settings","IP address, Subnet mask, Gateway, DNS, Power (dBm, all antennas); Restart reader after saving; Load, Save to reader","**Load** reads the settings the reader starts up with; **Save to reader** writes these five values and keeps everything else stored on the reader. It works on the address in box 1, with no connection needed. With **Restart reader after saving** ticked (the default) the reader restarts, which takes about 20 seconds. Load and Save use TCP port 8080."],["Tag list and log","#, Time, Ant, RSSI, EPC, TID, User; Clear","One row per tag, and each read as text in the log."]]}}]},{"k":"topic","m":2,"s":"C# FASTag Reader Demo","h":"Change the reader's saved IP address or power","t":"Change the reader's saved IP address or power","b":[{"ol":["Type the reader's address in box 1 (you do not need to connect) and click **Load**.","Edit the IP address, subnet mask, gateway, DNS or power. Before you change the power, read the caution in section 10.","Click **Save to reader** and confirm. Leave **Restart reader after saving** ticked and wait about 20 seconds; if the IP address changed, box 1 is updated to the new address.","Click **Load** again to check what the reader kept."],"start":1},{"note":"If you move the reader to another subnet, the demo warns you before saving. Afterwards, put the PC on that subnet (or use the serial port) to reach the reader again.","kind":"tip"}]},{"k":"topic","m":2,"s":"For Developers: SDK Quick Start","h":"Integrate the IF9A in five steps (C#)","t":"Integrate the IF9A in five steps (C#)","b":[{"ol":["Reference `CSharp-SDK/lib/ModuleAPI.dll` from the SDK package in your project and build for **x86**.","Create the reader with `Reader.Create(address, Region.IN, antennaPorts)`. The address is an IP or a COM port; the port count must match the reader (1 for the IF9A).","Set the read plan: `ParamSet(\"ReadPlan\", new SimpleReadPlan(new[] { 1 }))`. Before tag operations, also set `TagopAntenna` and `TagopProtocol` (`TagProtocol.GEN2`).","Read: `Read(500)` returns every tag seen in 500 ms with its EPC, antenna and RSSI. To read TID or User memory, call `ReadTagMemWords` with an EPC filter for that tag.","Drive outputs with `GPOSet(pin, state)` (GPO 5 = buzzer), read inputs with `GPIGet()`, and call `Disconnect()` when you are finished."],"start":1},{"code":"// type Reader and let Visual Studio add the SDK's using directive (Ctrl+.)\n\nint ports = 1;                                   // 1 for the IF9A\nReader rdr = Reader.Create(\"192.168.1.100\", Region.IN, ports);\nrdr.ParamSet(\"ReadPlan\", new SimpleReadPlan(new[] { 1 }));\n\nTagReadData[] tags = rdr.Read(500);              // one 500 ms inventory\nforeach (TagReadData t in tags)\n    Console.WriteLine($\"{t.EPCString}  ant {t.Antenna}  {t.Rssi} dBm\");\n\nrdr.GPOSet(5, true);                             // buzzer on\nrdr.GPOSet(5, false);                            // buzzer off\nrdr.Disconnect();"}]},{"k":"topic","m":2,"s":"For Developers: SDK Quick Start","h":"Other ways in","t":"Other ways in","b":[{"ul":["**Auto Mode (HTTP, TCP or MQTT):** no SDK needed on the PC. Set it up as in section 12 and parse the posts on your server.","**Java:** `Java-SDK/` in the SDK package holds the SDK .jar with its 32- and 64-bit JNI libraries, four Eclipse demo projects and the developer manual; its `README.md` shows how to build and run a demo. Set the region with `Region_Conf.RG_IN`.","**Modbus:** read the tag list from register `0xB00` (125 registers). Modbus over TCP/IP uses port 8080; the default Modbus serial address is 2. See `Docs/Identium-IF9A-Modbus-Protocol.pdf` in the SDK package.","**Low-level protocols:** `Docs/Identium-IF9A-TCP-Protocol.pdf` (Auto Mode TCP frames) and `Docs/Identium-IF9A-Module-Protocol.pdf` (module command set) in the SDK package.","**Other platforms:** Identium also provides SDKs for Linux, Python, Arduino and Raspberry Pi. They are not in the Resource Hub package; ask Identium support for the one you need."]},{"note":"Full API reference: `CSharp-SDK/API-Reference/index.html` (C#) and `Java-SDK/docs/Identium-IF9A-Java-SDK-Manual.pdf` (Java) in the SDK package.","kind":"tip"}]},{"k":"topic","m":2,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["Use the reader only in India's 865–868 MHz UHF band, which is licence-exempt under G.S.R. 853(E), 2021, at no more than 2 W e.r.p. Keep the region set to **India** in ReaderSense and in your own code (`Region.IN` in C#, `Region_Conf.RG_IN` in Java).","Keep the PoE injector indoors and protect the cable exit from rain.","Mount the reader firmly. A loose bracket changes the aim and the read zone.","Nearby metal, liquids and crowded surroundings shorten the read range. Test the final position with your own tags.","Keep the housing closed. It is sealed at the factory to keep water and dust out.","For a firmware update, contact Identium support. Load only firmware from Identium, update over Ethernet or serial rather than Wi-Fi, and never remove power during an update.","Kill and permanent lock cannot be undone. Try tag operations on a spare tag first.","Before you connect ReaderSense, the SDK or the FASTag demo to a reader that is in Auto Mode, return it to Passive mode (section 12)."]}]},{"k":"topic","m":2,"s":"Parameters","h":"","t":"Parameters","b":[{"p":"The first three tables describe the single-port **IF9A**, which is also the reader in the **IF9A‑EVK** evaluation kit. The IF9A‑2P, IF9A‑4G and IF9A‑Wifi follow, each in its own table; all three use an Impinj reader chip."}]},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Frequency","v":"865–868 MHz (India UHF band)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Reader chip","v":"Impinj reader chip"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Antenna","v":"Built-in 9 dBi (single-port model)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Read range","v":"Up to 25 m effective (depends on tag, mounting and environment)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Read speed","v":"Bulk read (many tags at once)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Memory","v":"Reads EPC, TID and User memory"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"Work modes","v":"Active (plug and play), Answer (command)"},{"k":"topic","m":2,"s":"Parameters","h":"IF9A: radio and reading","t":"IF9A: radio and reading","b":[{"kv":[["Frequency","865–868 MHz (India UHF band)"],["Reader chip","Impinj reader chip"],["Antenna","Built-in 9 dBi (single-port model)"],["Read range","Up to 25 m effective (depends on tag, mounting and environment)"],["Read speed","Bulk read (many tags at once)"],["Memory","Reads EPC, TID and User memory"],["Work modes","Active (plug and play), Answer (command)"]]}]},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Interfaces","v":"USB, RS232, Wiegand, RJ45 Ethernet, PoE"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Outputs","v":"Relay (optional); buzzer on GPO 5"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Indicator","v":"Multi-function LED: red for power, green for tag read"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Power","v":"PoE on the RJ45 port"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Factory IP address","v":"192.168.1.100 (mask 255.255.255.0, gateway 192.168.1.254)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Dimensions","v":"260 × 260 × 65 mm (housing, from the mounting drawing)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Material","v":"Die-cast aluminium case"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Ingress protection","v":"IP68: dust-tight, and tested immersed at 1 m for 30 minutes"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"SDK","v":".NET, Java, Linux, Python, Arduino, Raspberry Pi (.NET and Java are in the IF9A SDK package on the Resource Hub; ask Identium support for the others)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"Certification","v":"BIS and WPC approved"},{"k":"topic","m":2,"s":"Parameters","h":"IF9A: connections, housing and approvals","t":"IF9A: connections, housing and approvals","b":[{"kv":[["Interfaces","USB, RS232, Wiegand, RJ45 Ethernet, PoE"],["Outputs","Relay (optional); buzzer on GPO 5"],["Indicator","Multi-function LED: red for power, green for tag read"],["Power","PoE on the RJ45 port"],["Factory IP address","192.168.1.100 (mask 255.255.255.0, gateway 192.168.1.254)"]]},{"kv":[["Dimensions","260 × 260 × 65 mm (housing, from the mounting drawing)"],["Material","Die-cast aluminium case"],["Ingress protection","IP68: dust-tight, and tested immersed at 1 m for 30 minutes"],["SDK",".NET, Java, Linux, Python, Arduino, Raspberry Pi (.NET and Java are in the IF9A SDK package on the Resource Hub; ask Identium support for the others)"],["Certification","BIS and WPC approved"]]}]},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"Antenna","v":"9 dBi built-in, plus 1 external antenna port (2 ports in all)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"Read range","v":"Up to 25 m effective (tag and environment dependent)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"Interfaces","v":"USB, RS232, Wiegand, RJ45, Wi-Fi, PoE, 4G (options)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"Work modes","v":"Active (plug and play), Answer (function call)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"Outputs","v":"Relay (optional)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"Indicator","v":"Multi-function LED: red for power, green for tag read"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"SDK","v":".NET, Java, Linux, Python, Arduino, Raspberry Pi"},{"k":"topic","m":2,"s":"Parameters","h":"IF9A‑2P (2 ports)","t":"IF9A‑2P (2 ports)","b":[{"kv":[["Antenna","9 dBi built-in, plus 1 external antenna port (2 ports in all)"],["Read range","Up to 25 m effective (tag and environment dependent)"],["Interfaces","USB, RS232, Wiegand, RJ45, Wi-Fi, PoE, 4G (options)"],["Work modes","Active (plug and play), Answer (function call)"],["Outputs","Relay (optional)"],["Indicator","Multi-function LED: red for power, green for tag read"],["SDK",".NET, Java, Linux, Python, Arduino, Raspberry Pi"]]}]},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑4G","t":"Antenna","v":"9 dBi built-in"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑4G","t":"Read range","v":"Up to 25 m effective (tag and environment dependent)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑4G","t":"Interface","v":"Built-in 4G with micro SIM slot; direct push to a cloud server"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑4G","t":"Outputs","v":"Relay (optional)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑4G","t":"Indicator","v":"Multi-function LED: red for power, green for tag read"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑4G","t":"Material","v":"Die-cast aluminium housing"},{"k":"topic","m":2,"s":"Parameters","h":"IF9A‑4G","t":"IF9A‑4G","b":[{"kv":[["Antenna","9 dBi built-in"],["Read range","Up to 25 m effective (tag and environment dependent)"],["Interface","Built-in 4G with micro SIM slot; direct push to a cloud server"],["Outputs","Relay (optional)"],["Indicator","Multi-function LED: red for power, green for tag read"],["Material","Die-cast aluminium housing"]]}]},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Antenna","v":"Built-in 9 dBi"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Read range","v":"Up to 25 m effective (depends on tag, mounting and environment)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Memory","v":"Reads EPC, TID and User memory"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Wireless","v":"Built-in Wi-Fi with direct HTTP POST"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Interfaces","v":"Wi-Fi, USB, RS232, Wiegand, RJ45 Ethernet, PoE"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Work modes","v":"Active (plug and play), Answer (command)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Outputs","v":"Relay (optional)"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Indicator","v":"Multi-function LED: red for power, green for tag read"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"SDK","v":".NET, Java, Linux, Python, Arduino, Raspberry Pi"},{"k":"spec","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"Material","v":"Die-cast aluminium case"},{"k":"topic","m":2,"s":"Parameters","h":"IF9A‑Wifi","t":"IF9A‑Wifi","b":[{"kv":[["Antenna","Built-in 9 dBi"],["Read range","Up to 25 m effective (depends on tag, mounting and environment)"],["Memory","Reads EPC, TID and User memory"],["Wireless","Built-in Wi-Fi with direct HTTP POST"],["Interfaces","Wi-Fi, USB, RS232, Wiegand, RJ45 Ethernet, PoE"],["Work modes","Active (plug and play), Answer (command)"],["Outputs","Relay (optional)"],["Indicator","Multi-function LED: red for power, green for tag read"],["SDK",".NET, Java, Linux, Python, Arduino, Raspberry Pi"],["Material","Die-cast aluminium case"]]},{"p":"Specifications may change without notice; confirm details in your quotation."}]},{"k":"fix","m":2,"s":"Troubleshooting","h":"Power, network and reading","t":"LED does not light","cause":"No power reaching the reader","fix":"Check that the PoE switch port or injector is on and the RJ45 plug is fully seated; try another cable. On an IF9A‑4G, check its power supply."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Power, network and reading","t":"No reply to ping","cause":"PC in a different network, cable fault, or the reader's IP was changed","fix":"Give the PC an address in 192.168.1.x with mask 255.255.255.0, check the cable, run `arp -d` and ping again. If the address is unknown, use the search button on the ReaderSense **Connect** page; if the reader still does not appear, contact Identium support."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Power, network and reading","t":"Connected but no tags are read","cause":"Antenna not in use, a tag filter is on, or the tag is out of the zone","fix":"Tick **In Use** for antenna 1 (Settings › Antennas) and click **Set**; turn off the Tag Filter; hold the tag in front of the reader."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Power, network and reading","t":"Short read range","cause":"Tag type, nearby metal or liquid, aim, antenna mismatch","fix":"Try a long-range tag, re-aim the reader and remove metal from directly in front of it. If the range stays short, contact Identium support for an antenna check."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Auto Mode, software and demos","t":"Server receives nothing in Auto Mode","cause":"Tag Data not subscribed, Initial Count Condition not Inventory, wrong URL or interface, no 200 reply, no signal","fix":"Tick **Tag Data**, set **Initial Count Condition** to **Inventory**, check the Upload URL and Hardware Interface, make the server reply HTTP 200, check the Wi-Fi or 4G signal and SIM data plan."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Auto Mode, software and demos","t":"Ping works but the software will not connect","cause":"Another program is connected, reader in Auto Mode, wrong Device Model, or a port blocked","fix":"Close the other program: the reader accepts one connection at a time. Return the reader to Passive mode. Choose **IF9A** in **Device Model** (ReaderSense **Connect**). Allow TCP port 8999 through the firewall, and TCP port 8080 for the FASTag demo's Load and Save."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Auto Mode, software and demos","t":"Write fails","cause":"Bank locked or wrong data length","fix":"Enter the access password; write hex in multiples of 4 characters. Some older tags need **Block write** (Settings › Advance › Gen2 Write Mode)."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Auto Mode, software and demos","t":"FASTag demo stops with BadImageFormatException","cause":"Built as AnyCPU or x64","fix":"Build for x86 and keep the SDK .dll next to the .exe."},{"k":"fix","m":2,"s":"Troubleshooting","h":"Auto Mode, software and demos","t":"The TID column shows 'TID failed: 0x…', or the User column shows '(no User bank)'","cause":"Tag left the field, bank locked (0x420), or the tag has no (or a smaller) User bank","fix":"Hold the tag still in the field. A locked bank needs the access password; the demo shrinks the User read size by itself."},{"k":"row","m":3,"s":"Packing List","h":"","t":"IT4RL desktop RFID printer","kv":[["Qty","1"],["What it is for","Prints labels and encodes their UHF RFID chips"]]},{"k":"row","m":3,"s":"Packing List","h":"","t":"Power adapter (24 V DC output) with AC power cord","kv":[["Qty","1"],["What it is for","Powers the printer"]]},{"k":"row","m":3,"s":"Packing List","h":"","t":"Ribbon spindles","kv":[["Qty","2"],["What it is for","One carries the new ribbon roll, the other the empty take-up core"]]},{"k":"row","m":3,"s":"Packing List","h":"","t":"Label roll spindle","kv":[["Qty","1"],["What it is for","Holds the label roll inside the printer"]]},{"k":"row","m":3,"s":"Packing List","h":"","t":"Label roll guides","kv":[["Qty","2"],["What it is for","Hold the roll centred on the spindle"]]},{"k":"row","m":3,"s":"Packing List","h":"","t":"Large-core adapters","kv":[["Qty","2"],["What it is for","Fit label rolls with a 3-inch core onto the spindle"]]},{"k":"topic","m":3,"s":"Packing List","h":"","t":"Packing List","b":[{"p":"Check the box against this list as soon as it arrives, and look over the printer and accessories for transport damage. If anything is missing or damaged, contact Identium before you set the printer up. Keep the box and packing for moving or servicing the printer."},{"table":{"head":["Item","Qty","What it is for"],"rows":[["IT4RL desktop RFID printer","1","Prints labels and encodes their UHF RFID chips"],["Power adapter (24 V DC output) with AC power cord","1","Powers the printer"],["Ribbon spindles","2","One carries the new ribbon roll, the other the empty take-up core"],["Label roll spindle","1","Holds the label roll inside the printer"],["Label roll guides","2","Hold the roll centred on the spindle"],["Large-core adapters","2","Fit label rolls with a 3-inch core onto the spindle"]]}},{"p":"**Software, SDK and documents** are in the IT4RL package on the Identium Resource Hub: **www.identiumone.com/resourcehub/** › *iT4RL Identium Printer — SDK & Manual*."},{"p":"**Labels and ribbon** are consumables. Identium supplies UHF RFID label rolls and a 110 mm × 300 m wax-resin thermal-transfer ribbon at **www.indiarfidstore.com**."},{"p":"Label roll spindle, the two roll guides and the two large-core adapters"}]},{"k":"topic","m":3,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ol":["Consumables viewing window: check the labels and ribbon without opening the cover","Top cover: lift it to load labels and ribbon (press the release buttons on both sides)","Key panel: three lights and three buttons (section 04)","Label exit: printed labels come out here"],"start":1},{"p":"Front view"},{"ol":["Print head module","Print head holder","Print head","RFID antenna and reflective (black-mark) sensor","Transmissive (gap) sensor","Print head locking buckles, one each side","Label edge guides","Ribbon release rods","Ribbon supply compartment","Label roll compartment","Ribbon supply wheel","Platen (rubber) roller"],"start":1},{"p":"Inside, top cover open"},{"ol":["Serial port (RS-232)","DIP switches (section 05)","USB port","Power socket, 24 V DC","Power switch","External label feed slot, for a roll on an external holder"],"start":1},{"note":"USB is the standard connection. A TCP/IP network interface is available as an option; the ports fitted depend on the configuration you ordered. A networked printer is added in LabelSoft with **Add a Net Printer** on the **Printer** tab of **Label Setup**; it receives print data on TCP port 9100.","kind":"info"},{"p":"Rear view"}]},{"k":"topic","m":3,"s":"Power and Connection","h":"Connect the power","t":"Connect the power","b":[{"ol":["Make sure the power switch on the rear panel is at **O** (off).","Plug the adapter's DC lead into the power socket on the rear of the printer.","Connect the AC cord to the adapter, then plug it into a wall socket (100–240 V AC, 47–63 Hz)."],"start":1},{"note":"Use only the power adapter supplied with the printer (24 V DC output). Do not switch the printer on in a damp place, and do not use a damaged cord.","kind":"caution"}]},{"k":"topic","m":3,"s":"Power and Connection","h":"Connect the computer","t":"Connect the computer","b":[{"ol":["Switch the printer off before you connect or disconnect the data cable.","Connect a USB cable from the printer's USB port to the PC.","Keep the cable short (1.8 m or less is recommended) and do not wrap the power cord around it."],"start":1},{"p":"The printer detects by itself which port a job arrives on, so there is nothing to select. Send each job through one port only and let it finish before you use another port."}]},{"k":"topic","m":3,"s":"Power and Connection","h":"Switch on and off","t":"Switch on and off","b":[{"ul":["**On:** press the power switch to the **I** (line) side. When the **Ready** light stays on, the printer is ready.","**Off:** press the switch to the **O** side. Switch the printer off when it will not be used for a long time."]}]},{"k":"topic","m":3,"s":"Buttons and Indicators","h":"","t":"Buttons and Indicators","b":[{"p":"The key panel on the right of the top cover has three lights (**Ready**, **Paper**, **Ribbon**) and three buttons (**Cancel**, **Pause**, **Feed**). Each button has a second function when you hold it for about 5 seconds with the printer in standby."},{"table":{"head":["Button","Press","Hold about 5 s"],"rows":[["Feed","Feeds labels to the start of the next label","Calibrates the labels and the RFID position (section 09)"],["Pause","Pauses printing; press again to resume","Self-test: prints a configuration report"],["Cancel","Clears the print job; returns the printer to work after a fault is cleared","Factory reset (see below)"]]}},{"p":"Key panel layout (illustration)"}]},{"k":"row","m":3,"s":"Buttons and Indicators","h":"Indicator lights","t":"Ready","kv":[["On steady","Normal standby"],["Off","—"],["Flashing","On its own: printer paused. With another light: a fault (section 15)"]]},{"k":"row","m":3,"s":"Buttons and Indicators","h":"Indicator lights","t":"Paper","kv":[["On steady","Label sensor working normally"],["Off","—"],["Flashing","On its own: receiving data"]]},{"k":"row","m":3,"s":"Buttons and Indicators","h":"Indicator lights","t":"Ribbon","kv":[["On steady","Thermal-transfer mode, ribbon needed"],["Off","Direct-thermal mode, no ribbon needed"],["Flashing","With Ready: ribbon not detected"]]},{"k":"topic","m":3,"s":"Buttons and Indicators","h":"Indicator lights","t":"Indicator lights","b":[{"table":{"head":["Light","On steady","Off","Flashing"],"rows":[["Ready","Normal standby","—","On its own: printer paused. With another light: a fault (section 15)"],["Paper","Label sensor working normally","—","On its own: receiving data"],["Ribbon","Thermal-transfer mode, ribbon needed","Direct-thermal mode, no ribbon needed","With Ready: ribbon not detected"]]}},{"p":"When all three lights flash together, the printer has entered a hold-button function (calibration, self-test or reset). Wait until the lights return to steady."}]},{"k":"topic","m":3,"s":"Buttons and Indicators","h":"Print a self-test report","t":"Print a self-test report","b":[{"ol":["With the printer in standby, hold **Pause** for about 5 seconds until the three lights flash, then release it.","The printer prints its model and product number, firmware version, hardware settings and status, print mode (thermal or thermal transfer) and font list, then the lights return to steady."],"start":1}]},{"k":"topic","m":3,"s":"Buttons and Indicators","h":"Restore factory settings","t":"Restore factory settings","b":[{"ol":["With the printer in standby, hold **Cancel** for about 5 seconds until the three lights flash.","Release **Cancel**, then press it once more.","When the lights stop flashing and stay on, the reset is complete."],"start":1},{"p":"If you release **Cancel** and do nothing, the printer returns to normal after about 5 seconds without resetting. The printed-label count and printed length are kept through a reset."},{"note":"A factory reset clears the settings stored in the printer: label size and sensor settings, darkness, speed, and the RFID read/write power and position. Use it only as a last resort, and afterwards calibrate the labels and RFID again (section 09).","kind":"caution"}]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"1","kv":[["ON (down)","Direct thermal (no ribbon)"],["OFF (up)","Thermal transfer (with ribbon)"],["Factory setting","OFF"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"2","kv":[["ON (down)","RFID module off: plain labels"],["OFF (up)","RFID module on: RFID labels"],["Factory setting","OFF"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"3","kv":[["ON (down)","—"],["OFF (up)","Normal operation"],["Factory setting","OFF (keep OFF)"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"4","kv":[["ON (down)","—"],["OFF (up)","Normal operation"],["Factory setting","OFF (keep OFF)"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"5","kv":[["ON (down)","Transmissive (gap) sensor"],["OFF (up)","Reflective (black-mark) sensor"],["Factory setting","ON"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"6","kv":[["ON (down)","IP address setting allowed"],["OFF (up)","IP address setting locked; keep OFF"],["Factory setting","OFF"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"7 and 8","kv":[["ON (down)","Serial speed (table below)"],["OFF (up)","Serial speed (table below)"],["Factory setting","OFF, OFF"]]},{"k":"row","m":3,"s":"Rear DIP Switches","h":"","t":"Serial speed","kv":[["OFF, OFF","9600"],["ON, OFF","19200"],["OFF, ON","38400"],["ON, ON","57600"]]},{"k":"topic","m":3,"s":"Rear DIP Switches","h":"","t":"Rear DIP Switches","b":[{"p":"Eight DIP switches on the rear panel set the print method, the RFID module, the label sensor and the serial speed. **Down is ON** (the block is marked ON ↓). Switch the printer off before changing a switch, then switch it on again for the change to take effect."},{"table":{"head":["Switch","ON (down)","OFF (up)","Factory setting"],"rows":[["1","Direct thermal (no ribbon)","Thermal transfer (with ribbon)","OFF"],["2","RFID module off: plain labels","RFID module on: RFID labels","OFF"],["3","—","Normal operation","OFF (keep OFF)"],["4","—","Normal operation","OFF (keep OFF)"],["5","Transmissive (gap) sensor","Reflective (black-mark) sensor","ON"],["6","IP address setting allowed","IP address setting locked; keep OFF","OFF"],["7 and 8","Serial speed (table below)","Serial speed (table below)","OFF, OFF"]]}},{"table":{"head":["Switches 7 and 8","OFF, OFF","ON, OFF","OFF, ON","ON, ON"],"rows":[["Serial speed","9600","19200","38400","57600"]]}},{"p":"Serial settings: 8 data bits, no parity, 1 stop bit"},{"p":"Common settings. Use the gap sensor for labels separated by gaps or holes, and the black-mark sensor for labels with a black mark printed on the back."},{"note":"The DIP switches take priority over the print-method and sensor settings in the software, so set them first.","kind":"tip"}]},{"k":"topic","m":3,"s":"Loading the Ribbon","h":"","t":"Loading the Ribbon","b":[{"p":"A ribbon is needed for thermal-transfer printing, when the **Ribbon** light is on. Direct-thermal labels need no ribbon (DIP switch 1 ON); skip this section for them."},{"ul":["Ribbon width up to 110 mm, length up to 300 m, roll diameter up to 70 mm.","Core 25.4 mm (1 inch) or 12.7 mm (0.5 inch).","**Ink side out**: the coated side faces outward on the roll.","A ribbon narrower than 110 mm goes in the centre of the spindle; use the scale on the spindle."]},{"ol":["Press the release buttons on both sides and lift the top cover.","Pull the locking buckles on both sides of the print head module and lift the module to reach the ribbon supply compartment.","Slide a ribbon spindle into the core of the new ribbon roll.","Snap the roll into the supply compartment. The two tabs on the left of the spindle must engage the supply wheel.","Lower the print head module and bring the ribbon end forward over it.","Slide the second spindle into an empty core, tape the ribbon end to the core, and snap it into the take-up position; its tabs engage the take-up wheel.","Turn the take-up wheel until the ribbon is tight and smooth.","Press down on both sides of the print head module until the buckles lock with a click."],"start":1},{"p":"Labels and ribbon loaded, print head module closed"},{"note":"Match the ribbon to the labels: wax-resin for paper and coated-paper labels, resin for synthetic labels. Identium's 110 mm × 300 m wax-resin ribbon suits its paper RFID label rolls; give the printer model when you order so the core and wind are right.","kind":"tip"},{"note":"Use good-quality ribbon and labels. Dust, grit and glue on labels, or corrosive chemicals in a poor ribbon, damage the print head.","kind":"caution"}]},{"k":"topic","m":3,"s":"Loading the Labels","h":"","t":"Loading the Labels","b":[{"p":"The IT4RL takes UHF RFID labels and plain labels on a roll: label width 20–114 mm (0.8–4.5 in), roll diameter up to 127 mm, core at least 25.4 mm (1 inch), thickness 0.06–1 mm including the backing. On-metal (anti-metal) RFID labels up to 1 mm thick can be used."},{"ol":["Press the release buttons on both sides and lift the top cover.","Take out the label roll spindle and slide the label roll onto it, labels facing up and feeding off the top of the roll towards the front. For a roll with a 3-inch core, fit the large-core adapters first.","Push the two roll guides onto the spindle from both ends, smooth side towards the roll, until they touch the roll.","Put the spindle back in the label roll compartment and centre the roll using the scale on the spindle."],"start":1},{"p":"3-inch core: fit the adapters to the guides Roll on the spindle, a guide each side Guides pressed against the roll Spindle placed in the label compartment"},{"ol":["Pull the locking buckles on both sides and lift the print head module.","Pass the labels under the guide shaft and through the label sensor. Slide the two label edge guides against the edges of the labels without bending them.","Draw the labels over the platen roller and centre them.","Press down on both sides of the print head module until it clicks, then close the top cover.","Press **Feed**. The printer moves the labels to the start of the next label."],"start":5},{"h":"Large rolls"},{"p":"If the roll is too large for the label compartment, put it on an external roll holder (optional) behind the printer and feed the labels through the external label feed slot on the rear panel."},{"note":"Calibrate the printer whenever you load a new type or size of label (section 09).","kind":"info"},{"p":"Labels passing under the guide shaft and between the edge guides"}]},{"k":"row","m":3,"s":"Installing the Software","h":"Install LabelSoft","t":"`LabelSoft.zip`","kv":[["What it is","LabelSoft: label design, printing and RFID encoding software for Windows"]]},{"k":"row","m":3,"s":"Installing the Software","h":"Install LabelSoft","t":"`Development package.zip`","kv":[["What it is","The SDK for developers (section 12)"]]},{"k":"topic","m":3,"s":"Installing the Software","h":"Install LabelSoft","t":"Install LabelSoft","b":[{"ol":["Download the IT4RL package from the Resource Hub and unzip it. Then unzip `LabelSoft.zip` to a folder on the PC, for example `C:\\LabelSoft`.","Open the folder and run `LabelSoft.exe`. LabelSoft runs straight from its folder; there is no installer.","To change the display language, open **Option › Language**.","Connect the printer by USB and switch it on."],"start":1},{"p":"**System requirements:** Windows 7, 8, 8.1, 10 or 11. The package readme also lists Windows XP and Vista; Windows XP needs .NET Framework 2.0 installed first."},{"table":{"head":["File in the package","What it is"],"rows":[["`LabelSoft.zip`","LabelSoft: label design, printing and RFID encoding software for Windows"],["`Development package.zip`","The SDK for developers (section 12)"]]}},{"p":"The IT4RL package on the Identium Resource Hub: www.identiumone.com/resourcehub/ › iT4RL Identium Printer — SDK & Manual"},{"note":"The LabelSoft screens in this manual were taken in an earlier version of LabelSoft. The version in the package works the same way, but some windows may look slightly different.","kind":"info"}]},{"k":"topic","m":3,"s":"Installing the Software","h":"Printer driver","t":"Printer driver","b":[{"p":"LabelSoft and the SDK send labels straight to the printer over USB, so no Windows printer driver needs to be installed. When no printer driver is present, LabelSoft lists the printer by its USB name, **iDENTIUM IT4R**. You can also choose this mode with **Use Printer Non-Driver** on the **Printer** tab of **Label Setup**."}]},{"k":"topic","m":3,"s":"Calibrating Labels and RFID","h":"","t":"Calibrating Labels and RFID","b":[{"p":"Calibrate when you load labels for the first time and again whenever you change to a label of a different size or type. Calibration teaches the printer where each label starts and where its RFID chip sits over the antenna."}]},{"k":"topic","m":3,"s":"Calibrating Labels and RFID","h":"1. Set the label sensor","t":"1. Set the label sensor","b":[{"ul":["**Labels with gaps or holes:** use the transmissive (gap) sensor, DIP switch 5 ON. This sensor is fixed in place.","**Labels with a black mark on the back:** use the reflective (black-mark) sensor, DIP switch 5 OFF. Lift the print head module and slide the sensor sideways until it sits under the black mark. Use a non-metal tool such as a plastic pen."]}]},{"k":"topic","m":3,"s":"Calibrating Labels and RFID","h":"2. Calibrate from the printer","t":"2. Calibrate from the printer","b":[{"ol":["Load the labels (and ribbon), close the top cover and wait for the **Ready** light to stay on.","Hold **Feed**. After about 5 seconds the three lights flash together and the printer feeds labels. Release **Feed**.","When the lights stop flashing and stay on, calibration is complete."],"start":1}]},{"k":"topic","m":3,"s":"Calibrating Labels and RFID","h":"3. Calibrate RFID in LabelSoft","t":"3. Calibrate RFID in LabelSoft","b":[{"ol":["In LabelSoft choose **Option › RFID Label Calibration**.","Select the printer under **Connected Printer**. Click **Refresh** if the list is empty.","For a first calibration set **Read Power** 15 dBm, **Write Power** 20 dBm and **Calibration mode** 1, then click **Setting** to send the values to the printer."],"start":1},{"p":"Option › RFID Label Calibration"},{"p":"RFID Calibration window before calibration (the results appear below these settings)"},{"ol":["When the **Paper** and **Ribbon** lights flash together, switch the printer off and on, wait for **Ready** to stay on, then reopen the calibration window. The printer applies the new values only after this restart.","Click **Start Calibration**. The printer feeds labels while LabelSoft plots the label calibration curve and the RFID signal range in the lower half of the window.","Read the result beside the signal range: label height, signal area and **Read/Write position**. The larger the signal range, the easier the labels are to read and write.","To fine-tune, type a value in **Set R/W position** (mm) and click **Set**. When the **Paper** and **Ribbon** lights flash together, switch the printer off and on again."],"start":4},{"note":"Calibration mode 0 shows every RFID signal (for diagnosis), mode 1 only the current tag's signal, and mode 2 lets printers with recent firmware find a stable power by themselves (**Descript** explains the modes). The settings are stored in the printer, so repeat them only for a new label type.","kind":"tip"}]},{"k":"topic","m":3,"s":"Printing and Encoding a Test Label","h":"","t":"Printing and Encoding a Test Label","b":[{"p":"This example makes a 44 × 18 mm RFID label with a barcode, then writes an EPC to its chip in the same pass."}]},{"k":"topic","m":3,"s":"Printing and Encoding a Test Label","h":"1. Set the label size","t":"1. Set the label size","b":[{"ol":["Measure the label with a ruler, without the gap: in this example 44 mm wide and 18 mm high.","Choose **File › New**. The **Label Setup** window opens.","On the **Printer** tab, select the printer (it is listed as **iDENTIUM IT4R**).","On the **Label** tab, enter **Width** and **Height** and choose the **Shape**. Under **Gap**, enter the gap between labels in **Vert.** (leave **Hori.** as it is for a single-column roll). Leave **Columns** and **Rows** at 1.","Click **OK**. A blank label opens in the designer."],"start":1},{"p":"Label Setup › Label tab for a 44 × 18 mm label"}]},{"k":"topic","m":3,"s":"Printing and Encoding a Test Label","h":"2. Add text, a barcode and the RFID object","t":"2. Add text, a barcode and the RFID object","b":[{"p":"The object buttons (outlined) add a barcode, 2D code, text, line, shape, table, picture or RFID object. The RFID object appears as a small RFID icon beside the label."},{"ol":["Click the barcode button, then click on the label to place a barcode. Double-click it to set its data, type and size.","Add text the same way with the **A** button.","Click the **RFID** button to add the RFID object to the label."],"start":1}]},{"k":"topic","m":3,"s":"Printing and Encoding a Test Label","h":"3. Set the EPC to write","t":"3. Set the EPC to write","b":[{"ol":["Double-click the RFID icon to open **RFID Properties**.","On **Data Source**, set **Data Type** to **Fixed** and type the EPC in hexadecimal (24 characters for a 96-bit EPC). Choose **SerialNo** to number labels automatically, or **Database** to take EPCs from an Excel sheet or database.","On **RFID Encoder**, check that **Encoder types** is *UHF EPC Gen 2/ISO 18000-6C*, the data type is **Hexadecimal** and **Data Area** is **EPC**.","Set **The printer will pause after __ consecutive errors** to the number of failed tags you will accept before the printer stops. Click **OK**."],"start":1}]},{"k":"topic","m":3,"s":"Printing and Encoding a Test Label","h":"4. Print","t":"4. Print","b":[{"ol":["Choose **File › Print**, enter the **Quantity** and **Copies**, then click **Print**.","The printer prints each label and writes its chip in one pass. When the printer detects a write error it stops and the **Ready** and **Paper** lights flash alternately (section 15)."],"start":1},{"note":"At the start of each run, and after any fault, check a few encoded labels with an RFID reader to confirm that each chip holds the data you expect.","kind":"tip"},{"note":"If LabelSoft reports a printer error and asks whether to continue sending print data, clear the fault on the printer first (lights steady). Continuing through a label or RFID fault can leave labels with unwritten chips.","kind":"caution"}]},{"k":"topic","m":3,"s":"Reading Tags and Using Tag Data","h":"Print the chip's TID or EPC on the label","t":"Print the chip's TID or EPC on the label","b":[{"p":"The printer can read each chip before printing and put its factory TID (or its EPC) on the same label as text or a barcode, for easy cross-checking."},{"p":"RFID Properties › RFID Encoder, set to read each tag's TID. The record-and-send options below are on this tab too."},{"ol":["In the RFID object's **RFID Properties › RFID Encoder**, tick **Read tag's** and choose **TID/UID** (or EPC). On **Data Source**, the substring type becomes **Read UHF tag**.","Open the barcode or text object's properties and, on its **Data Source**, set **Data Type** to **Read UHF tag**. The object now carries the value read from the chip.","Print as usual. Each label's chip is read first and the label is printed with its own TID."],"start":1},{"p":"READ icon: the tag is read before it is written"}]},{"k":"topic","m":3,"s":"Reading Tags and Using Tag Data","h":"Record and send what was encoded","t":"Record and send what was encoded","b":[{"ul":["**Save tag data to file** saves the tag data of each label to a text file you choose. **Data format to save** sets the fields, for example print serial number, data read and date/time.","**Submit the read data to** sends the data read from each tag to a web address (your API), so your own system receives it as labels are printed.","**Report error when reading data repeated** reports an error when the same tag data is read twice, so duplicate tags are caught.","**Print mark on the label if failed to read** prints a mark on any label whose chip could not be read."]}]},{"k":"topic","m":3,"s":"Reading Tags and Using Tag Data","h":"Print from Excel or a database","t":"Print from Excel or a database","b":[{"p":"**Database › Setup Database** links the label to an Excel sheet, a text file, or a MySQL or SQL Server (ODBC) database. Use **Database** as the data type for the text, barcode and RFID objects, and each row prints and encodes one label. **Database › Select Record** picks the rows to print."}]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"Command-language manual (Word, top-level folder)","kv":[["Contents","Text, barcode, graphics and UHF RFID commands, for printing without the SDK library"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"`SDK/C++ library/`","kv":[["Contents","The printer SDK library (32-bit and 64-bit DLL), the Visual C++ x64 runtime, and `DEMO.txt`, a complete print-and-encode example"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"`SDK/C#/PrinterDEMO_UHF_C#/`","kv":[["Contents","Visual Studio C# demo (`PrinterDEMO.sln`, x86): sample print, print with EPC writing, and read TID then print"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"`SDK/Net DLL/`","kv":[["Contents","A .NET wrapper class with the DllImport declarations for the SDK library"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"`SDK/java/`","kv":[["Contents","Java library (.jar) with JNA, four demos (USB and network, with and without a LabelSoft template), status and TID-reading notes"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"`SDK/python/`","kv":[["Contents","`print_DEMO.py`: loads the 64-bit DLL with ctypes and prints a test label"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"Web print service (in `SDK/`)","kv":[["Contents","A local WebSocket print service plus four HTML samples, including RFID writing"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"API guide (Word and PDF, in `SDK/`)","kv":[["Contents","Full API reference (every function, its parameters and error codes) and step-by-step examples: plain print, UHF write, read TID and print, network printing"]]},{"k":"topic","m":3,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"`Development package.zip` holds everything needed to drive the IT4RL from your own Windows software. Its core is the printer SDK library (a 32- and 64-bit Windows DLL in the package's SDK folder), which builds the printer's command language for you; the same commands can also be sent raw."},{"table":{"head":["Folder or file","Contents"],"rows":[["Command-language manual (Word, top-level folder)","Text, barcode, graphics and UHF RFID commands, for printing without the SDK library"],["`SDK/C++ library/`","The printer SDK library (32-bit and 64-bit DLL), the Visual C++ x64 runtime, and `DEMO.txt`, a complete print-and-encode example"],["`SDK/C#/PrinterDEMO_UHF_C#/`","Visual Studio C# demo (`PrinterDEMO.sln`, x86): sample print, print with EPC writing, and read TID then print"],["`SDK/Net DLL/`","A .NET wrapper class with the DllImport declarations for the SDK library"],["`SDK/java/`","Java library (.jar) with JNA, four demos (USB and network, with and without a LabelSoft template), status and TID-reading notes"],["`SDK/python/`","`print_DEMO.py`: loads the 64-bit DLL with ctypes and prints a test label"],["Web print service (in `SDK/`)","A local WebSocket print service plus four HTML samples, including RFID writing"],["API guide (Word and PDF, in `SDK/`)","Full API reference (every function, its parameters and error codes) and step-by-step examples: plain print, UHF write, read TID and print, network printing"]]}}]},{"k":"topic","m":3,"s":"For Developers: SDK Quick Start","h":"Run a demo","t":"Run a demo","b":[{"ol":["Load labels, connect **one** IT4RL by USB and switch it on. No printer driver is needed: the SDK library opens the USB printer directly.","**Python:** install the Visual C++ x64 runtime supplied in the package's SDK folder, then run `python print_DEMO.py` with 64-bit Python. It prints four lines of text on a 100 × 50 mm label.","**C#:** open `PrinterDEMO.sln` in Visual Studio, build for x86 and run. The three buttons print a sample label, print labels while writing serial-number EPCs, and read each tag then print what was read."],"start":1}]},{"k":"topic","m":3,"s":"For Developers: SDK Quick Start","h":"Integrate in five steps","t":"Integrate in five steps","b":[{"ol":["Open the port: USB = 255; COM1–COM3 = 4–6. No driver is needed.","Clear the buffer and set the label format in dots: width 800, height 400, gap 16 (a 100 × 50 mm label with a 2 mm gap at 8 dots/mm), darkness 10, speed 4.","Set the RFID write: mode 1, hexadecimal, start 0, 12 bytes, area 1 = EPC, data `112233445566778899AABBCC`.","Draw the text and a Code 128 barcode.","Print 1 label, 1 copy, then close the port."],"start":1},{"p":"This is the call order for the printer SDK library; the API guide in the package's SDK folder gives each function's name and parameters. The C#, Java and Python demos follow the same order."},{"ul":["**Read before writing:** the SDK's USB tag-read function reads the tag's TID or EPC at the power you give it (15 dBm is a good starting value) without opening the port, and returns `X` when no tag was read. The API guide lists the data-area values; confirm them on a tag whose TID and EPC you know before you rely on them.","**Lock the EPC:** the SDK's password-lock function sets an 8-digit hexadecimal access password and locks the EPC area; mode 0 unlocks it with the same password. Record the access password: without it the locked EPC cannot be changed."]}]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"Printer status codes","t":"0","kv":[["Meaning","Ready"],["Code","83"],["Meaning","Label detection error: check loading; calibrate after changing label size"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"Printer status codes","t":"1","kv":[["Meaning","Busy, retrying: wait and query again"],["Code","88"],["Meaning","Paused: press Pause"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"Printer status codes","t":"4","kv":[["Meaning","Printing"],["Code","89"],["Meaning","Labels used up"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"Printer status codes","t":"81","kv":[["Meaning","Main board fault: contact Identium"],["Code","90"],["Meaning","RFID tag read or write error"]]},{"k":"row","m":3,"s":"For Developers: SDK Quick Start","h":"Printer status codes","t":"82","kv":[["Meaning","Ribbon detection error"],["Code","91, 92"],["Meaning","RFID signal calibration error"]]},{"k":"topic","m":3,"s":"For Developers: SDK Quick Start","h":"Printer status codes","t":"Printer status codes","b":[{"table":{"head":["Code","Meaning","Code","Meaning"],"rows":[["0","Ready","83","Label detection error: check loading; calibrate after changing label size"],["1","Busy, retrying: wait and query again","88","Paused: press Pause"],["4","Printing","89","Labels used up"],["81","Main board fault: contact Identium","90","RFID tag read or write error"],["82","Ribbon detection error","91, 92","RFID signal calibration error"]]}},{"p":"Returned by the SDK's printer-status query; see `SDK/java/JavaDemo/status.txt`."}]},{"k":"topic","m":3,"s":"For Developers: SDK Quick Start","h":"Raw commands and web pages","t":"Raw commands and web pages","b":[{"p":"**Raw commands.** To print without the SDK library, send the printer's command language as plain text: set the label size, add text and barcodes, add an `RF` command with the data to write, and finish with `W` to print. The *UHF RFID Command Set* chapter of the command-language manual in the package has a complete print-and-encode job."},{"p":"**Web pages.** Run the web print service from the package's SDK folder (Windows 7 or later, .NET 4.5) on the PC that has the printer; it sits in the system tray. A page connects to `ws://<PC address>:1808/` and sends the SDK functions as text, each as the function name followed by its parameters separated by `|` (the four HTML samples show complete jobs). Other PCs, phones and tablets on the same network can print through it. Right-click the tray icon to set it to start with Windows."}]},{"k":"topic","m":3,"s":"Precautions and Care","h":"","t":"Precautions and Care","b":[{"ul":["Use only the power adapter supplied with the printer and check that the mains supply matches its label. Do not use a damaged cord, do not bend or pull the cord hard, and do not put heavy objects on it. Unplug by holding the plug.","Use the printer indoors, on a level, sturdy surface, away from damp, heat and cold. Do not block its ventilation openings.","Do not knock or drop the printer.","Switch the printer off when it will not be used for a long time.","The print head gets hot while printing. Do not touch it, and do not scratch it with hard objects. Static electricity can damage the print head and electronics.","Keep liquids away from the print head.","This printer contains a radio (RFID) transmitter and may interfere with nearby equipment. If it does, move the printer or the equipment.","Do not open the printer or its power adapter. For service, contact Identium."]}]},{"k":"topic","m":3,"s":"Precautions and Care","h":"Cleaning","t":"Cleaning","b":[{"note":"Switch the printer off before cleaning and wait one minute for the print head to cool. Use only anhydrous alcohol of 99% purity or higher.","kind":"caution"},{"ul":["**Print head**, at least once for every roll of ribbon: lift the top cover and print head module, remove the ribbon, and wipe the head with a cotton swab moistened with alcohol. Repeat until the swab comes away clean.","**Platen (rubber) roller**, whenever it is dirty: wipe it with a swab or soft cloth moistened with alcohol, turning the roller by hand.","**Label path and inside of the case**, regularly: wipe with a soft cloth moistened with alcohol.","**Label sensors**, when labels are misread or print in the wrong place: blow away dust and paper fragments with a blower bulb. If that is not enough, wipe with a swab moistened with alcohol."]}]},{"k":"spec","m":3,"s":"Parameters","h":"Product","t":"Model","v":"IT4RL"},{"k":"spec","m":3,"s":"Parameters","h":"Product","t":"Type","v":"Desktop RFID printer and encoder"},{"k":"spec","m":3,"s":"Parameters","h":"Product","t":"RFID","v":"UHF, EPC Class 1 Gen 2 / ISO 18000-6C"},{"k":"spec","m":3,"s":"Parameters","h":"Product","t":"Label types","v":"UHF soft labels; on-metal (anti-metal) labels up to 1 mm thick; plain labels"},{"k":"topic","m":3,"s":"Parameters","h":"Product","t":"Product","b":[{"kv":[["Model","IT4RL"],["Type","Desktop RFID printer and encoder"],["RFID","UHF, EPC Class 1 Gen 2 / ISO 18000-6C"],["Label types","UHF soft labels; on-metal (anti-metal) labels up to 1 mm thick; plain labels"]]}]},{"k":"spec","m":3,"s":"Parameters","h":"Printing","t":"Print method","v":"Thermal transfer and direct thermal"},{"k":"spec","m":3,"s":"Parameters","h":"Printing","t":"Resolution","v":"203 dpi (8 dots/mm)"},{"k":"spec","m":3,"s":"Parameters","h":"Printing","t":"Print speed","v":"Up to 8 ips"},{"k":"spec","m":3,"s":"Parameters","h":"Printing","t":"Throughput","v":"Up to 6,000 labels per hour (print and encode)"},{"k":"spec","m":3,"s":"Parameters","h":"Printing","t":"Maximum print width / length","v":"108 mm / 4,000 mm"},{"k":"spec","m":3,"s":"Parameters","h":"Printing","t":"Printer barcodes","v":"Code 39, Code 93, Code 128, Codabar, EAN-8/13/128, Interleaved 2 of 5, UCC-128, UPC-A/E with 2- and 5-digit add-ons; Data Matrix, MaxiCode, PDF417, QR"},{"k":"topic","m":3,"s":"Parameters","h":"Printing","t":"Printing","b":[{"kv":[["Print method","Thermal transfer and direct thermal"],["Resolution","203 dpi (8 dots/mm)"],["Print speed","Up to 8 ips"],["Throughput","Up to 6,000 labels per hour (print and encode)"],["Maximum print width / length","108 mm / 4,000 mm"],["Printer barcodes","Code 39, Code 93, Code 128, Codabar, EAN-8/13/128, Interleaved 2 of 5, UCC-128, UPC-A/E with 2- and 5-digit add-ons; Data Matrix, MaxiCode, PDF417, QR"]]}]},{"k":"spec","m":3,"s":"Parameters","h":"Labels and ribbon","t":"Label width","v":"Up to 114 mm (4.5 in); minimum 20 mm"},{"k":"spec","m":3,"s":"Parameters","h":"Labels and ribbon","t":"Label roll","v":"Outer diameter up to 127 mm; core 25.4 mm (1 in) minimum; 3-inch cores with the large-core adapters"},{"k":"spec","m":3,"s":"Parameters","h":"Labels and ribbon","t":"Label thickness","v":"0.06–1 mm including backing"},{"k":"spec","m":3,"s":"Parameters","h":"Labels and ribbon","t":"Ribbon","v":"Up to 110 mm wide and 300 m long; roll diameter up to 70 mm; core 25.4 mm or 12.7 mm; ink side out"},{"k":"spec","m":3,"s":"Parameters","h":"Labels and ribbon","t":"Label sensors","v":"Movable reflective (black mark) and fixed transmissive (gap)"},{"k":"topic","m":3,"s":"Parameters","h":"Labels and ribbon","t":"Labels and ribbon","b":[{"kv":[["Label width","Up to 114 mm (4.5 in); minimum 20 mm"],["Label roll","Outer diameter up to 127 mm; core 25.4 mm (1 in) minimum; 3-inch cores with the large-core adapters"],["Label thickness","0.06–1 mm including backing"],["Ribbon","Up to 110 mm wide and 300 m long; roll diameter up to 70 mm; core 25.4 mm or 12.7 mm; ink side out"],["Label sensors","Movable reflective (black mark) and fixed transmissive (gap)"]]}]},{"k":"spec","m":3,"s":"Parameters","h":"Connection and software","t":"Interface","v":"USB and RS-232 serial; TCP/IP network optional"},{"k":"spec","m":3,"s":"Parameters","h":"Connection and software","t":"Software","v":"LabelSoft label printing and encoding software (free): imports data from Excel, text files, MySQL and SQL Server (ODBC); saves each label's tag data to a text file and can send it to a web address"},{"k":"topic","m":3,"s":"Parameters","h":"Connection and software","t":"Connection and software","b":[{"kv":[["Interface","USB and RS-232 serial; TCP/IP network optional"],["Software","LabelSoft label printing and encoding software (free): imports data from Excel, text files, MySQL and SQL Server (ODBC); saves each label's tag data to a text file and can send it to a web address"]]}]},{"k":"spec","m":3,"s":"Parameters","h":"Power and environment","t":"Power","v":"24 V DC, 2.5 A from the external adapter (input 100–240 V AC, 47–63 Hz)"},{"k":"spec","m":3,"s":"Parameters","h":"Power and environment","t":"Dimensions (W × D × H)","v":"208 × 310 × 195 mm"},{"k":"spec","m":3,"s":"Parameters","h":"Power and environment","t":"Weight","v":"2.62 kg"},{"k":"spec","m":3,"s":"Parameters","h":"Power and environment","t":"Operating environment","v":"0–40 °C, 5–85% RH, non-condensing"},{"k":"spec","m":3,"s":"Parameters","h":"Power and environment","t":"Storage environment","v":"−40 to 60 °C, 5–85% RH, non-condensing"},{"k":"topic","m":3,"s":"Parameters","h":"Power and environment","t":"Power and environment","b":[{"kv":[["Power","24 V DC, 2.5 A from the external adapter (input 100–240 V AC, 47–63 Hz)"],["Dimensions (W × D × H)","208 × 310 × 195 mm"],["Weight","2.62 kg"],["Operating environment","0–40 °C, 5–85% RH, non-condensing"],["Storage environment","−40 to 60 °C, 5–85% RH, non-condensing"]]},{"p":"Specifications may change without notice; confirm details for your order in the quotation."}]},{"k":"topic","m":3,"s":"Troubleshooting","h":"","t":"Troubleshooting","b":[{"p":"When the printer has a fault it stops printing and the **Ready** light flashes, usually with another light. Read the lights first, then use the table."}]},{"k":"fix","m":3,"s":"Troubleshooting","h":"Indicator lights","t":"**Ready** and **Paper** flash together","cause":"Labels not detected: loaded wrongly, sensor not over the gap or black mark, labels used up or jammed, roll guides loose","fix":"Reload the labels (section 07), check DIP switch 5 and the sensor position, then hold **Feed** 5 s to calibrate. For continuous labels, untick **Label Have Gap/Black mark/Punch** in LabelSoft's printer settings."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Indicator lights","t":"**Ready** and **Paper** flash alternately","cause":"RFID read or write error, or RFID signal calibration error","fix":"Use the RFID label type you calibrated, run RFID calibration again (section 09), and check the powers and the EPC data (hexadecimal, correct length). Press **Cancel** to clear."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Indicator lights","t":"**Ready** and **Ribbon** flash together","cause":"Ribbon used up, jammed, loaded wrongly or missing","fix":"Load the ribbon ink side out (section 06), or set DIP switch 1 ON for direct-thermal labels."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Indicator lights","t":"Only **Ready** flashes","cause":"Paused; DIP switch 3 or 4 set ON; serial speed mismatch; memory overflow","fix":"Press **Pause**. Set DIP switches 3 and 4 OFF and match 7 and 8 to the PC. Switch the printer off and on. As a last resort, restore factory settings (section 04), then calibrate again (section 09)."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Indicator lights","t":"**Paper** and **Ribbon** flash together","cause":"A setting sent from LabelSoft was accepted","fix":"Switch the printer off and on to apply it."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Print quality and connection","t":"Fixed white lines down the print","cause":"Dirty or damaged print head","fix":"Clean the print head (section 13). If the lines remain, contact Identium."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Print quality and connection","t":"Faint or patchy print","cause":"Darkness too low or speed too high, dirty parts, or a ribbon that does not suit the labels","fix":"Raise the darkness or lower the speed in LabelSoft, clean the print head and roller, and try a ribbon grade that suits the labels."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Print quality and connection","t":"LabelSoft cannot find the printer, or \"connection timed out\"","cause":"USB cable loose or printer off","fix":"Check the cable and power, then in **Label Setup › Printer** click **Use Printer Non-Driver** (**Use Non-Driver** in the Print window)."},{"k":"fix","m":3,"s":"Troubleshooting","h":"Print quality and connection","t":"Data is sent but nothing prints","cause":"Wrong printer selected, or an old job is stuck","fix":"Select the printer listed as **iDENTIUM IT4R** in LabelSoft, and switch the printer off and on. As a last resort, restore factory settings (section 04), then calibrate again (section 09)."},{"k":"topic","m":3,"s":"Troubleshooting","h":"Print quality and connection","t":"Print quality and connection","b":[{"p":"After clearing a fault, press **Cancel** to carry on printing. If you switched the printer off, delete any unsent jobs on the PC before you switch it back on."}]},{"k":"row","m":4,"s":"Packing List","h":"","t":"MUBR01 portable Bluetooth UHF reader","kv":[["Qty","1"],["Notes","Screenless reader with one button and three status lights"]]},{"k":"row","m":4,"s":"Packing List","h":"","t":"UHF RFID sample tags and labels","kv":[["Qty","1 set"],["Notes","Matched to your products or files; the mix is agreed and confirmed with your order"]]},{"k":"row","m":4,"s":"Packing List","h":"","t":"Identium MUBR01 Android app","kv":[["Qty","—"],["Notes","Free download from the Identium Resource Hub, no licence fee (section 05)"]]},{"k":"topic","m":4,"s":"Packing List","h":"","t":"Packing List","b":[{"p":"The MUBR01 is sold on its own and as the **MUBR01-EVK** Bluetooth reader evaluation kit. The evaluation kit contains:"},{"table":{"head":["Item","Qty","Notes"],"rows":[["MUBR01 portable Bluetooth UHF reader","1","Screenless reader with one button and three status lights"],["UHF RFID sample tags and labels","1 set","Matched to your products or files; the mix is agreed and confirmed with your order"],["Identium MUBR01 Android app","—","Free download from the Identium Resource Hub, no licence fee (section 05)"]]}},{"p":"You pair the reader with your own Android phone or tablet. The Identium MUBR01 app runs on Android 6.0 and later with Bluetooth LE."},{"note":"Bought the reader on its own? The app, the SDK and this manual are the same free downloads: www.identiumone.com/resourcehub/","kind":"info"}]},{"k":"topic","m":4,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** Status lights (three) — power, charging and active status","**2** Read button — press to read tags in Active (trigger) mode","**3** Your Android phone or tablet with the Identium MUBR01 app"]},{"p":"The MUBR01 (front) and the Android phone it pairs with. Screen shows the app with sample tags."}]},{"k":"row","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Read button","kv":[["Where","Centre of the front (orange)"],["What it does","In Active (trigger) mode, press it to read tags; the reads go to the phone."]]},{"k":"row","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Status lights","kv":[["Where","Three lights on the left edge of the front"],["What it does","Show the reader's power, charging and active status."]]},{"k":"row","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Power switch","kv":[["Where","On the reader's case"],["What it does","Switches the reader on and off."]]},{"k":"row","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Charging socket","kv":[["Where","On the reader's case"],["What it does","Micro-USB (5-pin); charges the built-in battery."]]},{"k":"row","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Antenna","kv":[["Where","Built in"],["What it does","2 dBi ceramic antenna; reads tags from 0 to 3 m."]]},{"k":"row","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Battery","kv":[["Where","Built in"],["What it does","3.7 V, 3000 mAh lithium polymer; not user-replaceable."]]},{"k":"topic","m":4,"s":"Equipment Diagram","h":"Parts of the reader","t":"Parts of the reader","b":[{"table":{"head":["Part","Where","What it does"],"rows":[["Read button","Centre of the front (orange)","In Active (trigger) mode, press it to read tags; the reads go to the phone."],["Status lights","Three lights on the left edge of the front","Show the reader's power, charging and active status."],["Power switch","On the reader's case","Switches the reader on and off."],["Charging socket","On the reader's case","Micro-USB (5-pin); charges the built-in battery."],["Antenna","Built in","2 dBi ceramic antenna; reads tags from 0 to 3 m."],["Battery","Built in","3.7 V, 3000 mAh lithium polymer; not user-replaceable."]]}}]},{"k":"topic","m":4,"s":"Power On/Off & Charging","h":"","t":"Power On/Off & Charging","b":[{"h":"Switch on"},{"ol":["Switch the reader on with its power switch. The power light comes on.","On your phone, turn Bluetooth on and open the Identium MUBR01 app (section 05)."],"start":1},{"h":"Switch off"},{"ol":["If you still need the tag list, export it first (section 08): disconnecting empties the list.","In the app, tap **Disconnect**.","Switch the reader off with its power switch."],"start":1},{"h":"Restart (power-cycle)"},{"p":"Switch the reader off, wait a few seconds and switch it on again. Restart the reader after you give it a new Bluetooth name, when a connection attempt fails, and before you change settings after reading with the button in Active mode (section 10)."},{"p":"MUBR01, front view"}]},{"k":"topic","m":4,"s":"Power On/Off & Charging","h":"Charge the battery","t":"Charge the battery","b":[{"ol":["Connect a Micro-USB (5-pin) cable from a USB charger to the reader's charging socket.","The charging light shows the charging status.","A full charge takes about 5.5 hours."],"start":1},{"kv":[["Battery","3.7 V, 3000 mAh rechargeable lithium polymer, built in (not user-replaceable)"],["Continuous reading","About 6 hours (RF on)"],["Standby","About 30 hours"],["Charging","Micro-USB (5-pin), about 5.5 hours"]]},{"note":"About 6 hours of continuous reading per charge. Plan an overnight charge between shifts.","kind":"tip"}]},{"k":"row","m":4,"s":"Button & Status Lights","h":"","t":"Read button — Active (trigger) mode","kv":[["What it does / what it shows","After you tap **Start inventory** in the app (or while the RFID keyboard is reading), press to read tags. The reads go straight to the app's Inventory list, or to the RFID keyboard (section 11)."]]},{"k":"row","m":4,"s":"Button & Status Lights","h":"","t":"Read button — Passive (command) mode","kv":[["What it does / what it shows","Reading is started and stopped in the app with **Start inventory** and **Stop**."]]},{"k":"row","m":4,"s":"Button & Status Lights","h":"","t":"Power light","kv":[["What it does / what it shows","The reader is switched on."]]},{"k":"row","m":4,"s":"Button & Status Lights","h":"","t":"Charging light","kv":[["What it does / what it shows","The battery's charging status."]]},{"k":"row","m":4,"s":"Button & Status Lights","h":"","t":"Active light","kv":[["What it does / what it shows","The reader's active status."]]},{"k":"topic","m":4,"s":"Button & Status Lights","h":"","t":"Button & Status Lights","b":[{"table":{"head":["Control or light","What it does / what it shows"],"rows":[["Read button — Active (trigger) mode","After you tap **Start inventory** in the app (or while the RFID keyboard is reading), press to read tags. The reads go straight to the app's Inventory list, or to the RFID keyboard (section 11)."],["Read button — Passive (command) mode","Reading is started and stopped in the app with **Start inventory** and **Stop**."],["Power light","The reader is switched on."],["Charging light","The battery's charging status."],["Active light","The reader's active status."]]}},{"p":"The app shows its working mode, **[PASSIVE]** or **[ACTIVE]**, at the start of the summary line on the Inventory tab. Change the mode on the Settings tab (section 10). The app always opens in Passive mode; choose Active again on the Settings tab after you reopen it."}]},{"k":"topic","m":4,"s":"Install the Identium MUBR01 App","h":"","t":"Install the Identium MUBR01 App","b":[{"p":"The app is free. On the Identium Resource Hub, www.identiumone.com/resourcehub/, download the **Identium MUBR01 app** (listed on the hub as **MUBR01 — Demo App (Kotlin)**, file `MUBR01-Demo-Kotlin-v2.1.0.apk`)."},{"kv":[["Phone or tablet","Android 6.0 or later, with Bluetooth LE"],["App name / version","Identium MUBR01, version 2.1.0"],["Permissions","Nearby devices (Android 12 and later) or Location (Android 6 to 11), to find and connect to the reader"],["Storage","No storage permission needed; exports are shared or saved through Android's own file picker"]]},{"ol":["Download or copy the APK file to the phone.","Open the file. If Android asks, allow installs from this source (your browser or file manager), then tap **Install**.","Open **Identium MUBR01** from the app drawer.","The first time you scan, Android asks for the **Nearby devices** permission — tap **Allow**. On Android 6 to 11, allow **Location** instead and switch Location on; Android uses it for Bluetooth LE scanning.","If Bluetooth is off, the app asks to turn it on — tap **Allow**."],"start":1},{"p":"The main screen has a connection bar with **Scan & Connect** at the top and four tabs: **Inventory**, **Tag Ops**, **Settings** and **Info**."},{"p":"First start: Disconnected, with the four tabs"}]},{"k":"topic","m":4,"s":"Connect to the Reader","h":"","t":"Connect to the Reader","b":[{"ol":["Switch the reader on.","On the Inventory tab, tap **Scan & Connect**.","A sheet lists the Bluetooth LE devices nearby with their address and signal strength (RSSI). Your reader's name may differ from the screens in this manual; pick the one with the strongest signal.","Tap your reader. The bar changes to **Connected: <name>** and the buttons on the tabs become active."],"start":1},{"note":"Hold the reader next to the phone: the nearest device has the strongest signal, the least negative RSSI (−52 dBm is stronger than −71 dBm).","kind":"tip"},{"p":"Select a reader: name, address and signal strength (sample data)"},{"p":"The reader takes one Bluetooth connection at a time. If it does not show up, check that no other phone is connected to it."},{"p":"If the reader is switched off or goes out of range, the app shows **Reader disconnected (powered off or out of range)**. Switch it on or move closer, then tap **Scan & Connect** again."}]},{"k":"topic","m":4,"s":"Read Tags (Inventory)","h":"","t":"Read Tags (Inventory)","b":[{"ol":["Tap **Start inventory**. The list empties and a new count begins; the button changes to **Stop**.","Point the reader at the tags. Each tag appears once in the list with its EPC, its read count, the last RSSI and the time it was first → last seen.","The summary line shows the mode, the number of unique tags, total reads and reads per second.","The phone beeps as tags are read. Switch **Beep on read** off for silent counting.","Tap **Stop** to end the count. The list stays on screen until you tap **Start inventory** again, **Clear** or **Disconnect**."],"start":1},{"p":"Inventory with sample tags: one row per tag, with reads, RSSI and first → last seen"},{"note":"**Start inventory** always begins a new count and empties the list, and so does **Disconnect**. Export to Excel or PDF (section 08) before you tap Start again or Disconnect.","kind":"caution"}]},{"k":"topic","m":4,"s":"Read Tags (Inventory)","h":"Reading with the button (Active mode)","t":"Reading with the button (Active mode)","b":[{"p":"In Active (trigger) mode, tap **Start inventory** to arm the reader, then press the read button on the reader. Tags stream into the same list."},{"note":"Lower the RF power to pick out one item on a crowded shelf; raise it to count a whole rack (section 10). The read count and RSSI show whether a tag is heard clearly or only just.","kind":"tip"}]},{"k":"topic","m":4,"s":"Export to Excel or PDF","h":"","t":"Export to Excel or PDF","b":[{"ol":["Tap **Stop** so the list is complete. Export before you tap **Start inventory** again or **Disconnect**: both empty the list.","Tap **Export Excel** or **Export PDF** at the bottom of the Inventory tab.","A dialog shows the file name (date and time, for example `MUBR01-inventory-20261012-152309.xlsx`), the number of tags and reads, and the time zone.","Tap **Share** to send the file (email, messaging, Drive, Bluetooth), **Save to device** to choose a folder such as Downloads, or **Open** to view it now."],"start":1},{"p":"Each export lists the reader, mode, session start, export time and time zone, then one row per tag: EPC, reads, last RSSI, first seen and last seen. Times are the phone's local time. In Excel the EPCs stay exact text and the times are real date-times you can sort and filter."},{"p":"Export ready: Open, Save to device or Share (sample data)"},{"p":"Excel export (.xlsx), opened in a spreadsheet app (sample data)"},{"p":"PDF export: Identium-branded A4 inventory report (sample data)"}]},{"k":"topic","m":4,"s":"Tag Operations (Read, Write, Lock, Kill)","h":"","t":"Tag Operations (Read, Write, Lock, Kill)","b":[{"ol":["**Target (optional):** type an EPC in **EPC filter** to act on one tag only. Enter the tag's access password in the field below it (default `00000000`).","**Read:** choose the memory bank (RESERVED, EPC, TID or USER), enter the start word address and the word count, then tap **Read**. The data appears below.","**Write:** choose the memory bank and start word address as for Read, enter the data in whole words (4 hex characters each) in **Data (hex words)** and tap **Write**. To give a tag a new EPC, choose **EPC** and start at word address **2**.","**Lock:** choose the area (EPC, TID, USER, ACCESS_PWD or KILL_PWD) and the action (LOCK, UNLOCK or PERMALOCK), then tap **Lock**.","**Kill:** scroll down, enter the 8-digit hex kill password and tap **Kill tag**. The app asks you to confirm."],"start":1},{"p":"Tag Ops: EPC filter and access password, then read and write"},{"note":"Kill and PERMALOCK are permanent. A killed tag can never be read again, and a permalocked area can never be changed. Set an EPC filter so only the intended tag is affected.","kind":"caution"},{"note":"Tap **Stop** on the Inventory tab first: Read, Write, Lock and Kill work only while no inventory is running. To be sure you write to the right tag, use the EPC filter, or lower the RF power so only the nearest tag answers. A tag can only be killed after a non-zero kill password has been written to it (RESERVED bank, words 0–1); the app refuses kill password 00000000. To protect a lock, first write an access password (RESERVED bank, words 2–3).","kind":"tip"}]},{"k":"topic","m":4,"s":"Reader Settings & Information","h":"","t":"Reader Settings & Information","b":[{"p":"Open the **Settings** tab while connected. Change a value, then tap the **Apply** button in the same card."},{"note":"Tap **Stop** on the Inventory tab first: the Apply buttons work only while no inventory is running. In Active mode the RFID keyboard starts reading as soon as it opens, so close it too.","kind":"info"},{"ul":["**Reader mode** — **Passive (command)**: the app reads on demand with Start inventory. **Active (trigger)**: the reader sends tags when you press its read button; start inventory in the app first, then press the button. The app opens in Passive mode each time you start it.","**Bluetooth device name** — tap **Read** to see the reader's name, or type a new name and tap **Set**. The new name appears after you restart the reader.","**RF Power** — read and write power in dBm, set with the sliders within the range the reader reports (5–30 dBm per the specification). Higher power reads further; lower power picks out a single item."]},{"p":"Reader mode, Bluetooth name and RF power (sample data)"},{"ul":["**Region** — the regulatory region; its card sits between RF Power and Gen2 Air Protocol. In India, choose **IN** (India) and save it to the reader flash.","**Gen2 Air Protocol** — Session (Session0 to Session3), Target (A, B, AB, BA) and Q algorithm (Dynamic, or Static with a Q value) tune reading for your tag population. Keep the defaults unless you need a change.","**Save to reader flash** — stores the current region, power and Gen2 settings in the reader so they survive a restart."]},{"note":"Once you have read with the button in Active mode, the reader keeps waiting for the button and does not accept setting changes. Restart the reader, connect, apply your settings, then read again.","kind":"caution"},{"p":"Gen2 Air Protocol and Save to reader flash"}]},{"k":"topic","m":4,"s":"Reader Settings & Information","h":"Reader information (Info tab)","t":"Reader information (Info tab)","b":[{"p":"Open the **Info** tab and tap **Refresh**. The card lists the reader's firmware and hardware versions, the live radio temperature and the tag protocols it supports. Use it to confirm the reader is answering, and to check the radio temperature during long reading sessions."}]},{"k":"topic","m":4,"s":"RFID Keyboard (Type Tags into Any App)","h":"","t":"RFID Keyboard (Type Tags into Any App)","b":[{"p":"The app includes the **Identium RFID Keyboard**. Select it as your keyboard and each tag you read is typed into whatever text field has focus — a web form, a spreadsheet, your billing or ERP screen — with no software integration. The screenshot shows it filling the fields of a new phone contact, one tag per field."},{"ol":["On **Settings → RFID Keyboard**, tap **Enable keyboard** and switch on **Identium RFID Keyboard** in Android's list.","Tap **Choose keyboard** and select **Identium RFID Keyboard**.","Connect to the reader in the app as usual. The keyboard shares the app's connection; its bar shows **Connected: <reader>**. You can also tap **Connect** in the bar to reconnect to your last reader.","Open any app, tap a text field, then tap **Start reading**. In Active (trigger) mode the keyboard arms itself — just press the reader's button.","Each tag is typed into the field. With **Enter ↵** ticked, the keyboard presses Enter after every tag so the next tag goes into the next field or row. **No repeats** types each tag only once per reading session."],"start":1},{"p":"Reading stops when the keyboard closes. Tap **Switch** to go back to your normal keyboard."},{"note":"If a field ignores Enter, the next tag is added to the same field. Use a list or spreadsheet, or untick Enter and read one tag per field.","kind":"tip"},{"p":"The RFID keyboard typing EPCs into a contact form (sample data)"}]},{"k":"topic","m":4,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["Use the reader between −5 and +50 °C, and store it between −10 and +45 °C.","The 3000 mAh lithium polymer battery is built in and not user-replaceable. Do not open the case.","Charge through the Micro-USB (5-pin) socket. A full charge takes about 5.5 hours.","In India, set the region to **IN** (India) and save it to the reader flash before use.","The reader accepts one Bluetooth connection at a time. Disconnect it from one phone before you connect from another.","Kill and PERMALOCK cannot be undone. Set an EPC filter and check the target before you confirm.","Use the lowest RF power that reads your tags reliably; it keeps neighbouring items out of the count.","Tags on metal, foil-wrapped packs or liquids may read only at close range. Check the read count and RSSI in the app, and use tags made for those surfaces."]}]},{"k":"topic","m":4,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"The **MUBR01 — SDK** download on the Resource Hub (`Identium-MUBR01-SDK-1.1.zip`, library API v1.7, build 230710) holds the reader's Android library and its documentation. The Identium MUBR01 app (section 05) is built on the same library: install it to see the main features working on a current phone."}]},{"k":"row","m":4,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`libs/`","kv":[["Contents","The MUBR01 Android library `identium-mubr01-ble-1.7.jar` (API v1.7, Java package `in.identium.mubr01`). Java 7 bytecode, so it runs on current Android versions without recompiling."]]},{"k":"row","m":4,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`docs/`","kv":[["Contents","The full API reference (`Identium-MUBR01-Android-API-Reference.pdf`): every class, method and parameter for connection, inventory, tag memory read/write, lock and kill, and active mode; plus the demo app guide (`Identium-MUBR01-Demo-App-Guide.pdf`)."]]},{"k":"row","m":4,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`demos/`","kv":[["Contents","Two sample Android projects with source: `MUBR01-QuickStart` (scan, connect, read tags, set power) and `MUBR01-BLE-Demo` (the full Bluetooth demo app described in the demo app guide). For a new project use current tooling (Gradle 8, AndroidX, targetSdk 34) as in the steps below."]]},{"k":"topic","m":4,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"What is in the package","b":[{"table":{"head":["Folder","Contents"],"rows":[["`libs/`","The MUBR01 Android library `identium-mubr01-ble-1.7.jar` (API v1.7, Java package `in.identium.mubr01`). Java 7 bytecode, so it runs on current Android versions without recompiling."],["`docs/`","The full API reference (`Identium-MUBR01-Android-API-Reference.pdf`): every class, method and parameter for connection, inventory, tag memory read/write, lock and kill, and active mode; plus the demo app guide (`Identium-MUBR01-Demo-App-Guide.pdf`)."],["`demos/`","Two sample Android projects with source: `MUBR01-QuickStart` (scan, connect, read tags, set power) and `MUBR01-BLE-Demo` (the full Bluetooth demo app described in the demo app guide). For a new project use current tooling (Gradle 8, AndroidX, targetSdk 34) as in the steps below."]]}},{"p":"These folders sit inside the zip's top-level folder `Identium-MUBR01-SDK-1.1/`, next to `README.md` (set-up steps and Java examples)."}]},{"k":"topic","m":4,"s":"For Developers: SDK Quick Start","h":"Integrate the reader in six steps","t":"Integrate the reader in six steps","b":[{"ol":["**Add the library.** Copy `identium-mubr01-ble-1.7.jar` from the package's `libs/` folder into `app/libs/` and add it in `app/build.gradle.kts`. Build with compileSdk/targetSdk 34, minSdk 23.","**Declare permissions** in the manifest: `BLUETOOTH_SCAN` and `BLUETOOTH_CONNECT` for Android 12 and later; `BLUETOOTH`, `BLUETOOTH_ADMIN` and `ACCESS_FINE_LOCATION` up to Android 11.","**Ask at run time.** Request those permissions, then ask the user to switch Bluetooth on with `ACTION_REQUEST_ENABLE`. On Android 13 and later the library cannot switch Bluetooth on by itself.","**Connect.** Scan for the reader over Bluetooth LE, connect to it and open the reader object.","**Read tags.** Set the read plan for antenna 1 and call the read method in a loop. In Active (trigger) mode, set the communication mode to active and add a tag listener; tags arrive on a library thread, so pass them to your UI.","**Configure and keep it stable.** Set read and write power (in centi-dBm), region IN and the Gen2 parameters, and save them to flash. Run every library call on one background thread and keep one reader connection per app process. The API reference in `docs/` gives the exact calls; for integration help, contact Identium."],"start":1},{"code":"dependencies {\n    implementation(fileTree(\"libs\") { include(listOf(\"*.jar\")) })\n}\n\n<uses-permission android:name=\"android.permission.BLUETOOTH_SCAN\"\n    android:usesPermissionFlags=\"neverForLocation\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH_CONNECT\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH\" android:maxSdkVersion=\"30\" />\n<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" android:maxSdkVersion=\"30\" />\n<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" android:maxSdkVersion=\"30\" />"}]},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Model","v":"MUBR01"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Type","v":"Portable Bluetooth UHF RFID reader, no screen"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Frequency","v":"865–868 MHz (India); other regional bands (902–928 MHz, 840–845 / 920–925 MHz) also supported, chosen in the app’s Region setting"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Tag protocol","v":"EPC Class 1 Gen 2 (ISO 18000-6C)"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Interface","v":"Bluetooth 4.0 BLE"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Compatible with","v":"Android 4.3 and above (phones and tablets); the Identium MUBR01 app needs Android 6.0 or later"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Antenna","v":"Built-in 2 dBi ceramic antenna"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"RF output","v":"5–30 dBm (1 W), ±1 dBm, adjustable"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Read range","v":"0–3 m"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Read rate","v":"≥ 50 tags/s"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Battery","v":"3.7 V 3000 mAh rechargeable lithium polymer (not user-replaceable)"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Working time","v":"About 6 h continuous RF (active); about 30 h standby"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Charging","v":"Micro-USB (5-pin), about 5.5 h"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Controls & indicators","v":"One button; power, charging and active status lights"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Dimensions","v":"130 × 65 × 16 mm"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Operating temperature","v":"−5 to +50 °C"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Storage temperature","v":"−10 to +45 °C"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Certification","v":"BIS and WPC approved"},{"k":"spec","m":4,"s":"Parameters","h":"","t":"Software","v":"Identium MUBR01 app 2.1.0 (Android); MUBR01 SDK 1.1 (Android library, API v1.7, build 230710)"},{"k":"topic","m":4,"s":"Parameters","h":"","t":"Parameters","b":[{"kv":[["Model","MUBR01"],["Type","Portable Bluetooth UHF RFID reader, no screen"],["Frequency","865–868 MHz (India); other regional bands (902–928 MHz, 840–845 / 920–925 MHz) also supported, chosen in the app’s Region setting"],["Tag protocol","EPC Class 1 Gen 2 (ISO 18000-6C)"],["Interface","Bluetooth 4.0 BLE"],["Compatible with","Android 4.3 and above (phones and tablets); the Identium MUBR01 app needs Android 6.0 or later"],["Antenna","Built-in 2 dBi ceramic antenna"],["RF output","5–30 dBm (1 W), ±1 dBm, adjustable"],["Read range","0–3 m"],["Read rate","≥ 50 tags/s"],["Battery","3.7 V 3000 mAh rechargeable lithium polymer (not user-replaceable)"],["Working time","About 6 h continuous RF (active); about 30 h standby"],["Charging","Micro-USB (5-pin), about 5.5 h"],["Controls & indicators","One button; power, charging and active status lights"],["Dimensions","130 × 65 × 16 mm"],["Operating temperature","−5 to +50 °C"],["Storage temperature","−10 to +45 °C"],["Certification","BIS and WPC approved"],["Software","Identium MUBR01 app 2.1.0 (Android); MUBR01 SDK 1.1 (Android library, API v1.7, build 230710)"]]},{"p":"Specifications are indicative and may change without notice; confirm details for your order in the quotation."}]},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Reader does not switch on","cause":"Battery flat","fix":"Charge it over Micro-USB (about 5.5 h for a full charge), then switch on."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"**Bluetooth permissions are required** message","cause":"Nearby devices (Android 12+) or Location (Android 6–11) permission was refused","fix":"In Android Settings → Apps → Identium MUBR01 → Permissions, allow it, then scan again."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"**Bluetooth must be ON** message","cause":"Phone Bluetooth is off","fix":"Allow the app's request to turn Bluetooth on, or switch it on in quick settings."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"No readers found","cause":"Reader off or out of range; Location off on Android 6–11","fix":"Switch the reader on and hold it next to the phone. On Android 6–11, switch Location on."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Connect fails or times out","cause":"Reader connected to another phone, or not responding","fix":"Disconnect it from the other phone. Restart the reader and try again."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"**Reader disconnected (powered off or out of range)**","cause":"Reader switched off, battery flat or too far away","fix":"Charge or switch on the reader, move closer, then tap Scan & Connect."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Tag list emptied","cause":"**Start inventory** or **Disconnect** was tapped; each begins a new count","fix":"Export to Excel or PDF before you tap Start again or Disconnect."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Apply, Read, Write, Lock or Kill buttons greyed out","cause":"An inventory is running (in Active mode the RFID keyboard starts one when it opens)","fix":"Tap Stop on the Inventory tab, or close the RFID keyboard."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Few tags read, or none","cause":"RF power too low, wrong region, tag too far, or tag on metal or liquid","fix":"Raise read power, choose region **IN** in India, move within 0–3 m, and use tags suited to the surface."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Setting changes are ignored","cause":"The reader has been read with its button in Active mode","fix":"Restart the reader, connect, apply the settings, then read again."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"New Bluetooth name does not appear","cause":"The name applies after a restart","fix":"Restart the reader, then scan again."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"RFID keyboard types nothing","cause":"Keyboard not connected, or no text field selected","fix":"The keyboard bar must say Connected and reading… (or trigger armed). Tap a text field first."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Next tag goes into the same field","cause":"The field ignores Enter","fix":"Use a list or spreadsheet, or untick Enter and read one tag per field."},{"k":"fix","m":4,"s":"Troubleshooting","h":"","t":"Export: **No app on this phone opens … files**","cause":"No spreadsheet or PDF viewer installed","fix":"Use Share or Save to device, or install a viewer."},{"k":"topic","m":5,"s":"System Requirements","h":"","t":"System Requirements","b":[{"kv":[["Phone","Android phone with NFC, Android 5.0 or later"],["Download","`Identium-NFC-v1.6.3.apk`, 6.3 MB, from the Identium Resource Hub"],["Internet and account","Neither is needed: all tag work runs offline on the phone"],["Permissions","NFC · Vibrate, to confirm a write · Camera, for Scan to encode · Storage, on Android 10 and earlier, to save QR images"],["Your data","History, templates, business card, counter, bulk log and passport identities stay on the phone. **Export backup…** saves the business card, templates, tag history and counter value; save the bulk log with **Export CSV** in Bulk write"]]}]},{"k":"row","m":5,"s":"System Requirements","h":"Supported tags","t":"NTAG213","kv":[["Data memory","144 bytes"],["What you can do with it","Read, write, erase, lock, password, copy, clone, chip check, scan counter, memory editor"]]},{"k":"row","m":5,"s":"System Requirements","h":"Supported tags","t":"NTAG215","kv":[["Data memory","504 bytes"],["What you can do with it","Same as NTAG213"]]},{"k":"row","m":5,"s":"System Requirements","h":"Supported tags","t":"NTAG216","kv":[["Data memory","888 bytes"],["What you can do with it","Same as NTAG213"]]},{"k":"row","m":5,"s":"System Requirements","h":"Supported tags","t":"MIFARE Ultralight","kv":[["Data memory","48 bytes"],["What you can do with it","Read, write, erase, lock, copy, clone, memory editor"]]},{"k":"row","m":5,"s":"System Requirements","h":"Supported tags","t":"MIFARE Classic 1K / 4K","kv":[["Data memory","Varies with format"],["What you can do with it","On phones that support MIFARE Classic: read type, UID and size, and write records"]]},{"k":"row","m":5,"s":"System Requirements","h":"Supported tags","t":"Other NFC tags: Type 2 (such as NTAG203), Type 4, ICODE SLIX (ISO 15693), DESFire","kv":[["Data memory","Shown on the Read tab"],["What you can do with it","Read the UID; read, write, erase, copy and verify records where the tag and phone support them"]]},{"k":"topic","m":5,"s":"System Requirements","h":"Supported tags","t":"Supported tags","b":[{"table":{"head":["Tag","Data memory","What you can do with it"],"rows":[["NTAG213","144 bytes","Read, write, erase, lock, password, copy, clone, chip check, scan counter, memory editor"],["NTAG215","504 bytes","Same as NTAG213"],["NTAG216","888 bytes","Same as NTAG213"],["MIFARE Ultralight","48 bytes","Read, write, erase, lock, copy, clone, memory editor"],["MIFARE Classic 1K / 4K","Varies with format","On phones that support MIFARE Classic: read type, UID and size, and write records"],["Other NFC tags: Type 2 (such as NTAG203), Type 4, ICODE SLIX (ISO 15693), DESFire","Shown on the Read tab","Read the UID; read, write, erase, copy and verify records where the tag and phone support them"]]}},{"note":"For the widest phone compatibility and the full feature set, use NTAG213, NTAG215 or NTAG216 tags. The Read tab shows their total memory (180, 540 or 924 bytes); the figures above are the part that holds your records. If a MIFARE Classic card, fob or wristband is for an access, attendance or payment system, use the app only to read it: writing records formats a blank card for NFC use.","kind":"tip"}]},{"k":"topic","m":5,"s":"Install the App","h":"","t":"Install the App","b":[{"ol":["On your Android phone, open **www.identiumone.com/resourcehub/** and download **Identium NFC** (listed on the hub as \"Identium NFC App\": `Identium-NFC-v1.6.3.apk`, 6.3 MB).","Open the downloaded file. If Android asks whether your browser may install unknown apps, switch on **Allow from this source** (you can switch it off again after installing), then go back. On Android 5–7, turn on **Unknown sources** in **Settings → Security** instead.","Tap **Install**, then **Open**.","Swipe through the four welcome slides, or tap **Skip**. Tap **Get started**.","Turn NFC on. If a banner says **NFC is turned off**, tap it and switch NFC on in the phone settings."],"start":1},{"h":"Check your version"},{"p":"Tap the wrench icon at the top right, scroll to **About**. The line reads **Identium NFC v1.6.3**. **About Identium** shows the same version with Identium's contact details."},{"note":"A newer Identium NFC APK from the Resource Hub installs over an older one and keeps your data. Before updating, open Settings and tap **Export backup…** to keep a copy of your business card, templates, history and counter.","kind":"tip"},{"p":"First launch: four welcome slides"}]},{"k":"row","m":5,"s":"Getting Started","h":"","t":"**Read**","kv":[["Use it to","Read any tag: chip type, UID, memory and the records stored on it"]]},{"k":"row","m":5,"s":"Getting Started","h":"","t":"**Write**","kv":[["Use it to","Build one or more records (link, contact, Wi-Fi…) and write them to a tag"]]},{"k":"row","m":5,"s":"Getting Started","h":"","t":"**Other**","kv":[["Use it to","Protection, erase and format, copy and clone, verification, bulk tools, history and settings"]]},{"k":"row","m":5,"s":"Getting Started","h":"","t":"**Tasks**","kv":[["Use it to","Write a one-tap tag that opens a link, dials, sends a message, joins Wi-Fi and more"]]},{"k":"topic","m":5,"s":"Getting Started","h":"","t":"Getting Started","b":[{"p":"The header shows the Identium logo and the **NFC** badge. The **wrench icon** at the top right opens Settings. Four tabs run along the bottom:"},{"table":{"head":["Tab","Use it to"],"rows":[["**Read**","Read any tag: chip type, UID, memory and the records stored on it"],["**Write**","Build one or more records (link, contact, Wi-Fi…) and write them to a tag"],["**Other**","Protection, erase and format, copy and clone, verification, bulk tools, history and settings"],["**Tasks**","Write a one-tap tag that opens a link, dials, sends a message, joins Wi-Fi and more"]]}}]},{"k":"topic","m":5,"s":"Getting Started","h":"The scan prompt","t":"The scan prompt","b":[{"p":"When the app waits for a tag it shows a pulsing scan prompt, for example **Approach an NFC tag…** or **Approach tag to write**."},{"ol":["Hold the tag flat against the back of the phone.","Keep it still until the prompt closes. A good write also vibrates.","Tap **Cancel** to stop waiting without touching the tag."],"start":1}]},{"k":"row","m":5,"s":"Read a Tag","h":"","t":"**Tag overview**","kv":[["What it shows","Chip type and product (for example NTAG213, 180 bytes), **UID** and its length, **Technologies**, **ATQA**, **SAK**, **Memory size**, **Used by NDEF**, **Writable**, **Can be locked**"]]},{"k":"row","m":5,"s":"Read a Tag","h":"","t":"**NDEF records**","kv":[["What it shows","Every record on the tag in order, for example `URI: https://…` or `Text: …`"]]},{"k":"row","m":5,"s":"Read a Tag","h":"","t":"**Memory dump**","kv":[["What it shows","Full hex dump of NTAG and MIFARE Ultralight memory. **Copy** puts it on the clipboard"]]},{"k":"row","m":5,"s":"Read a Tag","h":"","t":"**Clear** · **Share report**","kv":[["What it shows","**Clear** empties the screen only; the tag is not changed. **Share report** sends a text report of the tag through any app"]]},{"k":"topic","m":5,"s":"Read a Tag","h":"","t":"Read a Tag","b":[{"ol":["Open the **Read** tab.","Hold a tag against the back of the phone. You can also tap **Force a scan** first to open the scan prompt.","The tag's details appear on the Read tab and the read is saved in **Tag history**. Any tag you tap while no other job is waiting is read this way."],"start":1},{"p":"Main screen with the Read tab open"},{"table":{"head":["Part of the screen","What it shows"],"rows":[["**Tag overview**","Chip type and product (for example NTAG213, 180 bytes), **UID** and its length, **Technologies**, **ATQA**, **SAK**, **Memory size**, **Used by NDEF**, **Writable**, **Can be locked**"],["**NDEF records**","Every record on the tag in order, for example `URI: https://…` or `Text: …`"],["**Memory dump**","Full hex dump of NTAG and MIFARE Ultralight memory. **Copy** puts it on the clipboard"],["**Clear** · **Share report**","**Clear** empties the screen only; the tag is not changed. **Share report** sends a text report of the tag through any app"]]}}]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**URL**","kv":[["What you enter","Web address"],["When an Android phone taps the tag","Opens the link"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Text**","kv":[["What you enter","Text and a language tag (default `en`)"],["When an Android phone taps the tag","Shown by an NFC reading app"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Contact**","kv":[["What you enter","Name, company, title, phone, email, website, address, note"],["When an Android phone taps the tag","Offers to save the contact"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Wi-Fi**","kv":[["What you enter","SSID, password, security, encryption, hidden network"],["When an Android phone taps the tag","Offers to join the network"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Email**","kv":[["What you enter","Recipient, subject, body"],["When an Android phone taps the tag","Opens a new email"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Phone**","kv":[["What you enter","Number with country code"],["When an Android phone taps the tag","Opens the dialler with the number"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**SMS**","kv":[["What you enter","Recipient number and message"],["When an Android phone taps the tag","Opens a new message"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Geo**","kv":[["What you enter","Latitude, longitude, optional label"],["When an Android phone taps the tag","Opens the location in a maps app"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Address**","kv":[["What you enter","Postal address"],["When an Android phone taps the tag","Searches the address in a maps app"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**App**","kv":[["What you enter","Android package name, for example `com.example.app`"],["When an Android phone taps the tag","Opens that app"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Bluetooth**","kv":[["What you enter","Device MAC address (AA:BB:CC:DD:EE:FF) and optional name"],["When an Android phone taps the tag","Offers to pair with the device"]]},{"k":"row","m":5,"s":"Write a Tag","h":"","t":"**Custom**","kv":[["What you enter","MIME type and text payload"],["When an Android phone taps the tag","Opens the app registered for that type"]]},{"k":"topic","m":5,"s":"Write a Tag","h":"","t":"Write a Tag","b":[{"p":"1 · Pick a record type 2 · Fill in the record 3 · Check the list 4 · Write: hold the tag"},{"ol":["Open the **Write** tab and tap a record type under **ADD A RECORD**.","Fill in the fields and tap **Save record**. The record appears under **RECORDS TO WRITE**.","Add more records if you need them: one tag can carry several. Tap **×** to remove a record.","Check **Payload size**. It must fit the tag: a few bytes less than the memory figure in Supported tags. If it is too big the app shows **Message is … bytes but tag only fits …**.","Optional: tick **Make tag read-only** to lock the tag straight after writing. The app asks you to confirm with **Write & Lock**.","Tap **Write** and hold the tag to the phone until it vibrates. **Write successful** shows how many bytes were written, and the list clears for the next tag."],"start":1},{"table":{"head":["Record","What you enter","When an Android phone taps the tag"],"rows":[["**URL**","Web address","Opens the link"],["**Text**","Text and a language tag (default `en`)","Shown by an NFC reading app"],["**Contact**","Name, company, title, phone, email, website, address, note","Offers to save the contact"],["**Wi-Fi**","SSID, password, security, encryption, hidden network","Offers to join the network"],["**Email**","Recipient, subject, body","Opens a new email"],["**Phone**","Number with country code","Opens the dialler with the number"]]}},{"table":{"head":["Record","What you enter","When an Android phone taps the tag"],"rows":[["**SMS**","Recipient number and message","Opens a new message"],["**Geo**","Latitude, longitude, optional label","Opens the location in a maps app"],["**Address**","Postal address","Searches the address in a maps app"],["**App**","Android package name, for example `com.example.app`","Opens that app"],["**Bluetooth**","Device MAC address (AA:BB:CC:DD:EE:FF) and optional name","Offers to pair with the device"],["**Custom**","MIME type and text payload","Opens the app registered for that type"]]}},{"p":"Contact fields are filled in from your business card. Wi-Fi security is Open, WPA Personal, WPA2 Personal, WPA / WPA2 Personal or WPA2 Enterprise; encryption is None, WEP, TKIP, AES or AES / TKIP. **Hidden network** applies to the QR code only."},{"p":"iPhone XS and later open web, phone, email and SMS links from a tag without an app; iPhone 7 to X need an NFC app; iPhones do not read MIFARE Classic. For mixed audiences, use an NTAG tag with a URL record or print its QR code."}]},{"k":"topic","m":5,"s":"Write a Tag","h":"Templates","t":"Templates","b":[{"p":"Tap **Save as template** to keep the current list under a name, and **Load template** to bring it back later. Open **Settings → Manage templates** to view or delete saved templates."},{"note":"Type `{n}` in a URL, text, email, SMS, address, contact name or note, or custom record to insert the auto-counter (see Bulk Programming). Switch on **Settings → Auto-counter** first; with it off, `{n}` is written as the text {n}. While it is on, the Write tab shows **Auto-counter ON** with the number the next write will use.","kind":"tip"},{"note":"Locking is permanent. A locked tag can never be written again, so test your records on one tag first. Before shipping locked tags, read one on the Read tab: **Writable** must show **No**.","kind":"caution"}]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Open URL**","kv":[["You enter","Web address"],["When an Android phone taps it","Opens the link"]]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Dial number**","kv":[["You enter","Phone number"],["When an Android phone taps it","Opens the dialler"]]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Send SMS**","kv":[["You enter","Number and message"],["When an Android phone taps it","Opens a new message"]]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Email**","kv":[["You enter","Recipient, subject, body"],["When an Android phone taps it","Opens a new email"]]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Connect Wi-Fi**","kv":[["You enter","SSID and password (WPA2)"],["When an Android phone taps it","Offers to join the network"]]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Pair Bluetooth**","kv":[["You enter","MAC address and optional name"],["When an Android phone taps it","Offers to pair"]]},{"k":"row","m":5,"s":"Quick Tasks","h":"","t":"**Run app**","kv":[["You enter","Package name"],["When an Android phone taps it","Opens the app"]]},{"k":"topic","m":5,"s":"Quick Tasks","h":"","t":"Quick Tasks","b":[{"p":"The **Tasks** tab writes a single-purpose tag in one step: pick a task, fill in the short form, tap **OK**, then hold a tag to the phone straight away. **Tag written** confirms it."},{"p":"Tasks tab (top)"},{"table":{"head":["Task","You enter","When an Android phone taps it"],"rows":[["**Open URL**","Web address","Opens the link"],["**Dial number**","Phone number","Opens the dialler"],["**Send SMS**","Number and message","Opens a new message"],["**Email**","Recipient, subject, body","Opens a new email"],["**Connect Wi-Fi**","SSID and password (WPA2)","Offers to join the network"],["**Pair Bluetooth**","MAC address and optional name","Offers to pair"],["**Run app**","Package name","Opens the app"]]}}]},{"k":"topic","m":5,"s":"Protect and Manage a Tag","h":"","t":"Protect and Manage a Tag","b":[{"p":"The **Other** tab groups the tools that change how a tag behaves:"},{"ul":["**Set password**: protect an NTAG213/215/216 with a password.","**Remove password**: unlock it again with the current password.","**Make tag read-only**: lock the tag permanently.","**Erase tag**: replace the tag's contents with a single empty record. The tag stays writable.","**Format memory**: prepare a brand-new, unformatted tag so it can hold records. **Write** also formats a new tag on its own when needed.","**Read memory dump**: jump to the Read tab and read the full memory."]},{"note":"**Erase tag** starts straight away: the next tag you hold to the phone loses all its records. Tap **Cancel** on the scan prompt if you opened it by mistake.","kind":"caution"},{"p":"Other tab: protection and tag tools"},{"h":"Set a password"},{"ol":["Tap **Other → Set password**.","Type the password. The field shows **8 characters max**, but the tag stores a 4-byte password, so only the **first 4 characters** you type count.","Set **Protect from page**. **0x04** (the default) protects the whole user memory; a higher page leaves the pages below it open.","Tap **Set password** and hold the tag still until **Password set** appears."],"start":1},{"p":"Set password"},{"p":"From the protected page onwards, a reader must give the password to read or write. Keep the password safe: you need it to remove the protection."},{"note":"If customers must still be able to tap the tag and open its link, lock the tag with **Make tag read-only** instead of a password. A locked tag stays readable by every phone.","kind":"tip"}]},{"k":"topic","m":5,"s":"Protect and Manage a Tag","h":"Remove a password","t":"Remove a password","b":[{"ol":["Tap **Other → Remove password**, type the current password, tap **Remove password** and hold the tag still. **Password removed** confirms that the tag is open to every reader again and its password is back to the factory value."],"start":1},{"h":"Make a tag read-only"},{"ol":["Tap **Other → Make tag read-only**.","Read the warning and tap **Lock now**.","Hold the tag to the phone until the confirmation appears."],"start":1},{"note":"Locking cannot be undone. The tag keeps its current contents for good. Before shipping locked tags, read one on the Read tab: **Writable** must show **No**.","kind":"caution"},{"p":"The app always asks before locking"},{"h":"Memory editor (advanced)"},{"ol":["Tap **Other → Memory editor**, then **Tap tag to read memory**.","Each line is one page: `PP: HHHHHHHH` (page number and 4 bytes in hex). Edit the bytes you need.","Tap **Tap tag to write changes**, check the list of pages, tap **Tap & write** and hold the tag."],"start":1},{"p":"The editor is for NTAG213/215/216 and MIFARE Ultralight tags. Only the pages you changed are written. UID, lock and configuration pages are protected and never touched."},{"note":"Wrong values can corrupt the tag's data. Read the tag again afterwards to check it.","kind":"caution"},{"p":"Memory editor"}]},{"k":"row","m":5,"s":"Copy and Clone","h":"","t":"Copies","kv":[["Copy tag","Links, text, contacts and Wi-Fi records written by this app"],["Clone tag","The raw user memory, page by page (page 4 to the last user page)"]]},{"k":"row","m":5,"s":"Copy and Clone","h":"","t":"Source and target","kv":[["Copy tag","Any chip types, even different ones"],["Clone tag","The same chip type: NTAG213, NTAG215, NTAG216 or MIFARE Ultralight"]]},{"k":"row","m":5,"s":"Copy and Clone","h":"","t":"Best for","kv":[["Copy tag","Making more tags with the same content"],["Clone tag","An exact byte-for-byte duplicate of the data"]]},{"k":"topic","m":5,"s":"Copy and Clone","h":"","t":"Copy and Clone","b":[{"p":"Copy tag (left) and Clone tag (right), before a source is captured"},{"table":{"head":["","Copy tag","Clone tag"],"rows":[["Copies","Links, text, contacts and Wi-Fi records written by this app","The raw user memory, page by page (page 4 to the last user page)"],["Source and target","Any chip types, even different ones","The same chip type: NTAG213, NTAG215, NTAG216 or MIFARE Ultralight"],["Best for","Making more tags with the same content","An exact byte-for-byte duplicate of the data"]]}},{"ol":["Tap **Other → Copy tag** (or **Clone tag**).","Tap **Capture source** and hold the original tag to the phone. The screen lists what was captured and the source UID.","Tap **Tap target & paste** (or **Tap target & clone**) and hold a blank target tag to the phone.","**Tag copied** or **Tag cloned** confirms the bytes written."],"start":1},{"note":"Every tag has its own factory UID: Copy and Clone transfer the data only, and the target keeps its own UID. If Clone reports a chip-type mismatch, use Copy tag. For NTAG203, MIFARE Ultralight C and other tags, always use Copy tag. After copying Bluetooth records or tags written by other apps, check the target with **Verify tag** or the **Read** tab.","kind":"info"}]},{"k":"topic","m":5,"s":"Verify and Authenticate","h":"","t":"Verify and Authenticate","b":[{"h":"Verify tag"},{"ol":["Tap **Other → Verify tag**.","Type the URL or text you expect on the tag. For serial-numbered tags type the complete value, because a shorter one also matches: …/t/1 matches …/t/10.","Tap **Tap tag to verify** and hold the tag to the phone.","**✓ Match** (**Tag verified**) means a record on the tag contains your text. **✗ No match** lists the records actually found, with the tag's UID and type."],"start":1},{"p":"Verify tag"},{"h":"Check chip authenticity"},{"p":"Genuine NTAG213/215/216 chips carry a factory originality signature. The app checks it on the phone, with no internet connection. A valid signature shows the chip itself is genuine factory silicon; a genuine tag with copied data on it also passes."},{"ol":["Tap **Other → Check chip authenticity**, then **Tap a tag to check**.","Hold the tag still while the app reads the signature and the scan counter."],"start":1},{"ul":["**✓ Genuine … chip** (green verdict): the signature is valid for this chip's UID.","**✗ Signature does NOT match:** the chip may be a copy, a different chip, or its signature was overwritten.","**— No signature on this chip:** the chip type does not carry an originality signature.","**Scan counter:** how many times the chip has been read, when the counter is enabled on the chip."]},{"p":"Check chip authenticity"},{"h":"Digital Passport"},{"p":"Turns a tag into a tap-to-verify product passport. Each tag carries your verification URL with a product ID and the chip's UID, for example `https://example.com/verify?id=ITEM-0026&uid=…`. Anyone who taps it opens your verification page; your website checks the product ID and UID against what you issued."},{"ol":["Tap **Other → Digital Passport / Authenticity**.","Under **ISSUER IDENTITY** tap **Add new**: enter a name and your verification URL. Choose whether the product ID goes in the URL path (default is the query string) and keep **Include tag hardware UID** on.","Under **ISSUE PASSPORT** type a product ID, tap **Generate UUID**, or tap **Use {n} counter** (switch on **Settings → Auto-counter** first). **Will write** previews the URL.","Tap **Tap tag to issue passport** and hold the tag. **Passport issued** shows the UID and URL. Lock each passport tag with **Make tag read-only** after issuing.","To check a tag later, tap **Tap tag to verify** under **VERIFY A PASSPORT**. **✓ Passport recognised** means the URL belongs to one of your identities; **⚠ Unknown source** means it does not. Both show the **Tag UID** and the URL and offer **Open URL in browser**. To spot a copied tag, check that the URL's `uid=` value matches the Tag UID (same hex digits, without colons)."],"start":1},{"p":"**Switch** and **Manage** let you keep several identities, for example one per brand."},{"p":"Digital Passport"}]},{"k":"topic","m":5,"s":"Bulk Programming","h":"","t":"Bulk Programming","b":[{"p":"Four tools program many tags quickly: **Bulk write** (one URL, tag after tag), **Import from Excel / CSV** (a different payload per tag), **Scan to encode** (QR code to NFC tag) and **Quick recipes**. All of them are on the **Other** tab under **BULK**."}]},{"k":"row","m":5,"s":"Bulk Programming","h":"Bulk write","t":"**✓ WRITTEN** / **✓ LOCKED**","kv":[["Meaning","The URL was written (and the tag locked)"]]},{"k":"row","m":5,"s":"Bulk Programming","h":"Bulk write","t":"**DUPLICATE**","kv":[["Meaning","This UID was already written earlier in the log; it was skipped"]]},{"k":"row","m":5,"s":"Bulk Programming","h":"Bulk write","t":"**⚠ HAS DATA**","kv":[["Meaning","The tag already held records; it was skipped"]]},{"k":"row","m":5,"s":"Bulk Programming","h":"Bulk write","t":"**✗ FAILED**","kv":[["Meaning","The write did not complete. Tap the row for the reason, then tap the tag again"]]},{"k":"topic","m":5,"s":"Bulk Programming","h":"Bulk write","t":"Bulk write","b":[{"ol":["Tap **Other → Bulk write**. Enter the **URL to write to every tag**. Add `{n}` where a serial number should go, for example `https://yourdomain.com/t/{n}`.","Choose **Write only** (tag stays rewritable) or **Write & lock** (permanent).","If the URL has `{n}`, set the **SERIAL NUMBER**: Decimal, Hex uppercase or Hex lowercase, **Start at** and **Digits** (0 = automatic). **Next serials** previews the numbers.","Leave **Skip tags that already have data** and **Skip tags already written in this log** on to protect finished tags. Turn both off to overwrite tags you are re-testing.","Tap **Start write-only session** (or **Start write & lock session**) and confirm with **Start** (or **Start & lock**).","Tap tags one after another. Each tag is written in a moment, the phone vibrates and the screen returns to **Tap a tag**. No dialogs come up between tags.","Tap **Finish session** when done. The log stays saved on the phone."],"start":1},{"p":"Serial number and skip options Running: tap tag after tag"},{"table":{"head":["Results status","Meaning"],"rows":[["**✓ WRITTEN** / **✓ LOCKED**","The URL was written (and the tag locked)"],["**DUPLICATE**","This UID was already written earlier in the log; it was skipped"],["**⚠ HAS DATA**","The tag already held records; it was skipped"],["**✗ FAILED**","The write did not complete. Tap the row for the reason, then tap the tag again"]]}},{"p":"The counters show all-time **TOTAL**, **WRITTEN**, **LOCKED** and **FAILED**; the line below counts this session. Tap a row for details and **Copy UID**. The **⋮** menu has **Export CSV** and **Clear log** (**Clear & reset numbering** also restarts the row numbers and all-time counts). Duplicate checking covers the latest 500 rows the table keeps, so **Export CSV** before clearing. A session that uses `{n}` also sets **Settings → Auto-counter** to the same values. After a **Write & lock** session, read one tag on the Read tab: **Writable** must show **No**."},{"h":"Import from Excel or CSV"},{"ol":["Prepare a CSV or XLSX file: column names in the first row, then one row per tag (XLSX: first worksheet). **Show expected columns** lists every column name the app understands (shown here).","Tap **Other → Import from Excel / CSV → Pick file** and choose the file. The screen shows how many rows and records were found, with a preview.","Tap **Start writing**. The prompt reads **Tap tag 1 of N** and shows the row; hold a tag. The next prompt follows on its own.","If a row fails, **Continue** moves to the next row (the failed row is skipped; note its number and import it again later) or **Stop** ends the run. **Bulk write complete** gives the totals."],"start":1},{"p":"Columns: `url` · `text` · `email`, `email_subject`, `email_body` · `phone` · `sms_number`, `sms_body` · `ssid`, `wifi_password`, `wifi_auth`, `wifi_enc` · `vcard_name`, `vcard_company`, `vcard_title`, `vcard_phone`, `vcard_email`, `vcard_website`, `vcard_address`, `vcard_note` · `lat`, `lon`, `label` · `app_package` · `mime`, `mime_payload`. Empty cells are ignored. **Copy sample CSV header** puts a ready-made example on the clipboard."},{"p":"Show expected columns"},{"h":"Scan to encode"},{"ol":["Tap **Other → Scan to encode** and allow the camera.","Hold the QR code inside the square. Detection is automatic; **Torch** lights dark labels.","When **Now tap an NFC tag** appears, hold a tag to the phone. **✓ Written to tag** shows its UID."],"start":1},{"p":"A QR code holding a link is written as a URL record; any other text as a text record. With **Continuous** on, the camera is ready for the next code after each tag. **Lock each tag after writing** locks every tag permanently."},{"p":"Scan to encode controls, below the camera view"}]},{"k":"topic","m":5,"s":"Bulk Programming","h":"Auto-counter","t":"Auto-counter","b":[{"p":"In **Settings → AUTO-COUNTER**, switch **Auto-increment counter** on, choose the **Serial format** (Decimal, Hex uppercase, Hex lowercase), the **Current value** and the number of **Digits** (0 = automatic), then tap **Save counter**. While it is on, every `{n}` in a record or a passport product ID is replaced with the current value, and the value goes up by one after each successful write. **Bulk write** uses its own serial settings and switches the counter on for you."},{"h":"Quick recipes"},{"p":"Ready-made tags: **Business card**, **Wi-Fi guest network**, **Restaurant table card**, **Product info link**, **Asset / inventory tag**, **Landing page**, **Click-to-call**, **Review request**, **Event check-in** and **Document / datasheet**."},{"ol":["Tap **Other → Quick recipes** and pick a recipe.","Choose **Write to NFC tag** (the records load on the Write tab; review them and tap **Write**) or **Show as QR**."],"start":1},{"p":"**Restaurant table card**, **Product info link**, **Asset / inventory tag**, **Event check-in** and **Document / datasheet** number each tag with `{n}`. Switch on **Settings → Auto-counter** before writing them. For a QR code of these five, choose **Write to NFC tag** and tap **Show QR** on the Write tab, which fills in the number."},{"p":"Recipes that use your name, phone or website take them from your business card; the app asks you to fill it in first if needed. The **Wi-Fi guest network** recipe loads a sample network (**Guest WiFi**): remove it on the Write tab and add a Wi-Fi record with your own network name and password."},{"p":"Quick recipes"}]},{"k":"topic","m":5,"s":"QR Codes","h":"","t":"QR Codes","b":[{"p":"Give the same data to customers whose phones have no NFC by printing a QR code next to the tag."},{"ul":["**From the Write tab:** tap **Show QR**. A QR code holds one record, so the app uses the first record in the list; `{n}` is filled in with the current counter value.","**From any text:** tap **Other → Generate QR code**, type or paste a URL or text and tap **Generate**.","**From a recipe:** choose **Show as QR**. For recipes that use `{n}`, load them on the Write tab and tap **Show QR** there."]},{"p":"The QR screen shows the code size and error-correction level. Tap **Share image** to send the PNG, or **Save to gallery** to store it in **Pictures / Identium NFC**."},{"p":"QR code from the Write tab"}]},{"k":"topic","m":5,"s":"History, Statistics and Settings","h":"Tag history","t":"Tag history","b":[{"p":"**Other → Tag history** lists the last 200 operations, newest first: action, what was read or written, time and a ✓ or ✗ result. Reads, verifies, chip checks, clones, bulk writes, Scan-to-encode writes and passports also show the tag's UID; other writes show **(unknown UID)**. Tap an entry with a UID to copy it."},{"p":"For a UID record of every tag you program, use **Bulk write**, whose log keeps each UID (**Export CSV**)."},{"p":"The toolbar icons **export the history as CSV** and **clear** it."}]},{"k":"topic","m":5,"s":"History, Statistics and Settings","h":"Statistics","t":"Statistics","b":[{"p":"**Other → Statistics** shows writes, reads and success rate for the operations kept in Tag history (the latest 200), an operation breakdown (writes, reads, erases, locks, password operations, copy/clone, verify), the last 7 days and the record types you write most."}]},{"k":"row","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"**Your business card**","kv":[["What you can do","**Edit business card**: full name, company, title, phone, email, website, address and note. Used to fill in contact records and recipes"]]},{"k":"row","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"**Auto-counter**","kv":[["What you can do","Switch the `{n}` counter on, set format, current value and digits (see Bulk Programming)"]]},{"k":"row","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"**Data**","kv":[["What you can do","**Manage templates**, **Open tag history**, **Statistics dashboard**"]]},{"k":"row","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"**Backup & restore**","kv":[["What you can do","**Export backup…** saves your business card, templates, tag history and counter value to one JSON file. **Restore from backup…** replaces history, business card and counter value and adds the templates from the file. The file is plain text: keep it private if your templates hold Wi-Fi passwords. **Clear history** empties Tag history"]]},{"k":"row","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"**Tools**","kv":[["What you can do","**Run NFC diagnostic**, **Open system NFC settings**, **Replay onboarding**"]]},{"k":"row","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"**About**","kv":[["What you can do","App version, **About Identium**, **Visit identium.in**"]]},{"k":"topic","m":5,"s":"History, Statistics and Settings","h":"Settings","t":"Settings","b":[{"table":{"head":["Section","What you can do"],"rows":[["**Your business card**","**Edit business card**: full name, company, title, phone, email, website, address and note. Used to fill in contact records and recipes"],["**Auto-counter**","Switch the `{n}` counter on, set format, current value and digits (see Bulk Programming)"],["**Data**","**Manage templates**, **Open tag history**, **Statistics dashboard**"],["**Backup & restore**","**Export backup…** saves your business card, templates, tag history and counter value to one JSON file. **Restore from backup…** replaces history, business card and counter value and adds the templates from the file. The file is plain text: keep it private if your templates hold Wi-Fi passwords. **Clear history** empties Tag history"],["**Tools**","**Run NFC diagnostic**, **Open system NFC settings**, **Replay onboarding**"],["**About**","App version, **About Identium**, **Visit identium.in**"]]}}]},{"k":"topic","m":5,"s":"Troubleshooting","h":"NFC diagnostic","t":"NFC diagnostic","b":[{"p":"Start here for any tag problem. **Settings → Run NFC diagnostic** answers \"is this phone and this tag ready?\""},{"ul":["**PHONE CAPABILITY**: whether NFC hardware is present and switched on, plus the phone's make, model and Android version.","**TAP A TAG TO PROBE**: tap **Probe a tag** to see type, UID, memory, writable, lockable and password support, with a plain-English verdict.","**QR ENGINE**: **Run QR self-test** checks the app's QR generator and reader."]}]},{"k":"fix","m":5,"s":"Troubleshooting","h":"Install, phone and NFC","t":"**App not installed** (the package conflicts with an existing package)","cause":"Identium NFC is already on the phone from another source, such as Google Play, signed with a different key","fix":"In the installed app tap **Export backup…**, uninstall it, install the APK, then tap **Restore from backup…**"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Install, phone and NFC","t":"**This device does not support NFC.**","cause":"The phone has no NFC hardware","fix":"Use a phone with NFC. QR codes and the other screens still work"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Install, phone and NFC","t":"**NFC is turned off. Open settings to enable it.** / **NFC is off**","cause":"NFC is switched off in the phone","fix":"Tap the message or **Open settings** and switch NFC on"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Install, phone and NFC","t":"Nothing happens when the tag touches the phone","cause":"The tag is not over the phone's NFC area, or a case is in the way","fix":"Slide the tag slowly over the back of the phone; remove metal or thick cases. In Bulk write, a **taps** count of 0 means the tag never reached the app"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Writing","t":"**Tag lost — keep the tag still and try again**, **Tag moved away too soon** or **Tag handle expired — lift the tag and tap again**","cause":"The tag moved, or was tapped repeatedly too fast","fix":"Lift the tag away, then hold it flat and still until the confirmation appears"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Writing","t":"**Tag is read-only**","cause":"The tag was locked","fix":"A locked tag cannot be rewritten; use a new tag"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Writing","t":"**Message is … bytes but tag only fits …**","cause":"The records are larger than the tag's memory","fix":"Remove or shorten records, or use an NTAG215 or NTAG216 tag"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Writing","t":"**Tag is not NDEF capable** / **Format failed**","cause":"The tag type cannot hold records, or is damaged","fix":"Try **Other → Format memory** on a new tag, or use an NTAG tag"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Passwords and locking","t":"Password: **This chip does not support PWD_AUTH**","cause":"Passwords work on NTAG213/215/216 only","fix":"Use an NTAG213/215/216 tag"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Passwords and locking","t":"**Could not remove password**","cause":"The password typed does not match the tag","fix":"Re-type it; only the first 4 characters count"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Passwords and locking","t":"A protected tag will not open on customers' phones","cause":"Reading also needs the password from the protected page onwards","fix":"Remove the password and use **Make tag read-only** instead"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Copy, bulk, import and camera","t":"Clone: **Mismatch: source was … but target is …**","cause":"The two tags are different chip types","fix":"Use a target of the same type, or use **Copy tag**"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Copy, bulk, import and camera","t":"Bulk write shows **⚠ HAS DATA** or **DUPLICATE**","cause":"The skip options protected an already-written tag","fix":"To overwrite on purpose, turn both skip switches off"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Copy, bulk, import and camera","t":"Import: **Could not parse file**","cause":"The file is not CSV/XLSX or the header row is missing","fix":"Put column names in row 1 (see the column list) and save as CSV or XLSX"},{"k":"fix","m":5,"s":"Troubleshooting","h":"Copy, bulk, import and camera","t":"Scan to encode: **Camera permission needed**","cause":"Camera access was refused","fix":"Tap **Grant permission**, or allow the camera for Identium NFC in the phone settings"},{"k":"topic","m":6,"s":"System Requirements","h":"Supported Identium readers","t":"Supported Identium readers","b":[{"p":"ReaderSense works with the Identium UHF readers below. Pick yours in **Device Model** on the Connect page."},{"table":{"head":["Reader","Ports ReaderSense drives","Pick in Device Model"],"rows":[["IF9A integrated reader, IF9A-4G and IF9A evaluation kit","1 (built-in antenna)","IF9A"],["IDTS-IHZ4 multi-port reader (Ethernet, PoE and Wi-Fi versions)","4","IHZ4"],["IDTS-IHZ8 multi-port reader","8","IHZ8"],["HLR200 UHF reader","4","HLR200"],["ID-UM01 reader module (serial, Windows)","1 (built-in antenna)","Any (serial)"]]}},{"p":"IDTS-IHZ8 8-port fixed reader, one of the readers ReaderSense drives."},{"ul":["**IF9A-2P:** ask Identium support which Device Model to choose so that its external antenna port is read as well.","**IF9A-4G:** ask Identium support how to connect it for set-up; it then uploads over 4G in Auto Mode (section 10)."]}]},{"k":"topic","m":6,"s":"System Requirements","h":"Computer","t":"Computer","b":[{"kv":[["Windows","Windows 10 or Windows 11, 64-bit (x64)"],["macOS","macOS 10.15 Catalina or later, on Apple Silicon (M-series) or Intel Macs. The free **Mono** runtime must be installed (see section 02)."],["Network connection","Ethernet or Wi-Fi on the same IP subnet as the reader (the reader's factory address is 192.168.1.100, mask 255.255.255.0)"],["Serial connection","RS-232 or USB-serial (COM port) on Windows. Connect the ID-UM01 module's TTL UART through a USB-to-TTL serial adapter; it then appears as a COM port. Over a serial connection ReaderSense drives antenna 1 only, at up to 30.00 dBm."]]}]},{"k":"row","m":6,"s":"System Requirements","h":"Downloads on the Resource Hub","t":"`Identium ReaderSense Client Setup 4.0.0.exe`","kv":[["Use it for","Windows installer (recommended)"],["Size","89.1 MB"]]},{"k":"row","m":6,"s":"System Requirements","h":"Downloads on the Resource Hub","t":"`Identium ReaderSense Client 4.0.0 Portable.exe`","kv":[["Use it for","Windows, runs without installing"],["Size","88.8 MB"]]},{"k":"row","m":6,"s":"System Requirements","h":"Downloads on the Resource Hub","t":"`Identium ReaderSense Client-4.0.0-arm64.dmg`","kv":[["Use it for","Mac with Apple Silicon (M1, M2, M3, M4…)"],["Size","108.8 MB"]]},{"k":"row","m":6,"s":"System Requirements","h":"Downloads on the Resource Hub","t":"`Identium ReaderSense Client-4.0.0-x64.dmg`","kv":[["Use it for","Mac with an Intel processor"],["Size","117.1 MB"]]},{"k":"topic","m":6,"s":"System Requirements","h":"Downloads on the Resource Hub","t":"Downloads on the Resource Hub","b":[{"table":{"head":["File","Use it for","Size"],"rows":[["`Identium ReaderSense Client Setup 4.0.0.exe`","Windows installer (recommended)","89.1 MB"],["`Identium ReaderSense Client 4.0.0 Portable.exe`","Windows, runs without installing","88.8 MB"],["`Identium ReaderSense Client-4.0.0-arm64.dmg`","Mac with Apple Silicon (M1, M2, M3, M4…)","108.8 MB"],["`Identium ReaderSense Client-4.0.0-x64.dmg`","Mac with an Intel processor","117.1 MB"]]}},{"p":"All four files are on www.identiumone.com/resourcehub/. To see which Mac you have: Apple menu → About This Mac → Chip (Apple) or Processor (Intel)."}]},{"k":"topic","m":6,"s":"Install the Software","h":"Windows: installer","t":"Windows: installer","b":[{"ol":["Download `Identium ReaderSense Client Setup 4.0.0.exe` from the Resource Hub and double-click it.","If Windows SmartScreen shows **Windows protected your PC**, click **More info → Run anyway**.","Choose whether to install for you only or for everyone who uses this PC, then choose the install folder (or keep the default) and click **Install**. The installer adds a desktop shortcut and a Start-menu entry, both named **Identium ReaderSense**.","Start ReaderSense from the desktop or the Start menu. It opens on the **Connect** page."],"start":1}]},{"k":"topic","m":6,"s":"Install the Software","h":"Windows: portable","t":"Windows: portable","b":[{"p":"`Identium ReaderSense Client 4.0.0 Portable.exe` runs straight from the file without installing anything, which suits a one-off test on a borrowed PC. It leaves any installed copy untouched. For everyday use, install the Setup version."}]},{"k":"topic","m":6,"s":"Install the Software","h":"macOS","t":"macOS","b":[{"ol":["Download the DMG for your Mac: `-arm64.dmg` for Apple Silicon, `-x64.dmg` for Intel.","Install the free **Mono** runtime, which ReaderSense needs on macOS to talk to the reader: get the macOS package from the Mono project's download page, or run `brew install mono` in Terminal if you use Homebrew.","Open the DMG and drag **Identium ReaderSense** onto the **Applications** folder.","The first time, open it with a right-click (or Control-click) on the app → **Open** → **Open**. On newer macOS versions, if it is still blocked: **System Settings → Privacy & Security** → scroll down → **Open Anyway**.","If macOS says the app is **damaged and can't be opened**, run `xattr -cr \"/Applications/Identium ReaderSense.app\"` in Terminal, then repeat step 4."],"start":1},{"note":"On macOS, connect to readers over the network (Ethernet or Wi-Fi). Serial (COM) and USB connections are available in the Windows version.","kind":"info"}]},{"k":"topic","m":6,"s":"Install the Software","h":"Updating and removing","t":"Updating and removing","b":[{"ul":["New versions are published on the Identium Resource Hub. On Windows, run the newer Setup file (your settings are kept); on a Mac, replace the app in Applications.","Your version is shown on the **Connect** page under **Software Version → ReaderSense App** once a reader is connected.","To remove it from Windows, use **Start → Uninstall Identium ReaderSense**. It asks whether to also delete saved settings and presets; choose **No** to keep them. On a Mac, drag the app to the Bin."]}]},{"k":"topic","m":6,"s":"Getting Started","h":"","t":"Getting Started","b":[{"p":"The ReaderSense window before a reader is connected."},{"ul":["**Page list (left)**: **Connect · Inventory · Tag Access · Settings · Peripherals**, then **AISense · Auto Mode**. The arrow at its edge collapses the list to icons. At the bottom: connection status, the theme button (Dark → Light → Auto) and **Style**.","**Read mode (top left)**: the inventory mode used whenever a page starts reading; **Fast Mode-Standard** is the default (section 05).","**Top-bar buttons**: **Antennas**, **Tag Filter**, **Statistics** and **Debug** open panels at the bottom of the window (section 05). The badge at the far right shows the reader's address in green when connected."]}]},{"k":"topic","m":6,"s":"Getting Started","h":"Good to know","t":"Good to know","b":[{"ul":["Only one copy of ReaderSense runs at a time. Leaving **Inventory** or **AISense** while a read is running stops the reader.","The window's close button keeps ReaderSense running in the system tray. To quit, right-click the tray icon, or set **Style → Close Button Behavior** to **Quit app**.","**Style** also sets the theme, accent colour, text size (Compact to Massive) and font, and can turn off background effects and animation."]}]},{"k":"topic","m":6,"s":"Connect to a Reader","h":"","t":"Connect to a Reader","b":[{"note":"**Before you start:** power the reader and connect it to your network (or straight to the computer) with an Ethernet cable. Give the computer an address in the reader's subnet: a reader with factory settings uses **192.168.1.100**, mask **255.255.255.0**, so set the computer to, for example, 192.168.1.50. Close any other reader software, because a reader accepts one connection at a time.","kind":"info"},{"ol":["Open **Connect** and choose your reader in **Device Model** (IF9A, IHZ4, IHZ8 or HLR200).","Under **Reader Address** keep **Network (IP)** and click the address box. ReaderSense scans the network and lists **Readers on your network** with their MAC address and work state, plus addresses you used before. Click one, or type the IP.","For a serial connection (Windows: an RS-232 cable, or a USB-to-TTL adapter for the ID-UM01 module), choose **Serial (COM)**. ReaderSense checks the COM ports and fills in the one the reader answers on. Over a serial (COM) connection ReaderSense drives antenna 1 only, at up to 30.00 dBm; to use all ports of a multi-port reader, connect over the network.","Click **Connect**. The status card turns green and shows **Connected** with the address."],"start":1},{"p":"Clicking the address box lists the readers found on your network."},{"p":"The magnifier button next to the address opens **Network Reader Search**: a table of every reader that answered, with the computer's network adapter, the reader's IP and MAC address, subnet mask, gateway, DNS, software versions, work state and DHCP. Click a row to use that address. A reader whose work state is **active** is running Auto Mode (section 10)."}]},{"k":"topic","m":6,"s":"Connect to a Reader","h":"What you see after connecting","t":"What you see after connecting","b":[{"ul":["**Versions & Serials**: module and mainboard hardware and software versions and the module serial number. Click any value to copy it, or **Copy All** to copy them as one comma-separated line for a support request.","**Software Version**: the version of ReaderSense (**ReaderSense App**) and of the software inside the reader.","**Current Reader Settings** (below the connection card): region, Gen2 session, target and Q, write mode, hop mode, read power and number of hop channels, as the reader is running now (a reader set up for India shows Region **IN**). **Refresh** reads them again.","Click **Disconnect** before you connect to a different reader."]},{"p":"Versions & Serials of the connected reader. Copy All copies them in one line."},{"note":"ReaderSense checks the reader every few seconds while connected. If the cable or power is lost, the app switches to disconnected so every page shows the true state.","kind":"tip"}]},{"k":"row","m":6,"s":"Top-Bar Tools","h":"Read mode","t":"Normal Mode","kv":[["Use it when","Widest tag compatibility; try it if a fast mode reads nothing."]]},{"k":"row","m":6,"s":"Top-Bar Tools","h":"Read mode","t":"Fast Mode-Standard","kv":[["Use it when","Default; balanced speed for most jobs."]]},{"k":"row","m":6,"s":"Top-Bar Tools","h":"Read mode","t":"Fast Mode-Reading Distance / Reading Count","kv":[["Use it when","Favour range, or many tags in the field at once."]]},{"k":"row","m":6,"s":"Top-Bar Tools","h":"Read mode","t":"The last three modes in the list (extended fast modes)","kv":[["Use it when","Extended fast modes for readers that support them; use them when Identium support recommends it."]]},{"k":"topic","m":6,"s":"Top-Bar Tools","h":"Read mode","t":"Read mode","b":[{"table":{"head":["Mode","Use it when"],"rows":[["Normal Mode","Widest tag compatibility; try it if a fast mode reads nothing."],["Fast Mode-Standard","Default; balanced speed for most jobs."],["Fast Mode-Reading Distance / Reading Count","Favour range, or many tags in the field at once."],["The last three modes in the list (extended fast modes)","Extended fast modes for readers that support them; use them when Identium support recommends it."]]}}]},{"k":"topic","m":6,"s":"Top-Bar Tools","h":"Antennas","t":"Antennas","b":[{"ul":["**Read Power** and **Write Power** are entered in hundredths of a dBm: `3000` = 30.00 dBm. The maximum your reader accepts is shown next to the title (for example `max 33.00 dBm`).","**State** shows **Detection** when the reader senses an antenna on that port.","**In Use** chooses the ports swept during inventory. Tick only ports that have an antenna; an empty port wastes reading time.","**Get** reads the reader's values; **Set** writes every port and reads them back. If the reader adjusts a value, the panel tells you what it set."]},{"p":"Antennas panel: power per port, detection state and the ports used for reading."}]},{"k":"topic","m":6,"s":"Top-Bar Tools","h":"Tag Filter","t":"Tag Filter","b":[{"p":"The tag filter is applied inside the reader, so tags that do not match are never reported. Choose the **Bank** (usually EPC), **Filter Rule** (**Match** or **Not Match**), **Start Address** in bits (`32` is the first bit of the EPC number, after the CRC and PC words), the **Mask Format** and the **Filter Mask**, for example `E28011`. Then tick **Enable in Inventory**, **Enable in Tag Access**, or both."}]},{"k":"topic","m":6,"s":"Top-Bar Tools","h":"Statistics and Debug","t":"Statistics and Debug","b":[{"p":"**Statistics** shows bar charts of reads per antenna and reads per frequency channel for the current inventory, which is a quick way to spot a weak antenna. **Debug** turns on **Debug Mode**, a log of the low-level messages exchanged with the reader; leave it off unless Identium support asks for a trace."}]},{"k":"topic","m":6,"s":"Read Tags (Inventory)","h":"","t":"Read Tags (Inventory)","b":[{"p":"Inventory running on four antennas. The counters at the top right show unique tags, total reads and elapsed time."},{"ol":["Connect the reader and check the **Antennas** panel: **In Use** ticked only for ports with an antenna.","Open **Inventory**. The line under the title shows the read mode, the antennas in use and the power the reader is set to.","Click **Start Inventory**. Each tag appears once in the table, and its **Reads** count rises every time it is seen.","Click **Stop** when you have finished.","Click **Export CSV** or **Export XLSX** to save the list. **Clear** empties the table for a new count."],"start":1},{"p":"**Table columns:** **EPC** (tag number) · **Reads** (times read) · **Ant** (antenna that last read it) · **Bank Data** (extra memory, when Additional Data is on, section 08) · **Prot** (air protocol) · **RSSI** (signal strength in dBm; closer to 0 is stronger) · **Freq** (channel, MHz) · **Phas** (RF phase) · **Time** (last seen)."},{"ul":["**Filter** (right) narrows the table. Type comma-separated starts of EPCs, for example `E280, 3008`. Switch on **Series** to match numbered tags: `F001` then shows F001, F002, F003 and so on. Export saves the tags the filter shows.","The **Statistics** tab gives reads per antenna and per frequency and a session summary. The table draws the first 500 tags so the window stays fast; Export always includes every tag."]},{"note":"If nothing is read for 20 seconds, ReaderSense says so and offers **Retry in Normal mode**. First check that a tag is in front of an antenna that is ticked **In Use**.","kind":"tip"}]},{"k":"row","m":6,"s":"Tag Access: Read, Write, Lock and Kill","h":"","t":"Read Bank","kv":[["Parameters","**Bank** (Reserved, EPC, TID or User), **Start Address** and **Block Count** in words. In the EPC bank, word 0 is the CRC, word 1 the PC and the EPC number starts at word 2."]]},{"k":"row","m":6,"s":"Tag Access: Read, Write, Lock and Kill","h":"","t":"Write Bank","kv":[["Parameters","Bank, start address and the data in hex. Data must be whole words: a multiple of 4 hex characters."]]},{"k":"row","m":6,"s":"Tag Access: Read, Write, Lock and Kill","h":"","t":"Write EPC","kv":[["Parameters","The new EPC in hex, whole words; a standard 96-bit EPC is 24 characters. ReaderSense updates the PC word for you."]]},{"k":"row","m":6,"s":"Tag Access: Read, Write, Lock and Kill","h":"","t":"Lock Tag","kv":[["Parameters","**Lock Target** (EPC, TID, User, Kill password or Access password) and **Lock Type** (Unlock, Lock or Permanent)."]]},{"k":"row","m":6,"s":"Tag Access: Read, Write, Lock and Kill","h":"","t":"Kill Tag","kv":[["Parameters","The tag's kill password (hex). A tag whose kill password is still 0 cannot be killed; write a kill password to the Reserved bank (words 0–1) first."]]},{"k":"topic","m":6,"s":"Tag Access: Read, Write, Lock and Kill","h":"","t":"Tag Access: Read, Write, Lock and Kill","b":[{"p":"Tag Access works on one tag at a time. Put only the tag you want near the antenna, or narrow the choice with the EPC filter on this page or the top-bar Tag Filter."},{"ol":["Open **Tag Access** and pick an **Operation Type**: **Read Bank**, **Write Bank**, **Write EPC**, **Lock Tag** or **Kill Tag**.","Pick the **Antenna** the tag is in front of.","Enter the **Access Password** (8 hex characters) if the tag is locked; leave it blank otherwise.","Optionally type the start of the tag's EPC in **EPC Filter** so only that tag answers.","Fill in the parameters on the right and click **Execute**. The result appears under the button."],"start":1},{"note":"**Permanent** lock and **Kill** cannot be undone, with any password. Try them on a spare tag first.","kind":"caution"},{"p":"Before you lock a bank, write a non-zero access password to the Reserved bank (words 2–3) and enter it in **Access Password**; a lock with password 0 leaves the tag unprotected."},{"p":"Choose the operation, antenna, password and an optional EPC filter."},{"table":{"head":["Operation","Parameters"],"rows":[["Read Bank","**Bank** (Reserved, EPC, TID or User), **Start Address** and **Block Count** in words. In the EPC bank, word 0 is the CRC, word 1 the PC and the EPC number starts at word 2."],["Write Bank","Bank, start address and the data in hex. Data must be whole words: a multiple of 4 hex characters."],["Write EPC","The new EPC in hex, whole words; a standard 96-bit EPC is 24 characters. ReaderSense updates the PC word for you."],["Lock Tag","**Lock Target** (EPC, TID, User, Kill password or Access password) and **Lock Type** (Unlock, Lock or Permanent)."],["Kill Tag","The tag's kill password (hex). A tag whose kill password is still 0 cannot be killed; write a kill password to the Reserved bank (words 0–1) first."]]}}]},{"k":"row","m":6,"s":"Reader Settings","h":"","t":"Antennas","kv":[["What you set there","Read and write power per port and the **In Use** ports (the same list as the top-bar Antennas panel)."]]},{"k":"row","m":6,"s":"Reader Settings","h":"","t":"Inventory","kv":[["What you set there","**Fast Mode Type**; **Read Duration** and **Read Interval** for Normal mode; **Gen2 Session**, **Target**, **Q Value** and **Link Profile**; an option that returns the TID with the EPC on tags whose chip supports it (for any tag, turn on **Additional Data 1**, which reads the TID bank by default); an option to report each tag only once until it leaves the field; **Additional Data** 1–3 (extra bank words returned with every tag) and the shared access password."]]},{"k":"row","m":6,"s":"Reader Settings","h":"","t":"Network","kv":[["What you set there","The reader's IP address, subnet mask and gateway. After **Set** the reader answers on the new address; reconnect from the Connect page."]]},{"k":"row","m":6,"s":"Reader Settings","h":"","t":"Advance","kv":[["What you set there","**Hop Mode**, **Max Dwell Time of Ant**, **Gen2 Write Mode**, tag data cache options, **Working Region** with its frequency hopping table, **Recover default frequencies** and **Restore module defaults**. Leave **Working Region** as it is: check that **Connect → Current Reader Settings** shows Region **IN** (India), and if it does not, contact Identium support rather than changing it here."]]},{"k":"row","m":6,"s":"Reader Settings","h":"","t":"GPIO","kv":[["What you set there","**GPI Trigger Operation**: start and stop inventory from an input such as a photo-eye or push button. **Tag Read GPO Trigger**: switch an output (GPO1–GPO5, GPO5 is the buzzer) each time a tag is read. Its hold timer restarts with every read, so a tag that stays in range keeps the output on; about 100 ms on GPO5 gives one beep per read."]]},{"k":"row","m":6,"s":"Reader Settings","h":"","t":"Last tab (after GPIO)","kv":[["What you set there","Extended air-protocol options. Leave them at their defaults unless Identium support advises otherwise."]]},{"k":"topic","m":6,"s":"Reader Settings","h":"","t":"Reader Settings","b":[{"p":"**Settings** holds the reader's own parameters, grouped in tabs. ReaderSense reads them from the reader when the page opens."},{"ul":["**Get** reads the current values from the reader. Click it before changing anything on a reader you did not just set up.","**Set** writes the values on the tab you are looking at.","**Perpetual** writes them and asks the reader to keep them after a power cycle. After using it, switch the reader off and on and click **Get** to confirm."]},{"table":{"head":["Tab","What you set there"],"rows":[["Antennas","Read and write power per port and the **In Use** ports (the same list as the top-bar Antennas panel)."],["Inventory","**Fast Mode Type**; **Read Duration** and **Read Interval** for Normal mode; **Gen2 Session**, **Target**, **Q Value** and **Link Profile**; an option that returns the TID with the EPC on tags whose chip supports it (for any tag, turn on **Additional Data 1**, which reads the TID bank by default); an option to report each tag only once until it leaves the field; **Additional Data** 1–3 (extra bank words returned with every tag) and the shared access password."],["Network","The reader's IP address, subnet mask and gateway. After **Set** the reader answers on the new address; reconnect from the Connect page."],["Advance","**Hop Mode**, **Max Dwell Time of Ant**, **Gen2 Write Mode**, tag data cache options, **Working Region** with its frequency hopping table, **Recover default frequencies** and **Restore module defaults**. Leave **Working Region** as it is: check that **Connect → Current Reader Settings** shows Region **IN** (India), and if it does not, contact Identium support rather than changing it here."],["GPIO","**GPI Trigger Operation**: start and stop inventory from an input such as a photo-eye or push button. **Tag Read GPO Trigger**: switch an output (GPO1–GPO5, GPO5 is the buzzer) each time a tag is read. Its hold timer restarts with every read, so a tag that stays in range keeps the output on; about 100 ms on GPO5 gives one beep per read."],["Last tab (after GPIO)","Extended air-protocol options. Leave them at their defaults unless Identium support advises otherwise."]]}},{"note":"**Restore module defaults** acts at once, with no confirmation. It resets the region, power and frequency table, and **Recover default frequencies** also rewrites the region. Afterwards, reconnect and check **Connect → Current Reader Settings** (Region **IN** for India, and the power) before you use the reader again.","kind":"caution"},{"p":"Settings → Inventory tab, Gen2 / Anti-Collision: session, target, Q value and link profile."}]},{"k":"row","m":6,"s":"Reader Settings","h":"Choosing the main inventory settings","t":"Gen2 Session","kv":[["Guidance","**Session0** re-reads tags constantly: use it for doorways, conveyors and moving tags. **Session2/3** keep a read tag quiet for seconds: use them for large populations that stay still."]]},{"k":"row","m":6,"s":"Reader Settings","h":"Choosing the main inventory settings","t":"Gen2 Q Value","kv":[["Guidance","Sets the anti-collision slots (about 2^Q). **Auto** lets the reader adapt and suits most sites."]]},{"k":"row","m":6,"s":"Reader Settings","h":"Choosing the main inventory settings","t":"Report once per tag","kv":[["Guidance","The option *each tag reports once until it leaves the field*. Keep it off for doorways, conveyors and counting tests."]]},{"k":"topic","m":6,"s":"Reader Settings","h":"Choosing the main inventory settings","t":"Choosing the main inventory settings","b":[{"table":{"head":["Setting","Guidance"],"rows":[["Gen2 Session","**Session0** re-reads tags constantly: use it for doorways, conveyors and moving tags. **Session2/3** keep a read tag quiet for seconds: use them for large populations that stay still."],["Gen2 Q Value","Sets the anti-collision slots (about 2^Q). **Auto** lets the reader adapt and suits most sites."],["Report once per tag","The option *each tag reports once until it leaves the field*. Keep it off for doorways, conveyors and counting tests."]]}}]},{"k":"topic","m":6,"s":"Peripherals: Inputs, Outputs and Buzzer","h":"","t":"Peripherals: Inputs, Outputs and Buzzer","b":[{"p":"Peripherals: live input states on the left, output switches and buzzer on the right."},{"ul":["**GPI Status** shows each input's current value, **1** or **0**. It refreshes every 2 seconds, and at once with the refresh button. Use it to check that a sensor is wired correctly: trigger the sensor and note the value its input shows before you set up a GPI trigger (Settings → GPIO, section 08).","**GPO Control**: click an output to switch it between Low and High. This acts at once and does not change any trigger settings.","**Buzzer · GPO 5** latches: click once to sound it, again to stop."]},{"note":"The page shows four inputs, four outputs and the buzzer. On IHZ4 and IHZ8 readers, **GPO1–GPO3** are relay outputs, **GPO4** is a solid-state output and **GPO5** drives the reader's buzzer. How many inputs are wired out on your reader, and the voltage ratings, are given in the reader's datasheet.","kind":"info"}]},{"k":"topic","m":6,"s":"Auto Mode: Reading Without a PC","h":"","t":"Auto Mode: Reading Without a PC","b":[{"p":"In Auto Mode the reader starts reading by itself at power-on and sends tag data straight to your server over TCP, HTTP or MQTT (or, on readers with that port, as keyboard, Wiegand or serial output) with no PC attached. Uploads over TCP, HTTP or MQTT need a reader with its own Ethernet, Wi-Fi or 4G connection. ReaderSense sets this up by the reader's IP address; you do not have to connect first."},{"p":"Advanced Parameter Configuration with Ethernet and HTTP selected. The Static Parameter Configuration tab next to it holds the reader's network, RF, antenna and inventory settings; sections for Wi-Fi, Bluetooth and 4G appear only on readers with that hardware."}]},{"k":"row","m":6,"s":"Auto Mode: Reading Without a PC","h":"Example: send tag reads to your server over HTTP","t":"TCP","kv":[["Fields to fill in","**Server Address** and **Port Number** of your TCP server."]]},{"k":"row","m":6,"s":"Auto Mode: Reading Without a PC","h":"Example: send tag reads to your server over HTTP","t":"HTTP","kv":[["Fields to fill in","**Upload URL**. Your server must answer each upload with HTTP 200 OK."]]},{"k":"row","m":6,"s":"Auto Mode: Reading Without a PC","h":"Example: send tag reads to your server over HTTP","t":"MQTT","kv":[["Fields to fill in","**Host Address**, **Port Number** (usually 1883), **Publish Topic** and QoS, optional subscribe topics, **Keepalive Time**, user name/password and TLS."]]},{"k":"row","m":6,"s":"Auto Mode: Reading Without a PC","h":"Example: send tag reads to your server over HTTP","t":"HID Keyboard / Wiegand","kv":[["Fields to fill in","HID: upload mode, EPC prefix/suffix and separators (the reader types each EPC). Wiegand: interface type, pulse timing, output interval and byte order."]]},{"k":"row","m":6,"s":"Auto Mode: Reading Without a PC","h":"Example: send tag reads to your server over HTTP","t":"RS-232 / RS-485 serial","kv":[["Fields to fill in","Choose **RS232 Serial Port** or **RS485 Serial Port** as the **Hardware Interface**, then set the matching **RS232 Serial Parameter** or **RS485 Serial Parameter** section on the **Static Parameter Configuration** tab (**Baud Rate**, **Data Bits**, **Stop Bits**, **Verification**)."]]},{"k":"topic","m":6,"s":"Auto Mode: Reading Without a PC","h":"Example: send tag reads to your server over HTTP","t":"Example: send tag reads to your server over HTTP","b":[{"ol":["Open **Auto Mode**, type the reader's address in **IP/Serial Port** and click **Get Parameters**.","On **Static Parameter Configuration**, check the **Ethernet Setting** (IP address, subnet mask, gateway, and DNS if your server address is a host name), **Ant Power**, the **Working Region** (it must show **India**), **Working Antenna** and **Device Type**. Click **Set Parameters**. Tick **Restart the device** if you changed network settings; the reader is back in about 20 seconds.","Open **Advanced Parameter Configuration** and click **Get Parameters**.","Under **Required Parameters**, choose the **Hardware Interface** the reader will use (Ethernet, WIFI or 4G for network uploads), set **Communication Protocol** to **HTTP**, and set the **Data Processing Cycle** (1000 ms uploads buffered reads every second).","Under **HTTP Parameters**, enter the **Upload URL** of your server.","Under **Event Subscription**, tick **Tag Data** (and **Heartbeat** if you want a regular sign of life). Under **Additional Parameters**, give the reader a **Reader Logical Name** and set **Initial Count Condition** to **Inventory** so it starts reading at power-on.","Click **Set Active**. ReaderSense reads the reader's full configuration, adds your changes and sends it back; the reader restarts. When **WorkState** shows **Active**, the message reads *Done — reader is in Active mode*."],"start":1},{"table":{"head":["Interface / protocol","Fields to fill in"],"rows":[["TCP","**Server Address** and **Port Number** of your TCP server."],["HTTP","**Upload URL**. Your server must answer each upload with HTTP 200 OK."],["MQTT","**Host Address**, **Port Number** (usually 1883), **Publish Topic** and QoS, optional subscribe topics, **Keepalive Time**, user name/password and TLS."],["HID Keyboard / Wiegand","HID: upload mode, EPC prefix/suffix and separators (the reader types each EPC). Wiegand: interface type, pulse timing, output interval and byte order."],["RS-232 / RS-485 serial","Choose **RS232 Serial Port** or **RS485 Serial Port** as the **Hardware Interface**, then set the matching **RS232 Serial Parameter** or **RS485 Serial Parameter** section on the **Static Parameter Configuration** tab (**Baud Rate**, **Data Bits**, **Stop Bits**, **Verification**)."]]}},{"p":"Choose only an interface your reader has; its datasheet lists the ports."}]},{"k":"topic","m":6,"s":"Auto Mode: Reading Without a PC","h":"Other options on the Advanced tab","t":"Other options on the Advanced tab","b":[{"ul":["**GPI Trigger Operation**, **Tag Read GPO Trigger** and **Tag JSON Format** (the fields sent with each tag) are stored in the reader for stand-alone use. **Client Confirmation** makes the reader expect an acknowledgement from your server after each upload and resend the upload if none arrives.","**Time Synchronization**: the reader's clock starts from zero at power-on. Subscribe to it if you need real timestamps; your server then answers the reader's time request.","**Network Timeout Restart** and **Abnormal Restart Time** restart the reader after that many minutes without a server or without reads. Keep them at 0 (off) unless you want that."]}]},{"k":"topic","m":6,"s":"Auto Mode: Reading Without a PC","h":"Taking a reader out of Auto Mode","t":"Taking a reader out of Auto Mode","b":[{"p":"Click **Revert to Passive**. The button switches the reader's work state, so check that **WorkState** now reads **Passive**; the reader then stops uploading and you can connect to it from the Connect page. For the message format your server receives, ask Identium support for the Auto Mode integration guide."},{"note":"**Clear Parameters** erases the Auto Mode configuration at once, with no confirmation. Click **Get Parameters** and note your settings first.","kind":"caution"}]},{"k":"fix","m":6,"s":"Troubleshooting","h":"Installing and connecting","t":"macOS: app \"is damaged and can't be opened\", or is blocked","cause":"Downloaded-file check by macOS","fix":"Right-click the app → **Open**, or **Privacy & Security → Open Anyway**. If it says damaged, run `xattr -cr \"/Applications/Identium ReaderSense.app\"`."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Installing and connecting","t":"macOS: note \"Mono runtime not found\" or \"Bridge unavailable\"","cause":"Mono is not installed","fix":"Install Mono (section 02), then quit ReaderSense fully (⌘Q) and open it again."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Installing and connecting","t":"The reader does not appear in the scan or ping fails","cause":"Computer and reader are on different subnets, or cable/power issue","fix":"Set the computer to the reader's subnet (section 04) and check the cable and power LED. If you have lost the reader's address, use the network scan; on readers with a RESET button, holding it for about 3 seconds while powered returns the address to 192.168.1.100."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Installing and connecting","t":"\"The reader is in use by another program on this PC: …\"","cause":"A reader accepts one connection at a time","fix":"Close the program named in the message and click **Connect** again."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Installing and connecting","t":"\"The reader did not respond in time\"","cause":"Reader still starting, busy, or held by software on another computer","fix":"Close other reader software on every computer, switch the reader off and on, wait 20 seconds and try again."},{"k":"topic","m":6,"s":"Troubleshooting","h":"Installing and connecting","t":"Installing and connecting","b":[{"p":"**Serial (COM): no reader found.** Install the driver of your USB-serial or USB-to-TTL adapter and check that its COM port shows in Windows Device Manager. For the ID-UM01 module, drive its EN pin high and allow about 100 ms after power-up before you connect."}]},{"k":"fix","m":6,"s":"Troubleshooting","h":"Reading tags","t":"Inventory runs but no tags appear","cause":"No tag in front of an antenna in use, or a tag filter is on","fix":"Tick **In Use** for the right ports, turn off **Enable in Inventory** in Tag Filter, clear the page Filter, then try **Retry in Normal mode**."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Reading tags","t":"A tag is read once and then is not reported again","cause":"*Each tag reports once* option on, or **Session2/3**","fix":"In Settings → Inventory untick *each tag reports once until it leaves the field* and use **Session0**."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Settings and region","t":"Settings are lost after the reader is switched off","cause":"Values were written with **Set**","fix":"Write them again with **Perpetual**, power-cycle and click **Get** to confirm."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Settings and region","t":"**Current Reader Settings** shows a Region other than **IN**","cause":"**Restore module defaults** or **Recover default frequencies** rewrote the region","fix":"Stop using the reader and contact Identium support."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Auto Mode","t":"WorkState is Active but no data arrives","cause":"**Tag Data** not subscribed, wrong Hardware Interface, server unreachable or not answering 200 OK","fix":"Tick **Tag Data**, choose the interface the reader really uses (WIFI and 4G are different choices), test the URL from the reader's network and make the server return 200 OK."},{"k":"fix","m":6,"s":"Troubleshooting","h":"Auto Mode","t":"The reader restarts on its own","cause":"A restart timer is set","fix":"Set **Network Timeout Restart** and **Abnormal Restart Time** to 0."},{"k":"topic","m":6,"s":"Troubleshooting","h":"Auto Mode","t":"Auto Mode","b":[{"p":"When you contact support, open **Connect → Versions & Serials → Copy All** and paste the line into your message, together with the ReaderSense version and a screenshot of the problem."}]},{"k":"topic","m":7,"s":"System Requirements","h":"","t":"System Requirements","b":[{"kv":[["Computer","Windows 10 or Windows 11, 64-bit"],["Mac","macOS on Apple silicon or Intel (Beta): works with printers on the network only"],["Printer","Identium IT4RL desktop RFID printer and encoder. On screen, TagSmith calls it \"Identium IT4R\"."],["Connection","USB cable (recommended); network (TCP/IP) where the printer has the network option"],["Data files","Excel (.xlsx) or CSV, optional"],["Label files","TagSmith designs (.ilabel); older Identium label files (.lsf) can be imported"],["Data folder","C:\\ProgramData\\Identium\\TagSmith (settings, label types and the record of tag numbers)"]]},{"note":"Use **one** label program per PC. Close any other label software before you start TagSmith, so that only one program talks to the printer.","kind":"info"}]},{"k":"topic","m":7,"s":"Install the Software","h":"Windows","t":"Windows","b":[{"p":"TagSmith comes as a **Setup** program (`Identium-TagSmith-Setup-4.1.0.exe`) and a **Portable** program (`Identium-TagSmith-Portable-4.1.0.exe`) that runs without installing. Use the Setup program on production PCs. Get the files from the Identium Resource Hub (identiumone.com/resourcehub) or from Identium support."},{"ol":["Download the Setup file. Right-click it, choose **Properties**, tick **Unblock** and press **OK**. This stops repeated Windows warnings.","Run the file. If Windows shows \"Windows protected your PC\", press **More info**, then **Run anyway**.","Follow the installer. Open TagSmith from the desktop shortcut or the Start menu.","Connect the printer with the USB cable and switch it on. Wait about 10 seconds. The printer appears in the status bar at the bottom of the window; if it does not, open **Printer** and press **Refresh**."],"start":1},{"note":"On a PC where Windows **Smart App Control** is on, the installer cannot run. Turn Smart App Control off for that PC (Windows Security › App and browser control), or ask Identium support.","kind":"caution"}]},{"k":"topic","m":7,"s":"Install the Software","h":"Updating from Identium Labelsoft","t":"Updating from Identium Labelsoft","b":[{"p":"Close the old app and make sure nothing is printing, then run the TagSmith 4.1.0 Setup. It removes the old Identium Labelsoft and moves its data folder to `C:\\ProgramData\\Identium\\TagSmith`, so your settings, label types and the record of tag numbers are kept. Never delete that folder: it is what stops a tag number being issued twice by mistake."}]},{"k":"topic","m":7,"s":"Install the Software","h":"Mac (Beta)","t":"Mac (Beta)","b":[{"ol":["Download the .dmg for your Mac: `-mac-arm64.dmg` for Apple silicon, `-mac-x64.dmg` for Intel.","Open it and drag **Identium TagSmith** into **Applications**.","The first time you open it, macOS may block it. Open **System Settings › Privacy & Security** and press **Open Anyway**.","On a Mac, add the printer by its network address: **Printer › Add network printer**. USB printers work on Windows only."],"start":1}]},{"k":"topic","m":7,"s":"Getting Started","h":"","t":"Getting Started","b":[{"p":"When TagSmith opens it asks what you want to print:"},{"ul":["**New label**: start from a tested label type or type your own size.","**Open a file**: a design saved before (.ilabel). The file keeps its size, layout, numbers and, after Calibrate, its printer settings.","**Import** an older Identium label file (.lsf).","**Start with an empty label** skips the question."]},{"p":"The first question when TagSmith opens"},{"p":"The Design page with an asset label: tools on the left, the label in the middle, Properties and Data on the right. The screens in this manual were taken with TagSmith's built-in printer simulator, so the printer shows as \"Identium IT4R simulator\"."}]},{"k":"row","m":7,"s":"Getting Started","h":"The five pages","t":"Design","kv":[["What it is for","Make and change labels: New, Open, Save, the tools (Text, Barcode, QR code, Data Matrix, PDF417, Line, Box, Circle, Picture, Write tag, Read tag) and the Properties and Data panels."]]},{"k":"row","m":7,"s":"Getting Started","h":"The five pages","t":"Printing","kv":[["What it is for","What the printer is doing now: progress, counters, Pause, Stop after this label, and Print more."]]},{"k":"row","m":7,"s":"Getting Started","h":"The five pages","t":"Printer","kv":[["What it is for","Is the printer ready; Feed one label, Calibrate, Print settings label, Printer Check, and Read tags."]]},{"k":"row","m":7,"s":"Getting Started","h":"The five pages","t":"History","kv":[["What it is for","Every job and every label with its tag number; Needs attention; Series; Export."]]},{"k":"row","m":7,"s":"Getting Started","h":"The five pages","t":"Settings","kv":[["What it is for","Machine-wide options and the log files."]]},{"k":"topic","m":7,"s":"Getting Started","h":"The five pages","t":"The five pages","b":[{"table":{"head":["Page","What it is for"],"rows":[["Design","Make and change labels: New, Open, Save, the tools (Text, Barcode, QR code, Data Matrix, PDF417, Line, Box, Circle, Picture, Write tag, Read tag) and the Properties and Data panels."],["Printing","What the printer is doing now: progress, counters, Pause, Stop after this label, and Print more."],["Printer","Is the printer ready; Feed one label, Calibrate, Print settings label, Printer Check, and Read tags."],["History","Every job and every label with its tag number; Needs attention; Series; Export."],["Settings","Machine-wide options and the log files."]]}}]},{"k":"topic","m":7,"s":"Create a Label Design","h":"","t":"Create a Label Design","b":[{"ol":["Press **New** (Ctrl+N).","For a roll that Identium has tested, press its card under **Start from a tested label**: the size, gap, sensor and roll direction are filled in. Otherwise fill in the fields yourself.","Type a **Name**. It also names the design's tag-number series.","Enter the **Size** (width across the print head, height along the feed), the **Media** (Gap, Black mark or Continuous) and the **Gap** between labels.","Choose **Tag** (Normal label or On-metal tag) and **Roll direction**. Keep **RFID label** on to add the tag number.","Press **Create**."],"start":1},{"p":"New label design: your own size"},{"p":"Five tested label types are built in: a flexible anti-metal tag 62 × 26.5 mm, an on-metal foam tag 60 × 28.4 mm, a windshield tag 99 × 28 mm, an asset tag 45 × 18 mm and an RFID label 73 × 20 mm."},{"p":"Every new design first shows how to load its roll: which way the tags face, and which label sensor to use."},{"note":"Measure the label with a ruler on the liner: the width, the height along the feed and the gap between two labels. Calibrate measures the label pitch and tells you if the size in the design is wrong.","kind":"tip"}]},{"k":"topic","m":7,"s":"Create a Label Design","h":"Label setup","t":"Label setup","b":[{"p":"**Label setup** (the button in the Properties panel) changes the label later:"},{"ul":["**Width, Height, Shape** and **Corner radius**. The shape is drawn on screen only; the printer prints the rectangle.","**Media**: Gap uses the gap sensor (DIP switch 5 down); Black mark uses the black-mark sensor (DIP 5 up).","**Tag** and **Roll direction**: some rolls encode only when loaded turned around. Calibrate tells you.","**Printing**: Ribbon (DIP 1 up) or Direct thermal (DIP 1 down). Printer Check compares it with the printer.","**Margins and offset** move the whole print; **Darkness** 0–20 and **Speed** set the print. Use 4 inch/s or slower for RFID labels."]},{"p":"Design › Label setup"}]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Text","kv":[["What it adds","Text in any font installed on the PC, with size, bold, italic, underline and alignment. Its **Data source** can join fixed text, a serial number, the date and time, a spreadsheet column, a value asked when printing, or the label number."]]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Barcode","kv":[["What it adds","Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, Interleaved 2 of 5 and Codabar, with the readable text above, below or off. Bars are whole printer dots, never scaled."]]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"QR code, Data Matrix, PDF417","kv":[["What it adds","Two-dimensional codes. **Use RFID EPC** makes the code carry the tag's own number."]]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Line, Box, Circle","kv":[["What it adds","Shapes"]]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Picture","kv":[["What it adds","A logo or an image file"]]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Write tag","kv":[["What it adds","The tag number written into the RFID tag (one per label). It is a command, not ink."]]},{"k":"row","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Read tag","kv":[["What it adds","Reads a tag's number into a value, for labels that print what the tag already holds"]]},{"k":"topic","m":7,"s":"Text, Barcodes and Pictures","h":"","t":"Text, Barcodes and Pictures","b":[{"p":"Pick a tool on the left and click or drag on the label. Double-click a text to edit it. Each item's settings are in the **Properties** panel on the right."},{"table":{"head":["Tool","What it adds"],"rows":[["Text","Text in any font installed on the PC, with size, bold, italic, underline and alignment. Its **Data source** can join fixed text, a serial number, the date and time, a spreadsheet column, a value asked when printing, or the label number."],["Barcode","Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, Interleaved 2 of 5 and Codabar, with the readable text above, below or off. Bars are whole printer dots, never scaled."],["QR code, Data Matrix, PDF417","Two-dimensional codes. **Use RFID EPC** makes the code carry the tag's own number."],["Line, Box, Circle","Shapes"],["Picture","A logo or an image file"],["Write tag","The tag number written into the RFID tag (one per label). It is a command, not ink."],["Read tag","Reads a tag's number into a value, for labels that print what the tag already holds"]]}},{"ul":["Drag a corner handle to resize. For text, barcodes and QR codes the content scales with the box.","The format bar under the toolbar sets font, size, style, alignment, rotation and equal spacing for everything selected.","**Show printer dots** shows the exact dots the printer will print.","Shortcuts: Ctrl+S save, Ctrl+P print, Ctrl+G group, Ctrl+Shift+G ungroup, Ctrl+' grid; the arrow keys move a selection 0.1 mm (with Shift, 1 mm)."]}]},{"k":"fix","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Excel or CSV data","t":"The spreadsheet has a formula instead of a value","cause":"","fix":"In Excel, copy the column and paste it as values, save, then open the file again."},{"k":"fix","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Excel or CSV data","t":"Excel changed a long number","cause":"","fix":"Format that column as Text, type the numbers again and save."},{"k":"fix","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Excel or CSV data","t":"A column used on the label is not in the data file","cause":"","fix":"On the Data tab, choose the right column."},{"k":"fix","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Excel or CSV data","t":"The data file has no rows","cause":"","fix":"Choose a data file with rows."},{"k":"topic","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Excel or CSV data","t":"Excel or CSV data","b":[{"ol":["Open the **Data** tab on the right and press **Choose CSV or Excel file**.","Select a text, barcode, QR code or the tag, and pick the spreadsheet **column** it should take its value from.","Print: each row of the file becomes one label. In the print window you can print all rows, a range of rows or one row."],"start":1}]},{"k":"topic","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Serial numbers","t":"Serial numbers","b":[{"p":"To count on a label, select a text or barcode, open its **Data source**, press **Add a part** and choose **Serial number**. Add a **Fixed text** part in front for a prefix, for example `AST-` then `000001`."},{"table":{"head":["Setting","Options"],"rows":[["Type","Numbers, Letters, Numbers and letters, Hexadecimal or a Custom sequence"],["Start","The first value, for example 000001"],["Direction","Increment or Decrement"],["Step","How much each label adds"],["Length","The number of characters, padded with zeros"]]}},{"p":"A serial number carries on across prints and designs that use the same name, and a number is used up only when its label prints. The Data tab shows the last value printed and the next ones."},{"p":"Data tab: the tag-number series and a serial number"}]},{"k":"topic","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Tag numbers (EPC)","t":"Tag numbers (EPC)","b":[{"p":"Select **RFID EPC** in the Layers list. Its **EPC numbers** card sets what each tag gets:"},{"ul":["**First EPC**: the first number of the series, for example `202600000000000000000001` (24 hexadecimal characters fill a 96-bit tag).","**Next label**: Count up +1, Count down −1, or Same on all (only for copies of one number).","**Count with**: Hex (…009, 00A) or Numbers only (…009, 010).","**Add QR of EPC** or **Add EPC text** prints the same number the tag receives, so the printed code and the tag always match."]},{"p":"The tag's EPC numbers card"}]},{"k":"topic","m":7,"s":"Data, Serial Numbers and Tag Numbers","h":"Numbers printed before","t":"Numbers printed before","b":[{"p":"TagSmith keeps a record of every tag number it has printed. A new design starts at its own first number. If this design printed a number before, the print window warns **\"This tag number was printed before\"**: tick the warning to print it again (destroy the old label first if it still carries a tag), or press **Continue after the last printed number** on the Data tab."}]},{"k":"topic","m":7,"s":"The Printer Page and Printer Check","h":"","t":"The Printer Page and Printer Check","b":[{"p":"Printer page: the printer, its status and the three main actions"},{"ul":["**Feed one label** pushes one blank label out.","**Calibrate** sets the printer up for the open design (next section).","**Print settings label** makes the printer print its own settings."]},{"p":"**Printer Check** reads the printer's DIP switches, label sensor, learned label length and tag settings (nothing moves) and compares them with the open design. Each problem is listed as **must fix**, **should fix** or **advice**, with the steps to fix it and, where a switch is wrong, a picture of the DIP switches. Some items have **Apply fix**: it shows exactly what will be sent to the printer, then **Send to printer** applies it."},{"p":"Printer Check on a black-mark design while the printer still uses its gap sensor: it says to move DIP switch 5 up and lists the steps in order."},{"note":"Always switch the printer **off** before you change a DIP switch. The printer reads its switches only when it is switched on.","kind":"caution"}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"","t":"Calibrate a Roll","b":[{"p":"**Calibrate** is one guided screen for the design that is open (**Printer › Calibrate**). Run it once after loading a roll, after changing the label size, gap or sensor, and whenever the print is shifted or tags are not written. The result is remembered until you close TagSmith. A design without RFID has three steps; an RFID design has six."},{"p":"Step 1, Check the printer: everything matches, so the next step is Labels."}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"Step 1. Check the printer","t":"Step 1. Check the printer","b":[{"p":"Press **Check printer**. Fix every red item first (see the Printer Check above), then press **Next: labels**."}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"Step 2. Labels","t":"Step 2. Labels","b":[{"p":"Step 2: the measured labels match the design"},{"p":"Press **Teach labels**. The printer feeds a few blank labels and measures where each label starts. If the labels are a different length from the design, TagSmith says so and offers to keep your label height with the measured gap, or to keep your size. If it suggests a different **sensor level**, press it, switch the printer off and on, and teach again."},{"p":"The blank labels can be used: open the head, roll them back, close the head and press FEED once."}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"Step 3. Tags","t":"Step 3. Tags","b":[{"ul":["For a tested label type, press **Use the tested settings**. For a design you calibrated and saved before, press **Use the settings saved in this file** (new in 4.1). Both skip the tag map and save about 15 blank labels.","Otherwise press **Calibrate tags**. The printer feeds about 15 blank labels and maps where the tags answer (up to 4 minutes; keep the head closed). TagSmith then sets the tag position, the power and the band (865.0 MHz), and writes only the tag over the antenna. Nothing is written into the tags yet."]}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"Step 4. Switch the printer off and on","t":"Step 4. Switch the printer off and on","b":[{"p":"The new tag settings need one restart: switch the printer off, wait a few seconds and switch it on. TagSmith waits for the printer to come back."}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"Step 5. Test labels","t":"Step 5. Test labels","b":[{"p":"Step 5: print two test labels, or (new in 4.1) skip the test print and save when you are sure of the roll."},{"ol":["Press **Print 2 test labels**. The printer feeds one blank label to line up, then prints two labels with a thin frame and TEST 1 / TEST 2. Each writes its own test number into its tag.","Tear off the last label (TEST 2), hold it at least a metre from the printer and read its tag with a handheld reader.","Press the button that matches the end of the number: **its own number** (the tag is on its own label), **the number of TEST 1** (the tag lands one label ahead, so each print starts with a blank label), or **Nothing, or another number**.","Check the frame: it should sit about 1 mm inside every edge. Use **Up**, **Down**, **Left**, **Right** (0.5 mm per press) and **Print 1 label to check**, then press **The print is in place: finish**."],"start":1},{"p":"Which label received the test tag?"},{"p":"**No tag written?** Press **I have turned the roll around: test again** after loading the roll the other way round, or **Write stronger** (more write power) and test again. On-metal tags cannot be turned around: check the sensor position, then use Write stronger."}]},{"k":"topic","m":7,"s":"Calibrate a Roll","h":"Step 6. Ready to print","t":"Step 6. Ready to print","b":[{"p":"Step 6: the saved settings"},{"p":"The screen lists the label size, the measured pitch, the tag position, the powers and how many labels ahead the tag lands. They are saved as a **label type** and stored in the design. Press **Go to Design and print**, and throw the test labels away."},{"note":"Save the design (Ctrl+S) after Calibrate. Any PC that opens the file gets its printer settings, and Calibrate offers **Use the settings saved in this file**.","kind":"tip"}]},{"k":"topic","m":7,"s":"Print and Encode","h":"","t":"Print and Encode","b":[{"p":"Press **Print** (Ctrl+P) in Design. The print window shows the first label and its tag number."},{"table":{"head":["Part","What to do"],"rows":[["Printer","The printer TagSmith will use and whether it is ready; **Choose another printer** to change it."],["Quantity, Copies","How many different labels (each gets the next number) and copies of each."],["Failed tags","New in 4.1: see below."],["Operator","Your name, saved with every label of a production print."],["Check before printing","TagSmith checks the printer and every label. Red items stop the print; tick each warning you have read. **Check again** repeats it."]]}},{"p":"Press **Print**."},{"p":"The print window (right-hand side)"}]},{"k":"topic","m":7,"s":"Print and Encode","h":"Failed tags are printed again by themselves (new in 4.1)","t":"Failed tags are printed again by themselves (new in 4.1)","b":[{"p":"Turn on **Print the number again by itself, stop after N failed labels** (3 by default). When a tag cannot be written, the printer stops with READY and MEDIA flashing in turn: press **CANCEL** on the printer and set the failed label aside. TagSmith prints the same number on the next label and carries on, and the job stops at the Nth failed label. With the switch off, TagSmith asks you what to do each time (below)."},{"p":"A failed label: its number is printed again on the next label."}]},{"k":"row","m":7,"s":"Print and Encode","h":"While a job runs","t":"Pause","kv":[["What it does","Pauses; READY flashes on the printer. Press **Resume** to go on."]]},{"k":"row","m":7,"s":"Print and Encode","h":"While a job runs","t":"Stop after this label","kv":[["What it does","Ends the job cleanly after the label at the printer now."]]},{"k":"row","m":7,"s":"Print and Encode","h":"While a job runs","t":"Abort now…","kv":[["What it does","Stops at once, after you confirm. Use it only when the printer is stuck."]]},{"k":"row","m":7,"s":"Print and Encode","h":"While a job runs","t":"Print more","kv":[["What it does","When the job has finished: prints the same design again with the same printer and options. Numbers carry on from the last label."]]},{"k":"row","m":7,"s":"Print and Encode","h":"While a job runs","t":"Export","kv":[["What it does","The Labels list exports this job, or every label printed from this file, to Excel, CSV or text."]]},{"k":"topic","m":7,"s":"Print and Encode","h":"While a job runs","t":"While a job runs","b":[{"p":"The Printing page: progress, counters, the label now printing and every label's tag number. Each label is confirmed by the printer before the next one is sent."},{"table":{"head":["Control","What it does"],"rows":[["Pause","Pauses; READY flashes on the printer. Press **Resume** to go on."],["Stop after this label","Ends the job cleanly after the label at the printer now."],["Abort now…","Stops at once, after you confirm. Use it only when the printer is stuck."],["Print more","When the job has finished: prints the same design again with the same printer and options. Numbers carry on from the last label."],["Export","The Labels list exports this job, or every label printed from this file, to Excel, CSV or text."]]}}]},{"k":"topic","m":7,"s":"Print and Encode","h":"When TagSmith asks about a failed tag","t":"When TagSmith asks about a failed tag","b":[{"p":"A tag could not be written: TagSmith walks you through it"},{"ol":["**Clear the printer**: press CANCEL on the printer until READY stays on. TagSmith ticks this step when the printer is ready.","**Put the failed label in the reject bin**: type the last 4 characters of its number, or scan the label.","**Decide**: **Re-issue EPC on the next tag** (the same number goes on the next label), **Void EPC** (the number is never used) or **Stop job** (the label waits in History › Needs attention).","Press **Confirm**. The decision is recorded with your name and the time."],"start":1}]},{"k":"row","m":7,"s":"History and Export","h":"","t":"Jobs","kv":[["What it shows","Each print: when, which design and printer, done / total, failed, result and duration."]]},{"k":"row","m":7,"s":"History and Export","h":"","t":"Labels","kv":[["What it shows","Every label with its tag number, state (Done, Fault, Void, Re-issued, Test…), operator and reason; filter and export."]]},{"k":"row","m":7,"s":"History and Export","h":"","t":"Needs attention","kv":[["What it shows","Labels TagSmith could not confirm. Decide each one: print this number again, skip it, or mark it done if the label came out good. Until then its number is held."]]},{"k":"row","m":7,"s":"History and Export","h":"","t":"Series","kv":[["What it shows","The tag-number and serial-number series and where each stands."]]},{"k":"row","m":7,"s":"History and Export","h":"","t":"Export","kv":[["What it shows","Exports labels to Excel, CSV or text."]]},{"k":"topic","m":7,"s":"History and Export","h":"","t":"History and Export","b":[{"p":"History › Jobs"},{"table":{"head":["Tab","What it shows"],"rows":[["Jobs","Each print: when, which design and printer, done / total, failed, result and duration."],["Labels","Every label with its tag number, state (Done, Fault, Void, Re-issued, Test…), operator and reason; filter and export."],["Needs attention","Labels TagSmith could not confirm. Decide each one: print this number again, skip it, or mark it done if the label came out good. Until then its number is held."],["Series","The tag-number and serial-number series and where each stands."],["Export","Exports labels to Excel, CSV or text."]]}},{"p":"History › Labels: a failed tag shows as Re-issued, with the reason and the operator."}]},{"k":"topic","m":7,"s":"Read Tags on a Roll","h":"","t":"Read Tags on a Roll","b":[{"p":"Printer › Read tags: ten tags read from a roll"},{"ol":["Load the roll and open **Printer › Read tags**. Nothing is printed or written.","Choose **How many labels** (or Until I stop) and the read power.","Press **Start reading**. The printer reads the tag at the antenna, feeds one label and reads the next. The counters show tags read, unique tags, labels with no tag and duplicates.","Export the list to Excel, CSV or text, or press **Copy all EPCs**."],"start":1}]},{"k":"row","m":7,"s":"Settings","h":"","t":"RFID › Require a label type","kv":[["Default","Off"],["What it does","On: production RFID jobs need a saved, applied label type. Off: missing steps show as warnings."]]},{"k":"row","m":7,"s":"Settings","h":"","t":"RFID › Check each tag before writing it (pre-read)","kv":[["Default","Off"],["What it does","Keep it off on the IT4RL."]]},{"k":"row","m":7,"s":"Settings","h":"","t":"RFID › Already-encoded tag seen","kv":[["Default","Stop"],["What it does","Stop, or warn and continue"]]},{"k":"row","m":7,"s":"Settings","h":"","t":"RFID › Write each tag one label ahead","kv":[["Default","Auto"],["What it does","Auto: short labels (30 mm with the gap or less) carry the next label's number. Always, or Never."]]},{"k":"row","m":7,"s":"Settings","h":"","t":"RFID › How many labels ahead","kv":[["Default","Set by Calibrate"],["What it does","Blank labels at the start of each print (0 to 3)"]]},{"k":"row","m":7,"s":"Settings","h":"","t":"RFID › No tag at the antenna","kv":[["Default","Stop"],["What it does","Stop, or print a VOID label"]]},{"k":"row","m":7,"s":"Settings","h":"","t":"UI › Require an operator name","kv":[["Default","—"],["What it does","Production prints need a name. Test prints never do."]]},{"k":"row","m":7,"s":"Settings","h":"","t":"UI › Alert sound","kv":[["Default","—"],["What it does","Beep and flash the taskbar when a job waits for you"]]},{"k":"topic","m":7,"s":"Settings","h":"","t":"Settings","b":[{"p":"Settings are machine-wide: they apply to every Windows user of the PC. Change only the ones below unless Identium support asks."},{"table":{"head":["Setting","Default","What it does"],"rows":[["RFID › Require a label type","Off","On: production RFID jobs need a saved, applied label type. Off: missing steps show as warnings."],["RFID › Check each tag before writing it (pre-read)","Off","Keep it off on the IT4RL."],["RFID › Already-encoded tag seen","Stop","Stop, or warn and continue"],["RFID › Write each tag one label ahead","Auto","Auto: short labels (30 mm with the gap or less) carry the next label's number. Always, or Never."],["RFID › How many labels ahead","Set by Calibrate","Blank labels at the start of each print (0 to 3)"],["RFID › No tag at the antenna","Stop","Stop, or print a VOID label"],["UI › Require an operator name","—","Production prints need a name. Test prints never do."],["UI › Alert sound","—","Beep and flash the taskbar when a job waits for you"]]}}]},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"No tag is written","cause":"Roll loaded the wrong way, power too low, DIP 2 down","fix":"Printer Check (DIP 2 must be up). Calibrate › Step 5: Write stronger, or turn the roll around and test again."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"The tag number is on the next or previous label","cause":"The tag lands ahead of the printed label","fix":"Calibrate › Step 5 and answer the test question; TagSmith sets the labels ahead."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"The print runs across two labels or is shifted","cause":"The design size does not match the roll, or the sensor level","fix":"Calibrate › Step 2: accept the measured size, then set the sensor level if offered, and teach again."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"READY and MEDIA flash together (labels not found)","cause":"Labels not under the guide or over the sensor; wrong sensor (DIP 5); dirty sensor","fix":"Check the label path, close the head, press FEED once, check DIP 5, clean the sensor window, teach again."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"READY and MEDIA flash in turn (tag not written)","cause":"One tag could not be written","fix":"Press CANCEL, set the label aside. If many fail: Calibrate › Write stronger, or calibrate the tags again."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"\"The RFID band is set to …\"","cause":"Another program changed the band","fix":"Printer Check › Apply fix (865.0 MHz), then Calibrate › Step 3."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"\"Calibrate the labels in the printer first\"","cause":"Calibrate has not run for this printer and size since TagSmith started","fix":"Printer › Calibrate › Calibrate. Once per session."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"\"This tag number was printed before\"","cause":"The number is already in the record","fix":"Tick the warning to print it again, or Data tab › Continue after the last printed number."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"A00A instead of A010","cause":"The number counts in hexadecimal","fix":"EPC numbers › Count with: Numbers only."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"Blank labels at the start of each print","cause":"The tag lands ahead, so blanks are needed","fix":"Normal for that roll; throw them away."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"\"The printer is busy with another task\"","cause":"Calibrate or Read tags is still running, or another program holds the printer","fix":"Wait for it to finish; close other label software."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"\"The printer is not connected\"","cause":"Power, USB cable, or another program","fix":"Check power and cable, close other label programs, press Refresh on the Printer page."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"The settings label is not in English","cause":"The printer's factory language","fix":"Run Calibrate once, then Print settings label again."},{"k":"fix","m":7,"s":"Troubleshooting","h":"","t":"The print is faint or has a white line","cause":"Darkness low, speed high, dirty head","fix":"Raise Darkness by 1–2, print at 4 inch/s or slower, clean the print head with alcohol."},{"k":"topic","m":7,"s":"Troubleshooting","h":"If a print stops in the middle","t":"If a print stops in the middle","b":[{"ol":["Press CANCEL on the printer if its lights flash, and wait until READY stays on.","Set aside the labels that failed. Never reuse a label whose tag already has a number.","Decide each label in **History › Needs attention**.","If many labels failed, run Calibrate again before printing the rest, then use **Print more**."],"start":1},{"note":"For support, open **Settings › Logs**: the log files help Identium find the cause quickly.","kind":"info"}]},{"k":"topic","m":8,"s":"Packing List","h":"","t":"Packing List","b":[{"p":"The UCR10 is sold on its own and as the **Starter UHF Evaluation Kit (UCR10-EVK)**. The kit contains:"},{"table":{"head":["Item","In the kit"],"rows":[["UCR10 USB Type-C UHF reader","1"],["UHF RFID sample tags and labels","An assortment for the items you plan to tag; the mix is confirmed with your order"],["UCR10 Flow Android app","Free download from the Resource Hub, no licence fee"]]}},{"p":"Developers can download the UCR10 SDK from the Resource Hub (section 12)."},{"note":"The host is your own phone or tablet: Android 7.0 or later with a USB-C port and USB host (OTG) support, which most current phones have.","kind":"info"},{"p":"UCR10-EVK: the reader and sample UHF tags and labels"}]},{"k":"topic","m":8,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"table":{"head":["Part","Where it is and what it does"],"rows":[["**USB Type-C plug**","On the top edge. It goes straight into the USB-C port of the phone or tablet; power and data both come through it."],["**Reader body**","The complete UHF reader, under 80 g, with the RFID mark on the front. It has no battery: it runs on the power of the device it is plugged into."]]}},{"p":"UCR10, front view"},{"p":"The UCR10 works in one of two modes, and the reader remembers which one it is in:"},{"ul":["**Answer mode**: An app drives the reader: UCR10 Flow on Android (sections 05–10), or your own app built with the Identium UCR10 SDK (section 12).","**Keyboard mode**: The reader reads on its own and types each tag into whichever app has the cursor, like a USB keyboard — for example on a USB-C iPhone (section 11)."]}]},{"k":"topic","m":8,"s":"Power On/Off and Connecting","h":"","t":"Power On/Off and Connecting","b":[{"p":"The UCR10 takes its power from the device it is plugged into, so there is nothing to charge or pair. Install UCR10 Flow first (section 05), then:"},{"ol":["**Power on:** plug the UCR10 into the phone's USB-C port, the way a charging cable would go in.","When Android asks, allow **UCR10 Flow** to use the reader. Tick **Always open** so it connects straight away next time.","The reader pill at the top right of the app shows **● UCR10** when the reader is ready.","**Power off:** stop any scan and unplug the reader."],"start":1},{"note":"Nothing happens when you plug it in? Some phones (Xiaomi, Redmi, OnePlus, Oppo, Vivo, Realme) keep USB OTG off until you turn it on: open the phone's **Settings** and search for **OTG**. Some switch it off again after a few idle minutes.","kind":"tip"},{"note":"The UCR10 runs on the phone's battery, so the battery drains faster while you scan. Start a long count with a charged phone: below about 15% some phones stop powering USB devices. The USB-C port is in use while the reader is plugged in.","kind":"caution"}]},{"k":"row","m":8,"s":"Controls and Indicators","h":"","t":"Round **Start / Stop** button","kv":[["Where","Scan and Custom screens"],["What it does","Starts and stops reading tags."]]},{"k":"row","m":8,"s":"Controls and Indicators","h":"","t":"Phone **volume keys**","kv":[["Where","Scan, Custom and Config screens"],["What it does","Press or hold a volume key to scan. On by default; change it in Settings › Data Acquisition (Trigger Mode: hold to scan, or one tag per press). On the Config screen a press runs **EXECUTE** (section 09)."]]},{"k":"row","m":8,"s":"Controls and Indicators","h":"","t":"**Power** chip","kv":[["Where","Scan and Custom screens"],["What it does","Opens the RF power slider, 5–26 dBm. Lower power reads only nearby tags."]]},{"k":"row","m":8,"s":"Controls and Indicators","h":"","t":"**Reader pill**","kv":[["Where","Top right of every screen"],["What it does","Shows the reader's state. Tap it for details and help."]]},{"k":"topic","m":8,"s":"Controls and Indicators","h":"","t":"Controls and Indicators","b":[{"p":"You control the UCR10 from the phone. These are the controls UCR10 Flow gives you:"},{"table":{"head":["Control","Where","What it does"],"rows":[["Round **Start / Stop** button","Scan and Custom screens","Starts and stops reading tags."],["Phone **volume keys**","Scan, Custom and Config screens","Press or hold a volume key to scan. On by default; change it in Settings › Data Acquisition (Trigger Mode: hold to scan, or one tag per press). On the Config screen a press runs **EXECUTE** (section 09)."],["**Power** chip","Scan and Custom screens","Opens the RF power slider, 5–26 dBm. Lower power reads only nearby tags."],["**Reader pill**","Top right of every screen","Shows the reader's state. Tap it for details and help."]]}}]},{"k":"fix","m":8,"s":"Controls and Indicators","h":"Reader pill","t":"**● UCR10** (green)","cause":"Connected and ready.","fix":"Tap for the reader's details and the switch to keyboard mode."},{"k":"fix","m":8,"s":"Controls and Indicators","h":"Reader pill","t":"**● ALLOW USB**","cause":"Android has not given UCR10 Flow access to the reader yet.","fix":"Tap the pill › **Try again**, then allow access."},{"k":"fix","m":8,"s":"Controls and Indicators","h":"Reader pill","t":"**● NO READER**","cause":"No UCR10 found.","fix":"Plug the reader in fully; check the phone's OTG setting."},{"k":"fix","m":8,"s":"Controls and Indicators","h":"Reader pill","t":"**● READER ERROR**","cause":"The reader is not answering.","fix":"Unplug it and plug it back in."},{"k":"fix","m":8,"s":"Controls and Indicators","h":"Reader pill","t":"**● KEYBOARD MODE**","cause":"The reader is typing into other apps by itself (section 11).","fix":"Tap the pill › **Use in UCR10 Flow** to use it in the app again."},{"k":"topic","m":8,"s":"Controls and Indicators","h":"Reader pill","t":"Reader pill","b":[{"p":"UCR10 Flow beeps and vibrates through the phone each time it reads a new tag; to alert on every read, change Settings › Feedback."}]},{"k":"topic","m":8,"s":"Install UCR10 Flow","h":"","t":"Install UCR10 Flow","b":[{"p":"UCR10 Flow is Identium's Android app for the UCR10: it counts and audits tags, saves sessions, exports Excel and PDF reports, and reads, writes and locks tags. It is the phone version of CX Flow Pro, the app on Identium's CX1500N handheld, so the same workflows carry over."},{"kv":[["App","UCR10 Flow 1.1.0 (free, no licence fee)"],["Phone or tablet","Android 7.0 or later with a USB-C port and USB host (OTG)"],["Download","www.identiumone.com/resourcehub/ › **UCR10 Flow — Type-C Reader App**"]]},{"ol":["On the phone, open the Resource Hub and download **UCR10 Flow — Type-C Reader App** (an .apk file).","Open the downloaded file. If Android asks, allow your browser or file manager to install apps, then tap **Install**. If Play Protect warns about the app, tap **More details › Install anyway**.","Open **UCR10 Flow** and plug in the UCR10. Allow access when Android asks (section 03).","Check that the reader pill shows **● UCR10**."],"start":1},{"p":"UCR10 Flow opens on the Scan screen"}]},{"k":"row","m":8,"s":"Install UCR10 Flow","h":"Bottom bar","t":"**Custom**","kv":[["Use it to","Audit tags against your own Excel sheet (section 08)"]]},{"k":"row","m":8,"s":"Install UCR10 Flow","h":"Bottom bar","t":"**Tracking**","kv":[["Use it to","Single-tag finder. In India, find tags with **Scan** or **Custom**."]]},{"k":"row","m":8,"s":"Install UCR10 Flow","h":"Bottom bar","t":"**Scan**","kv":[["Use it to","Count tags (section 06)"]]},{"k":"row","m":8,"s":"Install UCR10 Flow","h":"Bottom bar","t":"**Config**","kv":[["Use it to","Read, write and lock tag memory (section 09)"]]},{"k":"row","m":8,"s":"Install UCR10 Flow","h":"Bottom bar","t":"**More**","kv":[["Use it to","Settings and Inventory history (sections 07, 10)"]]},{"k":"topic","m":8,"s":"Install UCR10 Flow","h":"Bottom bar","t":"Bottom bar","b":[{"table":{"head":["Tab","Use it to"],"rows":[["**Custom**","Audit tags against your own Excel sheet (section 08)"],["**Tracking**","Single-tag finder. In India, find tags with **Scan** or **Custom**."],["**Scan**","Count tags (section 06)"],["**Config**","Read, write and lock tag memory (section 09)"],["**More**","Settings and Inventory history (sections 07, 10)"]]}}]},{"k":"topic","m":8,"s":"Count Tags (Scan)","h":"","t":"Count Tags (Scan)","b":[{"ol":["Open **Scan** (the screen titled **Scanner**) and check the pill shows **● UCR10**.","Hold the phone so the reader faces the tags and tap the round **Start** button (or press a volume key).","Each tag appears once in the list. The big number is **Unique Tags Found**; the green counter at the top right is the total number of reads.","Tap the **Stop** button to finish.","Tap any tag in the stopped list to see its EPC, TID, User data, RSSI and read count."],"start":1},{"h":"Each row shows"},{"ul":["Position in the list, type (**RFID**) and the tag's **EPC**.","The read count (**x94** = read 94 times), signal strength in **dBm** (closer to 0 is stronger) and an approximate distance label from **Very Close** to **Very Far**.","The time the tag was last read."]},{"p":"Live inventory while scanning"},{"h":"Icons above the list"},{"table":{"head":["Icon","What it does"],"rows":[["Stopwatch","Auto-stop: scanning stops by itself after the number of seconds you enter. Leave 0 to scan until you stop it."],["Bin (red)","Clears the list and the counters."],["Folder","Loads a saved session into the current list."],["Disk","Saves the list as a session (section 07)."],["Download arrow","Exports the list as Excel or PDF (section 07)."],["›","Hides or shows the icons."],["Filter box","Type one or more EPCs, separated by commas, to show only those tags."],["Power chip","Sets the RF power, 5–26 dBm."]]}},{"p":"Tap a stopped tag for its details"},{"note":"To read only the tags in front of you (one shelf, one tray), lower the power with the **Power** chip. The UCR10 reads up to 1.5 m at full power; tags on metal or near liquid read at shorter range.","kind":"tip"}]},{"k":"topic","m":8,"s":"Save, Reopen and Export","h":"","t":"Save, Reopen and Export","b":[{"p":"Export as Excel or PDF More › Inventory: saved sessions"}]},{"k":"topic","m":8,"s":"Save, Reopen and Export","h":"Save a session","t":"Save a session","b":[{"ol":["After a count, tap the **disk** icon on the Scan screen.","Type a name (for example the shelf or room) and tap **Save**. A scan in progress stops first."],"start":1},{"p":"Name the session, then Save"}]},{"k":"topic","m":8,"s":"Save, Reopen and Export","h":"Export the list","t":"Export the list","b":[{"ol":["Tap the **download arrow** and choose **Export as Excel (.xlsx)** or **Export as PDF**.","Android's share sheet opens: send the file by email or chat, or save it to Drive or the phone."],"start":1},{"p":"The export has one row per tag: Type, EPC / Code, TID, User, Barcode, Time, Peak RSSI and Count. With a filter on, only the tags on screen are saved or exported."}]},{"k":"topic","m":8,"s":"Save, Reopen and Export","h":"Inventory history","t":"Inventory history","b":[{"ul":["Open **More › Inventory** to see every saved session with its tag count and total reads.","Search by name, and sort by **Latest first**, **Oldest first**, **Most tags first** or **Fewest tags first**.","Tap a card to view its tags. The **document** and **grid** icons export that session as PDF or Excel; the red **bin** deletes it.","To add a saved session to the current list, tap the **folder** icon on the Scan screen."]}]},{"k":"row","m":8,"s":"Audit Against a Spreadsheet (Custom)","h":"","t":"E28068940000501A2B3C0001","kv":[["Item","Laptop 01"],["Category","IT"],["Location","Backroom"]]},{"k":"row","m":8,"s":"Audit Against a Spreadsheet (Custom)","h":"","t":"E28068940000501A2B3C0002","kv":[["Item","Chair 11"],["Category","Furniture"],["Location","Office 2"]]},{"k":"topic","m":8,"s":"Audit Against a Spreadsheet (Custom)","h":"","t":"Audit Against a Spreadsheet (Custom)","b":[{"p":"Custom › Scan: 11 of 14 items found Custom › Dashboard, grouped by Category"},{"ol":["Make an Excel sheet (.xlsx) with an **EPC** column and an **item name** column. Add any other columns you need, such as Category or Location; they are kept and shown for each item."],"start":1},{"table":{"head":["EPC","Item","Category","Location"],"rows":[["E28068940000501A2B3C0001","Laptop 01","IT","Backroom"],["E28068940000501A2B3C0002","Chair 11","Furniture","Office 2"]]}},{"p":"Example sheet: one row per tagged item. Headings such as EPC, Item or Name are recognised."},{"ol":["Copy the sheet to the phone, open **Custom** and tap **IMPORT SHEET** (once a sheet is loaded, the blue sheet icon at the top right imports a new one).","If asked, choose which column holds the item name and tap **Use column**.","Tap **Start** and walk the area. Each item read gets a green **FOUND** badge, and the counter shows **items found / total**.","Use the search box (item or EPC) and the **ALL** filter to look through the list.","Open **Dashboard** and pick a **Group By** column to see Audit Completion, Found vs Expected, Stock Mix, Items Per Group, Still Missing and Scan Progress.","Tap the black **download arrow** at the top right to export the report as Excel or PDF."],"start":2}]},{"k":"row","m":8,"s":"Read, Write and Lock Tags (Config)","h":"","t":"**Read**","kv":[["Fields","Memory bank (Reserved, EPC, TID, User), start address, data length"],["Notes","Address and length are in words (1 word = 2 bytes). Use the copy icon to copy the result."]]},{"k":"row","m":8,"s":"Read, Write and Lock Tags (Config)","h":"","t":"**Write**","kv":[["Fields","Memory bank, start address, data (hex)"],["Notes","With the **EPC** bank the field becomes **New EPC (hex)**. Keep the new EPC the same length as the old one (24 hex digits for most tags). TID is read-only."]]},{"k":"row","m":8,"s":"Read, Write and Lock Tags (Config)","h":"","t":"**Lock**","kv":[["Fields","Lock area (Kill Password, Access Password, EPC, TID, User) and lock type (Unlock, Lock, Perma-Lock)"],["Notes","Set a non-zero access password on the tag first: with `00000000` a lock gives no real protection."]]},{"k":"row","m":8,"s":"Read, Write and Lock Tags (Config)","h":"","t":"**Destroy**","kv":[["Fields","The tag's kill password, in the password field"],["Notes","Permanently disables the tag. Needs a non-zero kill password already set on the tag."]]},{"k":"topic","m":8,"s":"Read, Write and Lock Tags (Config)","h":"","t":"Read, Write and Lock Tags (Config)","b":[{"note":"Config works on **one tag at a time**: the tag nearest the reader. Keep the power low (about 8–12 dBm; the slider on this screen is separate from the Scan power) and keep other tags away. **Perma-Lock** and **Destroy** can never be undone: try them on a spare tag first. On this screen a volume-key press runs **EXECUTE**, Perma-Lock and Destroy included, with no confirmation: turn off **Volume keys trigger scan** (Settings › Data Acquisition) before you lock or destroy tags.","kind":"caution"},{"p":"Left to right: read the TID of the nearest tag; write a new EPC; lock or unlock a memory area."},{"ol":["Open **Config** and set **Power**.","Choose the **Operation Mode**: Read, Write, Lock or Destroy.","Fill in the fields (see the table). The access password is `00000000` unless one was set on the tag.","Hold **one** tag close to the reader and tap **EXECUTE**. The app shows the result and the **Target** EPC it worked on."],"start":1},{"table":{"head":["Mode","Fields","Notes"],"rows":[["**Read**","Memory bank (Reserved, EPC, TID, User), start address, data length","Address and length are in words (1 word = 2 bytes). Use the copy icon to copy the result."],["**Write**","Memory bank, start address, data (hex)","With the **EPC** bank the field becomes **New EPC (hex)**. Keep the new EPC the same length as the old one (24 hex digits for most tags). TID is read-only."],["**Lock**","Lock area (Kill Password, Access Password, EPC, TID, User) and lock type (Unlock, Lock, Perma-Lock)","Set a non-zero access password on the tag first: with `00000000` a lock gives no real protection."],["**Destroy**","The tag's kill password, in the password field","Permanently disables the tag. Needs a non-zero kill password already set on the tag."]]}}]},{"k":"topic","m":8,"s":"Settings and AI Sense","h":"","t":"Settings and AI Sense","b":[{"p":"Open **More › Settings**. The tabs across the top group the settings. Tap **SAVE SETTINGS** at the bottom of a tab to keep your changes."},{"table":{"head":["Tab","Settings"],"rows":[["**Data Acquisition**","Volume-key trigger; Scan Source (UHF RFID, camera barcode / QR, or both); Output Format (EPC, TID, User ID, Barcode, Time); Prefix, Terminator, Trigger Mode"],["**Reader**","Power (5–26 dBm), Region, Session (S0–S3), Target. Sent to the reader when you open Scan, Custom or Config."],["**LED Tags**","For LED-equipped tags. Leave it off unless Identium confirms your LED tags."],["**Feedback**","Beep, beep length and volume, vibration, button haptics; alert on new tags only or on every read"],["**Keyboard & Auto**","Keyboard mode (section 11) and Auto Mode"],["**Appearance**","Theme: System, Light or Dark"],["**Data**","Reset settings to default; clear all saved sessions"]]}},{"p":"More › Settings › Data Acquisition"},{"note":"**Region:** UCR10 Flow ships set for India. In India, leave Region at its default and never choose **Open (840–960)**; find tags with **Scan** or **Custom** rather than **Tracking** (section 05). Elsewhere, choose the plan your country allows.","kind":"info"}]},{"k":"topic","m":8,"s":"Settings and AI Sense","h":"Auto Mode (post to URL)","t":"Auto Mode (post to URL)","b":[{"p":"Settings › Keyboard & Auto › **Auto Mode** posts each tag to your web address (webhook) once, when it first appears in the Scan list, and each barcode or QR code, as JSON with the fields `epc`, `tid`, `user`, `barcode`, `formatted`, `time` and `device`. Turn it on, enter the **Webhook Endpoint URL** and tap **SAVE SETTINGS**."},{"h":"AI Sense"},{"p":"AI Sense recommends reader settings for the job you describe. Tap **AI Sense** at the top right of the Scan screen."},{"ol":["Describe the job. AI Sense sets the power from the read distance (Short about 13 dBm, Medium 20, Long 23, Extreme 26 dBm, the maximum), a little higher for many tags or a busy RF environment. The UCR10 reads up to 1.5 m, so choose **Short** or **Medium**.","Tap **OPTIMISE**. AI Sense shows a **Recommended Configuration**: power, session, target and the fields to output.","Tap **APPLY THESE SETTINGS** to use it on the Scan screen and in Auto Mode, or **Save as Profile** to reuse it later. **Revert to previous settings** undoes it."],"start":1},{"p":"AI Sense: describe the job, then Optimise"}]},{"k":"topic","m":8,"s":"Keyboard Mode: Type Tags into Any App","h":"","t":"Keyboard Mode: Type Tags into Any App","b":[{"p":"In keyboard mode the UCR10 reads on its own and types each tag into whichever app has the cursor — a spreadsheet, a web form, a stock app — like a USB keyboard, with no app needed on that device. This is how the UCR10 works with a USB-C iPhone (iOS 17 or later)."},{"h":"Switch it on (once, from UCR10 Flow)"},{"ol":["Set the **power** in Settings › Reader (outside India, also choose your country's Region) and tap **SAVE SETTINGS**. Then open **Scan** and start and stop a count once, so the reader stores these settings; it keeps using them in keyboard mode.","In **Settings › Keyboard & Auto**, choose how the EPC is typed (**Hex**, **Text** or **Decimal**) and how long a tag must be away before it is typed again (0.5–25 s). Prefix and terminator are under **Data Acquisition › Output Options**: up to 8 plain characters, then a terminator; choose **Enter** (or **None**) for keyboard mode.","Tap **Switch reader to keyboard mode › Switch**. This saves the choices from step 2 and switches the reader.","**Unplug the UCR10 and plug it into the device that should receive the tags.** Keyboard mode starts with this replug.","Put the cursor in a text field or spreadsheet cell and bring tags into range. Each tag is typed as it is read: by default its EPC in hex, then Enter."],"start":1},{"p":"Settings › Keyboard & Auto: choose the format, then Switch"},{"h":"Switch it back"},{"p":"In UCR10 Flow, tap the **● KEYBOARD MODE** pill › **Use in UCR10 Flow** (or Settings › Keyboard & Auto › **Use the reader in UCR10 Flow again**). Until then UCR10 Flow leaves the reader typing, through replugs and restarts."},{"note":"**iPhone:** switch the reader to keyboard mode once with UCR10 Flow on an Android phone; the setting is stored in the reader. No Android phone to hand? Ask Identium. Wrong characters? Set the iPhone's hardware-keyboard layout to **English (US)**. The on-screen keyboard may hide while the reader is connected.","kind":"tip"},{"p":"Keyboard mode on: Use the reader in UCR10 Flow again"}]},{"k":"row","m":8,"s":"For Developers: SDK Quick Start","h":"","t":"Android library (AAR)","kv":[["What it is","`Android/identium-ucr10-sdk-1.1.0.aar`: package `in.identium.ucr10` for Android 7.0+, pure Java, one library for every phone CPU. Classes `Ucr10`, `Ucr10Reader`, `Ucr10Monitor`."]]},{"k":"row","m":8,"s":"For Developers: SDK Quick Start","h":"","t":"UCR10 SDK Demo for Android (APK)","kv":[["What it is","`Android/UCR10-SDK-Demo-1.1.0.apk`: the whole SDK on one screen, step by step."]]},{"k":"row","m":8,"s":"For Developers: SDK Quick Start","h":"","t":"Windows SDK","kv":[["What it is","`Windows/lib/`: the `Identium.UCR10` .NET library (netstandard2.0, for .NET Framework 4.7.2+ and .NET 6+) over `IdentiumUCR10.dll`, the native reader library, 32- and 64-bit (no driver: the UCR10 is a USB HID device). `Windows/demo/`: the **UCR10 SDK Demo** for Windows, ready to run."]]},{"k":"row","m":8,"s":"For Developers: SDK Quick Start","h":"","t":"Guides","kv":[["What it is","Android SDK, Windows SDK, Keyboard Mode and UCR10 Protocol guides. They are in the package's `Docs/` folder."]]},{"k":"topic","m":8,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"The **Identium UCR10 SDK 1.1.0** lets your own app drive the reader: an Android library for phones and tablets, and a .NET library over a native DLL for Windows PCs. Both have the same shape — open the reader, set power and region, read tags continuously or one round at a time, find the nearest tag, read and write tag memory, lock and kill, and switch to keyboard mode — and both explain every failure in plain words. Download it from the Resource Hub: **UCR10 Type-C Reader — SDK** (`Identium-UCR10-SDK-1.1.0.zip`)."},{"table":{"head":["In the package","What it is"],"rows":[["Android library (AAR)","`Android/identium-ucr10-sdk-1.1.0.aar`: package `in.identium.ucr10` for Android 7.0+, pure Java, one library for every phone CPU. Classes `Ucr10`, `Ucr10Reader`, `Ucr10Monitor`."],["UCR10 SDK Demo for Android (APK)","`Android/UCR10-SDK-Demo-1.1.0.apk`: the whole SDK on one screen, step by step."],["Windows SDK","`Windows/lib/`: the `Identium.UCR10` .NET library (netstandard2.0, for .NET Framework 4.7.2+ and .NET 6+) over `IdentiumUCR10.dll`, the native reader library, 32- and 64-bit (no driver: the UCR10 is a USB HID device). `Windows/demo/`: the **UCR10 SDK Demo** for Windows, ready to run."],["Guides","Android SDK, Windows SDK, Keyboard Mode and UCR10 Protocol guides. They are in the package's `Docs/` folder."]]}}]},{"k":"topic","m":8,"s":"For Developers: SDK Quick Start","h":"Run the demo","t":"Run the demo","b":[{"ul":["**Android:** install the UCR10 SDK Demo app (`Android/UCR10-SDK-Demo-1.1.0.apk`), plug in the UCR10, allow access, then **Connect**, set **Power** and tap **Inventory** or **Nearest**.","**Windows 10 / 11:** run `Windows/demo/UCR10-SDK-Demo.exe` (.NET Framework 4.8), plug in the UCR10 and click **Connect**."]}]},{"k":"topic","m":8,"s":"For Developers: SDK Quick Start","h":"Add the UCR10 to your Android app","t":"Add the UCR10 to your Android app","b":[{"ol":["Copy `Android/identium-ucr10-sdk-1.1.0.aar` into your app's `libs/` folder and add `implementation files('libs/identium-ucr10-sdk-1.1.0.aar')`. USB-host and R8 rules come inside the AAR.","Optional: add a `USB_DEVICE_ATTACHED` intent filter using the ready-made UCR10 device filter in the Android SDK guide (`Docs/Android-SDK.md`), so Android offers to open your app when the reader is plugged in.","`Ucr10.find(context)` returns the attached reader; `Ucr10.requestPermission(…)` shows Android's USB dialog.","`Ucr10.open(context, device)` connects; then `setRegion(Region.INDIA)` and `setPower(dbm)` (0–26). Both are stored in the reader.","Read with `inventoryOnce(ms)`, `startInventory(listener)` / `stopInventory()` or `findNearestTag(ms)`. Calls block, so run them on a worker thread.","Use `read`, `write`, `writeEpc`, `lock` and `kill` for tag memory, `Ucr10Monitor` for plug and unplug, and `close()` when done."],"start":1},{"code":"UsbDevice device = Ucr10.find(context);            // null: no UCR10 plugged in\nif (device == null) return;\nUcr10.requestPermission(context, device, (d, granted) -> {\n    if (!granted) return;\n    executor.execute(() -> {                        // reader calls block: not on the main thread\n        try (Ucr10Reader reader = Ucr10.open(context, d)) {\n            reader.setRegion(Region.INDIA);\n            reader.setPower(20);\n            for (Tag t : reader.inventoryOnce(1000))\n                Log.i(\"UCR10\", t.epc + \"  \" + t.rssi + \" dBm\");\n        } catch (Ucr10Exception e) { Log.w(\"UCR10\", e.getMessage()); }\n    });\n});"},{"code":"using (Ucr10Reader reader = Ucr10Reader.Open())      // the first UCR10 plugged in\n{\n    reader.SetRegion(Region.India);\n    reader.SetPower(20);\n    foreach (Tag t in reader.InventoryOnce(1000))\n        Console.WriteLine(t.Epc + \"  \" + t.Rssi + \" dBm\");\n}"},{"p":"**Full API:** the guides in the package's `Docs/` folder. `Android-SDK.md` and `Windows-SDK.md` cover every class, setting, error status and threading rule; the Windows guide also covers calling the native DLL directly, with the 68 functions that `Ucr10Native` declares for C, C++, Delphi or Python callers. `Keyboard-Mode.md` covers `KeyboardFormat`, and `UCR10-Protocol.md` the command protocol and status codes."}]},{"k":"topic","m":8,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["Use the frequency plan your country allows. In India, leave UCR10 Flow's Region at its default, never choose **Open (840–960)**, and find tags with **Scan** or **Custom** rather than **Tracking**.","The reader runs on the host's battery. Charge the phone before a long count; below about 15% some phones stop powering USB devices.","Metal and liquid near a UHF tag shorten the read range. Test at the distance and angle your staff will really use.","For tag writes, locks and kills, keep the power low (about 8–12 dBm) and only one tag near the reader, so the operation reaches the tag you mean.","On the Config screen a volume-key press runs **EXECUTE** at once: turn off **Volume keys trigger scan** before locks and kills.","**Perma-Lock** and **Destroy (kill)** are permanent. A lock with the access password `00000000` gives no real protection.","Keep a note of any access and kill passwords you write to tags. Passwords are 8 hex digits.","While the reader is in keyboard mode it types into whatever has the cursor. Put the cursor where the tags should go before bringing tags into range.","Export or save sessions you need to keep: **Settings › Data › Clear All Saved Sessions** and deleting a session card remove them from the phone."]}]},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Model","v":"UCR10 (Identium UHF Portable Reader)"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Frequency","v":"860–960 MHz, covering India's 865–868 MHz band"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Frequency plans","v":"Set in UCR10 Flow (Settings › Reader › Region) or the SDK; stored in the reader. UCR10 Flow ships set for India; Scan, Custom and Config use this setting."},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Air protocol","v":"EPC Class 1 Gen 2 (ISO 18000-63)"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"RF output power","v":"Adjustable, 0–26 dBm (UCR10 Flow: 5–26 dBm); stored in the reader"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Read range","v":"Up to 1.5 m, depending on tag type, mounting and orientation"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Interface","v":"USB Type-C plug, USB HID class; no driver needed"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Power","v":"From the host's USB Type-C port; no internal battery"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Weight","v":"Under 80 g"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Operating modes","v":"Answer mode (driven by an app or the SDK) · Keyboard mode (types tags into the host like a USB keyboard)"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Hosts","v":"Android 7.0 and later with USB host (OTG), with UCR10 Flow or the SDK; USB-C iPhones on iOS 17 and later, in keyboard mode"},{"k":"spec","m":8,"s":"Parameters","h":"","t":"Software","v":"UCR10 Flow 1.1.0 for Android (free); Identium UCR10 SDK 1.1.0 for Android and Windows (Resource Hub download)"},{"k":"topic","m":8,"s":"Parameters","h":"","t":"Parameters","b":[{"kv":[["Model","UCR10 (Identium UHF Portable Reader)"],["Frequency","860–960 MHz, covering India's 865–868 MHz band"],["Frequency plans","Set in UCR10 Flow (Settings › Reader › Region) or the SDK; stored in the reader. UCR10 Flow ships set for India; Scan, Custom and Config use this setting."],["Air protocol","EPC Class 1 Gen 2 (ISO 18000-63)"],["RF output power","Adjustable, 0–26 dBm (UCR10 Flow: 5–26 dBm); stored in the reader"],["Read range","Up to 1.5 m, depending on tag type, mounting and orientation"],["Interface","USB Type-C plug, USB HID class; no driver needed"],["Power","From the host's USB Type-C port; no internal battery"],["Weight","Under 80 g"],["Operating modes","Answer mode (driven by an app or the SDK) · Keyboard mode (types tags into the host like a USB keyboard)"],["Hosts","Android 7.0 and later with USB host (OTG), with UCR10 Flow or the SDK; USB-C iPhones on iOS 17 and later, in keyboard mode"],["Software","UCR10 Flow 1.1.0 for Android (free); Identium UCR10 SDK 1.1.0 for Android and Windows (Resource Hub download)"]]}]},{"k":"fix","m":8,"s":"Troubleshooting","h":"Connecting the reader","t":"Pill shows **NO READER** after plugging in","cause":"Plug not fully in, or the phone's USB OTG is off","fix":"Push the plug fully in. Open the phone's Settings, search for **OTG** and switch it on (Xiaomi, Redmi, OnePlus, Oppo, Vivo, Realme). Some phones switch it off after a few idle minutes."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Connecting the reader","t":"Pill shows **ALLOW USB**","cause":"Android has not given UCR10 Flow access","fix":"Tap the pill › **Try again** and allow. Tick **Always open** so it connects by itself next time."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Connecting the reader","t":"Pill shows **READER ERROR**","cause":"The reader stopped answering","fix":"Unplug the UCR10 and plug it back in."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Connecting the reader","t":"Reader drops out during a long count","cause":"Phone battery low","fix":"Charge the phone: below about 15% some phones stop powering USB devices."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Reading, keyboard mode and Config","t":"Few tags, or none, are read","cause":"Power low, tags out of range, on metal or near liquid","fix":"Raise the power with the Power chip (up to 26 dBm), move within 1.5 m of the tags and turn the phone towards them."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Reading, keyboard mode and Config","t":"Keyboard mode types nothing, or the wrong characters","cause":"Mode starts only after a replug; no text field has the cursor; host keyboard layout","fix":"Unplug and plug the reader back in, and tap into a text field first. Set the device's hardware-keyboard layout to English (US). To use the reader in the app again, tap the **KEYBOARD MODE** pill › **Use in UCR10 Flow**."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Reading, keyboard mode and Config","t":"Config: **No tag detected — bring ONE tag close and lower the power**","cause":"No tag, or several tags, near the reader","fix":"Hold one tag close to the reader, keep others away and set the Config power to about 8–12 dBm."},{"k":"fix","m":8,"s":"Troubleshooting","h":"Reading, keyboard mode and Config","t":"Destroy is refused","cause":"The password field holds 00000000","fix":"Type the tag's kill password in the password field. If the tag still has 00000000, write a non-zero kill password to it first; Destroy cannot be undone."},{"k":"row","m":9,"s":"Packing List","h":"","t":"103 UHF desktop reader-writer (IDTS-103 / 103UDR)","kv":[["Qty","1"],["Notes","USB reader-writer for one PC"]]},{"k":"row","m":9,"s":"Packing List","h":"","t":"Sample kit of UHF RFID labels and tags","kv":[["Qty","1"],["Notes","One set of sample labels and tags; the mix follows the items you plan to encode and is confirmed with your order"]]},{"k":"row","m":9,"s":"Packing List","h":"","t":"Identium DesktopReader (Windows and macOS)","kv":[["Qty","—"],["Notes","Free, no licence fee. Download from the Resource Hub (Windows installer or portable, macOS disk image)"]]},{"k":"row","m":9,"s":"Packing List","h":"","t":"103 All-in-One SDK","kv":[["Qty","—"],["Notes","Libraries, examples and developer guides; the C# and C/C++ libraries drive the 103 over USB. Download from the Resource Hub (section 16)"]]},{"k":"topic","m":9,"s":"Packing List","h":"","t":"Packing List","b":[{"p":"The 103 is sold on its own and as the **103UDR-EVK evaluation kit**. The evaluation kit contains:"},{"table":{"head":["Item","Qty","Notes"],"rows":[["103 UHF desktop reader-writer (IDTS-103 / 103UDR)","1","USB reader-writer for one PC"],["Sample kit of UHF RFID labels and tags","1","One set of sample labels and tags; the mix follows the items you plan to encode and is confirmed with your order"],["Identium DesktopReader (Windows and macOS)","—","Free, no licence fee. Download from the Resource Hub (Windows installer or portable, macOS disk image)"],["103 All-in-One SDK","—","Libraries, examples and developer guides; the C# and C/C++ libraries drive the 103 over USB. Download from the Resource Hub (section 16)"]]}},{"note":"Check the contents when you unpack. If anything is missing, contact Identium with your order number (see Support at the end of this manual).","kind":"tip"}]},{"k":"topic","m":9,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** Tag area: place the tag or label flat on the wave mark.","**2** Indicator window: three lights labelled SIGNAL, RFID and POWER.","**3** USB connection: on the right-hand edge, next to the USB symbol. Connect it to your PC."]},{"p":"The 103 desktop reader: front view (left) and angled view showing the USB connection on the right-hand edge (right)."}]},{"k":"row","m":9,"s":"Equipment Diagram","h":"Indicators and sound","t":"Indicator window","kv":[["What you see or hear","Three lights labelled SIGNAL, RFID and POWER"],["How to control it","Set by the reader"]]},{"k":"row","m":9,"s":"Equipment Diagram","h":"Indicators and sound","t":"Reader buzzer","kv":[["What you see or hear","A short beep from the reader when it reads tags"],["How to control it","**Beep** tick box on the Read screen. **usb finder** on the Read screen rings the buzzer so you can tell which reader is connected."]]},{"k":"row","m":9,"s":"Equipment Diagram","h":"Indicators and sound","t":"PC beep (batch writing)","kv":[["What you see or hear","One beep from the PC for each tag written; the reader stays silent while it waits"],["How to control it","**Beep once per write (silent otherwise)** in Batch Write"]]},{"k":"topic","m":9,"s":"Equipment Diagram","h":"Indicators and sound","t":"Indicators and sound","b":[{"table":{"head":["Part","What you see or hear","How to control it"],"rows":[["Indicator window","Three lights labelled SIGNAL, RFID and POWER","Set by the reader"],["Reader buzzer","A short beep from the reader when it reads tags","**Beep** tick box on the Read screen. **usb finder** on the Read screen rings the buzzer so you can tell which reader is connected."],["PC beep (batch writing)","One beep from the PC for each tag written; the reader stays silent while it waits","**Beep once per write (silent otherwise)** in Batch Write"]]}},{"p":"The reader has no buttons or switches; everything is controlled from Identium DesktopReader on the PC."},{"note":"The read range is up to 30 cm and can be adjusted. For encoding one label at a time, keep the range short; open it up when you want to check a few tagged items on the desk together.","kind":"info"}]},{"k":"topic","m":9,"s":"Power and USB Connection","h":"","t":"Power and USB Connection","b":[{"p":"The 103 takes its power from the USB port of the computer. It needs **no separate power supply and no driver**: Windows and macOS both recognise it as a standard USB device."},{"ol":["Connect the reader to a free USB port on the computer. It is powered from the port at once.","Start Identium DesktopReader and connect (section 05).","To switch the reader off, click **Disconnect** in DesktopReader, then unplug the USB cable."],"start":1},{"note":"If **Keyboard Mode** is on, the reader may keep reading and typing tag numbers on its own, even with DesktopReader closed. Turn Keyboard Mode off (section 12) before you hand the PC to someone who does not expect it.","kind":"caution"}]},{"k":"topic","m":9,"s":"Install Identium DesktopReader","h":"","t":"Install Identium DesktopReader","b":[{"p":"Identium DesktopReader is the free application for the 103. It reads, writes and kills tags, encodes labels in batches (from a counter, an Excel sheet or a barcode scanner) and sets up Keyboard Mode. The same application also runs Identium's UDR-111 desktop reader — you choose the reader model when you connect (section 05)."},{"kv":[["Operating system","Windows 10 or 11 (64-bit), or macOS 11 or later (Apple Silicon or Intel)"],["Connection","One free USB port"],["Hardware","103 UHF Desktop Reader (or the UDR-111)"],["Version in this manual","Identium DesktopReader 1.4.6"]]}]},{"k":"topic","m":9,"s":"Install Identium DesktopReader","h":"Download and install","t":"Download and install","b":[{"ol":["Open **www.identiumone.com/resourcehub/** and find **Identium Desktop Reader** (the DesktopReader app).","Download the file for your computer:\n**Windows installer** — `Identium.DesktopReader.Setup.1.4.6.exe` (recommended; creates Start-menu and desktop shortcuts)\n**Windows portable** — `Identium.DesktopReader.1.4.6.Portable.exe` (a single file that runs without installing)\n**macOS (Apple Silicon)** — `Identium.DesktopReader.1.4.6.arm64.dmg` for M-series Macs\n**macOS (Intel)** — `Identium.DesktopReader.1.4.6.x64.dmg`","Windows: run the file. If SmartScreen shows \"Windows protected your PC\", click **More info**, then **Run anyway**.","macOS: open the disk image and drag **Identium DesktopReader** to Applications. The first time you start it, right-click the app and choose **Open**, then **Open** again. If macOS blocks it, open **System Settings › Privacy & Security** and click **Open Anyway**.","Plug in the reader and start **Identium DesktopReader**."],"start":1},{"note":"The app opens in a dark theme. Screens in this manual use the light theme. To switch, click the theme button (sun or moon) at the bottom right of the window: it cycles Dark, Light and System. The palette button next to it sets the font and the text size (Compact up to Massive).","kind":"tip"}]},{"k":"topic","m":9,"s":"Connect and Find Your Way Around","h":"","t":"Connect and Find Your Way Around","b":[{"ol":["Start DesktopReader. The **Connection** window opens by itself. (Later you can open it from **Settings › Connect** or the **Connect** button.)","Leave **Reader model** on **IDTS-103UDR**.","Leave **Type** on **USB-HID**.","The reader appears under **Param** as **USB-HID-0 — IDTS-103UDR**. If it is not listed, check the cable and press the refresh button.","Click **Confirm**. The status bar at the bottom shows **Connected: USBHID** in green."],"start":1},{"p":"The Connection window with the 103 found on USB."}]},{"k":"topic","m":9,"s":"Connect and Find Your Way Around","h":"Choosing the reader model","t":"Choosing the reader model","b":[{"p":"DesktopReader drives two Identium desktop readers — the **103** and the **UDR-111** — and they speak different radio protocols, so the app has to know which one is on the other end. A reader plugged into USB says which model it is, so **Reader model** is filled in for you and the device list names it (for the 103: *USB-HID-0 — IDTS-103UDR (VID 03EB:2421)*). A serial or network link cannot identify itself, so there you choose the model yourself. The choice is remembered for the next time you start the app."}]},{"k":"topic","m":9,"s":"Connect and Find Your Way Around","h":"The main window","t":"The main window","b":[{"p":"The title bar names the app, its version and the reader it is set up for — **Identium DesktopReader v1.4.6 · UHF Desktop Reader 103**. Quote that version if you ever contact support.\nThe menu bar holds **Settings ▾** (Connect, Device Settings, RFID Settings, Typical Application, Http Server, Keyboard Mode with its on/off switch, Exit), **Read** (section 06), **Write** — Manual Write for one tag (sections 07–08) and Batch Write for a run of tags (sections 09–11) — and **Tools ▾** (section 14). **Disconnect / Connect** sits at the top right. The status bar at the bottom shows the connection, messages, and the theme and appearance buttons."},{"p":"For the 103 you only need **Read**, **Write**, **Tools** and the Settings entries above; you can leave Device Settings, Typical Application, Http Server and **Search** as they are."}]},{"k":"topic","m":9,"s":"Read Tags","h":"","t":"Read Tags","b":[{"ol":["Click **Read** in the menu bar.","On the right, choose **Inventory** (keeps reading until you click Stop) or **Single** (one read round). Leave the protocol on **6C** for EPC Gen2 tags; choose **6B** for ISO 18000-6B tags. Leave **ANT1** selected — that is the reader's own pad antenna. (The grid lists ANT1–ANT16 because the 103's protocol can address more than one antenna; a UDR-111 shows ANT1 only.)","Place the tags on the reader.","Click **Read EPC** to read the EPC of each tag, or **Read TID** to read the EPC and the chip's factory TID together.","Each tag appears once in the table; **COUNT** shows how often it was read. The panel on the right shows Read Count, Tag Count, Speed (tags per second) and the elapsed Time.","Click **Stop** to end the read. **Clear** empties the table."],"start":1},{"p":"The Read screen while reading: six tags with EPC and TID, read counts on the right. Tag numbers in the screenshots of this manual are examples."},{"ul":["**Export** saves the table as a CSV file (type, EPC, TID, Userdata, Reserved, total count, RSSI, frequency, phase, last seen).","**Columns** chooses which columns to show, for example RSSI or ReadTime. **Custom** reads chosen memory banks (TID, Userdata, Reserved) with a match filter and access password.","**Beep** lets the reader beep on every read; untick it for silent reading. **Report / Logs** switch between the tag table and the command log."]}]},{"k":"topic","m":9,"s":"Write One Tag","h":"","t":"Write One Tag","b":[{"p":"Write › Manual Write with one tag selected. EPC, User, Custom and Super open the write windows."},{"ol":["Place **one** tag on the reader. On the **Read** screen click **Read TID**, then **Stop**.","Click **Write**, then **Manual Write**. Click the tag in the table so it shows as **Selected** at the top right.","Click **EPC**. Type the new EPC in hexadecimal. It must be whole 16-bit words, 4 hex digits per word: 24 digits make a 96-bit EPC.","Leave **Password** as 00000000 unless the tag has an access password.","Click **Confirm**. When you see \"Write successful — lift the tag off the reader\", lift the tag."],"start":1},{"p":"Write EPC: the new EPC is checked as you type."},{"ul":["**EPC** writes a new EPC. The length field (PC word) is set for you, so the tag reports exactly the EPC you typed.","**User** writes data to the User memory, from the word you choose. **Super** reads all memory banks of the tag, then writes the EPC, User or Reserved bank.","**Custom** writes any bank at a word pointer, and holds the **Destroy** (kill) tab — section 08."]}]},{"k":"topic","m":9,"s":"Kill (Destroy) a Tag","h":"","t":"Kill (Destroy) a Tag","b":[{"p":"Killing (Destroy) switches a tag off for good: it no longer answers any reader. It is in **Write › Manual Write › Custom**. Select the tag first, as in section 07."},{"ol":["Write a kill password (not 00000000) to the tag first: on a Gen2 tag the **Reserved** bank holds the kill password in words 0–1. Use **Super**, or the **Write** tab of **Custom** with Area **Reserved** and Word pointer 0.","In **Custom**, type the kill password in **Password (hex)** and open the **Destroy** tab.","Click **Destroy Tag**. The tag no longer answers any reader."],"start":1},{"p":"Custom Operation, Destroy tab (lower part of the window), with an example kill password typed in."},{"note":"Kill cannot be undone. Try it on a sample tag first, and keep a record of every password you write. In this window, use the **Write** and **Destroy** tabs; if you need tags locked, contact Identium support.","kind":"caution"}]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Auto-increment**","kv":[["What each tag receives","The next number in the series, counted in decimal or hex"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Fixed value**","kv":[["What each tag receives","The same EPC for every tag"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Update from Excel**","kv":[["What each tag receives","The next EPC from a one-column list (section 10)"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Excel map (Current→New)**","kv":[["What each tag receives","The New EPC that the sheet pairs with the tag's current EPC (section 10)"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Barcode → RFID**","kv":[["What each tag receives","The barcode you have just scanned (section 11)"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Stop after N tags**","kv":[["Effect","Ends the run after a set number of tags"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Pause on already-written tag**","kv":[["Effect","If a tag written earlier in this run comes back, the batch stops and asks: Cancel batch, Skip / change tag, or Continue & write"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Verify after write (read-back)**","kv":[["Effect","Reads the tag back to confirm the new EPC. Safer, slightly slower"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Only write expected tags**","kv":[["Effect","With **Import allowed list**: a tag whose current EPC is not on the list makes the batch pause and ask"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Pause after write (ms)**","kv":[["Effect","How long the reader stays quiet after a write so you can lift the tag (default 300 ms)"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Beep once per write**","kv":[["Effect","The reader stays silent while waiting; the PC beeps once for each tag written"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Match tags by TID**","kv":[["Effect","Recognises tags by their factory TID. Off by default; it costs one extra read per tag"]]},{"k":"row","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"**Retries**","kv":[["Effect","Extra attempts on a tag that refuses the write before it is set aside"]]},{"k":"topic","m":9,"s":"Batch Write: Encode a Run of Labels","h":"","t":"Batch Write: Encode a Run of Labels","b":[{"p":"Batch Write programs tags one after another: place a tag, it is written, lift it, place the next. There is no read step to click."},{"ol":["Click **Write**, then **Batch Write**.","Choose a **Mode** (table under the screenshot). For a numbered run choose **Auto-increment**: type the **Start EPC** (hex), the **Step** and the **Direction**, and pick **Decimal** (1009 → 1010) or **Hex** (1009 → 100A). The line under the fields previews the next numbers.","Leave **Antenna** on Ant 1 and **Password** on 00000000 for tags without an access password.","Click **Start**. The status changes to **Armed — place a tag**.","Place a tag. It is written at once; the status shows **Written — remove the tag** and the change log gains a row. Lift the tag and place the next one. A tag left on the reader is never written twice.","Click **Stop** when you are done. Use **Excel** or **Text** above the log to save the change log as your record."],"start":1},{"p":"Batch Write in Auto-increment mode, counting in decimal from …1001. The change log shows the newest write on top."},{"table":{"head":["Mode","What each tag receives"],"rows":[["**Auto-increment**","The next number in the series, counted in decimal or hex"],["**Fixed value**","The same EPC for every tag"],["**Update from Excel**","The next EPC from a one-column list (section 10)"],["**Excel map (Current→New)**","The New EPC that the sheet pairs with the tag's current EPC (section 10)"],["**Barcode → RFID**","The barcode you have just scanned (section 11)"]]}},{"table":{"head":["Safety option","Effect"],"rows":[["**Stop after N tags**","Ends the run after a set number of tags"],["**Pause on already-written tag**","If a tag written earlier in this run comes back, the batch stops and asks: Cancel batch, Skip / change tag, or Continue & write"],["**Verify after write (read-back)**","Reads the tag back to confirm the new EPC. Safer, slightly slower"],["**Only write expected tags**","With **Import allowed list**: a tag whose current EPC is not on the list makes the batch pause and ask"]]}},{"table":{"head":["Speed and sound option","Effect"],"rows":[["**Pause after write (ms)**","How long the reader stays quiet after a write so you can lift the tag (default 300 ms)"],["**Beep once per write**","The reader stays silent while waiting; the PC beeps once for each tag written"],["**Match tags by TID**","Recognises tags by their factory TID. Off by default; it costs one extra read per tag"],["**Retries**","Extra attempts on a tag that refuses the write before it is set aside"]]}},{"note":"If a tag will not take the write, the status reads **This tag would not take the write — swap it** and the log shows the reason. A blank tag (one with no EPC) is written like any other.","kind":"info"}]},{"k":"topic","m":9,"s":"Batch Write from Excel","h":"","t":"Batch Write from Excel","b":[{"p":"Update from Excel, part of the screen: the imported list (40 EPCs from new-epc-list.xlsx) next to the Import and Template buttons, and 7 of 40 EPCs written. The rows still to write are listed under the log, the next one highlighted."}]},{"k":"topic","m":9,"s":"Batch Write from Excel","h":"Update from Excel — write a list in order","t":"Update from Excel — write a list in order","b":[{"ol":["In **Batch Write**, choose **Update from Excel**.","Click **Template** to download a sample sheet: one column of new EPCs. Fill it in Excel and save it as .xlsx or .csv.","Click **Import EPC list (.xlsx/.csv)** and choose the file. The file name and the number of EPCs appear next to the buttons. Rows that are not whole 16-bit words are skipped and counted.","Click **Start** and place the tags one by one. The first tag receives the first EPC, the second tag the second, and so on. **LIST #** in the log is the position of the EPC in your imported list (1 = the first EPC under the header)."],"start":1}]},{"k":"topic","m":9,"s":"Batch Write from Excel","h":"Excel map (Current→New) — renumber existing tags","t":"Excel map (Current→New) — renumber existing tags","b":[{"p":"Choose **Excel map (Current→New)**, download its **Template** (two columns: Current EPC and New EPC), fill it, import it and click **Start**. Each placed tag is looked up by its current EPC and receives the matching New EPC. A tag that is not in the sheet is reported with \"not in the imported map — remove this tag\"."}]},{"k":"topic","m":9,"s":"Barcode → RFID","h":"","t":"Barcode → RFID","b":[{"p":"Move a barcoded range to RFID without renumbering: scan the barcode an item already carries with your barcode scanner, and the next tag placed on the 103 is written with that code."},{"ol":["Make sure **Keyboard Mode is off** (Settings ▾, switch off). Connect your barcode scanner to the same PC.","In **Batch Write**, choose **Barcode → RFID**. Choose **Encode as** and **EPC size** (table below).","Click in the **Scan barcode** box and scan. The scanner ends the scan with Enter (or Tab); the batch arms itself.","The box holds the code and shows \"Writing EPC … — place the tag on the reader\". Place the tag. One beep means written, and the box clears for the next scan.","To drop a scanned code before writing it, click the **✕** in the box."],"start":1},{"p":"Barcode → RFID: three barcodes written; the fourth is waiting for its tag."},{"p":"**Encode as** sets how the barcode becomes the EPC; **EPC size** sets its length:"},{"kv":[["Encode as: Barcode digits (0-9, A-F)","The barcode is the EPC, zero-padded on the left.\nExample: 8901234567890 → 0008901234567890"],["Encode as: ASCII text (any barcode)","Each character as its ASCII byte, zero-padded on the right.\nExample: AB-12 → 41422D313200"],["EPC size","**Fit barcode** (fewest whole words), **96-bit** or **128-bit**"]]},{"note":"With Keyboard Mode on, the reader would type tag numbers into the barcode box, so Barcode → RFID stops with \"Keyboard Mode is on\". Turn Keyboard Mode off and scan again.","kind":"caution"}]},{"k":"topic","m":9,"s":"Keyboard Mode","h":"","t":"Keyboard Mode","b":[{"p":"In Keyboard Mode the 103 works like a keyboard: it reads tags by itself and types each tag number, followed by Enter, into whatever window has focus — a cell in Excel, an ERP screen or a web form. Switch it on in DesktopReader; the reader keeps typing after you close DesktopReader. If you unplug the reader, open DesktopReader and connect once to resume typing, and check that the Keyboard Mode switch is still on."},{"h":"Quick on / off"},{"ol":["Connect the reader in DesktopReader.","Open **Settings ▾** and click the switch next to **Keyboard Mode**. On = the reader types the EPC and Enter. The status bar confirms the change.","Click into the field of your own program and place a tag. Its EPC is typed in."],"start":1},{"p":"Settings menu: the Keyboard Mode switch."},{"h":"Choose what is typed"},{"ol":["Click the words **Keyboard Mode** in the Settings menu to open the panel.","**Type on read**: Off, EPC, TID, or Other (User ID / custom area).","**Prefix**: null (nothing) or space. **Suffix**: null, Enter (CR+LF), CR, LF or space. Leave **Encode** on Hex (none).","Click **Set**. **Get** shows the reader's current setting; **Disable** turns Keyboard Mode off in one click."],"start":1},{"p":"Keyboard Mode panel."},{"note":"While Keyboard Mode is on, the reader types into the focused window — including DesktopReader itself. Turn it off before batch writing with barcodes, and before other people use the PC.","kind":"caution"},{"p":"On a UDR-111 the same menu entry opens a panel of its own, with more to choose from — see section 15."}]},{"k":"row","m":9,"s":"RFID Settings and Read Range","h":"","t":"**Ant-power › ANT1**","kv":[["Use","Transmit power of the reader's antenna in dBm. Lower it to shorten the read range so only the tag on the pad answers; raise it to read a few items further away (up to 30 cm). On the 103 set **ANT1** — the pad antenna."]]},{"k":"row","m":9,"s":"RFID Settings and Read Range","h":"","t":"**Base › Frequency Range**","kv":[["Use","The radio band (region) stored in the reader. Keep the band your reader was supplied with: click **Get** to see it, and press **Set** here only if Identium support asks you to. For use in India, confirm the **865–868 MHz** India band with Identium when you order."]]},{"k":"row","m":9,"s":"RFID Settings and Read Range","h":"","t":"**Base › EPC Baseband**","kv":[["Use","Gen2 link settings: EPC speed, Session, Q value (QV) and search type"]]},{"k":"row","m":9,"s":"RFID Settings and Read Range","h":"","t":"**Base › Filter**","kv":[["Use","Repeat time and RSSI limit for tag reports"]]},{"k":"row","m":9,"s":"RFID Settings and Read Range","h":"","t":"**F-hop**","kv":[["Use","Automatic frequency hopping within the selected band"]]},{"k":"topic","m":9,"s":"RFID Settings and Read Range","h":"","t":"RFID Settings and Read Range","b":[{"p":"Open **Settings ▾ › RFID Settings**. Each block has **Get** (read the value from the reader) and **Set** (send your change)."},{"table":{"head":["Tab › block","Use"],"rows":[["**Ant-power › ANT1**","Transmit power of the reader's antenna in dBm. Lower it to shorten the read range so only the tag on the pad answers; raise it to read a few items further away (up to 30 cm). On the 103 set **ANT1** — the pad antenna."],["**Base › Frequency Range**","The radio band (region) stored in the reader. Keep the band your reader was supplied with: click **Get** to see it, and press **Set** here only if Identium support asks you to. For use in India, confirm the **865–868 MHz** India band with Identium when you order."],["**Base › EPC Baseband**","Gen2 link settings: EPC speed, Session, Q value (QV) and search type"],["**Base › Filter**","Repeat time and RSSI limit for tag reports"],["**F-hop**","Automatic frequency hopping within the selected band"]]}},{"note":"To set the range for encoding: place one tag on the pad and a second tagged item where it would normally lie on the desk. Read, then lower ANT1 power until only the tag on the pad appears.","kind":"tip"},{"p":"With a UDR-111 connected this entry opens a shorter window of its own — see section 15."}]},{"k":"topic","m":9,"s":"Tools and Export","h":"","t":"Tools and Export","b":[{"table":{"head":["Tool","What it does"],"rows":[["**Device Info**","Serial number, app and baseband versions, build dates and power-on time of the reader"],["**Clear List**","Empties the tag table"],["**Export Text / Export Excel**","Saves the tag table as a text or Excel file"],["**Reset**","Restarts the reader"],["**Restore Factory Settings**","Returns the reader's settings to factory defaults; asks before it runs"]]}},{"p":"The other entries in the menu are not needed for everyday use with the 103."},{"note":"Use **Upgrade App** or **Upgrade Baseband** only if Identium support sends you a firmware file and asks you to. A failed upgrade can leave the reader unusable.","kind":"caution"},{"p":"The Tools menu."}]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**Antennas**","kv":[["On the 103 (this manual)","ANT1 is the pad antenna; the grid lists ANT1–ANT16 because the 103's protocol can address more than one"],["On the UDR-111","**One antenna.** Only ANT1 is shown, on the Read screen and in Batch Write"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**RF power**","kv":[["On the 103 (this manual)","In dBm, per antenna, under **RFID Settings › Ant-power**"],["On the UDR-111","One of **12 power levels** — level 0 is 12.5 dBm and level 11 is 30 dBm, factory default level 2. The reader keeps the level when it is unplugged, and **Get** reads it back"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**Radio band**","kv":[["On the 103 (this manual)","**Base › Frequency Range**; keep the band the reader was supplied with"],["On the UDR-111","**Region** in RFID Settings. India's 865–868 MHz band is the entry listed as *Europe / India 865–868 MHz*"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**Keyboard Mode**","kv":[["On the 103 (this manual)","The switch in the Settings menu, plus a short panel (section 12)"],["On the UDR-111","A panel of its own: the mode, what is typed, prefix and suffix, which outputs are used, the search interval and the serial settings"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**What is typed**","kv":[["On the 103 (this manual)","EPC, TID or a custom area, all typed by the reader"],["On the UDR-111","**One tag (EPC)**, **Several tags (EPC)** — both typed by the reader — or **TID (full)**, which DesktopReader types for you"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**Buzzer**","kv":[["On the 103 (this manual)","The **Beep** tick box on the Read screen"],["On the UDR-111","**Reader beeps** in RFID Settings"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**Menus**","kv":[["On the 103 (this manual)","The full Settings and Tools menus (sections 05 and 14)"],["On the UDR-111","The menus narrow to what this reader can do: Connect, RFID Settings, Keyboard Mode, Device Info, Custom Command, Clear List, the two exports and Restore Factory Settings"]]},{"k":"row","m":9,"s":"If You Also Have a UDR-111","h":"","t":"**Device Info**","kv":[["On the 103 (this manual)","Serial number, app and baseband versions, build dates and power-on time"],["On the UDR-111","Model, radio module, module software, manufacturer and controller version"]]},{"k":"topic","m":9,"s":"If You Also Have a UDR-111","h":"","t":"If You Also Have a UDR-111","b":[{"p":"From version 1.4.6 Identium DesktopReader drives two desktop readers from the same window: the **103** that this manual describes, and the **UDR-111**."},{"p":"Choose the reader in the Connection window under **Reader model** — a reader plugged into USB is recognised and picked for you (section 05). The title bar then reads **· UHF Desktop Reader 103** or **· UHF Desktop Reader 111**, so you can always see which reader the window is set up for. Reading, writing one tag, Batch Write and Barcode → RFID are driven in exactly the same way on both readers. The table lists where a UDR-111 differs."},{"table":{"head":["Feature","On the 103 (this manual)","On the UDR-111"],"rows":[["**Antennas**","ANT1 is the pad antenna; the grid lists ANT1–ANT16 because the 103's protocol can address more than one","**One antenna.** Only ANT1 is shown, on the Read screen and in Batch Write"],["**RF power**","In dBm, per antenna, under **RFID Settings › Ant-power**","One of **12 power levels** — level 0 is 12.5 dBm and level 11 is 30 dBm, factory default level 2. The reader keeps the level when it is unplugged, and **Get** reads it back"],["**Radio band**","**Base › Frequency Range**; keep the band the reader was supplied with","**Region** in RFID Settings. India's 865–868 MHz band is the entry listed as *Europe / India 865–868 MHz*"],["**Keyboard Mode**","The switch in the Settings menu, plus a short panel (section 12)","A panel of its own: the mode, what is typed, prefix and suffix, which outputs are used, the search interval and the serial settings"],["**What is typed**","EPC, TID or a custom area, all typed by the reader","**One tag (EPC)**, **Several tags (EPC)** — both typed by the reader — or **TID (full)**, which DesktopReader types for you"],["**Buzzer**","The **Beep** tick box on the Read screen","**Reader beeps** in RFID Settings"],["**Menus**","The full Settings and Tools menus (sections 05 and 14)","The menus narrow to what this reader can do: Connect, RFID Settings, Keyboard Mode, Device Info, Custom Command, Clear List, the two exports and Restore Factory Settings"],["**Device Info**","Serial number, app and baseband versions, build dates and power-on time","Model, radio module, module software, manufacturer and controller version"]]}},{"note":"A UDR-111 in Keyboard Mode goes quiet while DesktopReader reads or writes, and starts typing again when you disconnect or close the app. Typing an **EPC** is done by the reader itself, so it keeps working with the app closed. Typing the **full TID** is done by DesktopReader, so leave the app open — minimised is fine. On macOS, allow **Identium DesktopReader** under **System Settings › Privacy & Security › Accessibility** the first time it asks, so it can type for you.","kind":"info"},{"p":"To drive a UDR-111 from your own software, download **UDR-111 — UHF Desktop Reader SDK** from the Resource Hub. The 103's own SDK is in section 16."}]},{"k":"topic","m":9,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"To drive the 103 from your own software, download the **103 All-in-One SDK** from the Resource Hub (listed as \"103 — All-in-One SDK\"; `Identium-103-SDK-1.0.zip`, 7 MB). For the 103 on USB, use the C# or the C/C++ library: both open the reader over USB-HID. If a screen only needs the tag number, Keyboard Mode (section 12) needs no code at all. To check the reader, the tags and the read range before you write code, use Identium DesktopReader (sections 05–14)."},{"p":"The package unpacks to an `Identium-103-SDK-1.0/` folder that holds these files and folders:"},{"kv":[["`README.md`","Folder guide, requirements and quick start"],["`Identium-103-Communication-Protocol.pdf`","The reader's data communication protocol (frames, commands, parameters)"],["`demo/`","Where to get Identium DesktopReader, the Windows app for the 103 (the C# example sources are in `c#/c#-api/Example/`)"],["`c#/c#-api/`","The C# reader library, example sources and the C# development guide"],["`c_c++ api/windows/`","Headers, the reader library (.dll/.lib) for x86 and x64, .cpp examples and the C/C++ development guide"],["`c_c++ api/linux/`","The reader library (.so) for x86_64, armv7, aarch64 and mips, headers, an example, udev libraries and the Linux guide"],["`java/`, `android/`","Java and Android libraries, examples (Android: demo app source) and guides for readers on a serial or network connection"]]}]},{"k":"topic","m":9,"s":"For Developers: SDK Quick Start","h":"Integrate in six steps","t":"Integrate in six steps","b":[{"ol":["Reference the C# reader library in `c#/c#-api/` (C/C++: add the headers and link the reader library).","List the USB readers and open one with the library's USB-HID functions.","Register the tag-report event handler and keep it short: slow work inside it slows the library.","Send the stop command to put the reader in idle, then start an EPC inventory on antenna 1. Add the TID option to receive TIDs as well.","Send the stop command to end the read. Check the result code of every command: 0 means success.","To write, stop reading first, then send the write-EPC command for the EPC bank at start word 1, with the PC word followed by the EPC."],"start":1},{"note":"Full API reference: the development guide in each language folder of the SDK package (`Identium-103-Dev-Guide-CSharp.pdf`, `-C-CPP-Windows.pdf`, `-C-CPP-Linux.pdf`, `-Java.pdf`). A complete USB-HID console example in C# is `c#/c#-api/Example/Example_USB_HID.cs`; for C/C++, see the USB-HID connection chapter of the C/C++ development guide. Close DesktopReader while your own program talks to the reader.","kind":"info"}]},{"k":"topic","m":9,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["The 103 reads up to 30 cm. While encoding, keep other tagged items away from the pad, or lower ANT1 power (section 13), so the next item on the desk is not written by mistake.","In Batch Write, lift each written tag before you place the next one.","Keyboard Mode types into whichever window has focus, and keeps doing so after DesktopReader is closed. Switch it off when you do not need it.","Kill cannot be undone. Test on a sample tag and keep a record of every password you write.","Keep the radio band the reader was supplied with, and press Set on Frequency Range only if Identium support asks you to. In India the band is 865–868 MHz.","Restore Factory Settings returns the reader's settings to factory defaults. Note your RFID settings before you use it.","Use Upgrade App or Upgrade Baseband only if Identium support sends you a firmware file and asks you to; a failed upgrade can leave the reader unusable."]}]},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Model","v":"IDTS-103 (103UDR) UHF RFID desktop reader-writer"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Air protocol","v":"ISO 18000-6C (EPC Gen2), ISO 18000-6B"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Tag operations","v":"Multi-tag reading and writing; read EPC, TID, User, Reserved; write EPC, User, Reserved; kill"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Read range","v":"Up to 30 cm, adjustable"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Frequency","v":"UHF. Confirm the 865–868 MHz India band when you order"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Interface","v":"USB to a PC; serial or HID (keyboard) output, configurable"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Driver and power","v":"No driver needed; powered from the USB port, no separate power supply"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Indicators","v":"SIGNAL, RFID and POWER lights; built-in buzzer"},{"k":"spec","m":9,"s":"Parameters","h":"","t":"Software and SDK","v":"Identium DesktopReader 1.4.6 (Windows 10/11 64-bit and macOS 11 or later, free; it also runs the UDR-111); 103 All-in-One SDK with C# and C/C++ libraries for USB-HID"},{"k":"topic","m":9,"s":"Parameters","h":"","t":"Parameters","b":[{"kv":[["Model","IDTS-103 (103UDR) UHF RFID desktop reader-writer"],["Air protocol","ISO 18000-6C (EPC Gen2), ISO 18000-6B"],["Tag operations","Multi-tag reading and writing; read EPC, TID, User, Reserved; write EPC, User, Reserved; kill"],["Read range","Up to 30 cm, adjustable"],["Frequency","UHF. Confirm the 865–868 MHz India band when you order"],["Interface","USB to a PC; serial or HID (keyboard) output, configurable"],["Driver and power","No driver needed; powered from the USB port, no separate power supply"],["Indicators","SIGNAL, RFID and POWER lights; built-in buzzer"],["Software and SDK","Identium DesktopReader 1.4.6 (Windows 10/11 64-bit and macOS 11 or later, free; it also runs the UDR-111); 103 All-in-One SDK with C# and C/C++ libraries for USB-HID"]]},{"p":"Specifications are indicative and may change without notice; confirm details for your order in the quotation."}]},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"\"No Identium reader found\" in Connection","cause":"Reader unplugged, or plugged in after the window opened","fix":"Check the cable, press refresh, then Confirm. Try another USB port. **Show all HID devices** lists every USB device, which tells you whether the PC sees the reader at all."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"The title bar reads **Desktop Reader 111**, or menu entries are missing","cause":"The Connection window was left on the other reader model","fix":"Click **Disconnect**, open **Settings › Connect**, set **Reader model** to **IDTS-103UDR** and Confirm."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"No tags appear","cause":"Wrong protocol, tag too far, or power low","fix":"Select **6C** for Gen2 tags; place the tag flat on the pad; raise ANT1 power."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"Several tags appear when you want one","cause":"Range reaches other tagged items","fix":"Move them away, or lower ANT1 power (section 13)."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"\"EPC must be whole 16-bit words\"","cause":"EPC length not a multiple of 4 hex digits","fix":"Use 4, 8, 12 … 24 hex digits (24 = 96 bits)."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"Write fails, or \"This tag would not take the write — swap it\"","cause":"Tag locked, wrong access password, or faulty tag","fix":"Enter the access password; otherwise use another tag."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"Batch asks \"Already-written tag\" or \"Unrecognised tag\"","cause":"A tag from this run came back, or it is not on the allowed list","fix":"Choose **Skip / change tag**, **Continue & write** or **Cancel batch**."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"Barcode → RFID stops with \"Keyboard Mode is on\"","cause":"The reader would type into the barcode box","fix":"Turn Keyboard Mode off (Settings ▾), then scan again."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"Tag numbers appear in other windows","cause":"Keyboard Mode is on","fix":"Switch Keyboard Mode off (Settings ▾), or **Disable** in its panel."},{"k":"fix","m":9,"s":"Troubleshooting","h":"","t":"\"Reader not responding — resetting\"","cause":"The reader stopped answering in a batch","fix":"Wait for the reset. If it repeats, Disconnect, re-plug the USB cable and connect."},{"k":"topic","m":10,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** **Read area** — the top surface; place the tag here","**2** **Light ring** — the reader's LED","**3** **USB cable** — power and data from the PC","**4** **Housing** — zinc alloy and acrylic, 110 × 70 × 15 mm, 150 g"]},{"p":"UDR-111 desktop reader with its USB cable"},{"p":"The reader is powered and controlled through the USB cable. There are no switches or buttons on it: working mode, output format, radio power and the buzzer are all set from the PC with Identium Desktop Reader, or by your own application through the SDK."}]},{"k":"topic","m":10,"s":"Connecting and Powering the Reader","h":"","t":"Connecting and Powering the Reader","b":[{"ol":["Plug the reader's USB cable into a free USB port on the PC. It takes its power from the port; no power supply is needed.","Windows recognises it as a standard USB device — no driver has to be installed.","To switch the reader off, unplug the USB cable."],"start":1},{"note":"Place the reader flat on the desk beside the keyboard, with the top surface free. Only tags that you want to read should be on or near it.","kind":"tip"},{"note":"A reader that was left in Keyboard Mode starts typing tag numbers as soon as it has power, with no software running. That is normal — see section 04.","kind":"info"}]},{"k":"row","m":10,"s":"Indicators","h":"","t":"Buzzer","kv":[["What it tells you","Sounds when a tag is read. Switch it off, or back on, under **Settings › RFID Settings › Buzzer** in Identium Desktop Reader (section 11); the **Beep** box on the Read tab does the same for a read you start there."]]},{"k":"row","m":10,"s":"Indicators","h":"","t":"LED","kv":[["What it tells you","Confirms a tag read, together with the buzzer."]]},{"k":"topic","m":10,"s":"Indicators","h":"","t":"Indicators","b":[{"table":{"head":["Indicator","What it tells you"],"rows":[["Buzzer","Sounds when a tag is read. Switch it off, or back on, under **Settings › RFID Settings › Buzzer** in Identium Desktop Reader (section 11); the **Beep** box on the Read tab does the same for a read you start there."],["LED","Confirms a tag read, together with the buzzer."]]}},{"note":"During a batch write the app takes the buzzer over and beeps once per tag written, instead of once per read (section 10).","kind":"info"}]},{"k":"row","m":10,"s":"Two Working Modes","h":"","t":"Type tag numbers into Excel or a form","kv":[["Use","Keyboard Mode — section 08"]]},{"k":"row","m":10,"s":"Two Working Modes","h":"","t":"See what a tag holds","kv":[["Use","The Read tab — section 07"]]},{"k":"row","m":10,"s":"Two Working Modes","h":"","t":"Write a new EPC to one tag","kv":[["Use","Write › Manual Write — section 09"]]},{"k":"row","m":10,"s":"Two Working Modes","h":"","t":"Encode a run of tags","kv":[["Use","Write › Batch Write — section 10"]]},{"k":"row","m":10,"s":"Two Working Modes","h":"","t":"Build reading and writing into your own program","kv":[["Use","The SDK — sections 12 and 13"]]},{"k":"topic","m":10,"s":"Two Working Modes","h":"","t":"Two Working Modes","b":[{"ul":["**Keyboard Mode — the reader types by itself**: The reader acts as a USB keyboard. Present a tag and its number is typed wherever the cursor is: Excel, Notepad, a web form or an ERP screen. No programming is needed, and for the two EPC flavours the reader keeps doing it with the app closed. Format, prefix, suffix and the Enter key are set once in the app. This is the reader's *active* mode.","**Driven by software — read and write**: The reader answers commands. Use Identium Desktop Reader to read tags, write an EPC, encode a run of tags or lock and kill them, or the SDK to build reading and encoding into your own application. This is the reader's *passive* mode."]},{"p":"The two do not clash. While Identium Desktop Reader reads or writes, it holds the reader passive; Keyboard Mode comes back when you disconnect or close the app, and a reader found in Keyboard Mode still connects."},{"table":{"head":["You want to…","Use"],"rows":[["Type tag numbers into Excel or a form","Keyboard Mode — section 08"],["See what a tag holds","The Read tab — section 07"],["Write a new EPC to one tag","Write › Manual Write — section 09"],["Encode a run of tags","Write › Batch Write — section 10"],["Build reading and writing into your own program","The SDK — sections 12 and 13"]]}}]},{"k":"row","m":10,"s":"Install Identium Desktop Reader","h":"","t":"**Identium Desktop Reader — Installer** (recommended on Windows)","kv":[["File","`Identium.DesktopReader.Setup.1.4.6.exe`"],["Size","91.0 MB"]]},{"k":"row","m":10,"s":"Install Identium Desktop Reader","h":"","t":"**Identium Desktop Reader — Portable**","kv":[["File","`Identium.DesktopReader.1.4.6.Portable.exe`"],["Size","90.8 MB"]]},{"k":"row","m":10,"s":"Install Identium Desktop Reader","h":"","t":"**Identium Desktop Reader — macOS (Apple Silicon)**","kv":[["File","`Identium.DesktopReader.1.4.6.arm64.dmg`"],["Size","109.8 MB"]]},{"k":"row","m":10,"s":"Install Identium Desktop Reader","h":"","t":"**Identium Desktop Reader — macOS (Intel)**","kv":[["File","`Identium.DesktopReader.1.4.6.x64.dmg`"],["Size","117.7 MB"]]},{"k":"topic","m":10,"s":"Install Identium Desktop Reader","h":"","t":"Install Identium Desktop Reader","b":[{"p":"Identium Desktop Reader is Identium's own application for the UDR-111 and the 103 desktop readers. Download it from the Identium Resource Hub, **www.identiumone.com/resourcehub/**, where it is listed four times — two builds for Windows and two for macOS:"},{"table":{"head":["Row on the Resource Hub","File","Size"],"rows":[["**Identium Desktop Reader — Installer** (recommended on Windows)","`Identium.DesktopReader.Setup.1.4.6.exe`","91.0 MB"],["**Identium Desktop Reader — Portable**","`Identium.DesktopReader.1.4.6.Portable.exe`","90.8 MB"],["**Identium Desktop Reader — macOS (Apple Silicon)**","`Identium.DesktopReader.1.4.6.arm64.dmg`","109.8 MB"],["**Identium Desktop Reader — macOS (Intel)**","`Identium.DesktopReader.1.4.6.x64.dmg`","117.7 MB"]]}}]},{"k":"topic","m":10,"s":"Install Identium Desktop Reader","h":"Windows","t":"Windows","b":[{"ol":["Download either Windows file. The **Installer** adds Start-menu and desktop shortcuts; the **Portable** build is a single file that runs from anywhere, including a USB stick.","Run the file. If Windows shows a **Windows protected your PC** notice for a new application, click **More info › Run anyway**.","Plug the reader into a USB port (section 02) and start the app. No extra driver is needed.","The **Connection** window opens by itself — carry on with section 06."],"start":1}]},{"k":"topic","m":10,"s":"Install Identium Desktop Reader","h":"macOS","t":"macOS","b":[{"ol":["Download the disk image for your Mac: **arm64** for Apple Silicon (M1, M2, M3, M4…), **x64** for Intel Macs.","Open it and drag **Identium DesktopReader** into **Applications**.","**First launch:** the app is signed but not notarised by Apple, so macOS asks once. Right-click the app › **Open** › **Open**. On macOS 15 and later, if it is blocked, go to **System Settings › Privacy & Security** and click **Open Anyway**.","Plug in the reader and launch the app. USB and serial readers need no drivers on macOS either."],"start":1},{"kv":[["Operating system","Windows 10 or 11 (64-bit), or macOS 11 or later (Apple Silicon or Intel)"],["Connection","A free USB port"],["Version in this manual","Identium Desktop Reader 1.4.6; the UDR-111 is supported from version 1.4.0"]]},{"p":"The Resource Hub always carries the current version. Check the version in the app's title bar against the hub row before you report a problem."}]},{"k":"topic","m":10,"s":"Connect and Find Your Way Around","h":"","t":"Connect and Find Your Way Around","b":[{"ol":["In **Reader model** choose **IDTS-111UDR**. A UDR-111 plugged into USB is recognised and picked for you.","Leave **Type** on **USB-HID**.","**Param (USB-HID device)** lists the readers found. Pick yours, or press the refresh button beside it. If nothing is listed, tick **Show all HID devices**.","Click **Confirm**. The status bar at the bottom reads **Connected: USBHID · USB-HID**, and the title bar reads **UHF Desktop Reader 111**."],"start":1},{"p":"The Connection window with the UDR-111 picked"},{"note":"The two Identium desktop readers speak different languages, so the app has to know which one it is talking to. On USB it works that out from the device itself (the UDR-111 reports **VID FFFF:0035**).","kind":"info"}]},{"k":"topic","m":10,"s":"Connect and Find Your Way Around","h":"The window","t":"The window","b":[{"table":{"head":["Menu","What it is for"],"rows":[["**Settings**","**Connect** (the window above), **RFID Settings** (power, region, buzzer — section 11), **Keyboard Mode** (section 08) with a quick on/off switch, and **Exit**"],["**Read**","Read tags and watch them arrive — section 07"],["**Write**","**Manual Write** for one tag (section 09) and **Batch Write** for a run of tags (section 10)"],["**Tools**","Device Info, Custom Command, Clear List, Export Text, Export Excel and Restore Factory Settings"],["Status bar","Connection state on the left, the last message on the right, and buttons for the light/dark theme and type size"]]}},{"p":"Settings menu with a UDR-111 connected"},{"p":"The menus show only what the connected reader can do, so with a UDR-111 the entries for multi-antenna and network hardware are not shown."}]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**Read EPC** / **Read TID**","kv":[["What it does","Start reading, returning the EPC, or the EPC and the TID"]]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**Custom** / **Hybrid**","kv":[["What it does","Read chosen memory areas, and match on a particular EPC, TID or user-memory value"]]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**Columns**","kv":[["What it does","Choose the columns shown — EPC, TID, user and reserved memory, count, antenna, RSSI, read time and more"]]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**6C**","kv":[["What it does","The UDR-111 reads EPC Gen2 (ISO 18000-6C) tags, so **6C** is the protocol in use; the other protocol buttons belong to other Identium readers"]]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**ANT1**","kv":[["What it does","The UDR-111 has one antenna — its read area — so ANT1 is the only antenna"]]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**Beep**","kv":[["What it does","Ticked, the reader beeps on every tag it reads during this read"]]},{"k":"row","m":10,"s":"Read Tags","h":"","t":"**Report** / **Logs**","kv":[["What it does","Switch between the tag list and the frame log, which shows every command sent and answer received"]]},{"k":"topic","m":10,"s":"Read Tags","h":"","t":"Read Tags","b":[{"ol":["Click **Read**.","On the right, leave **Inventory** selected to keep reading until you stop, or choose **Single** for one read.","Place a tag on the reader and click **Read EPC**. The tag appears in the list, and **Read Count**, **Tag Count**, **Speed** and **Time** count up on the right.","Click **Read TID** instead to read each tag's TID, the serial number its chip was made with, into the TID column.","Click **Stop** when you have finished, **Clear** to empty the list, and **Export** to save the list as a CSV file."],"start":1},{"p":"The Read tab: three tags read one after another on the pad, with the live read count, tag count and read rate on the right"},{"table":{"head":["On the Read tab","What it does"],"rows":[["**Read EPC** / **Read TID**","Start reading, returning the EPC, or the EPC and the TID"],["**Custom** / **Hybrid**","Read chosen memory areas, and match on a particular EPC, TID or user-memory value"],["**Columns**","Choose the columns shown — EPC, TID, user and reserved memory, count, antenna, RSSI, read time and more"],["**6C**","The UDR-111 reads EPC Gen2 (ISO 18000-6C) tags, so **6C** is the protocol in use; the other protocol buttons belong to other Identium readers"],["**ANT1**","The UDR-111 has one antenna — its read area — so ANT1 is the only antenna"],["**Beep**","Ticked, the reader beeps on every tag it reads during this read"],["**Report** / **Logs**","Switch between the tag list and the frame log, which shows every command sent and answer received"]]}},{"note":"The desk pad reads the tag lying on it, one at a time. Lift each tag off before you place the next one, and the list fills up tag by tag.","kind":"tip"}]},{"k":"row","m":10,"s":"Keyboard Mode: Type Tag Numbers into Excel","h":"","t":"**One tag (EPC)**","kv":[["Use it for","The EPC of the tag on the pad — the everyday setting"],["Does the app have to stay open?","No — the reader does the typing itself"]]},{"k":"row","m":10,"s":"Keyboard Mode: Type Tag Numbers into Excel","h":"","t":"**Several tags (EPC)**","kv":[["Use it for","The EPC of every tag in range, one after another"],["Does the app have to stay open?","No"]]},{"k":"row","m":10,"s":"Keyboard Mode: Type Tag Numbers into Excel","h":"","t":"**TID (full)**","kv":[["Use it for","The complete TID of each tag — its factory serial number"],["Does the app have to stay open?","Yes, but it may be minimised"]]},{"k":"topic","m":10,"s":"Keyboard Mode: Type Tag Numbers into Excel","h":"","t":"Keyboard Mode: Type Tag Numbers into Excel","b":[{"p":"In Keyboard Mode the reader types each tag number wherever the cursor is, exactly as if you had typed it. Nothing has to be installed in Excel, the browser or your ERP."},{"ol":["Open **Settings › Keyboard Mode**.","Choose what should be typed: **One tag (EPC)**, **Several tags (EPC)** or **TID (full)**.","Click **Turn on**. The banner at the top of the dialog confirms it.","Close the dialog, click in the cell, box or field where the first number should go, and place a tag on the reader. The buzzer sounds and the number is typed at the cursor."],"start":1},{"p":"Settings › Keyboard Mode, switched on with One tag (EPC) chosen"},{"table":{"head":["What is typed","Use it for","Does the app have to stay open?"],"rows":[["**One tag (EPC)**","The EPC of the tag on the pad — the everyday setting","No — the reader does the typing itself"],["**Several tags (EPC)**","The EPC of every tag in range, one after another","No"],["**TID (full)**","The complete TID of each tag — its factory serial number","Yes, but it may be minimised"]]}}]},{"k":"topic","m":10,"s":"Keyboard Mode: Type Tag Numbers into Excel","h":"Typing the full TID","t":"Typing the full TID","b":[{"p":"The reader's own TID typing is fixed in its firmware and sends only the last 16 characters of the number. To get all of it, choose **TID (full)**: the app reads each tag itself and types the whole TID, once per tag. Keep Identium Desktop Reader open (minimised is fine). **Before the TID**, **After the TID** and **Enter** set what is typed around the number; click **Save** to keep them."},{"note":"On a Mac, **TID (full)** needs permission to control the computer, which macOS asks for once: allow **Identium DesktopReader** under **System Settings › Privacy & Security › Accessibility**.","kind":"info"},{"p":"**Check the TID**, in the section below, reads the tag on the pad with the app and shows the TID and EPC it really holds, so you can compare them with what was typed."},{"p":"With TID (full) chosen, these boxes set what the app types around each TID"}]},{"k":"topic","m":10,"s":"Keyboard Mode: Type Tag Numbers into Excel","h":"What the reader types","t":"What the reader types","b":[{"ol":["Under **Output format** choose **Full number — the whole EPC / TID**. The other formats are short access-card numbers made from the last few bytes of the tag number; the app warns you when one of them is chosen.","Tick **Add Enter** so the next number goes to the next cell or line. **Add ;**, **Add ?**, **Add , in the middle** and **Add character (hex)** add those characters to the typed output; check the result in Notepad.","**Loud buzzer** sets how loudly the reader beeps as it types.","Click **Set** to send the format to the reader. **Read from reader** shows what the reader has stored.","Under **Prefix & suffix**, up to four characters each can be typed before and after every tag number. Enter them and click the **Set** button beside each box."],"start":5},{"p":"What the reader types: the output format and the characters added to each tag number"},{"note":"Before a rollout, test the chosen format with a few of your own tags in Notepad, and check the typed numbers against a read on the Read tab.","kind":"tip"}]},{"k":"topic","m":10,"s":"Write a New EPC to One Tag","h":"","t":"Write a New EPC to One Tag","b":[{"ol":["Place **one** tag on the reader and keep other tags away from it.","Click **Read** and then **Read EPC** so the tag appears in the list, then click its row to select it. Click **Stop**.","Click **Write**, then **Manual Write**, then the green **EPC** button.","The **Selected tag** box shows the tag you picked. Leave **Antenna** on **Ant 1** and **Password** on **00000000** unless the tag has an access password.","Type the new EPC in **New EPC (hex)**, in hexadecimal. It must be whole 16-bit words — four hex characters per word — so 8, 12, 16 or 24 characters, up to 31 words. The app shows the word count as you type and sets the tag's own length field to match.","Click **Confirm**. **Write successful — lift the tag off the reader** appears under the box."],"start":1},{"p":"Write EPC: a four-byte EPC written to the selected tag"},{"note":"Writing replaces the tag's EPC until it is written again. Check the number before you click **Confirm**, and write one tag at a time.","kind":"caution"}]},{"k":"row","m":10,"s":"Write a New EPC to One Tag","h":"The other write tools","t":"**User**","kv":[["What it does","Writes data to the tag's user memory, from a word address you choose"]]},{"k":"row","m":10,"s":"Write a New EPC to One Tag","h":"The other write tools","t":"**Custom**","kv":[["What it does","Writes any memory area, and **locks** or **destroys (kills)** a tag"]]},{"k":"row","m":10,"s":"Write a New EPC to One Tag","h":"The other write tools","t":"**Super**","kv":[["What it does","Reads every memory bank of the tag at once, then writes any one of them"]]},{"k":"topic","m":10,"s":"Write a New EPC to One Tag","h":"The other write tools","t":"The other write tools","b":[{"table":{"head":["Button","What it does"],"rows":[["**User**","Writes data to the tag's user memory, from a word address you choose"],["**Custom**","Writes any memory area, and **locks** or **destroys (kills)** a tag"],["**Super**","Reads every memory bank of the tag at once, then writes any one of them"]]}},{"note":"**Destroy** and the **Permanent lock** / **Permanent unlock** actions cannot be undone. Try them on spare tags first.","kind":"caution"}]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Stop after … tags**","kv":[["What it is for","Ends the run after a set number of tags"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Pause on already-written tag**","kv":[["What it is for","Stops and asks before a tag that already carries a number from this run is overwritten"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Verify after write (read-back)**","kv":[["What it is for","Reads each tag back and compares it with what was written"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Only write expected tags**","kv":[["What it is for","Writes only tags whose current number is in a list you import"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Pause after write**","kv":[["What it is for","How long to wait after each write before looking for the next tag (300 ms by default)"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Beep once per write**","kv":[["What it is for","The app takes the buzzer over and beeps once per tag written, instead of once per read"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Match tags by TID**","kv":[["What it is for","Reads the TID as well, so a tag that half-took a write can be told from a fresh one. It costs an extra read per tag"]]},{"k":"row","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"**Template**","kv":[["What it is for","Saves a sample Excel sheet with the columns each import expects"]]},{"k":"topic","m":10,"s":"Batch Write: Encode a Run of Tags","h":"","t":"Batch Write: Encode a Run of Tags","b":[{"p":"Batch Write encodes tags one after another without a read step: arm it once, then place a tag, lift it off, place the next. Each write is logged with the old and the new number."},{"ol":["Click **Write**, then **Batch Write**.","Choose a **Mode**: **Auto-increment** for a numbered series, **Fixed value** to write the same number to every tag, **Update from Excel** for a column of new EPCs, **Excel map (Current→New)** to renumber known tags, or **Barcode → RFID** to turn a scanned barcode into the tag's EPC.","For **Auto-increment**, set the **Start EPC (hex)**, the **Step** and the **Direction**, and whether counting runs in **Decimal** or **Hex**. The next few numbers in the series are previewed beside the boxes.","Leave **Password** at **00000000** unless your tags have an access password.","Click **Start**. The bar under the controls reads **Armed — place a tag**.","Place a tag. It is written as soon as it answers, the reader beeps once, and the bar reads **Written — remove the tag**. Lift it off and place the next one.","Click **Stop** when the run is done. **Excel** and **Text** save the change log."],"start":1},{"p":"Batch Write in Auto-increment mode, part-way through a run: the change log lists every tag written, newest first"},{"table":{"head":["Option","What it is for"],"rows":[["**Stop after … tags**","Ends the run after a set number of tags"],["**Pause on already-written tag**","Stops and asks before a tag that already carries a number from this run is overwritten"],["**Verify after write (read-back)**","Reads each tag back and compares it with what was written"],["**Only write expected tags**","Writes only tags whose current number is in a list you import"],["**Pause after write**","How long to wait after each write before looking for the next tag (300 ms by default)"],["**Beep once per write**","The app takes the buzzer over and beeps once per tag written, instead of once per read"],["**Match tags by TID**","Reads the TID as well, so a tag that half-took a write can be told from a fresh one. It costs an extra read per tag"],["**Template**","Saves a sample Excel sheet with the columns each import expects"]]}},{"note":"Run the first few tags of a batch, check them with **Read EPC**, and only then work through the box.","kind":"tip"}]},{"k":"topic","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"","t":"Reader Settings: Power, Region and Buzzer","b":[{"p":"Open **Settings › RFID Settings**. The dialog covers the radio and the buzzer; everything to do with typing is under **Settings › Keyboard Mode**."}]},{"k":"topic","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"RF power","t":"RF power","b":[{"p":"The reader stores its radio power as one of 12 levels, not as a number of dBm, and keeps it when it is unplugged. The app lists each level with the dBm figure the reader gives it — level 0 is the lowest and level 11 the highest, and level 2 is the factory setting. Choose a level and click **Set**; the message that follows reports what the radio then measures. **Get** reads the current value back."},{"p":"RFID Settings — the reader's 12 power levels"},{"note":"Lower the level if the reader picks up tags lying beside it instead of the one on the pad — for example while encoding single tags. Raise it if a tag on the pad is not read at all.","kind":"tip"}]},{"k":"topic","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"Region","t":"Region","b":[{"p":"Under **Region & channels**, choose **Europe / India 865–868 MHz** and click **Set**. That is the band the reader must use in India. **Frequency hopping** moves the reader between the channels of the band; leave it on."}]},{"k":"topic","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"Buzzer","t":"Buzzer","b":[{"p":"**Reader beeps** switches the reader's buzzer on or off; click **Set** to send it."}]},{"k":"row","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"Output, read interval and repeat filter","t":"**USB keyboard** / **Serial port** / **Wiegand**","kv":[["Range","On or off"],["Use","Where the reader sends each number it reads. Leave **USB keyboard** on for a PC."]]},{"k":"row","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"Output, read interval and repeat filter","t":"**Search interval**","kv":[["Range","0–255, in units of 10 ms (factory 10 = 100 ms)"],["Use","How long the reader waits between read attempts"]]},{"k":"row","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"Output, read interval and repeat filter","t":"**Card filter**","kv":[["Range","0–255 (factory 10)"],["Use","0 types the tag on every single read; a higher value stops the same tag being typed again and again"]]},{"k":"topic","m":10,"s":"Reader Settings: Power, Region and Buzzer","h":"Output, read interval and repeat filter","t":"Output, read interval and repeat filter","b":[{"p":"The rest of the reader's own settings are in **Settings › Keyboard Mode**, under **Output**, because they decide how it behaves when it is typing on its own."},{"p":"Keyboard Mode › Output: where the reader sends what it reads, how often it looks for a tag, and the repeat filter"},{"table":{"head":["Setting","Range","Use"],"rows":[["**USB keyboard** / **Serial port** / **Wiegand**","On or off","Where the reader sends each number it reads. Leave **USB keyboard** on for a PC."],["**Search interval**","0–255, in units of 10 ms (factory 10 = 100 ms)","How long the reader waits between read attempts"],["**Card filter**","0–255 (factory 10)","0 types the tag on every single read; a higher value stops the same tag being typed again and again"]]}},{"p":"**Serial port & Wiegand**, lower down, holds the baud rate, the serial end symbol and the Wiegand format for readers wired into a serial or access-control system. Enter a value and click the **Set** button beside it."},{"note":"The reader reports its output format back to the app, so **Read from reader** always shows the truth. The other settings cannot be read back, so the dialog shows what was last sent in this session. **Tools › Restore Factory Settings** puts power, reader mode, outputs and baud rate back to their defaults.","kind":"info"}]},{"k":"topic","m":10,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"The SDK is a Windows library, `DLLProject_x86.dll` / `DLLProject_x64.dll`, with sample applications and their source code in four languages; the C#, Delphi 7 and Java samples are also ready to run. All functions return `0` for success. It is published on the Resource Hub as **UDR-111 — UHF Desktop Reader SDK**, `Identium-UDR-111-SDK-1.0.zip` (about 8 MB)."}]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`Docs/Identium-UDR-111-Interface-Functions.pdf` / `.docx`","kv":[["Contents","API reference: the functions, their parameters and return values (both files have the same, complete content)"]]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`Library/`","kv":[["Contents","`DLLProject_x86.dll` and `DLLProject_x64.dll`"]]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`Samples/`","kv":[["Contents","The sample applications (next table)"]]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`CSharp/RFID_EPC_Project/`","kv":[["Contents","C# sample (Visual Studio, .NET Framework 4.0). `bin/Release` holds ready-built `RFID_EPC_Project_x86.exe`, `RFID_EPC_Project_x64.exe` and both DLLs"]]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`Delphi7/`","kv":[["Contents","Delphi 7 sample with source and a built .exe"]]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`VC2010/`","kv":[["Contents","Visual C++ 2010 sample with source and the `DLLProject.h` / `DLLProject.cpp` wrapper; build it in Visual Studio (`Release/` already holds the DLL)"]]},{"k":"row","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"`Java-x86/` / `Java-x64/`","kv":[["Contents","Java (NetBeans) samples using JNA. Install a 32-bit (x86) or 64-bit (x64) Java 8 or later, then run `dist/start.bat`"]]},{"k":"topic","m":10,"s":"For Developers: SDK Quick Start","h":"What is in the package","t":"What is in the package","b":[{"p":"Unzip the download and open `Identium-UDR-111-SDK-1.0`. Everything is already unpacked: the API reference in `Docs/`, the two DLLs in `Library/` and the sample applications in `Samples/`. `README.md` lists every folder."},{"table":{"head":["In `Identium-UDR-111-SDK-1.0`","Contents"],"rows":[["`Docs/Identium-UDR-111-Interface-Functions.pdf` / `.docx`","API reference: the functions, their parameters and return values (both files have the same, complete content)"],["`Library/`","`DLLProject_x86.dll` and `DLLProject_x64.dll`"],["`Samples/`","The sample applications (next table)"]]}},{"table":{"head":["In `Samples/`","Contents"],"rows":[["`CSharp/RFID_EPC_Project/`","C# sample (Visual Studio, .NET Framework 4.0). `bin/Release` holds ready-built `RFID_EPC_Project_x86.exe`, `RFID_EPC_Project_x64.exe` and both DLLs"],["`Delphi7/`","Delphi 7 sample with source and a built .exe"],["`VC2010/`","Visual C++ 2010 sample with source and the `DLLProject.h` / `DLLProject.cpp` wrapper; build it in Visual Studio (`Release/` already holds the DLL)"],["`Java-x86/` / `Java-x64/`","Java (NetBeans) samples using JNA. Install a 32-bit (x86) or 64-bit (x64) Java 8 or later, then run `dist/start.bat`"]]}}]},{"k":"topic","m":10,"s":"For Developers: SDK Quick Start","h":"Run the sample application","t":"Run the sample application","b":[{"ol":["Connect the reader. Close Identium Desktop Reader and any other program that uses the reader.","Open `Samples/CSharp/RFID_EPC_Project/bin/Release` and run `RFID_EPC_Project_x64.exe` (64-bit Windows) or `RFID_EPC_Project_x86.exe`.","On the **Connection & Read EPC** tab choose **USB** and click **Connect**. The button turns green and reads **Disconnect**.","Place a tag on the reader and click **Read Single**. The tag appears in the **EPC Table** with its PC, EPC and RSSI.","The **Read & Write Tag Memory** tab selects a tag (**Select Parameter**) and reads, writes, locks or kills it. **Test & Modem Setting** holds RSSI scan and modem settings."],"start":1},{"note":"With a USB connection the sample enables **Read Single** only. To read continuously, call `ReadSingle()` in a loop from your own code.","kind":"info"},{"note":"For everyday work — setting the band, the power level and the buzzer, reading, writing and encoding — use Identium Desktop Reader (sections 05–11). The sample application is there to show the API, not to run a desk.","kind":"tip"}]},{"k":"topic","m":10,"s":"Integrate the SDK in Your Application","h":"","t":"Integrate the SDK in Your Application","b":[{"ol":["Copy `DLLProject_x86.dll` or `DLLProject_x64.dll` from `Library/` next to your program and build for the same platform (x86 or x64).","Declare the functions. In C#, reuse `DLLProject.cs` from `Samples/CSharp/RFID_EPC_Project/` and add the conditional compilation symbol `DllImport_x86` or `DllImport_x64` to your project, matching your build platform: the declarations in `DLLProject.cs` are compiled only when one of them is defined (the sample's x86 project defines `DllImport_x86`). In C/C++, add `DLLProject.h` and `DLLProject.cpp` from `Samples/VC2010/RFID_EPC_Project/` to your project, create a `DLLProject` object and call its methods. That wrapper loads `DLLProject_x86.dll`, so build for x86, or change the DLL name in `DLLProject.cpp` for x64.","Register a callback and connect: `Connect(2, NULL, callback)` — 2 = USB. Tag reads arrive in the callback as notice frames (Type `0x02`, Command `0x22`).","Read with `ReadSingle()`. In the notice data, byte 0 is RSSI, bytes 1–2 are the PC word, then the EPC (length from the PC word), then the CRC.","Read and write memory with `SetSelectParam()` (choose the tag by its EPC), then `ReadData()` / `WriteData()`. Banks: 0 RFU, 1 EPC, 2 TID, 3 User. Start addresses and read lengths are in 16-bit words; the sample passes the write data length in bytes.","Call `Disconnect()` when you finish."],"start":1}]},{"k":"topic","m":10,"s":"Integrate the SDK in Your Application","h":"Function groups in the API reference","t":"Function groups in the API reference","b":[{"p":"The API guide, `Docs/Identium-UDR-111-Interface-Functions.pdf` (also as `.docx`), describes the functions below with their parameters and return values."},{"ul":["**Connection and inventory**: `Connect`, `Disconnect`, `GetModuleInfo`, `ReadSingle`, `SetSelectParam`, `SetSelectMode`","**Tag memory**: `ReadData`, `WriteData`, `LockUnlock`, `Kill`, `GetQuery`, `SetQuery`","**RF settings**: `SetRegion`, `SetRfChannel`, `GetRfChannel`, `SetFhss`, `SetPower`, `GetPower`, `SetCW`, `SetModemPara`, `GetModemPara`, `ScanJammer`, `ScanRSSI`","**Chip-specific commands**: Tag-chip-specific commands for read protection, EAS (anti-theft bit) and privacy (QT) settings. The function names and parameters are in the API reference."]},{"code":"static DLLProject.CallReceive onData = OnData;   // keep this reference alive\n\nstatic int OnData(byte type, byte cmd, int size, IntPtr p)\n{\n    // Runs on a worker thread: marshal to the UI thread (the sample uses Invoke).\n    if (type == 0x02 && cmd == 0x22 && size > 3)   // tag notice\n    {\n        byte[] d = new byte[size];\n        Marshal.Copy(p, d, 0, size);\n        int epcLen = (d[1] / 8) * 2;                 // d[0] = RSSI, d[1..2] = PC\n        string epc = BitConverter.ToString(d, 3, epcLen).Replace(\"-\", \" \");\n        Console.WriteLine(\"EPC \" + epc);\n    }\n    return 1;\n}\n\n// Connect over USB (ConnType 2, no connection string). 0 = success.\nint rc = DLLProject.Connect(2, null, onData);\n\n// Set the India band (Europe region) and the radio's transmit power.\nDLLProject.SetRegion(3);        // Europe region = India band 865–868 MHz\nDLLProject.SetPower(2000);      // hundredths of a dBm: 2000 = 20 dBm\n\n// Read one tag. The EPC arrives in OnData.\nDLLProject.ReadSingle();\n\n// Close the connection when you finish.\nDLLProject.Disconnect();"},{"note":"In India use the reader on 865–868 MHz only. In the SDK this is the **Europe** region (`SetRegion(3)`): 15 channels, 0.2 MHz apart, all inside the 865–868 MHz band.","kind":"caution"},{"note":"`Kill`, and the **Perma Lock** / **Perma Open** options of `LockUnlock`, cannot be undone. Test them on spare tags first.","kind":"caution"}]},{"k":"topic","m":10,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["The housing is rated IP40: use the reader indoors and keep it away from water and other liquids.","Use it between -20 °C and +60 °C, at up to 80% relative humidity, non-condensing.","Connect it directly to a USB port on the PC; the reader takes its power from that port.","When encoding, keep only the tag being written on the reader. Lower the power level under **Settings › RFID Settings** (section 11) to shorten the read range, so that nearby tags are not read or written.","Keep the reader on the India UHF band, 865–868 MHz: in **Settings › RFID Settings** choose **Europe / India 865–868 MHz** and click **Set** (section 11).","Do not open or modify the reader. Clean it with a soft, dry cloth.","Before you lock or destroy tags, try the operation on spare tags; both can be permanent."]}]},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Model","v":"IDTS-111UDR (UDR-111 UHF Desktop Reader)"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Frequency","v":"865–868 MHz (India)"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Protocol","v":"EPC Global UHF ISO 18000-6C (EPC Gen2)"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"RF output power","v":"Adjustable — the reader stores it as one of 12 power levels, set in Identium Desktop Reader"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Read range","v":"0–50 cm, depending on the tag"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Antenna","v":"One, built in (the read area)"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Interface","v":"USB"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Operating modes","v":"Answer: read and write · Active: HID keyboard emulation"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Reading rate","v":"Software programmable"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Read indication","v":"Buzzer and LED"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Software","v":"Identium Desktop Reader (Windows and macOS), and the Identium UDR-111 SDK for Windows — both free from the Resource Hub"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Power","v":"USB"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Material","v":"Zinc alloy and acrylic"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Dimensions","v":"110 × 70 × 15 mm"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Weight","v":"150 g"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"IP rating","v":"IP40"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Humidity","v":"80%, non-condensing"},{"k":"spec","m":10,"s":"Parameters","h":"","t":"Operating temperature","v":"-20 °C to +60 °C"},{"k":"topic","m":10,"s":"Parameters","h":"","t":"Parameters","b":[{"kv":[["Model","IDTS-111UDR (UDR-111 UHF Desktop Reader)"],["Frequency","865–868 MHz (India)"],["Protocol","EPC Global UHF ISO 18000-6C (EPC Gen2)"],["RF output power","Adjustable — the reader stores it as one of 12 power levels, set in Identium Desktop Reader"],["Read range","0–50 cm, depending on the tag"],["Antenna","One, built in (the read area)"],["Interface","USB"],["Operating modes","Answer: read and write · Active: HID keyboard emulation"],["Reading rate","Software programmable"],["Read indication","Buzzer and LED"],["Software","Identium Desktop Reader (Windows and macOS), and the Identium UDR-111 SDK for Windows — both free from the Resource Hub"],["Power","USB"],["Material","Zinc alloy and acrylic"],["Dimensions","110 × 70 × 15 mm"],["Weight","150 g"],["IP rating","IP40"],["Humidity","80%, non-condensing"],["Operating temperature","-20 °C to +60 °C"]]},{"p":"Specifications are indicative; confirm the details for your order in the quotation."}]},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"Nothing is typed when a tag is presented","cause":"Keyboard Mode is off, or the cursor is not in a text field","fix":"Open **Settings › Keyboard Mode** and click **Turn on**. Click into the target field and present the tag again."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"The typed number is too short, reversed or in decimal","cause":"Output format","fix":"In **Settings › Keyboard Mode**, choose **Full number — the whole EPC / TID** and click **Set**."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"Numbers run together on one line","cause":"No Enter after each number","fix":"Tick **Add Enter** and click **Set**."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"The same tag is typed again and again","cause":"Card filter is 0","fix":"In **Keyboard Mode › Output** set a **Card filter** and click **Set**."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"Only part of the TID is typed","cause":"The reader's own TID typing sends the last 16 characters","fix":"Choose **TID (full)** so the app reads and types the whole number, and leave the app open (minimised is fine)."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"The reader is not in the Connection window's device list","cause":"Cable, or the list is filtered","fix":"Press the refresh button beside the list, tick **Show all HID devices**, or re-plug the USB cable."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"Connected, but no tag appears","cause":"No read started, or the power level is too low","fix":"Click **Read EPC** on the Read tab. If the tag still does not answer, raise the power level under **Settings › RFID Settings** (section 11)."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"Nearby tags are read, or the wrong tag is written","cause":"Read range larger than needed","fix":"Keep other tags away from the reader and lower the power level under **Settings › RFID Settings**."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"A write is refused","cause":"Several tags on the reader, a wrong access password, or a locked tag","fix":"Leave one tag only, enter its access password, and try again. In Batch Write the reason is shown beside the tag in the change log."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"The reader beeps on every read and you want it quiet","cause":"The reader's own buzzer","fix":"Untick **Reader beeps** under **Settings › RFID Settings › Buzzer** and click **Set**, or untick **Beep** on the Read tab."},{"k":"fix","m":10,"s":"Troubleshooting","h":"","t":"Identium Desktop Reader or the SDK cannot reach the reader","cause":"The reader is in use by another program, or a 32-/64-bit mismatch in an SDK build","fix":"Close the other program — only one at a time can use the reader. For the SDK, keep the x86 DLL with x86 builds and the x64 DLL with x64 builds. Re-plug the USB cable."},{"k":"row","m":11,"s":"Packing List","h":"","t":"IDTS-UWR6 watch reader","kv":[["Quantity","1"],["Unit","pc"]]},{"k":"row","m":11,"s":"Packing List","h":"","t":"Silicone strap","kv":[["Quantity","1"],["Unit","pc"]]},{"k":"row","m":11,"s":"Packing List","h":"","t":"USB Type-C cable","kv":[["Quantity","1"],["Unit","pc"]]},{"k":"row","m":11,"s":"Packing List","h":"","t":"User manual","kv":[["Quantity","1"],["Unit","pc"]]},{"k":"topic","m":11,"s":"Packing List","h":"","t":"Packing List","b":[{"table":{"head":["Item","Quantity","Unit"],"rows":[["IDTS-UWR6 watch reader","1","pc"],["Silicone strap","1","pc"],["USB Type-C cable","1","pc"],["User manual","1","pc"]]}},{"p":"The Identium UWR6 app, the SDK and this manual are free downloads from the Identium Resource Hub (www.identiumone.com/resourcehub/)."}]},{"k":"topic","m":11,"s":"Equipment Diagram","h":"","t":"Equipment Diagram","b":[{"ul":["**1** Read key, one on each side (the app calls it the scan key): starts and stops tag reading","**2** WORK indicator light (blue)","**3** BT indicator light (blue, Bluetooth)","**4** POWER indicator light (red)","**5** Power button (right side)","**6** USB Type-C port (left side)","**7** RFID symbol","**8** Strap and buckle"]}]},{"k":"topic","m":11,"s":"Power On / Off and Charging","h":"Power on and off","t":"Power on and off","b":[{"ol":["**Power on:** when the watch is off, press and hold the power button (5) until the indicator light turns on.","**Power off:** when the watch is on, press and hold the power button until the indicator light turns off."],"start":1}]},{"k":"topic","m":11,"s":"Power On / Off and Charging","h":"Charging","t":"Charging","b":[{"ol":["Connect the supplied USB Type-C cable to the port on the left side of the watch (6).","Plug the other end into a standard USB charger or a computer USB port.","A full charge takes under 3 hours. The 1250 mAh battery then gives more than 8 hours of continuous reading and up to 120 hours on standby."],"start":1}]},{"k":"row","m":11,"s":"Button Description","h":"","t":"Power button (5)","kv":[["What it does","Press and hold to turn the watch on or off."]]},{"k":"row","m":11,"s":"Button Description","h":"","t":"Left / right read keys (1)","kv":[["What it does","Start tag reading (inventory). With the Identium UWR6 app in Active mode, press once to start reading and again to stop, or set each press to do one single read. The app reacts to the key only while the watch is connected."]]},{"k":"topic","m":11,"s":"Button Description","h":"","t":"Button Description","b":[{"table":{"head":["Button","What it does"],"rows":[["Power button (5)","Press and hold to turn the watch on or off."],["Left / right read keys (1)","Start tag reading (inventory). With the Identium UWR6 app in Active mode, press once to start reading and again to stop, or set each press to do one single read. The app reacts to the key only while the watch is connected."]]}},{"p":"The three indicator lights on the front are labelled WORK, BT (Bluetooth) and POWER. The app also shows the connection and the battery level at the top of every screen."}]},{"k":"topic","m":11,"s":"Install the Identium UWR6 App","h":"","t":"Install the Identium UWR6 App","b":[{"p":"Screens in this manual show sample data; your watch name, battery level and tags will differ."},{"ol":["On your Android phone or handheld (Android 6.0 or later, with Bluetooth), open **www.identiumone.com/resourcehub/** and download **UHF Watch Reader (IDTS-UWR6) — Android App**. The same app is also in the SDK package, folder `03-Demo-Apps/Prebuilt-APKs`.","Open the downloaded .apk file. If Android asks, allow **Install unknown apps** for your browser or file manager, then tap **Install**.","Open **Identium UWR6**. You land on the **Inventory** screen, which shows **Disconnected**. Four tabs run across the screen: **Inventory**, **Tag Ops**, **Settings** and **Info**.","The first time you search for the watch, Android asks for the **Nearby devices** (Bluetooth) permission. Tap **Allow**. On Android 6 to 11 it asks for **Location** instead, and the phone's Location switch must be on to find Bluetooth devices."],"start":1},{"p":"The app on first start: Inventory tab, not connected"}]},{"k":"topic","m":11,"s":"Connect the Watch","h":"","t":"Connect the Watch","b":[{"ol":["Switch the watch on and keep it close to the phone. Make sure the phone's Bluetooth is on.","On the **Inventory** screen, tap **Scan & Connect**.","A sheet lists nearby devices. Your watch is listed first and marked **UWR6 watch**; other Bluetooth devices are greyed out.","Tap your watch. The bar at the top changes to **Connected: <name>** and shows the watch's battery level, for example \"UWR6 · BLE · 82 %\".","After 30 seconds the search stops and the sheet shows **Scan stopped — tap here to scan again**. Tap that line to search again."],"start":1},{"note":"You don't need to pair the watch in Android's Bluetooth settings: the app connects to it directly. When several watches are listed, the one with the strongest signal (the RSSI value closest to zero) is the nearest.","kind":"tip"},{"p":"Select your UWR6 watch from the list (sample data)"}]},{"k":"topic","m":11,"s":"Read Tags (Inventory)","h":"","t":"Read Tags (Inventory)","b":[{"ol":["**With the watch key** (Active mode, the default): press a read key on the watch to start reading, and press it again to stop. You don't need to touch the phone.","**From the phone:** tap **Start inventory**, then **Stop**.","Bring the watch close to the tagged item. Each tag is listed once, with its EPC, read count, last signal strength (RSSI) and the time it was first and last seen. The green line totals the unique tags, total reads and the read rate.","The phone beeps on each read. Turn this off with **Beep on read**. **Clear** empties the list.","Tap **Export Excel** or **Export PDF** to save the list (next section)."],"start":1},{"note":"The watch reads at close range (up to about 50 cm, depending on the tag and its surroundings), so it picks up the item in your hand rather than every tag on the shelf.","kind":"tip"},{"p":"Tag list after a read: one row per tag (sample data)"}]},{"k":"topic","m":11,"s":"Export to Excel or PDF","h":"","t":"Export to Excel or PDF","b":[{"ol":["Read some tags, stop reading, then tap **Export Excel** or **Export PDF**.","A dialog confirms the file. It is named with the date and time, for example `UWR6-inventory-20261026-112801.xlsx`.","**Share** sends it by email, WhatsApp, Drive, Bluetooth and so on. **Save to device** lets you choose a folder (for example Downloads). **Open** views it now."],"start":1},{"p":"Each export lists the watch, the reading mode, the session start, the export time and the time zone, then one row per tag: EPC, reads, last RSSI, first seen and last seen (phone's local time). In Excel the EPCs stay exact text and the times are real date-times you can sort and filter."},{"p":"Export confirmation with Open, Save to device and Share (sample data)"},{"p":"Contents of the Excel export (.xlsx), sample data"},{"p":"PDF export: Identium-branded A4 inventory report, sample data"}]},{"k":"topic","m":11,"s":"Tag Operations (Read / Write / Lock / Kill)","h":"","t":"Tag Operations (Read / Write / Lock / Kill)","b":[{"p":"The **Tag Ops** tab reads and writes a tag's memory, and can lock or kill a tag. Stop reading first."},{"ol":["**EPC filter (optional):** type the tag's EPC (whole bytes, for example 24 hex digits) to act on that tag only. In the field below it, enter the tag's access password if the tag is protected (default `00000000`).","**Read:** choose a memory bank (EPC, TID, USER or RESERVED), a word address and a word count (1 to 32), then tap **Read**. The data appears below.","**Write:** enter up to 8 words of hex in **Data (hex words)** and tap **Write**. The data is written to the memory bank and word address chosen above.","**Lock:** choose the area (EPC, TID, USER, ACCESS_PWD or KILL_PWD) and the action (**LOCK**, **UNLOCK** or **PERMALOCK**), then tap **Lock**. Permalock asks you to confirm because it can never be undone.","**Kill:** enter the tag's 8-digit kill password, tap **Kill tag** and confirm. A kill password of `00000000` cannot kill a tag."],"start":1},{"note":"Killing a tag and permalocking memory are permanent. A **LOCK** protects memory only once the tag has its own access password: before locking, write a new 8-digit access password to the RESERVED bank (word address 2, two words) and enter it in the password field. With `00000000`, anyone can undo the lock.","kind":"caution"},{"p":"Tag Ops tab (sample data)"}]},{"k":"topic","m":11,"s":"Settings","h":"","t":"Settings","b":[{"p":"The **Settings** tab configures the watch and the app. RF power, region and Gen2 values are read from the watch when it connects; reader mode, watch key action and the watch buzzer are kept by the app. Change a value, then tap **Apply** in that card to send it (the **Watch beeps on read** switch applies at once). Stop reading first."},{"p":"Reader mode, watch key action and watch buzzer (sample data) RF power and region (sample data)"},{"ul":["**Reader mode:** **Active (watch key)** lets the watch's read keys start reading whenever the watch is connected. **Passive (app only)** means only the app's Start button (or the RFID keyboard) starts reading. **Watch key action** sets each key press to *Press to start / press again to stop* or to *Single read per press*.","**Watch:** shows the watch's Bluetooth name. **Watch beeps on read** turns the watch's own buzzer on or off; the phone's beep is set separately on the Inventory screen.","**RF power:** one power level for reading and writing, 16 to 26 dBm. Higher power gives longer range and shorter battery life.","**Region:** the radio region, with **Frequency hopping** or a **Fixed channel**. In India, use the 865–868 MHz version of the watch with the region **Europe / India 865–868 MHz** (shown above). Change the region, hopping or channel only on Identium's advice.","**Gen2 air protocol:** Session (0–3), Target (A or B) and Q (0–15), for tuning the reader to large or fast-moving tag populations.","**Save settings to the watch:** stores the power, region and Gen2 settings in the watch so that they survive switching it off and on."]}]},{"k":"topic","m":11,"s":"Watch Information","h":"","t":"Watch Information","b":[{"p":"The **Info** tab shows the watch's identity and health. Have it ready when you contact support."},{"ol":["Tap **Refresh**.","The card lists the model, the watch firmware, the UHF module firmware, the MCU version, the battery level, the Bluetooth address and the supported tag protocols.","**Last watch key** shows the code of the last key pressed on the watch, which is useful for checking that a press reached the phone."],"start":1},{"p":"The battery level also appears in the connection bar and is refreshed about once a minute while the watch is idle."},{"p":"Info tab (sample values)"}]},{"k":"topic","m":11,"s":"RFID Keyboard: Type Tags into Any App","h":"","t":"RFID Keyboard: Type Tags into Any App","b":[{"p":"The app includes an RFID keyboard. Select it as your keyboard and each tag you read is typed straight into whatever text field is active: a web form, a spreadsheet or your ERP. No integration is needed."},{"ol":["Go to **Settings → RFID Keyboard**, tap **Enable keyboard** and turn on **Identium UWR6 RFID Keyboard**.","Tap **Choose keyboard** and select **Identium UWR6 RFID Keyboard**.","Connect to the watch in the app as usual. The keyboard shares the app's connection and its bar shows **Connected: <watch>**. You can also tap **Connect** in the bar to reconnect to your last watch.","Open any app and tap a text field. Press the watch's read key (Active mode) or tap **Start reading**.","Each tag is typed into the field. With **Enter ↵** on, Enter is pressed after every tag, so the next tag goes into the next field or row. **No repeats** types each tag only once."],"start":1},{"p":"Reading started from the keyboard stops when the keyboard closes. Tap **Switch** to return to your normal keyboard."},{"p":"The RFID keyboard filling a form, one tag per field (sample data)"}]},{"k":"topic","m":11,"s":"For Developers: SDK Quick Start","h":"","t":"For Developers: SDK Quick Start","b":[{"p":"Download **UHF Watch Reader (IDTS-UWR6) — SDK, App & Docs** from the Resource Hub. The package contains everything needed to read the watch from your own Android app:"},{"kv":[["`01-SDK`","The UWR6 Android SDK library (.jar)."],["`02-Documentation`","The Kotlin integration guide (Markdown): the API reference for the SDK, with working code for every step below. Also the Android SDK Developer Guide (PDF)."],["`03-Demo-Apps`","The Identium UWR6 app: full Kotlin source (Android Studio project) and a ready-to-install APK."],["`04-User-Manual`","The app user manual and its screenshots."]]}]},{"k":"topic","m":11,"s":"For Developers: SDK Quick Start","h":"Integration in six steps","t":"Integration in six steps","b":[{"ol":["Copy the SDK library (.jar) from `01-SDK` into your app's `libs/` folder and add it as a dependency (minSdk 23).","Declare the Bluetooth permissions and, before scanning or connecting, request **BLUETOOTH_SCAN** and **BLUETOOTH_CONNECT** at runtime on Android 12+ (fine location on Android 6–11).","Use one `Device.getInstance(applicationContext)` for the whole app. Run every SDK call on one background thread, one command at a time, and register all SDK listeners once at start-up.","Scan with Android's `BluetoothLeScanner` and recognise the watch by its advertised Bluetooth name (integration guide, section 3). Preset the SDK's Bluetooth profile for the watch, so the connection also works when Android has not cached the watch's name, then call `Device.connect()` with its address.","Wait for `onConnected()` with your own timeout (the Identium app uses 15 s), then request the watch's version: only a reply proves the link works.","Start reading with `inventory()` (send it again every second while reading) and stop with `stopInventory()`. Each tag arrives in `OnUHFListener.onInventory(pc, epc, rssi)`. Watch-key presses arrive in `OnHandleListener.onDown(key)`; use them to start and stop reading, as the Identium app does."],"start":1},{"code":"// app/build.gradle.kts: every .jar in libs/, as the Identium app does\ndependencies { implementation(fileTree(\"libs\") { include(\"*.jar\") }) }\n\ndevice.setOnUHFListener(object : OnUHFListener {\n    override fun onInventory(pc: ByteArray?, epc: ByteArray?, rssi: Int) {\n        // Bluetooth thread: hand the tag to your own thread, don't call the SDK here\n        if (epc != null) tags.trySend(epc.toHex() to rssi)\n    }\n    override fun onInventoryStop() = Unit\n})"},{"p":"The Identium UWR6 app's `RfidController.kt` (in `03-Demo-Apps`) implements all of these rules, including settings, tag memory access, lock and kill. It is the quickest reference for your own integration."}]},{"k":"topic","m":11,"s":"Precautions","h":"","t":"Precautions","b":[{"ul":["Do not use or charge the watch in extremely high or low temperatures.","Do not charge the watch if the cable is damaged, as this may cause an electric shock or other hazards.","The watch is a one-piece unit. Do not open or take it apart; you are responsible for any consequences.","The watch does not support fast charging. Do not charge it from a third-party fast charger, as this may damage it.","The watch is rated IP65: it is protected against dust and water jets, such as rain and splashes. Do not submerge it.","If you will not use the watch for a long period, switch it off."]}]},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Model","v":"IDTS-UWR6 wearable UHF RFID watch reader"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Frequency","v":"865–868 MHz (India / EU version); 902–928 MHz version for the US"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Protocol","v":"ISO 18000-6C (EPC Gen2)"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Read range","v":"0–50 cm (depends on the tag and the environment)"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Read speed","v":"200+ tags per second at peak (batch reading)"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"RF output power","v":"Adjustable in the app, 16–26 dBm"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Interface","v":"Bluetooth 5.1 (BLE), USB (Type-C port)"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Charging","v":"Through the USB Type-C port, from a standard (non-fast) USB charger or a computer USB port"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Works with","v":"Android phones and handhelds (Identium UWR6 app: Android 6.0 and later)"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Buttons","v":"Read keys (left and right), power button"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Indicators","v":"WORK (blue), BT (blue) and POWER (red) lights"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Battery","v":"1250 mAh lithium polymer; 8+ h continuous work, up to 120 h standby; charges in under 3 h"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Protection","v":"IP65"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Housing","v":"ABS + PC, silicone strap"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Dimensions","v":"55 × 67 × 19 mm (±2 mm)"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Weight","v":"70 g"},{"k":"spec","m":11,"s":"Parameters","h":"","t":"Development","v":"Android SDK with Kotlin source app (free download)"},{"k":"topic","m":11,"s":"Parameters","h":"","t":"Parameters","b":[{"kv":[["Model","IDTS-UWR6 wearable UHF RFID watch reader"],["Frequency","865–868 MHz (India / EU version); 902–928 MHz version for the US"],["Protocol","ISO 18000-6C (EPC Gen2)"],["Read range","0–50 cm (depends on the tag and the environment)"],["Read speed","200+ tags per second at peak (batch reading)"],["RF output power","Adjustable in the app, 16–26 dBm"],["Interface","Bluetooth 5.1 (BLE), USB (Type-C port)"],["Charging","Through the USB Type-C port, from a standard (non-fast) USB charger or a computer USB port"],["Works with","Android phones and handhelds (Identium UWR6 app: Android 6.0 and later)"],["Buttons","Read keys (left and right), power button"],["Indicators","WORK (blue), BT (blue) and POWER (red) lights"],["Battery","1250 mAh lithium polymer; 8+ h continuous work, up to 120 h standby; charges in under 3 h"],["Protection","IP65"],["Housing","ABS + PC, silicone strap"],["Dimensions","55 × 67 × 19 mm (±2 mm)"],["Weight","70 g"],["Development","Android SDK with Kotlin source app (free download)"]]},{"p":"Read range depends on the tag and on the material and environment around it."}]},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"Watch does not charge","cause":"Faulty charger, or poor contact at the Type-C port","fix":"Try another standard (non-fast) USB charger and the supplied cable; push the plug fully home."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"Watch does not switch on","cause":"Battery empty","fix":"Charge the watch, then press and hold the power button until the light comes on."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"No watches found in the app","cause":"Watch off or too far away; Bluetooth permission not given","fix":"Switch the watch on and keep it close. Allow **Nearby devices** (Android 12+) or **Location** with the Location switch on (Android 6–11)."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"\"The watch did not respond\"","cause":"Weak link, or another phone is connected to the watch","fix":"Switch the watch off and on, keep it close and connect again. Disconnect it from any other phone."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"\"Connected, but the watch does not answer\"","cause":"The Bluetooth link came up but the watch did not reply","fix":"Switch the watch off and on and reconnect."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"Tags are not read","cause":"Bluetooth link lost, or the tag is too far away","fix":"Check that the bar says **Connected**; reconnect if needed. Bring the watch closer to the tag."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"Watch key does nothing","cause":"Reader mode is Passive, or a setting / tag operation is running","fix":"Set **Settings → Reader mode** to **Active (watch key)**. **Info → Last watch key** shows whether the press reached the phone; if it shows a code but reading does not start, contact Identium."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"\"Stop reading first\"","cause":"Settings and tag operations cannot run while the watch is reading","fix":"Tap **Stop** or press the watch key, then try again."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"\"No answer from the tag\"","cause":"No tag in range, wrong access password, or locked memory","fix":"Move the tag closer and check the password."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"RFID keyboard types nothing","cause":"Keyboard not connected, or no text field selected","fix":"The keyboard bar must say **Connected**. Tap a text field first, then press the watch key or **Start reading**."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"\"Watch disconnected (switched off or out of range)\"","cause":"Watch out of range or battery empty","fix":"Charge the watch and connect again."},{"k":"fix","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"Export: \"No app on this phone opens … files\"","cause":"No spreadsheet or PDF viewer installed","fix":"Install one, or use **Share** or **Save to device** instead."},{"k":"topic","m":11,"s":"Failure Analysis and Troubleshooting","h":"","t":"Failure Analysis and Troubleshooting","b":[{"p":"If a problem appears while you use the watch, look it up below. If the steps do not clear it, contact Identium (see Support)."}]}],"downloads":[{"g":"dr-app","type":"software","t":"Identium Desktop Reader — Installer","d":"Windows app for the 103 (IDTS-103UDR) and UDR-111 (IDTS-111UDR) USB desktop readers — pick your reader model on connect, then live tag reads, encode/write, batch encoding, keyboard mode and CSV export (v1.4.6).","v":"v1.4.6","meta":"Windows · Setup .exe","size":"91.0 MB","href":"/resourcehub/downloads/identium-desktop-reader/Identium.DesktopReader.Setup.1.4.6.exe"},{"g":"dr-app","type":"software","t":"Identium Desktop Reader — Portable","d":"The same Desktop Reader app as a portable .exe — no installation, run from anywhere (v1.4.6).","v":"v1.4.6","meta":"Windows · Portable .exe","size":"90.8 MB","href":"/resourcehub/downloads/identium-desktop-reader/Identium.DesktopReader.1.4.6.Portable.exe"},{"g":"dr-app","type":"software","t":"Identium Desktop Reader — macOS (Apple Silicon)","d":"For M-series Macs (M1 and later). The same Desktop Reader app for the 103 and UDR-111 readers — USB and serial readers need no drivers on macOS. On first launch, right-click the app and choose Open (v1.4.6).","v":"v1.4.6","meta":"macOS · M1/M2/M3","size":"109.8 MB","href":"/resourcehub/downloads/identium-desktop-reader/Identium.DesktopReader.1.4.6.arm64.dmg"},{"g":"dr-app","type":"software","t":"Identium Desktop Reader — macOS (Intel)","d":"For Intel Macs. The same Desktop Reader app for the 103 and UDR-111 readers — USB and serial readers need no drivers on macOS. On first launch, right-click the app and choose Open (v1.4.6).","v":"v1.4.6","meta":"macOS · Intel","size":"117.7 MB","href":"/resourcehub/downloads/identium-desktop-reader/Identium.DesktopReader.1.4.6.x64.dmg"},{"g":"103","type":"sdk","t":"103 — All-in-One SDK","d":"Universal SDK for the 103 desktop reader (v1.0) — C#, C/C++ (Windows and Linux), Java and Android libraries with examples and developer guides, plus the communication protocol. Keyboard-mode trigger code: 0001021000050000000101","v":"v1.0","meta":"Universal SDK","size":"7.0 MB","href":"/resourcehub/downloads/sdk-all-103/Identium-103-SDK-1.0.zip"},{"g":"103","type":"manual","t":"103 UHF Desktop Reader — User Manual","d":"The 103 USB desktop reader with Identium Desktop Reader (v1.4.6, Windows and macOS) — reading, writing one tag, kill, batch writing (also from Excel), barcode to RFID, keyboard mode, read range, what differs on a UDR-111, SDK quick start and troubleshooting.","v":"v1.3","meta":"PDF · Manual","size":"1.8 MB","href":"/resourcehub/downloads/identium-desktop-reader/Identium-103-Desktop-Reader-User-Manual-v1.3.pdf"},{"g":"103","type":"integration","t":"103 — Reader Communication Protocol New","d":"The command protocol between a host and the 103 reader: frame format, connection and configuration commands, inventory, tag read/write/lock and GPIO. For developers writing their own driver.","v":"","meta":"PDF · Protocol","size":"2.6 MB","href":"/resourcehub/downloads/guides-103/Identium-103-Communication-Protocol.pdf"},{"g":"103","type":"integration","t":"103 — C# Developer Guide New","d":"Using the 103 reader library from C#: RS232, RS485 and TCP connections, tag-report and GPI events, and the read/write API, with a quick start.","v":"v0.4.0.0","meta":"PDF · Developer guide","size":"1.2 MB","href":"/resourcehub/downloads/guides-103/Identium-103-Dev-Guide-CSharp.pdf"},{"g":"103","type":"integration","t":"103 — Java & Android Developer Guide New","d":"Using the 103 reader library from Java and Android: RS232, RS485, TCP and Android serial connections, tag-report and GPI events, the read/write API, and IDE project setup.","v":"v0.6.0.0","meta":"PDF · Developer guide","size":"1.4 MB","href":"/resourcehub/downloads/guides-103/Identium-103-Dev-Guide-Java.pdf"},{"g":"103","type":"integration","t":"103 — C/C++ Developer Guide (Windows) New","d":"Using the 103 reader library from C/C++ on Windows: RS232, RS485, TCP and USB-HID connections, tag-report and GPI events, and the read/write API.","v":"v0.1.4.0","meta":"PDF · Developer guide","size":"1.0 MB","href":"/resourcehub/downloads/guides-103/Identium-103-Dev-Guide-C-CPP-Windows.pdf"},{"g":"103","type":"integration","t":"103 — C/C++ Developer Guide (Linux) New","d":"Using the 103 reader library from C/C++ on Linux: RS232, RS485, TCP and USB-HID connections, tag-report and GPI events, and the read/write API.","v":"v0.1.4.0","meta":"PDF · Developer guide","size":"1.0 MB","href":"/resourcehub/downloads/guides-103/Identium-103-Dev-Guide-C-CPP-Linux.pdf"},{"g":"udr111","type":"sdk","t":"UDR-111 — UHF Desktop Reader SDK","d":"SDK for the UDR-111 USB desktop UHF reader (v1.0) — Windows reader library (x86/x64), demo software, C#, Delphi, Visual C++ and Java samples with source, and the interface-functions guide.","v":"v1.0","meta":"USB desktop reader","size":"8.1 MB","href":"/resourcehub/downloads/uhf-desktop-111udr-s-new/Identium-UDR-111-SDK-1.0.zip"},{"g":"udr111","type":"manual","t":"UDR-111 Desktop Reader — User Manual","d":"The UDR-111 USB desktop reader with Identium Desktop Reader (v1.4.6, Windows and macOS) — connecting, working modes, typing tag numbers into Excel, keyboard mode, writing a new EPC, read settings, SDK quick start and troubleshooting.","v":"v1.3","meta":"PDF · Manual","size":"1.9 MB","href":"/resourcehub/downloads/uhf-desktop-111udr-s-new/Identium-UDR-111-Desktop-Reader-User-Manual-v1.3.pdf"},{"g":"udr111","type":"integration","t":"UDR-111 — Interface Functions Reference New","d":"Every function in the UDR-111 Windows reader library (x86 and x64 DLL): connecting, single and continuous reads, Select, read/write/lock/kill, region, channel, frequency hopping and transmit power.","v":"","meta":"PDF · API reference","size":"617 KB","href":"/resourcehub/downloads/guides-udr111/Identium-UDR-111-Interface-Functions.pdf"},{"g":"readersense","type":"software","t":"Identium ReaderSense — Windows Installer","d":"Configure, optimise and tag-test your Identium UHF readers over Ethernet/Wi-Fi (v4.0.0 — full UI redesign + SDK-verified parameter overhaul).","v":"v4.0.0","meta":"Windows · Setup .exe","size":"85.0 MB","href":"/resourcehub/downloads/readersense/Identium%20ReaderSense%20Client%20Setup%204.0.0.exe"},{"g":"readersense","type":"software","t":"Identium ReaderSense — Windows Portable","d":"The same ReaderSense tool as a no-install portable .exe — run it from anywhere (v4.0.0).","v":"v4.0.0","meta":"Windows · Portable .exe","size":"84.7 MB","href":"/resourcehub/downloads/readersense/Identium%20ReaderSense%20Client%204.0.0%20Portable.exe"},{"g":"readersense","type":"software","t":"Identium ReaderSense — macOS (Apple Silicon)","d":"For M-series Macs. Run brew install mono once for the .NET bridge that talks to the reader (v4.0.0).","v":"v4.0.0","meta":"macOS · M1/M2/M3","size":"103.8 MB","href":"/resourcehub/downloads/readersense/Identium%20ReaderSense%20Client-4.0.0-arm64.dmg"},{"g":"readersense","type":"software","t":"Identium ReaderSense — macOS (Intel)","d":"For Intel Macs. Run brew install mono once for the .NET bridge that talks to the reader (v4.0.0).","v":"v4.0.0","meta":"macOS · Intel","size":"111.6 MB","href":"/resourcehub/downloads/readersense/Identium%20ReaderSense%20Client-4.0.0-x64.dmg"},{"g":"readersense","type":"guide","t":"Identium ReaderSense — User Manual","d":"ReaderSense 4.0.0 for Windows and macOS — installing, connecting a reader, live inventory, tag access, reader settings, inputs and outputs, Auto Mode and troubleshooting.","v":"v1.2","meta":"PDF · Manual","size":"1.4 MB","href":"/resourcehub/downloads/readersense/Identium-ReaderSense-User-Manual-v1.2.pdf"},{"g":"if9a","type":"sdk","t":"IF9A — SDK","d":"Identium IF9A SDK (v1.0) — C# and Java SDK libraries with API guides and Java demo projects, Auto Mode sample servers (Python, Node.js) and the module, TCP, Auto Mode and Modbus protocol documents for the IF9A fixed UHF reader.","v":"v1.0","meta":"Impinj · Fixed reader","size":"6.6 MB","href":"/resourcehub/downloads/if9a-ipj/Identium-IF9A-SDK-1.0.zip"},{"g":"if9a","type":"sdk","t":"IF9A — C# FASTag Reader Demo","d":"Minimal WinForms reference app for the IF9A fixed reader (v1.1.0) — a ready-to-run .exe plus full C# source: connect, continuous and single read, EPC / EPC+TID / EPC+TID+User, buzzer and GPO control, and the reader’s saved IP and power settings. Visual Studio solution targeting .NET Framework 4.8.","v":"v1.1.0","meta":"C# · app + source","size":"751 KB","href":"/resourcehub/downloads/if9a-ipj/Identium-IF9A-CSharp-Fastag-Reader-Demo-v1.1.0.zip"},{"g":"if9a","type":"manual","t":"IF9A Integrated Reader — User Manual","d":"The IF9A integrated UHF reader family — mounting, power and network set-up, reading and writing tags, Auto Mode, the C# FASTag demo, developer quick start, specifications and troubleshooting.","v":"v1.4","meta":"PDF · Manual","size":"1.3 MB","href":"/resourcehub/downloads/if9a-ipj/Identium-IF9A-User-Manual-v1.4.pdf"},{"g":"if9a","type":"integration","t":"IF9A — Java SDK Manual New","d":"Reference for the IF9A Java library: reader types, regions and parameters, synchronous and asynchronous inventory, tag read/write/lock, GPI triggers and listener interfaces.","v":"v1.5","meta":"PDF · API reference","size":"714 KB","href":"/resourcehub/downloads/guides-if9a/Identium-IF9A-Java-SDK-Manual.pdf"},{"g":"if9a","type":"integration","t":"IF9A — Module Communication Protocol New","d":"The full serial command protocol of the IF9A reader module: frame format, bootloader and firmware commands, inventory, tag access, RF and region settings.","v":"","meta":"PDF · Protocol","size":"3.7 MB","href":"/resourcehub/downloads/guides-if9a/Identium-IF9A-Module-Protocol.pdf"},{"g":"if9a","type":"integration","t":"IF9A — Auto Mode TCP Protocol New","d":"The instruction set the IF9A uses when it pushes data to your server over TCP in Auto (Active) mode: tag data, GPI status, faults, heartbeats and server confirmations.","v":"v1.0","meta":"PDF · Protocol","size":"222 KB","href":"/resourcehub/downloads/guides-if9a/Identium-IF9A-TCP-Protocol.pdf"},{"g":"if9a","type":"integration","t":"IF9A — Auto Mode HTTP Data Format New","d":"What the IF9A sends to your server in Auto (Active) mode over HTTP: event types, upload modes, data sorting, GPI triggers and tag-filter settings.","v":"","meta":"PDF · Protocol","size":"318 KB","href":"/resourcehub/downloads/guides-if9a/Identium-IF9A-Active-Mode-Data-Format.pdf"},{"g":"if9a","type":"integration","t":"IF9A — Modbus Protocol New","d":"Reading tags from the IF9A over Modbus: the parameters to configure first, such as working antennas and inventory cycle, and the data the reader returns.","v":"v1.0","meta":"PDF · Protocol","size":"572 KB","href":"/resourcehub/downloads/guides-if9a/Identium-IF9A-Modbus-Protocol.pdf"},{"g":"if9c","type":"sdk","t":"IF9C Integrated Reader — Customer Package","d":"Everything for the IF9C in one zip: the Identium IF9C Reader app for Windows and macOS (Intel and Apple silicon), a Python reference utility and library, the API reference and the TCP protocol specification.","v":"v1.1.4","meta":"Windows · macOS · .zip","size":"275.6 MB","href":"/resourcehub/downloads/if9c/Identium-IF9C-Customer-Package-v1.1.4.zip"},{"g":"cx1500n","type":"app","t":"CX Flow Pro (CX1500N)","d":"Handheld utility for the CX1500N UHF reader — inventory, search/geiger, read & write, and data export (v2.4.0).","v":"v2.4.0","meta":"Android · .apk","size":"6.7 MB","href":"/resourcehub/downloads/cx-flow-pro/CX-Flow-Pro-v2.4.0.apk"},{"g":"cx1500n","type":"sdk","t":"CX1500N — Complete SDK","d":"Full development kit for the CX1500N UHF handheld reader — Android & Java SDK, demo apps, user manual and documentation.","v":"","meta":"Android · Java SDK","size":"452.0 MB","href":"/resourcehub/downloads/cx1500n-complete/CX1500N%20Complete%20SDK%2C%20Demo%20and%20documentation.zip"},{"g":"cx1500n","type":"sdk","t":"CX1500N — New SDK & Docs","d":"Updated CX1500N SDK release with refreshed documentation, sample integrations and API reference.","v":"","meta":"Android SDK · v2","size":"37.3 MB","href":"/resourcehub/downloads/cx1500n-new/CX1500N_New%20SDK%20and%20Documentation.zip"},{"g":"cx1500n","type":"sdk","t":"CX1500N — Android SDK 2.9","d":"Android library (.aar), demo APK, integration guide and developer documentation for the CX1500N UHF handheld (SDK 2.9, package v2.9.1). Built for 16 KB memory page alignment, which Android 15 and later require.","v":"v2.9.1","meta":"Android · AAR + demo","size":"6.7 MB","href":"/resourcehub/downloads/cx1500n-sdk-2-9/Identium-CX1500N-SDK-2.9.1.zip"},{"g":"cx1500n","type":"sdk","t":"CX1500N — Flutter Plugin","d":"Flutter / Dart plugin and sample app for cross-platform mobile development with the CX1500N reader.","v":"","meta":"Flutter plugin","size":"67.9 MB","href":"/resourcehub/downloads/cx1500n-flutter/cx_1500n_Flutter%20plugin.zip"},{"g":"cx1500n","type":"manual","t":"CX1500N Handheld — User Manual","d":"The CX1500N rugged handheld with CX Flow Pro (v2.4.0) — parts and charging, scanning and saved sessions, custom scan, tracking, tag read/write/lock, settings, keyboard emulator and Auto Mode, SDK quick start and troubleshooting.","v":"v1.0.3","meta":"PDF · Manual","size":"1.6 MB","href":"/resourcehub/downloads/cx-flow-pro/Identium-CX1500N-User-Manual-v1.0.pdf?v=1.0.3"},{"g":"cx1500n","type":"guide","t":"CX Flow Pro — User Guide","d":"Complete manual — setup, scanning modes, read/write, data export and troubleshooting.","v":"","meta":"PDF · Manual","size":"2.3 MB","href":"/resourcehub/downloads/cx-flow-pro/CX_Flow_Pro_User_Guide.pdf"},{"g":"cx1500n","type":"integration","t":"CX1500N — SDK 2.9 Integration Guide New","d":"Adding the CX1500N SDK to an Android app, trying it with the demo app, and checking the build against Android’s 16 KB memory page requirement. The same guide ships inside the SDK 2.9.1 package.","v":"v2.9.1","meta":"PDF · Integration guide","size":"211 KB","href":"/resourcehub/downloads/guides-cx1500n/Identium-CX1500N-SDK-Integration-Guide.pdf"},{"g":"mubr01","type":"app","t":"MUBR01 — Demo App (Kotlin)","d":"Kotlin reference app for the MUBR01 Bluetooth UHF reader (v2.1.0) — pair, inventory, read and write tags. Side-load it to evaluate the reader before integrating; debug-signed for evaluation, Android 6.0 and later.","v":"v2.1.0","meta":"Android · .apk","size":"6.4 MB","href":"/resourcehub/downloads/mubr01/MUBR01-Demo-Kotlin-v2.1.0.apk"},{"g":"mubr01","type":"sdk","t":"MUBR01 — SDK","d":"Android Bluetooth SDK for the MUBR01 UHF reader (v1.1, library API v1.7) — the Identium BLE library, two buildable Android demo projects (Quick Start and the full BLE demo) with source, and the API reference and demo-app guide PDFs.","v":"v1.1","meta":"BLE UHF SDK · Java","size":"7.5 MB","href":"/resourcehub/downloads/mubr01/Identium-MUBR01-SDK-1.1.zip"},{"g":"mubr01","type":"manual","t":"MUBR01 Bluetooth Reader — User Manual","d":"The MUBR01 portable Bluetooth UHF reader with the Identium MUBR01 app (v2.1.0) — charging, connecting, inventory, Excel/PDF export, tag operations, settings, RFID keyboard, SDK quick start and troubleshooting.","v":"v1.2","meta":"PDF · Manual","size":"1.6 MB","href":"/resourcehub/downloads/mubr01/Identium-MUBR01-User-Manual-v1.2.pdf"},{"g":"mubr01","type":"guide","t":"MUBR01 — SDK Demo App Guide New","d":"Walk-through of the full Bluetooth demo app in the MUBR01 SDK: connecting, inventory, reading, writing and locking tags, region and Gen2 options, quick mode and Bluetooth active mode.","v":"v1.0","meta":"PDF · App guide","size":"5.3 MB","href":"/resourcehub/downloads/guides-mubr01/Identium-MUBR01-Demo-App-Guide.pdf"},{"g":"mubr01","type":"integration","t":"MUBR01 — Android BLE API Reference New","d":"Developer reference for the MUBR01 Android Bluetooth library: searching, pairing and connecting, then inventory, tag read/write/lock and reader settings.","v":"v1.7","meta":"PDF · API reference","size":"922 KB","href":"/resourcehub/downloads/guides-mubr01/Identium-MUBR01-Android-API-Reference.pdf"},{"g":"ucr10","type":"app","t":"UCR10 Flow — Type-C Reader App","d":"Identium’s own app for the UCR10 USB Type-C reader (v1.1.0) — plug into a phone or tablet, inventory, read and write tags, export results. Debug-signed for evaluation, Android 7.0 and later.","v":"v1.1.0","meta":"Android · .apk","size":"7.8 MB","href":"/resourcehub/downloads/ucr10-typec-apk/UCR10Flow-v1.1.0.apk"},{"g":"ucr10","type":"sdk","t":"UCR10 Type-C Reader — SDK","d":"Identium UCR10 SDK (v1.1.0) — Android library (AAR) and Windows .NET library with native DLLs, ready-to-run demo apps for Android and Windows, and guides for both SDKs, keyboard mode and the reader protocol.","v":"v1.1.0","meta":"USB-C SDK","size":"1.0 MB","href":"/resourcehub/downloads/ucr10-typec-sdk/Identium-UCR10-SDK-1.1.0.zip"},{"g":"ucr10","type":"manual","t":"UCR10 Type-C Reader — User Manual","d":"The UCR10 pocket reader with the UCR10 Flow app (v1.1.0) — connecting to a phone, counting tags, saving and exporting, auditing against a spreadsheet, read/write/lock, keyboard mode, SDK quick start and troubleshooting.","v":"v1.2","meta":"PDF · Manual","size":"1.7 MB","href":"/resourcehub/downloads/ucr10-typec-apk/Identium-UCR10-User-Manual-v1.2.pdf"},{"g":"uwr6","type":"app","t":"UHF Watch Reader (IDTS-UWR6) — Android App","d":"Identium’s Android app for the IDTS-UWR6 wearable UHF watch reader (v1.0.0) — connect over Bluetooth, run an inventory and export it to Excel or PDF, read, write and lock tags, and type scanned EPCs into another app as an RFID keyboard. The same app is in the SDK package above; debug-signed for evaluation, Android 6.0 and later.","v":"v1.0.0","meta":"Android · .apk","size":"6.2 MB","href":"/resourcehub/downloads/uhf-watch-reader/Identium-UWR6-App-v1.0.0.apk"},{"g":"uwr6","type":"sdk","t":"UHF Watch Reader (IDTS-UWR6) — SDK, App & Docs","d":"Complete package for the IDTS-UWR6 wearable UHF watch reader (v1.1.64) — the Android Bluetooth SDK with its API reference, an Identium Kotlin app with full source and a ready-to-install evaluation APK (Android 6.0 and later), a developer guide and a user manual.","v":"v1.1.64","meta":"Wearable SDK · Android","size":"8.3 MB","href":"/resourcehub/downloads/uhf-watch-reader/Identium-UWR6-Package-1.0.0.zip"},{"g":"uwr6","type":"manual","t":"UHF Watch Reader (IDTS-UWR6) — User Manual","d":"The IDTS-UWR6 wearable reader with the Identium UWR6 app (v1.0.0) — packing list, parts diagram, charging, connecting, inventory, Excel/PDF export, tag operations, settings, RFID keyboard, SDK quick start and troubleshooting.","v":"v1.2","meta":"PDF · Manual","size":"1.5 MB","href":"/resourcehub/downloads/uhf-watch-reader/Identium-IDTS-UWR6-User-Manual-v1.2.pdf"},{"g":"it4rl","type":"software","t":"Identium TagSmith — Windows Installer","d":"Label design, printing and UHF tag encoding for the iT4RL RFID printer — one Calibrate screen (a calibrated label file prints straight away), ready-made label types, Read tags, and job and tag lists that export to Excel, CSV or text (v4.1.0). TagSmith is the new name of Identium Labelsoft: close Labelsoft and run this Setup — it replaces it and keeps print history, tag counters, label types and settings. If Windows SmartScreen appears, choose More info › Run anyway.","v":"v4.1.0","meta":"Windows · Setup .exe","size":"110.2 MB","href":"/resourcehub/downloads/it4rl-printer/Identium-TagSmith-Setup-4.1.0.exe"},{"g":"it4rl","type":"software","t":"Identium TagSmith — Windows Portable","d":"The same TagSmith as a portable .exe — no installation, run it from anywhere (v4.1.0). For the PC that runs the printer every day, the installer is recommended.","v":"v4.1.0","meta":"Windows · Portable .exe","size":"110.0 MB","href":"/resourcehub/downloads/it4rl-printer/Identium-TagSmith-Portable-4.1.0.exe"},{"g":"it4rl","type":"software","t":"Identium TagSmith — macOS (Apple Silicon)","d":"Beta of TagSmith for Macs with Apple silicon, macOS 13 or later: design labels and print to an iT4RL on your network (Printer › Add network printer, port 9100) (v4.1.0). First launch: if macOS can’t verify the app, open System Settings › Privacy & Security and click Open Anyway.","v":"v4.1.0","meta":"macOS · M1/M2/M3","size":"115.6 MB","href":"/resourcehub/downloads/it4rl-printer/Identium-TagSmith-4.1.0-mac-arm64.dmg"},{"g":"it4rl","type":"software","t":"Identium TagSmith — macOS (Intel)","d":"Beta of TagSmith for Macs with an Intel processor, macOS 13 or later: design labels and print to an iT4RL on your network (Printer › Add network printer, port 9100) (v4.1.0). First launch: if macOS can’t verify the app, open System Settings › Privacy & Security and click Open Anyway.","v":"v4.1.0","meta":"macOS · Intel","size":"122.0 MB","href":"/resourcehub/downloads/it4rl-printer/Identium-TagSmith-4.1.0-mac-x64.dmg"},{"g":"it4rl","type":"sdk","t":"iT4RL Identium Printer — SDK & Manual","d":"RFID label printer SDK, demo software, user manual and documentation for the iT4RL.","v":"","meta":"RFID Printer","size":"104.3 MB","href":"/resourcehub/downloads/it4rl-printer/iT4RL%20RFID%20Printer%20Identium.zip"},{"g":"it4rl","type":"manual","t":"iT4RL RFID Printer — User Manual","d":"The iT4RL desktop UHF RFID label printer — loading ribbon and labels, DIP switches, label and RFID calibration, printing and encoding a test label, reading tag data, SDK quick start, care and troubleshooting.","v":"v1.1","meta":"PDF · Manual","size":"1.5 MB","href":"/resourcehub/downloads/it4rl-printer/Identium-IT4RL-RFID-Printer-User-Manual-v1.1.pdf"},{"g":"it4rl","type":"guide","t":"Identium TagSmith — User Manual","d":"TagSmith 4.1.0 for the iT4RL — installing, designing labels, data and serial numbers, tag numbers, calibrating a roll, printing and encoding, history and export, reading tags, settings and troubleshooting.","v":"v1.0","meta":"PDF · Manual","size":"1.7 MB","href":"/resourcehub/downloads/it4rl-printer/Identium-TagSmith-User-Manual-v1.0.pdf"},{"g":"f529","type":"app","t":"Active Reader — Android App","d":"Identium Active Reader Android app (v2.0) for the long-range active RFID / RTLS reader — real-time location and live tag monitoring from your phone.","v":"v2.0","meta":"Android · .apk","size":"4.7 MB","href":"/resourcehub/downloads/active-reader-app/Identium-Active-Reader-v2.0.apk"},{"g":"f529","type":"sdk","t":"Active Reader — SDK & Demo","d":"SDK for the Identium F529 long-range active RFID reader (2.4 GHz active tags) (v1.0) — reader library for Windows with its C header and full source, a Windows server demo, Java and C++ sample servers, and the platform, library API and Bluetooth protocol documents.","v":"v1.0","meta":"Active RFID SDK","size":"3.4 MB","href":"/resourcehub/downloads/active-reader/Identium-F529-Active-Reader-SDK-1.0.zip"},{"g":"f529","type":"manual","t":"Active RFID Reader F529 — User Manual","d":"Installing and setting up the F529 2.4 GHz active RFID reader with the Identium Active Reader app (v2.0) — power, configuration, server connection, antennas and read range, live tag scanner, SDK quick start and troubleshooting.","v":"v1.2","meta":"PDF · Manual","size":"1.5 MB","href":"/resourcehub/downloads/active-reader-app/Identium-F529-Active-Reader-User-Manual-v1.2.pdf"},{"g":"f529","type":"integration","t":"F529 — Reader-to-Server Protocol New","d":"How the F529 talks to your server over TCP/IP: registration, logon, heartbeat, tag data reports, configuration and firmware-update packets, with the full field index.","v":"v1.12","meta":"PDF · Protocol","size":"1.0 MB","href":"/resourcehub/downloads/guides-f529/Identium-F529-Reader-Platform-Protocol.pdf"},{"g":"f529","type":"integration","t":"F529 — Bluetooth & Serial Protocol New","d":"Commands for configuring the F529 and reading its tag data over Bluetooth or a serial link: frame format, reset, version, system parameters and tag-data commands.","v":"v1.13","meta":"PDF · Protocol","size":"504 KB","href":"/resourcehub/downloads/guides-f529/Identium-F529-Bluetooth-Serial-Protocol.pdf"},{"g":"f529","type":"integration","t":"F529 — Reader Library API Guide New","d":"Functions and error codes of the F529 reader library that decodes reader packets on your server.","v":"v2.0","meta":"PDF · API reference","size":"295 KB","href":"/resourcehub/downloads/guides-f529/Identium-F529-Reader-Library-API-Guide.pdf"},{"g":"ble","type":"app","t":"Identium Atlas — BLE & AoA Demo App","d":"Android app for seeing Bluetooth tags work before you commit to a deployment — it lists every Identium BLE beacon, work card and anchor in range, names each one by its SKU, and shows live signal strength on a radar so you can walk a tag down to arm’s length. Ring the buzzer and lights on a find-me tag from the phone, then turn what you just demonstrated into a priced quote. Includes a Simulation mode that runs the whole demo with no hardware present. Release build, Android 8.0 and later.","v":"v1.2.1","meta":"Android · .apk","size":"2.7 MB","href":"/resourcehub/downloads/atlas-ble/Identium-Atlas-v1.2.1.apk"},{"g":"nfc","type":"app","t":"Identium NFC App","d":"Read/write NFC tags, business cards, URLs and custom payloads. Bulk write & lock, QR scan-to-encode, hex serial numbers. Always-latest release (v1.6.3).","v":"v1.6.3","meta":"Android · .apk","size":"6.3 MB","href":"/IdentiumNFCApp/Identium-NFC-v1.6.3.apk"},{"g":"nfc","type":"guide","t":"Identium NFC App — User Manual","d":"Illustrated manual for the Identium NFC app (v1.6.3) — supported tags, reading and writing, quick tasks, passwords and locking, copy and clone, verification, bulk programming, QR codes and troubleshooting.","v":"v1.2","meta":"PDF · Manual","size":"2.2 MB","href":"/resourcehub/downloads/identium-nfc/Identium-NFC-App-User-Manual-v1.2.pdf"}],"quick":[{"id":"windows-blocked","label":"Windows blocked the installer","patterns":["windows protected","smart ?screen","unknown publisher","(windows|pc|laptop).{0,30}(block|warn|stop|prevent)","(block|warn).{0,30}(windows|installer|setup|exe)","run anyway","virus|antivirus|defender"],"answer":"If Windows shows **Windows protected your PC** when you run an Identium installer, click **More info**, then **Run anyway**. These installers are Identium's own apps. Still blocked? Call technical support."},{"id":"mac-blocked","label":"Mac won't open the app","patterns":["(mac|macos|macbook|imac|apple).{0,40}(open|block|verify|damaged|malware|developer|trash|move to bin)","(can.?t|cannot|could not|couldn.?t|won.?t) be opened","unidentified developer","open anyway","gatekeeper","apple could not verify"],"answer":"The first time you open an Identium app on a Mac, macOS may block it. Open **System Settings › Privacy & Security**, scroll down and click **Open Anyway**, then open the app again.\n\nIf the Mac says the app is **damaged**, download the latest version again (ask me for the product's downloads, for example **TagSmith downloads**) and install it. If it still won't open, call technical support."},{"id":"android-apk","label":"Installing an Android app (.apk)","patterns":["(install|installing).{0,30}(apk|android app)","apk.{0,30}(install|not install|blocked|error)","unknown (apps|sources)","play protect","app not installed"],"answer":"To install an Identium **.apk**:\n1. On the phone or handheld, download it from the product's downloads (ask me, for example **CX1500N downloads**).\n2. Open the file. If Android asks, allow your browser or file manager to **install unknown apps**, then tap **Install**.\n3. If Play Protect warns about the app, tap **More details › Install anyway**.\n\n**App not installed** usually means an older copy with a different signature is on the device: uninstall it first, then install the new one."},{"id":"no-login","label":"Downloads without signing in","patterns":["without (a |an )?(login|log ?in|sign ?in|signing in|account|password|registration)","(no|don.?t have|do not have|dont have|without)( an?| any)? (login|account|password|user ?name)","public (download|page)","(open|free) (download|access)"],"answer":"Every Identium product has its own downloads page that anyone can open without signing in: its software, SDKs, manuals and videos. Pick the product and I'll give you the link.","askProduct":true,"products":"all","then":"product"},{"id":"share-link","label":"Send downloads to a customer","patterns":["share","send.{0,30}(customer|client|link|file)","(customer|client).{0,30}(download|link|access)","public link"],"answer":"Every product has a public downloads page with all its files, which anyone can open without signing in. Pick the product below and press **Copy public link** to send it.\n\nFor a link with only some files or an end date, open the product's page here and press **Share link**. You can turn your own links off any time under **Share links** in your account menu.","askProduct":true,"products":"all","then":"product","public":{"label":"Downloads page for a product","answer":"Every Identium product has its own downloads page that anyone can open without signing in: its software, SDKs, manuals and videos. Pick the product and I'll give you the link."}},{"id":"account","label":"Login or password","patterns":["password.{0,30}(forgot|reset|change|lost)","(forgot|reset|change|lost).{0,30}password","(new|another|more|extra).{0,20}(account|login|user)","(account|login|sign ?in).{0,30}(problem|not working|issue|locked)","create.{0,20}(account|login|user)"],"answer":"Resource Hub accounts are set up by Identium. For a new login, another user, or a password reset, call technical support on **{tel}** or email **{email}**.","public":{"answer":"Resource Hub accounts are set up by Identium. For a login or a password reset, call technical support on **{tel}** or email **{email}**.\n\nDownloads are open to everyone: every product has a public downloads page. Ask me for it, for example **IF9A downloads**."}},{"id":"india-band","label":"India frequency band","patterns":["^(what|which).{0,30}(band|frequency|region).{0,30}india","india.{0,20}(band|frequency|region)","^(uhf )?(band|frequency|region)( in india)?\\??$","865.{0,6}86[78]","^(which |what )?(uhf |rfid )?(frequency|band|frequency band|region)( range)?\\??$"],"answer":"In India, UHF RFID readers use the **865–868 MHz** band. Where you set it depends on the reader: tell me which product (for example **UDR-111 region**, **IF9A region**) and I'll show you the exact setting.","askProduct":true,"products":["103","udr111","readersense","if9a","cx1500n","mubr01","ucr10","uwr6","it4rl"]},{"id":"buy","label":"Prices and buying","patterns":["\\b(price|prices|pricing|cost|costs|costing|quotation|quote|buy|buying|purchase|dealer|distributor|reseller)\\b","\\b(place (an |the )?order|how (to|do i|can i) order|want to order|order (a|an|one|some|\\d+))\\b"],"answer":"Identium readers, printers, tags and accessories are sold on **India RFID Store**, with prices on each product page: [indiarfidstore.com](https://www.indiarfidstore.com/).\n\nFor a quotation, a bulk or project order, or export, call sales on **+91 97181 99516**, WhatsApp **+91 82877 32647** or email **info@identium.in**."},{"id":"company","label":"About Identium","patterns":["\\b(what is identium|about (identium|your company|the company)|who (is|are) (the )?(owner|owners|founder|founders|ceo|director|directors|md)|owner of (identium|the company|this company)|company (name|address|details|location|info))\\b","\\b((your|identium|company|office).{0,12}(address|location)|where (are you|is identium|is your office|is the office)( located| based)?)\\b","^(address|office address|location|company)\\??$"],"answer":"**Identium Tech Solutions Pvt Ltd** is an Indian RFID company in New Delhi. It makes and supports RFID readers, printers and tags, and builds RFID solutions for retail, warehouses, jewellery, libraries, events and more.\n\nOffice: Plot No. 5, First Floor, Raja Dhirsain Marg, Garhi, Sant Nagar, East of Kailash, New Delhi 110065.\n\nSolutions: [identiumone.com](https://identiumone.com/) · Hardware: [India RFID Store](https://www.indiarfidstore.com/)"},{"id":"contact","label":"Contact details","patterns":["\\b(phone|mobile|contact|helpline|whatsapp|whats app|landline) (number|no|details|info)\\b","\\bwhats ?app\\b","\\b(email|e-mail|mail) (id|address)\\b","\\b(your|identium) (email|e-mail|mail|number|phone)\\b","\\b(working|office|support|business) (hours|timings?|time)\\b","^(office |your |support )?timings?\\??$","^(number|phone|email|contact)\\??$"],"answer":"**Technical support:** {tel} · {email}, or raise a ticket here and technical support calls you back.\n\n**Sales and quotations:** +91 97181 99516 · WhatsApp +91 82877 32647 · info@identium.in\n\nOffice hours: Monday to Saturday, 9:30 AM – 6:30 PM IST."},{"id":"certs","label":"Certificates and test reports","patterns":["\\b(bis|wpc|certificat\\w*|certified|approval|approvals|approved|compliance|test reports?)\\b"],"answer":"For a tender, customs or an audit, technical support sends copies of the certificates and test reports that apply to your model. Raise a ticket (or email {email}) with the model and what the document is for."}],"smalltalk":{"greet":["Hi{name}! Tell me what's not working and which product, for example **\"UCR10 not connecting\"** or **\"IF9A set IP address\"**."],"thanks":["Glad that helped. Anything else on your reader, printer or app?","You're welcome. Ask me anything else about your Identium product."],"bye":["Bye{name}. If it comes back, ask me again or call technical support."],"intents":[{"id":"self","patterns":["^(who|what) (are|r) (you|u)\\b","\\bare (you|u) (a |an )?(human|robot|bot|ai|real|person|machine|chatgpt|gpt)\\b","\\b(your name|who (made|built|created) (you|u))\\b"],"text":["I'm **IDBOT**, Identium's technical-support assistant. I answer from Identium's own user manuals and product downloads, so the steps match your device. To talk to a person, call technical support on {tel}."]},{"id":"offtopic","patterns":["\\b(recipe|recipes|cook|cooking|pizza|food|weather|cricket|football|ipl|movie|movies|song|songs|music|joke|jokes|politics|horoscope|astrology|girlfriend|boyfriend|marry|marriage|bitcoin|crypto|share market|stock market|lottery)\\b"],"text":["I'm here for Identium readers, printers, tags and their software. Tell me what's not working and which product, for example **\"IF9A not reading tags\"**."],"chips":"popular"}]},"synonyms":{"read":["scan","detect","inventory","count","padh","padhta","padhna"],"connect":["connection","pair","pairing","link","detect","detected","recognise","recognize","appear","connected","offline","not detected","not found"],"install":["installation","setup","set up","installer","download"],"light":["led","indicator","lamp","blink","blinking","flash","flashing"],"beep":["buzzer","sound","beeping","vibrate","vibration"],"battery":["charge","charging","charger","power bank"],"range":["distance","far","reach"],"power":["dbm","strength","rf power"],"write":["encode","encoding","program","programming","burn"],"export":["excel","csv","xlsx","save","report"],"password":["pin","access password","kill password"],"lock":["locked","locking","protect"],"region":["band","frequency","channel","865","868","hopping"],"network":["ip","ethernet","lan","tcp","wifi","wi-fi","wireless"],"error":["fail","failed","failure","problem","issue","not working","wrong"],"print":["printing","printed","prints"],"calibrate":["calibration","calibrating"],"keyboard":["hid","wedge","typing","types","type into"],"label":["sticker","labels","roll","media"],"ribbon":["foil","ttr"]},"handoffPatterns":["(talk|speak|chat) (to|with) (a |an )?(human|person|engineer|agent|someone|support|executive|team)","(call|phone) (me|back|support)","call ?back","customer care","technical support","tech support","support (number|team|contact)","contact (support|you|identium)","raise.{0,10}(ticket|complaint)","^(ticket|complaint)$","repair|replacement|warranty|rma|service cent","not satisfied|doesn.?t help|didn.?t help|useless","\\brefund|\\breturn (policy|my|the|it|this|a|an)\\b|\\bexchange (the|my|it|a)\\b|dead on arrival|\\bdoa\\b"],"downloadWords":["download","downloads","sdk","apk","driver","drivers","manual","manuals","pdf","guide","guides","protocol","protocols","installer","setup file","exe","dmg","software","app","application","demo","library","dll","documentation","docs","datasheet","firmware","latest version","new version","link"],"problemWords":["not","no","never","cant","cannot","can't","won't","wont","doesnt","doesn't","didnt","didn't","unable","error","fail","failed","fails","problem","issue","stuck","slow","wrong","only","how","why","what","where","when","which","set","change","configure","enable","disable","reset","nahi","nhi","kaise","kyu","kyun"],"popular":[{"label":"Reader not reading tags","q":"reader not reading tags"},{"label":"Device not connecting","q":"not connecting"},{"label":"Windows blocked the installer","q":"windows protected your pc"},{"label":"Install an Android app","q":"install apk"},{"label":"Printer calibration","q":"it4rl calibrate labels"},{"label":"Talk to technical support","q":"talk to support"}],"stopwords":["a","an","the","and","or","of","to","in","on","at","for","from","with","by","as","is","are","am","be","been","was","were","it","its","this","that","these","those","there","here","i","im","me","my","mine","we","our","us","you","your","u","ur","he","she","they","them","their","it's","what's","whats","which","who","whom","do","does","did","will","would","shall","should","may","might","must","have","has","had","get","got","give","show","tell","let","please","pls","plz","kindly","need","want","wants","looking","sir","madam","mam","bro","bhai","ji","dear","kya","hai","hain","ka","ki","ke","ko","se","me","mein","mujhe","muje","hame","hum","chahiye","aap","ap","apka","apki","aapka","aapki","also","just","very","much","many","more","some","any","like","hi","hello","hey","help","helpme","ok","okay","yes","thanks","thank","regards","not","but"]}