Over the weekend I worked out the hardware details for interfacing and networking the sensor modules with the DyIO. I developed a new board, it's called the module hub because it is just that a hub for modules. It has 4 ports for connecting up to 4 sensor modules, a FreeScale ARM CM0+ MKV10Z16VFM7 75MHZ MCU, analog multiplexer for UART, two expansion IO ports, a full handshake UART serial port, and power port. At first the the design of this hub was to be a simple 74 logic based board that would allow the DyIO to multiplex its UART port's signals to interface the four modules, this idea was abandoned in favor of an implementation that can interface with the DyIO via its serial port. Interfacing with the serial port on the DyIO required a full UART peripheral also another UART would be needed for interfacing with the modules, this is the reasoning behind using the MKV10Z16VFM7 MCU for the hub. The MKV10Z16VFM7 was chosen for its cost, rich and diverse array peripherals, and its 75MHZ clock. The way this board works is the MKV10Z16VFM7 communicates with the DyIO on one UART port and on the other UART port interfaces with the sensor modules using an analog multiplexer/demultiplexer IC . Another benefit to implementing the interface this way is that it may not require any modification to the DyIO firmware, everything should be able to be handled via the firmware on the modules and the Java API. The hub's will be mounted in custom cases (3D printed) and bolted to the sides of each of the grow units. The hub cases will be slotted such that the modules can slide in. The idea behind the system is that each unit is customizable based on the kinds of sensors needed for the given plants in the grow unit. The next step will be interfacing multiple modules to a single DyIO. Without further do pictures of the Module Hub Board:
Module Hub Revision 1
As for new modules there are a few, water pump control, light control, and water quality. The water pump module will be simple, containing the MKL05 ARM CM0+ MCU, a PWM output for SS relay, sensor inputs for water level sensors, and inputs for flow sensor. The goal of the water module is for closed loop control of the water level in the hydro units. The light control module will simply turn lights on and off perhaps a light sensor to detect if the lights do go on. Water quality module is going to simplify quite a few things. IN a previous project log I bragged about wanting to implement full open source water quality monitoring but that's a project in its self. To make things easier I will be using the Atlas Scientific kit, probes and circuitry, the module will mount the PCBs, BNC connectors, and aggregate the data of the sensor boards. Water quality monitoring is the most expensive part of the electronics so I'm now 100% if I want to implement it from the get go, it will be the last thing to add.
Lastly there are two additional modules that I didn't mention before, it's because they are not of the variety that connect to the module hub. These modules are the nutrient distribution module and the air valve control module. These modules are going to be designed standalone and embedded into the devices they intend to control, they will have the same software interfacing as all the other modules and be controlled via the same API but from a hardware standpoint they are fully standalone.
Anyways stay tuned fro new modules and updates!