Open Source Water Heater and Plug Load Controller
Please see the full documentation here.
This is the main board that interfaces with the peripherals. The board integrate the following modules and features:
- ESP32
- U-Blox NEO-M8T GPS Timing Chip
- SX1276 Radio
- USB programming and debugging
- 2.4" OLED display
- 4 way navigation buttons
- Raspberry Pi connectivity
- 60Hz Frequency Monitor
- RS485 and I2C exposed interfaces
- 2000:1 current transformer input
- Amplified microphone input with phantom power
- Leak detector input
This is the accessory board that has two onboard high-power relays, a current transformer, and two analog inputs for temperature sensors.
This small accessory board holds the connector to support CTA2045 and other RS485 communications.
- Install the
xtensa-esp32-elf
toolchain by following the instructions here: http://esp-idf.readthedocs.io/en/latest/get-started/#setup-toolchain. Make sure thextensa-esp32-elf/bin
is added to yourPATH
. - Clone the repository
$ git clone --recursive https://github.com/WiseLabCMU/gridballast.git
- Setup the
IDF_PATH
environment variable by adding the following to your~/.profile
:export IDF_PATH="<path/to/gridballast>/Support/esp-idf"
- Build the controller module
In the framework configuration, navigate to "Serial flasher config" and select the default serial port. This can be determined by checking which device appears in
$ cd Source/framework $ make
/dev
when the controller module is connected via USB. It should start with/dev/ttyUSB
. Save and exit the configuration interface. - Flash the controller
$ make flash