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:
|J1||1||+3.3V||3.3VDC Power line to Accessory Board. Max 200mA|
|J1||3||MISO||SPI bus master in slave out|
|J1||4||MOSI||SPI bus master out slave in|
|J1||5||SCK||SPI bus clock|
|J1||6||SCL||I2C bus clock|
|J1||7||SDA||I2C bus data|
|J1||8||GPIO0||General purpose IO 0|
|J1||9||GPIO1||General purpose IO 1|
|J1||10||GPIO2||General purpose IO 2|
|J1||11||GPIO3||General purpose IO 3|
|J1||12||GPIO4||General purpose IO 4|
|J2||1||VBAT||Battery voltage 6.0 to 8.4VDC, 7.4V nominal 2A Max|
|J2||3||VSOURCE||12.7VDC Capacitor bank voltage source. Only activated when|
The system is ARMED
|J2||5||/OPN1_INT||OPN interrupt 1 (Active Low)|
|J2||6||/OPN2_INT||OPN interrupt 2 (Active Low)|
|J2||7||GPIO5||General purpose IO 5|
|J2||8||GPIO6||General purpose IO 6|
|J2||9||GPIO7||General purpose IO 7|
|J2||10||GPIO8||General purpose IO 8|
|J2||11||UART2_TX||Primary communications UART to host system. Default baud rate|
Is 115200 8-N-1
|J3||1||GND||Ground/common line for all voltages|
|J3||3||UART3_RX||Communications UART to host system 115200 8-N-1|
|J3||5||/OPN3_INT||OPN interrupt 3 (Active Low)|
|J3||6||/OPN4_INT||OPN interrupt 4 (Active Low)|
|J3||7||ADC||Analog to digital converter (Analog Voltage)|
|J3||8||ARM1||First ARM signal to host|
|J3||9||ARM2||Second ARM signal to host|
|J3||10||CONTINUITY||Continuity enable signal to host|
|J3||11||FIRE||Fire enable signal to host|
|J3||12||ILIMIT||CREWSAFE® 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.