So some might wonder what the heck happened to the 2.0 I just released, I know hey... First sorry to anyone who feels wronged if they got 2.0, the hardest part doing this is updates even though I'm excited about them I know not everyone is but it needs to happen for the long term. v1 and v2 controller will continue to be compatible with any new extensions I come out with.
I did like the v2 boards however I hated assembling them and there was no way it was going to work long term so I started designing this one. On my bench tests it works just as good or slightly better than v2. I basically split everything into 3 pieces as I can get a lot more factory assembled. Personally I prefer an all-in-one board which is why I screwed up on 2.0 but overall it makes more sense to have module based system. The last few weeks as I've been migrating and selling these I've been telling customers and the large majority prefer the modules so that was a nice surprise and hopefully the general thought. Let me know what you think is better in the polls, all-in-one or modular controller?
This does keeps costs down vs one large controller board and this is and always will be the main goal. It also adds extra isolation on the DC ports which keeps noise spikes down on the main controller and sensor extension. With the modular design it's cheaper for users to get involved and the system is more tailored to their needs and going forward I have plans for other extensions so having these 3 extra port plugs will be useful.
Here is the main controller, it still has 41 ports however 20 ports have been moved to three RJ45 ethernet sockets which the extensions plug into or a person can branch out how they like. If a person uses the wrong RJ45 for an extension no damage will occur, it just won't work.
These are the ports through the accessory plugs.
The next piece is the deluxe sensor extension. It has 6 ports, each ports has 3 plugs that can be used. There's a jumper for each port that you set to the plug type you want, it's only possible to set one plug active at any given time. I did this to keep it as plug and play as possible, it works with optical sensors, non-contact sensors, DS18B20 temperature sensors and other Arduino style water sensors. Flow meters are also possible but it's advanced as it requires some coding related setup. When you connect a DS18B20 sensor you need to add the corresponding GPIO to the /boot/config.txt file as it'll run as a separate 1-wire bus. With this extension and main controller you can run eight 1-wire buses.
The green universal screw terminal sockets have a jumper above them to set it to use a pullup or pulldown resistor so its compatible with more sensor types.
You can use this as is without the main controller, simply connect it to 6 GPIO's on the Pi along with +5v and Ground and your set. You can run as many as these as GPIO pins you have available. The RJ45 input socket has LEDs built in which light up when power is connected.
The 3rd piece I'm calling the equipment extension. This has six speed controllable 12v-24v DC ports good for 4 amps each, 50w @ 12v or 100w @ 24v, or 5 amps overall. Each DC port has it's own hardware-based emergency backup port which works with float switches or any other type of on/off switch. The idea of these is a method to stop power to the port no matter what the Raspberry Pi or reef-pi says. They're also good for disabling equipment when water levels raise or drop or stopping equipment easily for maintenance.
It also has an 8 channel 0-5v PWM converter, this will convert 0-5v PWM to either a 0-10v PWM, 0-5v Analog or 0-10v Analog signal, you can select 1 of the 4 signal types using the dip switches. You can access the signal from the pluggable screw terminal connectors or use the 3.5mm sockets on the side. There's 4 sockets each with 2 signals, one on tip and Ring 1 when using TRRS plug. In the picture you'll see some labeling mistakes on faceplate, I now have the fixed version. The LED's in the RJ45's light up as well when powered up. As I had more space I also added two extra TVS diodes on the DC port mosfets across the gate and drain and source. It also has the flyback diode to protect from inductive loads.
You can use this without the main controller however you can't connect it directly to the Pi, at least not the 8 auxiliary ports, these require a 0-5v PWM input so you would need to have a PCA9685 to run it. You can connect the DC port inputs directly to GPIO pins on the Pi however you'll lose the speed control and they will just be on/off.
Here's the post going over the mounting brackets and cooling for Raspberry Pi 3 or 4.
I did like the v2 boards however I hated assembling them and there was no way it was going to work long term so I started designing this one. On my bench tests it works just as good or slightly better than v2. I basically split everything into 3 pieces as I can get a lot more factory assembled. Personally I prefer an all-in-one board which is why I screwed up on 2.0 but overall it makes more sense to have module based system. The last few weeks as I've been migrating and selling these I've been telling customers and the large majority prefer the modules so that was a nice surprise and hopefully the general thought. Let me know what you think is better in the polls, all-in-one or modular controller?
This does keeps costs down vs one large controller board and this is and always will be the main goal. It also adds extra isolation on the DC ports which keeps noise spikes down on the main controller and sensor extension. With the modular design it's cheaper for users to get involved and the system is more tailored to their needs and going forward I have plans for other extensions so having these 3 extra port plugs will be useful.
Here is the main controller, it still has 41 ports however 20 ports have been moved to three RJ45 ethernet sockets which the extensions plug into or a person can branch out how they like. If a person uses the wrong RJ45 for an extension no damage will occur, it just won't work.
- Fully isolated pH circuit on-board
- Two independent DS18B20 1-wire sensor ports
- Automatic fish feeder port
- 5v I2C Port for expanders and other devices
- 2 hardware-based backup float switch ports for AC Power Bar 1, Outlet 1 and 2.
- 12-bit PWM signals
- Real Time Clock with CR1220 battery backup
- Internal 12v/24v speed controllable cooling fan port
- Efficient 5v regulator system to power Pi protected with resettable fuse
- 12v - 24v DC input with short circuit protection and efficient reverse polarity protection
These are the ports through the accessory plugs.
- AC Power Bar 1 DB9 Plug - 8 GPIO I/O's + Ground + optional 5v or 12v
- AC Power Bar 2 DB9 Plug - 8 GPIO I/O's + Ground + optional 5v or 12v
- Sensor Extension RJ45 Plug - 6 GPIO Inputs / Outputs + Ground + 5v
- Equipment Extension RJ45 Plug - 7 Outputs - 0-5v PWM Signals + Ground
- Equipment Extension RJ45 Plug - 7 Outputs - 0-5v PWM Signals + Ground
The next piece is the deluxe sensor extension. It has 6 ports, each ports has 3 plugs that can be used. There's a jumper for each port that you set to the plug type you want, it's only possible to set one plug active at any given time. I did this to keep it as plug and play as possible, it works with optical sensors, non-contact sensors, DS18B20 temperature sensors and other Arduino style water sensors. Flow meters are also possible but it's advanced as it requires some coding related setup. When you connect a DS18B20 sensor you need to add the corresponding GPIO to the /boot/config.txt file as it'll run as a separate 1-wire bus. With this extension and main controller you can run eight 1-wire buses.
The green universal screw terminal sockets have a jumper above them to set it to use a pullup or pulldown resistor so its compatible with more sensor types.
You can use this as is without the main controller, simply connect it to 6 GPIO's on the Pi along with +5v and Ground and your set. You can run as many as these as GPIO pins you have available. The RJ45 input socket has LEDs built in which light up when power is connected.
The 3rd piece I'm calling the equipment extension. This has six speed controllable 12v-24v DC ports good for 4 amps each, 50w @ 12v or 100w @ 24v, or 5 amps overall. Each DC port has it's own hardware-based emergency backup port which works with float switches or any other type of on/off switch. The idea of these is a method to stop power to the port no matter what the Raspberry Pi or reef-pi says. They're also good for disabling equipment when water levels raise or drop or stopping equipment easily for maintenance.
It also has an 8 channel 0-5v PWM converter, this will convert 0-5v PWM to either a 0-10v PWM, 0-5v Analog or 0-10v Analog signal, you can select 1 of the 4 signal types using the dip switches. You can access the signal from the pluggable screw terminal connectors or use the 3.5mm sockets on the side. There's 4 sockets each with 2 signals, one on tip and Ring 1 when using TRRS plug. In the picture you'll see some labeling mistakes on faceplate, I now have the fixed version. The LED's in the RJ45's light up as well when powered up. As I had more space I also added two extra TVS diodes on the DC port mosfets across the gate and drain and source. It also has the flyback diode to protect from inductive loads.
You can use this without the main controller however you can't connect it directly to the Pi, at least not the 8 auxiliary ports, these require a 0-5v PWM input so you would need to have a PCA9685 to run it. You can connect the DC port inputs directly to GPIO pins on the Pi however you'll lose the speed control and they will just be on/off.
Here's the post going over the mounting brackets and cooling for Raspberry Pi 3 or 4.
Robo-Tank 3.0 for reef-pi
Not directly, steppers are usually controlled by a few configuration pins (enable, microstep select, etc) and pulses on the STEP pin. I'm happy to collaborate on a simple USB to stepper control firmware (or USB to X). Got a partial reel of SAMD11s which would be plenty of horsepower for this...
www.reef2reef.com
Last edited: