reef-pi :: An opensource reef tank controller based on Raspberry Pi.

Yeah they have a couple of versions in stock, was wanting to order the boards assy, if I go this path I have to hand solder the SMT and not sure I have the skill to do it. :)
No time like the present to try :)

With some liquid or tacky flux this goes down very quickly with any old iron. You need the flux.
 
This is my current dashboard, in progress of course.. I have it setup to be somewhat dynamic.. I need that "hostname" to be emitted from prometheus so that I can replace the IP address with the hostname..
Very nice... here is mine:
1643908360557.png

.. and the JASON code to follow. pH is off by around .20 ( have not calibrated it yet.. waiting on new probe) Spikes are me playing around.
 
Code:
[ICODE]

{

  "annotations": {

    "list": [

      {

        "builtIn": 1,

        "datasource": "-- Grafana --",

        "enable": true,

        "hide": true,

        "iconColor": "rgba(0, 211, 255, 1)",

        "name": "Annotations & Alerts",

        "target": {

          "limit": 100,

          "matchAny": false,

          "tags": [],

          "type": "dashboard"

        },

        "type": "dashboard"

      }

    ]

  },

  "editable": true,

  "fiscalYearStartMonth": 0,

  "graphTooltip": 0,

  "id": 4,

  "links": [],

  "liveNow": false,

  "panels": [

    {

      "fieldConfig": {

        "defaults": {

          "color": {

            "mode": "palette-classic"

          },

          "custom": {

            "axisLabel": "",

            "axisPlacement": "auto",

            "barAlignment": 0,

            "drawStyle": "line",

            "fillOpacity": 0,

            "gradientMode": "none",

            "hideFrom": {

              "legend": false,

              "tooltip": false,

              "viz": false

            },

            "lineInterpolation": "linear",

            "lineWidth": 1,

            "pointSize": 5,

            "scaleDistribution": {

              "type": "linear"

            },

            "showPoints": "auto",

            "spanNulls": false,

            "stacking": {

              "group": "A",

              "mode": "none"

            },

            "thresholdsStyle": {

              "mode": "off"

            }

          },

          "mappings": [],

          "thresholds": {

            "mode": "absolute",

            "steps": [

              {

                "color": "green",

                "value": null

              },

              {

                "color": "red",

                "value": 80

              }

            ]

          }

        },

        "overrides": []

      },

      "gridPos": {

        "h": 8,

        "w": 12,

        "x": 0,

        "y": 0

      },

      "id": 18,

      "options": {

        "legend": {

          "calcs": [],

          "displayMode": "list",

          "placement": "bottom"

        },

        "tooltip": {

          "mode": "single"

        }

      },

      "targets": [

        {

          "datasource": {

            "type": "prometheus",

            "uid": "FvND3Zigz"

          },

          "exemplar": false,

          "expr": "equipment_3_skimmer_state ",

          "hide": false,

          "interval": "",

          "legendFormat": "",

          "refId": "A"

        }

      ],

      "title": "Panel Title",

      "type": "timeseries"

    },

    {

      "description": "",

      "gridPos": {

        "h": 3,

        "w": 15,

        "x": 2,

        "y": 8

      },

      "id": 14,

      "options": {

        "bgColor": "transparent",

        "clockType": "12 hour",

        "countdownSettings": {

          "endCountdownTime": "2022-02-03T10:26:59-08:00",

          "endText": "00:00:00"

        },

        "dateSettings": {

          "dateFormat": "DD-MM-YYYY",

          "fontSize": "20px",

          "fontWeight": "normal",

          "locale": "",

          "showDate": true

        },

        "mode": "time",

        "refresh": "sec",

        "timeSettings": {

          "fontSize": "26",

          "fontWeight": "normal"

        },

        "timezone": "",

        "timezoneSettings": {

          "fontSize": "12px",

          "fontWeight": "normal",

          "showTimezone": false,

          "zoneFormat": "offsetAbbv"

        }

      },

      "pluginVersion": "1.2.0",

      "targets": [

        {

          "datasource": {

            "type": "prometheus",

            "uid": "FvND3Zigz"

          },

          "exemplar": false,

          "expr": "",

          "interval": "",

          "legendFormat": "",

          "refId": "A"

        }

      ],

      "transparent": true,

      "type": "grafana-clock-panel"

    },

    {

      "fieldConfig": {

        "defaults": {

          "color": {

            "mode": "thresholds"

          },

          "mappings": [],

          "max": 8.6,

          "min": 7.5,

          "thresholds": {

            "mode": "absolute",

            "steps": [

              {

                "color": "orange",

                "value": null

              },

              {

                "color": "semi-dark-orange",

                "value": 7.5

              },

              {

                "color": "super-light-green",

                "value": 7.8

              },

              {

                "color": "semi-dark-green",

                "value": 8

              },

              {

                "color": "dark-green",

                "value": 8.3

              },

              {

                "color": "semi-dark-orange",

                "value": 8.4

              },

              {

                "color": "dark-red",

                "value": 8.5

              }

            ]

          }

        },

        "overrides": []

      },

      "gridPos": {

        "h": 5,

        "w": 4,

        "x": 2,

        "y": 11

      },

      "id": 4,

      "options": {

        "orientation": "auto",

        "reduceOptions": {

          "calcs": [

            "lastNotNull"

          ],

          "fields": "",

          "values": false

        },

        "showThresholdLabels": false,

        "showThresholdMarkers": true

      },

      "pluginVersion": "8.3.4",

      "targets": [

        {

          "datasource": {

            "type": "prometheus",

            "uid": "FvND3Zigz"

          },

          "exemplar": true,

          "expr": "ph_ph_probe ",

          "interval": "",

          "legendFormat": "",

          "refId": "A"

        }

      ],

      "title": "pH",

      "transparent": true,

      "type": "gauge"

    },

    {

      "fieldConfig": {

        "defaults": {

          "color": {

            "mode": "thresholds"

          },

          "mappings": [],

          "max": 80,

          "min": 75,

          "thresholds": {

            "mode": "absolute",

            "steps": [

              {

                "color": "red",

                "value": null

              },

              {

                "color": "transparent",

                "value": 60

              },

              {

                "color": "light-blue",

                "value": 75

              },

              {

                "color": "dark-blue",

                "value": 76

              },

              {

                "color": "semi-dark-green",

                "value": 77

              },

              {

                "color": "dark-green",

                "value": 78

              },

              {

                "color": "semi-dark-red",

                "value": 79

              },

              {

                "color": "dark-red",

                "value": 80

              },

              {

                "color": "transparent",

                "value": 85

              }

            ]

          }

        },

        "overrides": []

      },

      "gridPos": {

        "h": 5,

        "w": 4,

        "x": 11,

        "y": 11

      },

      "id": 10,

      "options": {

        "orientation": "auto",

        "reduceOptions": {

          "calcs": [

            "lastNotNull"

          ],

          "fields": "",

          "values": false

        },

        "showThresholdLabels": false,

        "showThresholdMarkers": true

      },

      "pluginVersion": "8.3.4",

      "targets": [

        {

          "datasource": {

            "type": "prometheus",

            "uid": "FvND3Zigz"

          },

          "exemplar": true,

          "expr": "temperature_reading",

          "interval": "",

          "legendFormat": "",

          "refId": "A"

        }

      ],

      "title": "Temperature",

      "transparent": true,

      "type": "gauge"

    },

    {

      "fieldConfig": {

        "defaults": {

          "color": {

            "mode": "continuous-GrYlRd",

            "seriesBy": "last"

          },

          "custom": {

            "axisGridShow": false,

            "axisLabel": "",

            "axisPlacement": "auto",

            "barAlignment": 0,

            "drawStyle": "line",

            "fillOpacity": 40,

            "gradientMode": "scheme",

            "hideFrom": {

              "legend": false,

              "tooltip": false,

              "viz": false

            },

            "lineInterpolation": "linear",

            "lineWidth": 2,

            "pointSize": 5,

            "scaleDistribution": {

              "type": "linear"

            },

            "showPoints": "never",

            "spanNulls": false,

            "stacking": {

              "group": "A",

              "mode": "none"

            },

            "thresholdsStyle": {

              "mode": "line+area"

            }

          },

          "mappings": [],

          "max": 8.6,

          "min": 7.5,

          "thresholds": {

            "mode": "absolute",

            "steps": [

              {

                "color": "transparent",

                "value": null

              },

              {

                "color": "#EAB839",

                "value": 7.8

              },

              {

                "color": "semi-dark-green",

                "value": 8

              },

              {

                "color": "dark-red",

                "value": 8.6

              }

            ]

          }

        },

        "overrides": []

      },

      "gridPos": {

        "h": 7,

        "w": 8,

        "x": 0,

        "y": 16

      },

      "id": 6,

      "options": {

        "legend": {

          "calcs": [],

          "displayMode": "hidden",

          "placement": "bottom"

        },

        "tooltip": {

          "mode": "single"

        }

      },

      "pluginVersion": "8.3.4",

      "targets": [

        {

          "datasource": {

            "type": "prometheus",

            "uid": "FvND3Zigz"

          },

          "exemplar": false,

          "expr": "ph_ph_probe",

          "interval": "",

          "legendFormat": "",

          "refId": "A"

        }

      ],

      "transparent": true,

      "type": "timeseries"

    },

    {

      "fieldConfig": {

        "defaults": {

          "color": {

            "mode": "continuous-BlYlRd",

            "seriesBy": "last"

          },

          "custom": {

            "axisGridShow": false,

            "axisLabel": "",

            "axisPlacement": "auto",

            "barAlignment": 0,

            "drawStyle": "line",

            "fillOpacity": 36,

            "gradientMode": "scheme",

            "hideFrom": {

              "legend": false,

              "tooltip": false,

              "viz": false

            },

            "lineInterpolation": "linear",

            "lineWidth": 2,

            "pointSize": 5,

            "scaleDistribution": {

              "type": "linear"

            },

            "showPoints": "never",

            "spanNulls": false,

            "stacking": {

              "group": "A",

              "mode": "none"

            },

            "thresholdsStyle": {

              "mode": "line+area"

            }

          },

          "mappings": [],

          "max": 79,

          "min": 77,

          "thresholds": {

            "mode": "absolute",

            "steps": [

              {

                "color": "transparent",

                "value": null

              },

              {

                "color": "semi-dark-blue",

                "value": 77

              },

              {

                "color": "semi-dark-green",

                "value": 78

              },

              {

                "color": "semi-dark-orange",

                "value": 79

              },

              {

                "color": "red",

                "value": 80

              }

            ]

          }

        },

        "overrides": []

      },

      "gridPos": {

        "h": 7,

        "w": 8,

        "x": 9,

        "y": 16

      },

      "id": 16,

      "options": {

        "legend": {

          "calcs": [],

          "displayMode": "hidden",

          "placement": "bottom"

        },

        "tooltip": {

          "mode": "single"

        }

      },

      "pluginVersion": "8.3.4",

      "targets": [

        {

          "datasource": {

            "type": "prometheus",

            "uid": "FvND3Zigz"

          },

          "exemplar": false,

          "expr": "temperature_reading",

          "interval": "",

          "legendFormat": "",

          "refId": "A"

        }

      ],

      "transparent": true,

      "type": "timeseries"

    }

  ],

  "refresh": "1m",

  "schemaVersion": 34,

  "style": "dark",

  "tags": [],

  "templating": {

    "list": []

  },

  "time": {

    "from": "now-6h",

    "to": "now"

  },

  "timepicker": {},

  "timezone": "",

  "title": "Tank",

  "uid": "78PsugWRz",

  "version": 14,

  "weekStart": ""

}

