NightFire Rev 4 development board firmware.
see https://pikokosan.github.io/NightFire-dev/ for Arduino-pncp library info
This firmware is for a hobby grade digital fireworks firing system. it currently uses RS-485 with a custom protocol for communicating with the Pyro Ignition Controller beta 2.0. which is currently not publicly available.
later iterations will use the NRFf24L01+ or RFM69HCW wireless transceiver.
Currently we are using a simple Python script to send and receive data from the modules using a cheap FTDI232 -> RS-485 module.
To use in the Arduino IDE download and copy the /lib/PNCP folder to your Arduino sketch library directory. rename main.cpp to Nightfire.ino
I recommend watching this video on firing systems and protocols. https://youtu.be/aSEpCoPppWQ
- Arduino Nano
- Ardunio Pro
- Arduino Uno(untested)
- Arduino Mega(untested)
Name/Link | What its for |
---|---|
Battery Sense | This is used for sensing the main batteries voltage. note: this is available in the arduino library manager. |
Liquidcrystal_I2C | This library is used for controlling the I2C 16x2 lcd. note: this is available in the arduino library manager. |
MC33996 | This library is include but is also available in the platfromio library manager. |
For Devboard schematics and board's check my Cadlab.io project page
Arduino | MAX485 |
---|---|
Pin 0 (RXD) | Pin 1(RO) |
Pin 3 | Pin 3(RE_DE) |
Pin 1 (TXD) | Pin 4(DO) |
GND | Pin 5(GND) |
Pin 1 of RJ-45 | Pin 6(A) |
Pin 2 of RJ-45 | Pin 7(B) |
5V | Pin 8(VCC) |
Arduino | MC33996ek |
---|---|
5v | SOPWR |
D10(USER DEFINABLE) | CS |
MISO | SI |
MOSI | SO |
N/A | PWM |
D9(USER DEFINABLE) | RST |
12-24v | VPWR |
For output pinout see the dataseet linked above for more information.
PIN | FUNCTION |
---|---|
1 | RS-485 A |
2 | RS-485 B |
3 | TBD |
4 | 12-24V |
5 | 12-24V |
6 | TBD |
7 | GND |
8 | GND |
NOTE: The PyroNetworkControlProtocol-Applicationlayer document is only used to reference the application layer. all other layers have been deprecated by use of the DataLinkLayer.
Document | Version |
---|---|
PyroNetworkControlProtocol-DataLinkLayer | V0.01 |
PyroNetworkControlProtocol-Applicationlayer | V0.02 |