Why people move
- Wiegand is a one-way, unsupervised signal from reader to controller, generally sending the card number in clear. It cannot tell the controller if a reader is unplugged, and the controller cannot send configuration back to the reader.
- OSDP (Open Supervised Device Protocol) is a two-way serial protocol between a control panel (CP) and one or more peripheral devices (PD), usually readers. It is carried over RS-485, so many readers can share a single cable run. It is an international standard (IEC 60839-11-5), owned by the Security Industry Association (SIA).
- OSDP has an optional Secure Channel using AES-128 encryption, and the control panel can supervise the readers (detect tamper or loss of communication, and control the LED and beeper over the bus).
- Physical layer: half-duplex RS-485, one twisted pair plus shield or signal ground.
- Serial format: 8 data bits, 1 stop bit, no parity, at 9600, 19200, 38400, 57600, 115200 or 230400 baud.
- Only the CP starts a conversation. Each message goes to one reader address, and the reader must reply within 200 ms.
- Each reader needs its own address on the bus (how it is set varies by manufacturer).
- The specification itself must be purchased from SIA. The protocol can be implemented royalty-free per the project FAQ, with one exception noted there for smart card transparent mode.
- Both ends must support OSDP. The reader and the controller (or a converter) both need it. A reader that offers OSDP as a configurable option is common, but check the datasheet for the supported version and the Secure Channel.
- Check the controller. Some controllers have native OSDP ports and some need an external OSDP-to-Wiegand converter, which removes much of the benefit. Ask whether the vendor supports Secure Channel and key (SCBK) management.
- Cabling: OSDP wants a proper twisted pair for RS-485 data, with reader power run separately. Existing Wiegand cable (several conductors, often unshielded) may be re-usable if it has a suitable twisted pair, but check, since poor cable gives intermittent comms. Wiegand runs are commonly quoted as shorter than RS-485 runs; check each manufacturer's limits.
- Plan the bus. Daisy-chain readers rather than star wiring, observe termination guidance from the controller vendor and avoid mains-cable bundles.
- Credential technology: OSDP changes the link between reader and controller, not the card. If your cards are old low-security formats, moving to OSDP does not fix that. Look at credential security as a separate item.
- Provisioning: with Secure Channel, each reader gets its own key. New readers can start in an insecure install mode with a published default key so they can be keyed. Do the keying on a controlled link, not on a live bus. See the commissioning thread in this forum.
- Keep the old setup alive: test on one door, leave the Wiegand cabling in place until the new reader works, then migrate others.
Doors are tied to egress and fire. Locks, request-to-exit devices and fire alarm interfaces must fail correctly. Any change to hardware on a door that is part of an egress path, or on a commercial building, should be done or signed off by a licensed installer, and mains or lock-power wiring must be done by a licensed electrician in Australia. Do not rely on a hobby project for security of a commercial or shared premises.
Hobbyist angle
LibOSDP is an open source (Apache-2.0) implementation of OSDP that runs on Linux and microcontrollers, with Python bindings on PyPI. It is useful for learning, building test benches or emulating one side of a link. The project documents a compatibility table of commercial devices that it has been tested against, sourced from users and described as something to take with a grain of salt. For any real door, use a controller designed for the job.
Links
- OSDP protocol introduction and FAQ
- Secure Channel notes
- Compatibility list (community-sourced)
- LibOSDP on GitHub