We are also discussing the possible future expansions for the device. Based on my experience, I would like the full set to be:

  1. Temperature sensor
  2. PAR sensor (the sensor measures quality and quantity of light)
  3. pH sensor
  4. magnetic valve for CO2 dosing
  5. peristaltic pumps for liquid fertilizer dosing

We are discussing the possibility to adding a couple of universal connectors, which would be used to connect the sensors/peripherals.


We started using Confluence for the Functional Specification sharing and collaboration.

Example of the data model definition:


Work is progressing really well, in the past days, the following was accomplished:

  • Added schedule configuration loading. Currently disabled because of insufficient memory available for json parsing. Parser will be modified to use static memory allocation instead of current dynamic allocation (dynamic is more comfortable, but uses more resources)
  • Scheduler configuration loading and saving refactored to binary data (to save memory space and to avoid json parsing issue)
  • Added factoryReset operation (currently erases only scheduler related settings, does not erase wifi settings)
  • Added erasing of wifi credentials to factory reset.

We had a couple of team meetings, both in person and using skype. Tasks are defined, team is running!


We have a new member of our team – Sousanna, junior web programmer, who will help Johny with simpler tasks.


Great news! Johny, a good friend of mine, who is a very skilled web programmer, has agreed to join the team and work on the mobile application. We had a meeting today, went through the specification so far and created a Github repository.

His estimate is to have the application finished within a month!

We are discussing the GUI in more detail. We came up with the idea of “Quick Bits” = 4 buttons that could be assigned different functions – like “+1 hour”, or “shift the next start by 1 hour”. The last one comes from my real experience, when my mother in law comes for visit; she sleeps in the room where the aquarium is. We want to let her sleep a bit longer, so I would want to simply shift the time when the lights turn on.


We continue to increase the detail of the specification for the light management.

We are trying to define a GUI that would be simple for the user, but the implementation specification would be more robust, as so to accommodate requirements, which would be implemented in later stages of the project.

Example of the schedule setting – simple vs. advanced settings.


We have decided to enable defining names for the 2 lights channels. Users will be able to name them for easier recognition. For example, I have a “front lamp” and “back lamp” channel.

28. 11. 2016

The +1h button functionality in specification detail 🙂

The +1h button is located on the associated device dashboard.
It is only active, if there is a schedule defined for the device (i.e. if the device is not yet scheduled, the button will not be accessible) –

GUI remark – define universal pattern for such inaccessibility. Maybe popup explaining that this button will only be active once a schedule is defined for the device.

The +1 button shifts the whole schedule +1 hour from the moment of activation. Any increase / decrease of intensity will follow a new vector calculated from the moment of activation.

It only affects the schedule until 03:00. After that the lighting continues as scheduled.

27. 11. 2016

We have decided to use Jira for tracking requirements and development tasks and bug tracking for testing.