[/ICODE]
 
No time like the present to try :)

With some liquid or tacky flux this goes down very quickly with any old iron. You need the flux.
Yeah I have kester tacky flux in a syringe, its good stuff. Did you see my PM, anyway you could take a look at the parts I have laid out from JLPCB. I think I have things covered but would be nice before pulling the trigger.

I found some on pc9685 on newark and going to add some more parts and give it a go.
 
the Zero W (version 1) is just fine.. Zero 2 W is a bit faster..
Sorry for the newby questions. I can get a 3A+ starter kit from local micro center. Anything wrong with jumping in the water with this?
 
Sorry for the newby questions. I can get a 3A+ starter kit from local micro center. Anything wrong with jumping in the water with this?
Ive been running 3a+ for several years now, they work just fine. :)

Keep in mind that the starter kit has stuff in it that you will not need, it's a shame the rpi's are so hard to come by these days.
 
Ive been running 3a+ for several years now, they work just fine. :)

Keep in mind that the starter kit has stuff in it that you will not need, it's a shame the rpi's are so hard to come by these days.
Yeah, figured I’d spend a little more for the kit and not use everthing in it but if it lets me jump in, it will give me something to do while waiting and fish and corals to come out of QT.
 
Yeah I have kester tacky flux in a syringe, its good stuff. Did you see my PM, anyway you could take a look at the parts I have laid out from JLPCB. I think I have things covered but would be nice before pulling the trigger.

