Practical maker Arduarium hardware - Looking for code, hook up's e.t.c

Hello everyone.
I don't know if this is the right place to put this post but couldn't find anywhere else on the forum that i thought suitable.

Anyway.. this piece of hardware is a ( or maybe i should say could be) "all-in-one" solution for keeping track of PH, EC, Orp, RTC as well as an onboard Internet shield e.t.c.. but i have had a seriously hard time getting the software sketches and other information from Practical maker to run it ( feels very Unpractical Maker atm) i got the code for PH-functionality i managed with some tweaks to get it working.. but

..since a month back i'm stuck in the mud with a halted project as i don't know how to hook the rest of the stuff up and he doesn't respond to on any email...

It's mainly hook-up schematics i'm after but every little info about this piece of hadware is appreciated..
( I have the Macroduino and EC sketces but don't know how to hook it up and use them.)

Many thanks in advance.

Update: EC probe is now running after a day of trial and error, looking at pictures in Practical Makers onlineshop, using the DIY-probe and with some additional changes to the (unfinished) Arduarium hardware ( missing 2 piggybacks on the PCB )

PH probe running = check.
EC probe running = check.

Here’s the testcode with changes i made for the Arduarium:

EC slope 1.90% / deg C
EC25 = temp compensate to 25C
EC25 = ECf / (1 + x(t - 25))
EC18 = temp compensate to 18C
EC18 = ECf / (1+ x(t - 18))
ECf = ec value
x = coefficent (1.9%)
t = temperature in C
A couple notes:
- It seems like the standard way to measure EC is to temp correct to 15C,
although I'm temp correcting to 25C
- Lots of info here:
<a href="<a href=";threadid=914676&amp;highlight=sigma;threadid=914676&amp;
there">;threadid=914676&amp;...</a>">;threadid=914676&amp;...</a> has been some research done that indicates that x (formulas above) is not constant
but changes with temperature
- this sketch can probably be improved upon. let me know if there are any mistakes
About what this sketch is doing.
When you run it to configure it you'll need 2 EC solutions. 53mS and 80mS are preferred
You can also use a refractometer (which is what I use). Mix up 2 solutions that are in the high
and low end of what you want to measure.
First you place your probe into the 53mS solution which changes the frequency that the 555 generates.
Its recommended to leave it in solution for 10 - 20 min for readings to stabilize
That will give you once frequency reading and one calibration value
ie 19424hz and 53mS
Change Y1 and X1
#define Y1 19424
#define X1 53
Next you place the probe in 80mS and repeat which will give you your second reading
ie 29421hz and 80mS
#define Y2 29421
#define X2 80
Once you have those values the script basically figures out the slope of your line. When you place
it in solution the frequence will fall on the slope and can thus be figured out
After the value has been determined temperature compensation can be applied. In my opinion this still
needs a lot more research For most aquariusts the effects will be negligible (especially if you calibrate
at the same temp your aquarium is), but theres a lot of research that the x (compensation factor)
in the formula isnt a constant, but varies from 1% to 3% from 3C to 35C
#define SAMPLES 4096
#define Y1 3676
#define Y2 5291
#define X1 1.413
#define X2 2.8

int enable_pin = 2;                         // For Arduarium users: this is originally set to Pin 4
int reading_pin = 4;                       // For Arduarium users: this is originally set to pin 7

unsigned long freqhigh = 0;
unsigned long freqlow = 0;
unsigned long frequency = 0;
void setup() {
pinMode(reading_pin, INPUT);
pinMode(enable_pin, OUTPUT);
void loop() {
digitalWrite(enable_pin, HIGH);
unsigned long freqhigh = 0;
unsigned long freqlow = 0;
unsigned long frequency = 0;
for(unsigned int j=0; j<SAMPLES; j++) {
freqhigh+= pulseIn(reading_pin, HIGH, 250000);
freqlow+= pulseIn(reading_pin, LOW, 250000);
frequency = 1000000 / ( (freqhigh / SAMPLES) + (freqlow / SAMPLES) );
//useful when debugging
Serial.print("Frequency: ");
// now we need to work out all the values for this formula
// y = mx + b
float m = (Y2 - Y1) / (X2 - X1);
//Serial.print("m= ");
//Serial.println(m, 8);
float b = Y1 - (m * X1);
//Serial.print("b= ");
//Serial.println(b, 8);
float x = ((float)frequency - b) / m;
//Serial.print("Salinity: ");
//Serial.println(x, 8);
to temperature compensate this you'll need to get a temp reading and plug it in to this formula:
EC25 = ECf / (1 + x(t - 25)) change 25 to 18 if you want to compensate to 18.
see the top comments for more info
//lets say it's 21 degrees C
float EC25 = x / (1 + (0.019 * (21 - 25)));
//Serial.print("EC25 = ");
//Serial.println(EC25, 8);
digitalWrite(enable_pin, LOW);