What is OPN?

OPN stands for the Open Pyro Network. This is an open-source specification for how to build an OPN-compatible PCB or system that can work with any pyrotechnics firing system that supports the OPN specification.

To be clear, OPN is not restricted to just one firing system. Any system is allowed to implement the OPN specification, and anyone who wants to build an OPN accessory may do so. As long as the interface specification is followed it should work on any supporting firing system.

For example, OPN accessory boards already exist for:

  • Ethernet communications – this can be used instead of wireless or 2-Wire communications to run the show.
  • OPN-32 Channel Extender – adds 32 firing channels connected to a slat via the industry-standard 36-pin Centronics Connector.
  • OPN-DMX – allows the firing system to also synchronize lights and special effects to the show via industry-standard DMX protocol.
  • OPN-Arduino – this accessory makes some of the signals from the OPN Bus readily available to hobbyist-type computer development kits such as the Arduino or Raspberry Pi. This is our reference design, all of the schematics, code, and mechanical drawings will be available in the future to give you a quick and easy way to build your first OPN accessory.

The OPN printed circuit board is approximately 100mm x 100mm in size and must contain three 12-pin header connectors in specified locations that connect the board to the OPN Bus.

The OPN Bus is implemented in 36 pins, across three 12-pin connectors labeled J1, J2, and J3.

The connector pinout is defined as:

CONNECTORPINPIN NAMEDESCRIPTION
J11+3.3V3.3VDC Power line to Accessory Board. Max 200mA
J12+3.3V
J13MISOSPI bus master in slave out
J14MOSISPI bus master out slave in
J15SCKSPI bus clock
J16SCLI2C bus clock
J17SDAI2C bus data
J18GPIO0General purpose IO 0
J19GPIO1General purpose IO 1
J110GPIO2General purpose IO 2
J111GPIO3General purpose IO 3
J112GPIO4General purpose IO 4
J21VBATBattery voltage 6.0 to 8.4VDC, 7.4V nominal 2A Max
J22VBAT
J23VSOURCE12.7VDC Capacitor bank voltage source. Only activated when
The system is ARMED
J24VSOURCE
J25/OPN1_INTOPN interrupt 1 (Active Low)
J26/OPN2_INTOPN interrupt 2 (Active Low)
J27GPIO5General purpose IO 5
J28GPIO6General purpose IO 6
J29GPIO7General purpose IO 7
J210GPIO8General purpose IO 8
J211UART2_TXPrimary communications UART to host system. Default baud rate
Is 115200 8-N-1
J212UART2_RX
J31GNDGround/common line for all voltages
J32GND
J33UART3_RXCommunications UART to host system 115200 8-N-1
J34UART3_TX
J35/OPN3_INTOPN interrupt 3 (Active Low)
J36/OPN4_INTOPN interrupt 4 (Active Low)
J37ADCAnalog to digital converter (Analog Voltage)
J38ARM1First ARM signal to host
J39ARM2Second ARM signal to host
J310CONTINUITYContinuity enable signal to host
J311FIREFire enable signal to host
J312ILIMITCREWSAFE® current limited voltage source

In communication with the Host, there are two types of system messages, push requests and pull requests. Some data, like changes in system status from Safe to Arm, are pushed to the accessory when they happen. The accessory may also request information from the Host with a pull request.

Action requests may be sent from the accessory to host at any time, and are generally in the form of:

  • Graphical User Interface (GUI) commands – These are a group of messages that can print text and simple graphics to the display screen, and request the button presses on the user interfaces be transmitted to the accessory. The accessory’s display screen is always updated by the action request, but the screen would only be visible when the OPN button is pushed on the CM or the OPN mode is selected on the FM.
  • System Control Commands – These commands allow an external system to essentially control the Command Module as if someone were pushing the buttons on the user interface.
  • System Identification Commands – When the system first powers up, a series of commands may be sent to the host identifying the accessory to the system and requesting services. If no identification or services are requested, the default is the UART2_RX and TX lines are available.

A full specification of the OPN system will be posted on www.OpenPyroNetwork.com within the next few months. If you would like to be involved in the definition and evolution of the OPN specification, please contact us at Info@Firelinx.com.