A traffic officer on a seven-hour shift writes between 60 and 120 citations. Number 37 is where the printer usually fails: the roll has been in the car since the morning, the dashboard is at 62 °C, and the paper has taken on enough moisture to feed crooked and jam halfway through the print head. The officer is standing next to a car that is illegally parked, in front of a driver who is now watching, with a device that has just told them the citation cannot be issued.
This is the difference between enforcement hardware and every other rugged deployment. In a warehouse, a failed scan is retried. In enforcement, a failed print is a citation that does not exist, and the parking space stays occupied for another two hours.
Printing sits inside the transaction
Most mobile ticketing projects are scoped as a scanning project and then surprised by the printer. The print step is not a peripheral — it is the receipt the driver takes away, the evidence number, and in many jurisdictions the legal instrument itself.
Three things break, in this order:
- The paper. 58 mm thermal rolls absorb humidity in an air-conditioned car overnight and jam in the heat the next afternoon. Sealed rolls, stored in the boot rather than on the dashboard, remove most of it.
- The pairing. Bluetooth SPP printers reconnect automatically; BLE-only printers often need a manual tap after the device sleeps. If the app relies on BLE and the device sleeps between cars, the officer re-pairs forty times a day.
- The battery in the printer, not the device. Printer batteries are the first thing to die in a hot car, and they are usually the last thing anyone quotes.
Ask the printer supplier for the ESC/POS command set the app actually uses. ESC/POS "compatible" printers differ on logo printing, code-page switching and cut commands — and a mis-encoded character in a fine is a rejected fine.
Plate reading is a confirmation field, not a key
On-device OCR of plates works well in daylight with a clean plate at the right angle. It works badly on motorbike plates, on plates with a frame, at dusk, and on anything with a shadow across it.
The enforcement apps that hold up treat the OCR result as a pre-filled field that the officer confirms, with the photo attached to the record. The apps that fail treat it as the identifier, and the first disputed citation exposes it: the plate was read as O instead of 0, the notice went to the wrong registered owner, and the whole workflow loses credibility with the department.
If the city uses a sticker or a permit barcode, the scan engine does the work and OCR is a backup. If it does not, budget for the officer to type — which means the keyboard has to be usable with one hand, outdoors, in gloves, and the screen has to be readable with the sun directly behind the officer.
The software is usually older than the hardware
This is the pattern we see most often in municipal enforcement. The e-ticketing platform was written between 2012 and 2018, runs on Windows Embedded or an Android build from before API 28, and is maintained by a local integrator who knows exactly what it needs. The tender then specifies new Android handhelds, and the first week of the pilot is spent discovering that the app will not install.
Two honest routes:
- Keep the software, change the hardware to match it. A Windows handheld such as the BH-I61J runs the Win32 client natively, with a 2D engine, NFC for officer ID cards, and a real keyboard for plate entry. No re-write, no emulator, no remote desktop.
- Rebuild for Android. Better long term, but the migration is a software project with a budget, a schedule and a legal review of the citation format — not a device purchase.
Decide which one you are doing before the tender, not during the pilot.
Heat, power and the car
An enforcement device lives in a vehicle, not on a person. Two consequences:
- Dashboard heat is cumulative. A device left on the seat in direct sun in the Gulf or Southeast Asia sees surface temperatures well above its rated operating range. A shaded mount and a device with a removable battery — so the pack can be swapped and stored cool — matters more than an extra 200 cd/m² of brightness.
- Charging happens in the car, between shifts. A 12/24 V vehicle charger with proper buck protection, or a two-bay dock at the depot. USB-C from a cigarette lighter is not a charging strategy for a fleet.
What to specify
| Requirement | Ask for this | Why it matters here |
|---|---|---|
| Printing | Bluetooth SPP, ESC/POS, 58 mm, sealed rolls | Reconnect without operator action; legible duplicate |
| Plate capture | 8 MP+ rear camera with flash, confirm-before-submit | OCR as a pre-filled field, not the record key |
| Sealing | IP65 minimum, IP67 where officers work in rain | Citations do not stop in bad weather |
| Power | Removable battery, 12/24 V charger, depot dock | Swap in the field, charge between shifts |
| Software | Confirm the API level or Win32 requirement in writing | The most common cause of a dead pilot |
| Evidence chain | Device RTC battery, signed timestamps, offline queue | A citation with a drifting clock is contestable |
Test it in one shift, not one hour
Hand an officer the unit for a full shift with a live printer and a real citation pad. Watch three moments: the first citation in direct sun, the tenth in a row without re-pairing the printer, and the last one after the battery warning. If those three work, the deployment will hold. If the tenth needs a manual re-pair, no amount of IP rating will save the project.
We supply single evaluation units for enforcement pilots — device, printer, car charger and a spare roll — so the shift test happens before the tender, not after it.





