Build Better Control4 Drivers, Faster

Anvil by Driverforge lets you see exactly what Control4 is sending your driver. Real-time events, logs, and errors all in one place — no more print() debugging.

Anvil dashboard showing real-time Control4 driver events

How Anvil works

Four pieces take your driver from your editor to full production visibility.

CLI

Initialise, build and deploy drivers to your controller right from your local terminal without context switching.

driverforge — driver/awesome
C4:UpdateProperty("Ready", true)
end
function ExecuteCommand(idBinding, strCommand, tParams)
if strCommand == "ON" then
function ReceivedFromProxy(idBinding, strCommand, tParams)
Log:Debug('Handling status update')
local s = json.parse(tParams)
C4:UpdateProperty("Power", s)
end
event

SDK

Automatically instruments all event handlers, forwards logs and reports unhandled errors.

Your driver
SDK inside
non-blocking
Anvil Cloud
real-time
Anvil Agent
on the controller

Agent

Connect your driver to the Anvil cloud streaming all your insights in real time.

Cloud

Live feed of everything your driver does, as it happens, all from a single pane of glass.

event:status controller:CORE-5
live
ReceivedFromProxy
5ms
OnConnectionStatusChanged
3ms

Everything your driver does, visible

Events, logs, and errors from every controller — in real time.

Events

Every callback as it happens — OnDriverInit, ReceivedFromProxy, and 150+ more. Real-time, no polling, timed.

Anvil events stream for a Control4 driver

Logs

Your print() statements, delivered instantly to your browser. Filter, search, and never lose a log again.

Anvil log stream for a Control4 driver

Errors

Lua errors with stack traces, grouped by fingerprint. Know exactly what broke and how often.

Anvil error tracking for a Control4 driver

Real-Time Event Stream

See every handler call your driver receives — OnPropertyChanged, ExecuteCommand, ReceivedFromProxy and 100+ others — with the exact arguments, timing, and result.

Log Forwarding

Forward your driver's logs to Anvil and read them in real time, persisted across driver reloads and Composer refreshes. No more keeping the Lua tab open.

Error Tracking & Grouping

Capture every exception with a full stack trace, automatically grouped by fingerprint so you fix unique issues instead of wading through duplicates.

Source-Mapped Stack Traces

Map squished, bundled Lua back to your original source files, so errors point at the line you actually wrote — not the bundle.

Automatic Instrumentation

Add the Anvil SDK and 100+ handlers are captured automatically — no per-handler wiring, no print() debugging.

Multi-Controller Visibility

Watch activity across every controller in your project from one place, with per-controller filtering to zero in on the one you care about.

Filtering & Search

Slice events, logs, and errors by status, handler, controller, and time — or query them directly with the Anvil Query Language.

The CLI

Build, deploy, and hot-swap drivers straight from your terminal — no manual Composer imports while you iterate.

Join the waitlist

Anvil is a developer experience tool built by Driverforge to help you build better Control4 drivers — faster. It's launching soon — drop your details and we'll let you know the moment it's ready.

Anvil is a developer experience tool by Driverforge.
Copyright © 2026 Driverforge Pty Ltd. All rights reserved.

Company

Contact

Legal

Privacy PolicyTerms of Service

Connect

GitHub