About the Automation Controller

At the heart of a Nitrogen Logic automation system is the Automation Controller. Any number of controllers may coexist on a network, each serving the automation needs of a room, conference center, home theater, or even an entire building. The current Automation Controller uses a 1.2GHz ARM processor with 512MB of RAM, so there's plenty of power for handling complex automation logic, while consuming roughly 5 watts of power. The controller is configured and communicates with networked devices via gigabit Ethernet, and uses USB to interface with everything else.

The Automation Controller includes the functionality of the Depth Camera Controller, so all of the documentation for the Depth Camera Controller applies to the Automation Controller as well.

Initial Setup

Automation controller setup is documented in the following video:

Control and I/O

The Automation Controller supports multiple interfaces for users and with other devices. The system can be controlled by standard USB HID devices such as keyboards, mice, and joysticks; general purpose I/O (GPIO, also called contact closure control); and network sockets. Other devices in the system such as music players, projectors, and A/V receivers can be controlled using RS-232/422/485 commands or a TCP/IP or UDP connection.

USB Input Devices

Generic USB input device support is one of the unique features of the Nitrogen Logic Automation Controller. Keyboards, joysticks, mice, and many other devices that comply with the USB Human Interface Device class specification may be used for direct system control. Each key, button, and axis may be connected to a separate function in the system.

A USB input device is added to a logic design by plugging the USB device into an Automation Controller, then downloading the Palace Designer template file generated by the controller's web status page. This is described in the following video:

Once a device is added to a design, it is remembered by its name, vendor and product IDs, and other attributes. This allows multiple identical devices to be used in a single design (in which case the devices are located by the USB hub port to which they are connected), or a single device to be moved from port to port on a USB hub (in which case the device is identified by its manufacturer, model, and serial number).

General Purpose I/O

General-purpose digital and analog inputs and outputs may be connected to an automation controller using a USB GPIO expander. At present, only the USB Bit Whacker, sold by SparkFun Electronics, is supported. Only one USB Bit Whacker may be used on an Automation Controller.

GPIO devices based on the USB HID standard, such as those sold by Ultimarc, may also work.

The USB Bit Whacker is used by creating a USB Bit Whacker object from the External I/O category. Other unsupported GPIO devices might be found by the controller and included in the Palace Designer template (see the USB Input Devices section above).


A simple USB-to-DMX or USB-to-RS485 adapter is used to control DMX-512 lighting systems.

Connection to a DMX dimmer pack is shown in the video at the top of this page.


The logic system supports generic TCP/IP and UDP/IP communication through the Incoming Connection and Outgoing Connection objects. The network I/O objects make or accept a connection to a single host at a time, transmit all data given to the logic object's Data Out port, and make all incoming data available on the object's Data In port.

Third-party Control

Third-party control of an automation controller is possible using a simple ASCII protocol. Logic objects' parameters may be marked for network export using the Exported Parameters dialog in Palace Designer, and controlled over the network once the logic design is uploaded to an automation controller.