Control Systems That Work. Period.
We design, program, and support control systems for complex environments, and build the custom software that ties them together. Zero guesswork.
Let's Talkon room.occupied:
display.power(on)
source.select(default)
volume.set(comfort)
on room.vacant for 15m:
system.sleep()
# status: zero guesswork.
20+ years behind the glass
ControlBytes, LLC. is a boutique AV control and custom software firm led by veteran programmer and consultant Ryan Donnelly. We're known for clean logic, user-friendly interfaces, and no-nonsense support: the kind of programming partner integrators call when a system absolutely has to work.
Most control programming problems aren't really programming problems. They're communication problems. A touchpanel that confuses the client, a system that was coded to the drawing instead of the room, a rescue job where nobody can explain what the last programmer was thinking. Two decades of that taught us to program for the person who has to live with the system afterward, not just for the one signing off on commissioning day.
We work directly with integrators, designers, and facility owners as an extension of their team, not a vendor they hand a spec sheet to and hope for the best. If it has a control processor in it, there's a good chance we can make it behave. And if the problem is really a software problem, we write that too.
Certified by the manufacturers we program
Formal training and manufacturer certification behind the work, not just years on the job.
Manufacturers we work with
Certified on most, experienced on all of them.
...and virtually anything else with a control processor in it. Platform-agnostic isn't just a tagline for us.
What we do
Platform-agnostic control programming and consulting, plus the custom software, apps, and web tools that go with it.
Custom AV Programming
Control logic built around how a space is actually used, not just how it was spec'd on paper.
Touchpanel & UI Design
Interfaces that end users actually enjoy touching, and technicians can actually support.
Consulting & Design Support
Brought in during design or spec phase to catch control problems before they're wired in.
System Debugging & Optimization
Something isn't working right. We find out why, and we fix it cleanly, not with a patch on a patch.
Unique & Nontraditional Spaces
Yachts, aircraft, coaches, command centers: the spaces standard templates were never built for.
Takeovers & System Rescues
Inheriting someone else's code, or a system that never worked right? We take it over and make it work.
Custom Software & Integrations
Utilities that bridge hardware, databases, and the business software around them, like our timekeeping system for the Grand Hotel.
Apps for iPhone & iPad
Native iOS apps we design, build, and ship ourselves, from AV documentation to family logistics.
Web Platforms
Cloud-based tools built for the way integrators actually work, starting with Relay, our AV support platform.
Custom software, in daily use for ten years
The Grand Hotel on Mackinac Island needed to track the hours of roughly 2,500 employees, and pay followed the job, not just the clock. In a single shift someone might work as a waiter, then host, then maître d', then bellhop. That is why custom software had to be written.
How it worked. We wrote a Windows application, running on Windows Server, that talked over serial to timeclocks across the property. Employees scanned their badge and entered a job code, one of roughly 300. The application collected every scan and wrote it, job code included, to a database. A custom accounting package, which we did not write, picked the data up from there to handle the accounting side.
Why it matters here. Hardware on one end, a database on the other, and a bridge in the middle that can't be allowed to fall over. It's the same discipline as a boardroom control system: software that has to work every single day.
- TimeclocksBadge and job code scanned
- SerialRead by our Windows application
- DatabaseEvery scan stored with its job code
- AccountingSeparate package picks it up
ORBIT: the room is the interface
A touchpanel where the room itself is the interface. A live picture of the space with status over every device, drag-to-route sources, and one-tap meeting join, shown as a non-branded demonstration model.
See ORBIT →Relay: AV support that doesn't start from zero
A support platform from ControlBytes for integrators who look after rooms they didn't just install. One place for Room Help requests, the conversation, the room's context, and the history, so the next person to pick up a ticket already knows what happened.
Preview Relay →
How we work
The same four phases whether it's a single conference room or a multi-building campus.
-
Discovery
We learn how the space actually gets used, not just what's on the drawing, before writing a line of code.
-
Design & Programming
Control logic and touchpanel UI built together, so the interface matches what the system can actually do.
-
Commissioning
On-site testing against real-world use, not just a checklist, including the edge cases installers rarely think to test.
-
Ongoing Support
Systems drift: firmware updates, new equipment, new habits. We stay reachable after commissioning, not just during it.
Who we work with
Every environment has different constraints. The programming approach shouldn't be one-size-fits-all.
Commercial
Conference rooms, command centers, and hospitality venues where downtime isn't an option.
Residential & Lifestyle
Luxury homes, private yachts, aircraft, and coaches: control that has to be as refined as the space.
Government & Education
K-12 schools, universities, and military facilities with their own rules and their own stakes.
Why ControlBytes
- Platform-AgnosticWe program the system that's right for the job, not the one we're locked into.
- Clean Code & Thoughtful DesignLogic that the next programmer, or the next version of us, can actually read.
- Fast, Responsive ServiceWhen a system's down, you need a callback, not a ticket number.
- Real CollaborationWe work as part of your team, not a black box you hand a spec sheet to.