In July 2026, my church was in need of a new PTZ camera controller. Despite the availability of dozens of VISCA-compatible camera controllers on the market at varying prices, I quickly found that the quality of the PTZ controls specifically is often quite lacking - while also varying greatly between manufacturers and products. In most cases, only a limited range of PTZ control speeds are covered, and only at limited resolution. (See Testing Approach for an illustrated example.)
Many of the available controllers also have disappointing limitations in the supported number of cameras they can control, and/or in the supported number of call presets. While at least these limitations are frequently referenced in available product specifications, I have yet to see any specifications (outside of now this project) that include the range and resolution of the PTZ control speeds.
VISCA (Video System Control Architecture) is an industry-standard control protocol originally developed by Sony for remotely controlling PTZ (pan/tilt/zoom) cameras and related audiovisual equipment. It is supported by most professional broadcast, production, and surveillance cameras, including those used for stage productions, churches, conference rooms, other live-event and presentation environments, and security applications. It defines a command/response protocol for functions such as camera selection, pan/tilt, zoom, focus, exposure, presets, and status. It is commonly transported over RS-232/RS-422 serial connections, as well as IP-based implementations (including UDP and TCP).
See audits, including Testing Approach.
Each audit includes a suite of test results, including any more-functional observations found during testing, support responsiveness, related hardware, and specifics of the firmware version tested. Click into each linked audit for full results. Included in the below overview is only the PTZ coverage % as a key metric.
Current highlights, sorted by PTZ coverage %:
| Manufacturer | Product | PTZ Coverage |
|---|---|---|
| AVKANS | AV-JOY-PRO | 82.03% |
| Lumens | VS-K20 | 50.00% |
| Zowietek | ZowieKBD | 40.63% |
| Tenveo | TEVO-KB200MAX | 39.06% |
If you are a manufacturer of a VISCA-compatible PTZ controller, I would be happy to evaluate your product or products at no charge (beyond shipping), and include the results here. See Audit Requests.
visca_audit includes a set of MicroPython utilities for testing and auditing controllers in an easy and repeatable fashion.
These modules are designed to be run from inexpensive and readily-available microcontrollers. I am using a Raspberry Pi Pico 2, though these would also easily run on an original Raspberry Pi Pico (1) or other similar devices.
Ensure use of appropriate level shifters, as the Pico and many other microcontrollers have UARTs that typically operate at low-voltage logic levels such as 3.3v TTL - compared to RS-232 device levels that may operate at significantly higher positive and negative voltages.
These modules do require MicroPython's typing.mpy module from micropython-stubs.
mpy.ps1 can be used to assist with its installation.
visca_audit.py is otherwise designed to run stand-alone without any other required libraries or dependencies.
It can be run as a module, or by using "Run current file on Pico" from MicroPico, or by other means.
A few examples of supporting cameras with well-defined references of the VISCA protocol:
Company names, trademarks, product names, and logos referenced in this project are the property of their respective owners and are used for identification and informational purposes only. Their inclusion does not imply affiliation, sponsorship, endorsement, or certification.
VISCA and related product or technology names may be trademarks of their respective owners.
Mark Ziesemer