This Foundry VTT plugin, Physical Initiative, allows you to control lights connected to an Arduino using a Python server. The lights can be integrated into your tabletop gaming experience to provide a visual representation of initiative order.
-
Clone or download this repository into the
modules
directory of your Foundry VTT installation.git clone https://github.com/arkaivos/foundry-physical-initiative.git
-
Restart your Foundry VTT server.
-
Enable the "Physical Initiative" module in the Foundry VTT setup.
-
Upload the physical-initiative.ino code to your Arduino, and connect it to the led strip.
-
Connect your Arduino to your computer.
-
Modify the Python server script (physical-initiative.py) to match your Arduino's serial port. Update the
SERIAL_PORT
constant with the correct port. -
Start the Python server by running the following command in the terminal:
python3 physical-initiative.py
-
Configure the plugin in Foundry VTT by providing the IP address and port of the Python server.
-
Connect the Python server to the Arduino via the serial port.
-
You're ready to use Physical Initiative in your game!
-
As a Game Master (GM), control the initiative order in Foundry VTT.
-
When a player's turn comes up, the corresponding light on the Arduino will illuminate with the color selected by that player in Foundry VTT.
-
Lights will automatically turn off when the next turn begins.
-
Customize the Arduino code (physical-initiative.ino) to adjust the behavior or add additional features to your lights.
-
Modify the Python server script (physical-initiative.py) to handle specific events or integrate with other systems.
-
Set the Python server's IP address and port in the Foundry VTT module settings.
-
Set the order of the players around the table, separated by commas in the Foundry VTT module settings.
-
Ensure that your Arduino is properly connected and recognized by your computer.
-
Adjust the plugin settings in Foundry VTT to match your Python server's IP address and port.
-
This plugin assumes a basic understanding of Arduino programming and Python.