Firmware
An object-oriented approach to doing pressure control. Hopefully things are modular and can be swapped in an out for different controllers and valve setups.
Dependencies
Hardware
- An arduino-compatible microcontroller (confirmed working on Arduino Mega and Teensy 3.5)
Software
- Various Arduino Libraries
- EEPROMAnything Library by collin80
- Button Library by madleech
- LiquidCrystal_I2C by fdebrabander
- EasyLCD Library by cbteeple (that’s me!)
Installation
Usage
Settings Locations
- Firmware is located in “pressure_control_firmware”
- Hardware configurations are located in the “config”” folder
- Sensor configurations are located in the “config/sensors_lib.h”” file
Initialize the Onboard Memory (EEPROM)
New!
For each new MCU board, you need to initiatlize the onboard memory before installing the firmware.
- Navigate to “utilities/initialize_onboard_memory”
- Open “initialize_onboard_memory.ino” in the Arduino IDE
- Upload the program to the new MCU.
- You’re done! You never need to do this again for that MCU.
Install the Firmware on an MCU
- Open the firmware in the Arduino IDE.
- Choose a configuration file (in the “config” folder), where you set the # of valves, pins, etc.
- Choose what type of communication you want to use
- Arduino Mega: It’s only capable of serial (no need to change any settings)
- Teensy 3.x: You can select between serial vs. native USB (HID). Do this in the Arduino IDE’s “Tools” » “USB Type” menu.
- Flash the firmware to your microcontroller (confirmed working on Arduino Mega and Teensy 3.5)