OpenCTRL is an open hardware home automation protocol. Based on flexible hard- and software, you can easly deploy new microdevices. It's intended for hobbyists, DIY's and even for companys (making money out of it).

OpenCTRL manages your garage door, room lightings, HVAC, motors and actuators, and reads inputs from temperature sensors, light sensors, rain sensors, wind speed sensors, etc. By connecting many microcontrollers together (65k nodes max) you can form a data grid. You can easly manage all your controllers from an GUI (or CLI). And when you connect an new microcontroller to the grid, it will be automaticly detected (and configured, so far as possible) on whatever data-bus you're using.

OpenCTRL can be used to reduce your energy footprint by minimizing the use of energy, while keeping you in all comfort possible. We're no treehuggers, but saving energy is saving money (and the Nature). And saving energy makes you less dependant from other sources, which is good, in the long term.

Because all the proprietary standards, networks that use hardware specific commands or require joining or annual fee, we've created an Open protocol for easy communication. A temperature sensor stays a temperature sensor, from 1-wire networks till CAN. Our protocol does not define hardware, only the form of communication. You can implement this protocol on RS485, CAN, wireless, and other busses that support raw/direct communication, with any (microcontroller) hardware.


OpenCTRL is build upon OSHW 1.0 / OSI compliant Licenses, our protocol and hardware designs are hereby Open.

Free developer registration

Each developer that wants to use the autodetection features from OpenCTRL, has to register, and needs to put each type of device within our database. The developer ID is 6bytes, and each developer has 2 bytes (65k) for board type registration. And, if required, you can request another developer ID when you've got created more then 65k diffrent types.

Developer_ID + Board_ID = TYPE NUMBER! It's not an serial number. Based on the type number users can query information (via API) about the hardware.

For example, an 8 port I/O board can have board_id 1 within your registrated developer_id. When you'd put 2316 I/O boards in your network, you'd still only need 1 board_id.

OpenCTRL allows you to register for free, while other standards (for example ZigBee and KNX) require that you pay some fee (annual and/or joining).

The hardware

We're in a testing phase of our hard- and soft-ware. In the future we'll provide many schematics, and maybe even prebuild PCBs.

Our current hardware is not yet completely documentated, but some thoughts are already available at the Schematics page.

Our example boards are based on PIC (ASM, JALv2, ANSI C?), AVR (ANSI C and Arduino Lib). Based on your favorite uC you can build, for example:

  • (Dimmable) (RGB?) Lighting
  • Actuators (Valves, Servos, ...)
  • Inputs (Door bell, Switches, PIR sensors, ...)
  • IR transmitters for DVR / TV / Radio / etc.
  • IR receivers, to receive information from an remote
  • Whatever you'd like to control!

OpenCTRL supports up to 65,536 devices on the entire network.

OpenCTRL DOES NOT define the hardware bus, so if you want to use CAN, PLC or another bus. Then it's your job to figure this out! It would be an honour for us, if you want to share your schematics and software with the OpenCTRL project, so others can easly develop theire schematics.