Aquaponics Controllers Have Shipped

The first batch of Aquaponics Controllers have shipped!  These units are single-point, full-system controllers that are used for Aquaponics Tracker.
  • Triple-mode pump control: always on, toggle, manual
  • Depth sensor
  • Smart grow-light control 
  • Optionally use external (and therefore replaceable) relay kits
  • Water temperature
  • Industrial grade pH probe 
  • Industrial grade dissolved oxygen probe
  • Air temperature
  • Relative humidity
  • Ambient light intensity
  • Replaceable sensors
  • Uses an Arduino Mega R3 and Arduino Ethernet Shield R3
  • For use with Aquaponics Tracker or a stand-alone application
Note the application of the relays is a matter of programming rather than hardware so they are configurable as well.

Figure 1.  Early PCB layout.

Figure 2.  Aquaponics Shield.

Dry fitting components together is a no-brainer.  Below you can see the silkscreen layer printed on paper and taped to some random foam, which is excellent at holding component leads in place.  The dissolved oxygen, pH, differential pressure transducer and water temperature parts protrude from the bottom of the unit (left in the picture).

Figure 3.  Always good to dry fit.

Figure 4.  Dry fit again.

Figure 5.  Full kit.

We can't wait to get them into our 3D printed enclosures.

The Arduino Ethernet Board

Let's face it, the Environment DAQ stack is big.  Using an Uno, an Ethernet Shield and the DAQ Shield makes a sizable footprint by itself and 3D printing an enclosure for it takes hours.  To reduce this time sink, we started looking at the Arduino Ethernet board.

Arduino Ethernet R3 w/o PoE.  Credit:  Arduino.

The Arduino Ethernet board combines the Arduino Uno and Arduino Ethernet Shield into a single board.  It features the same 14 digital I/O and 6 analog input pins, but similar to the stack configuration, the Ethernet interface takes over pins 10, 11, 12 and 13.

The only significant difference when using this board for the Environment DAQ, is the missing USB-serial driver - it was removed to make room for the Ethernet interface.  So how do you upload sketches and output to serial?  Well, you'll need to use an FTDI breakout board or FTDI-USB cable.  For this example, we'll use Sparkfun's FTDI Basic Breakout - 5V board.

Sparkfun's FTDI Basic Breakout - 5V.  Credit:  Sparkfun.

Arduino Ethernet with FTDI Breakout.

Orient the breakout board as seen above such that the "BLK" pin on the Arduino Ethernet lines up with the pin labelled "GND BLK" on the breakout board.  From there, you use a mini-USB cable to connect from the FTDI breakout board your computer.  

When uploading the sketch, you need to select the Arduino Ethernet board from the list of available boards.  On Ubuntu, we found the the Serial port changed from our usual ttyACM- to ttyUSB-.

There isn't anything you need to do for the sketch or shield, they work exactly the same as before, however, we noticed the time it takes to initialize the shield was much longer than on the original stack (operational performance was unchanged).