I found some on pc9685 on newark and going to add some more parts and give it a go.

Done and done.

I did make a PCA9685 board once at JLCPCB (ironically, a nixie driver board, works well for that application too) but ended up using the QFN package as the standard narrow pitch SOIC was also unobtanium at the time.
 
Done and done.

I did make a PCA9685 board once at JLCPCB (ironically, a nixie driver board, works well for that application too) but ended up using the QFN package as the standard narrow pitch SOIC was also unobtanium at the time.
I can get the 9685 from newark but I wish it was the uln2803 since its so much bigger, lol. The 9685 is pretty tiny, going to give it a try and hope I am able to get it done. Still not sure what to do about the 3.3zener, sigh.
 
I can get the 9685 from newark but I wish it was the uln2803 since its so much bigger, lol. The 9685 is pretty tiny, going to give it a try and hope I am able to get it done. Still not sure what to do about the 3.3zener, sigh.
I use this on the real small stuff..

But, a reflow gun and paste solder makes it very easy...
PXL_20220203_191553242.jpg
 
I have a reflow gun, picked one up for christmas but still learning how to use it etc. I am going to give it a try...:)
 
Just started building this board up.. I'm not having fun as I already had one populated, but made a couple small but serious errors and ended up smoking parts and burning thru traces..

The moral of the story, check your parts carefully before soldering.. Check polarity before soldering... I didn't know that a tantalum capacitor could burn a hole almost thru a board when soldered in the wrong way..

1643919455979.png
 
I can get the 9685 from newark but I wish it was the uln2803 since its so much bigger, lol. The 9685 is pretty tiny, going to give it a try and hope I am able to get it done. Still not sure what to do about the 3.3zener, sigh.

The technique to use is drag soldering. Big tips, big solder, flux, and a little wick to clean up the occasional bridge you can't clear with flux and a clean tip.


Its ok to literally have everything swimming in flux for this.
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top