UI Overview

At the top of reef-pi web UI, there are tabs to represent categories of functionality (also called modules). For example, the temperature controller features are under the "temperature" tab. There are few tabs that are not specific to a module and relevant to the controller as a whole (like "configuration" and "dashboard").  At the bottom is footer data, which provides meta information about reef-pi including version, current time, IP, uptime (how long reef-pi is running) and the number of serious errors (if any). 

Most of the time, the first tab or landing page is a dashboard. This is the default configuration that reef-pi ships with. It is possible to disable the dashboard from the configuration module.


The Configuration UI holds all the meta information about reef-pi controller. reef-pi configuration shows what modules are active as well as features available in them. This is a brief overview of individual sections as relevant in this guide. It is recommended that every new reef-pi build goes through these steps to ensure appropriate setup and avoid hard to diagnose issues later in the build process.


This section of the configuration holds administrative buttons that allows reload, reboot, power down and sign off.

Most of the changes in configuration UI (like telemetry, authentication, settings etc.) requires a reload. A reload only restarts the controller software without restarting the whole Raspberry Pi. The Reboot button restarts the whole Raspberry Pi including Raspbian and reef-pi software. The Power Off button shuts down the Raspberry Pi, making it safe to unplug the power supply. It is recommended to power off the reef-pi controller before unplugging the power cable or adding new sensor, etc. 



This is the section where the individual modules are activated or deactivated (under capabilities). Controller name, network interface (ethernet or wifi) that is used to detect the IP address, and various other global configuration (such as https) are enabled here. Any changes in settings require a reload to come in effect.


By default, reef-pi ships with the username and password set to reef-pi. You should update it to your preferred username and password. I highly recommend using a password manager and set a 32 character random password (generated by a password manager). Note: As a security posture, reef-pi does not show any password thats previously set in the UI. So, if you notice the password field is blank, it's normal and expected. Once updated, username and password changes will require a reload of reef-pi for it to come in effect. 


All equipment is physically connected to the reef-pi controller using connectors. Different modules in reef-pi use different type of connectors and they are all defined here. reef-pi has three types of connectors.

  1. Outlets: These are digital output pins, they are used for equipment control, dosing pump direction control etc. Each outlet has a name and a GPIO pin number. Note: the pin number in outlet definition represents the GPIO pin number not the serial number. For example, Raspberry pin 11 (based on location) is GPIO pin 17, hence in reef-pi UI 17 is specified as the pin number for the corresponding outlet.
  2. Inlets: These are digital input pins, they are used for water level sensors.  Just like outlets, they have a name and pin number. Pin number represents GPIO pin number not serial number.
  3. Jacks: These are groups of PWM output pins. They are used to control light, dc pumps and motors. Each jack can have more than one pin (specified by comma separated pin numbers). reef-pi has the ability to use Raspberry Pi's native hardware timers as well as PCA9685 breakout boards to generate PWM output. 


Dashboard and charts are special capabilities of reef-pi that can be enabled and disabled from the settings section under the configuration tab. When enabled, the dashboard module allows reef-pi users to display a customizable set of charts and visualization.

The exact type of charts available in the dashboard depends on what features are enabled and in-use, since charts are generated from usage data. For example, if the temperature module is enabled, and a temperature probe is configured, then a single temperature chart will be available on the dashboard. If there are multiple temperature sensors configured, the dashboard module can showcase multiple charts, each representing one sensor's data. 

reef-pi dashboard can be customized by specifying the grid (rows and columns in the dashboard) and individual chart sizes (height and width in pixels) to fit their specific devices (monitor, tablets etc). The Customize button is located at the bottom right of the dashboard.

Now that we have covered the basic UI components, let's use an LED to test a few modules of reef-pi on the next page.

This guide was first published on Sep 12, 2018. It was last updated on Sep 12, 2018. This page (UI Overview) was last updated on Nov 19, 2019.