SoBaSeNo - solar battery powered ESP32 sensor node

Hallo zusammen

Ich bin dabei, meine Ideen für mein geplantes Setup in ein Hardware Design zu bringen. Ich hab mir erlaubt, eine Menge eurer Ideen abzukupfern, Danke schon mal für die Tollen Infos und Inputs die in diesem Forum vergraben sind!

Das Design hat mich schon einige Stunden Arbeit gekostet :roll_eyes: (ist auch mein erstes KiCad Projekt).

Die Idee ist, eine Grundplatine zu haben, welche für allerlei Sensor-Erweiterungen genutz werden kann.
Die Grundplatine hat grob folgende Funktionen:

  • Solarlader (4,5-28V)
  • LiFePo4 Battery und Schutzfunktionen
  • Programmierbare RTC mit Lastschalter für minimalen Stromverbrauch
  • USB-C für Programmierung (Laden über USB hab ich noch nicht drin)

Die Schnittstelle am ESP32 zur Erweiterungsplatine ist noch nicht fertig, bin noch am überlegen, was ich da alles rausziehen soll.

Da ich von Haus aus Software und nicht Hardware entwickle, wäre ich froh, wenn sich jemand für ein Design-Review finden lassen würde… Ich hab erst das Schema, das PCB Design würde ich erst starten, wenn das “abgesegnet” ist.

Das KiCad Projekt ist auf GitHub SoBaSeNo

Und hier der aktuelle Stand (20.01.20201) des Schema in Bildern:

Freue mich über jegliche Inputs und Kritik :upside_down_face:

1 Like

Nachdem ich Deine Schaltpläne angesehen habe, gibt es noch ein paar Fragen:

  • Welche ESP32-Boards, nur ESP32-WROVER-B oder auch NodeMCU , DevKitC oder Pico
  • wie programmieren, Arduino-C oder MicroPython
  • welche Sensoren, DS18B20 , BME280, HX711 oder …
  • Datenspeicherung auf SD-Karte
  • Daten senden über WLAN, BLE, LTE oder Lora

Im BOB-Projekt hat man sich für PyCom- Module entschieden. Das ist zwar nicht ganz billig, aber viele Räder braucht man nicht neu zu erfinden:

  • die Boards von WiPy bis FiPy decken viele Netze ab
  • das Expansionboard bietet Stromversorgung und Programmierung über USB, SD-Karte und Akkulader

Inzwischen habe ich die Platine viel getestet und plane für die nächste Version 2 Ladeeingänge

  • Solarlader CN3065 oder CN3163 für 5 V USB oder 6 V Solarmodul
  • Solarlader CN3791 MPP-Regler für 12 V Solarmodule
  • die RTC DS3231 mit FET zum Schalten hat sich sehr bewährt
  • die INA219 müssen nicht bestückt werden

Ich habe habe die Platinen BOB-HAT-Vx und BOB-Strom-Vx mit Fritzing erstellt und könnte sie z.B. auf ESP32 DevKitC umbauen. Dann braucht man nicht alles neu zu erfinden

1 Like

Hallo @didilamken

Nachdem ich Deine Schaltpläne angesehen habe, gibt es noch ein paar Fragen:

  • Welche ESP32-Boards, nur ESP32-WROVER-B oder auch NodeMCU , DevKitC oder Pico
  • wie programmieren, Arduino-C oder MicroPython
  • welche Sensoren, DS18B20 , BME280, HX711 oder …
  • Datenspeicherung auf SD-Karte
  • Daten senden über WLAN, BLE, LTE oder Lora

Ich muss vielleicht etwas weiter ausholen, damit das ganze Sinn macht…
Ich habe im letzten Frühjahr einen Prototypen auf Basis ESP32 DevKitC mit 5W WaveShare Solar Modul, 18650 LiPo, HX711, DS18B20 und DHT22 gebaut und mit Arduino-C respektive Platform-IO C++ programmiert und via Wifi/Mqtt auf swar.hiveeyes verbunden. Das hat bis auf ein paar noch ungelöste Probleme mit dem Auslesen der DS18B20 und der Mqtt-Message Size prima geklappt. Leider mussten die Bienen wegen eines Seuchenbefalls weg. In der kurzen Zeit hat das gut geklappt, aber der Prototypenaufbau war mir zu gross und die Module hatten doch da und dort Workarounds, die ich für eine Kleinserie nicht haben will (LEDs auslöten, kein Lastschalter, keine RTC, etc.).

Deshalb das Ziel einer sauberen all-in-one Lösung, da aus meiner Sicht auch das Zusammenstecken von fertig Modulen durch die steigenden Importkosten nicht unbedingt günstig ist (hab aber nicht nachgerechnet :face_with_raised_eyebrow: sollte ich mal noch machen).

Zurück zu:

  • Welche ESP32-Boards, nur ESP32-WROVER-B oder auch NodeMCU , DevKitC oder Pico

Ich würde mit ESP32-WROVER-B “Briefmarken” starten, da sie am meisten GPIOs zur Verfügung stellen und auch genügend Flash, um sowohl Arduino-C als auch MicroPython betrieben zu werden.
Abspecken/Varianten könnte man dann immer noch machen.

  • welche Sensoren, DS18B20 , BME280, HX711 oder …
  • Datenspeicherung auf SD-Karte
  • Daten senden über WLAN, BLE, LTE oder Lora

Die Idee mit Grund/Erweiterungsplatinen liegt genau da! Eine Solide Grundplatine, mit allem was man eh immer braucht und dann Erweiterungen für unterschiedliche ADCs, Sensoren, Kommunikation, weil das ja je nach Anwender sehr unterschiedlich sein kann. SPI für SD Karte, etc. kommt auf die Erweiterung, wo dann jeder das haben kann, was er will oder eine Modul-Variante nutzen kann.

Ich selber hab die WiPy/FiPy Boards nie getestet, ich möchte meine Sensoren aber mit C/Cpp programmieren, weil ich mich da besser auskenne und was ich so mitbekommen habe, gab/gibts mit den Boards ja teilweise auch Probleme zumindest, was die SW angeht.

Leider hab ich auch keine BOB Platine, ich hab deinen Thread über die Stromversorgung aber verfolgt und mir die eine oder Andere Idee geklaut, wie du sicherlich bemerkt hast.

Du hast schon recht, es macht keinen Sinn, alles neu zu erfinden. Für mich ist die all-in-one/two Lösung aber doch recht verlockend, da ich dieses Jahr doch einige Systeme aufbauen werde und hoffe, dass ich das in meiner Umgebung etwas etablieren kann und andere aufspringen. Insbesondere LoRa würde dann als nächstes ein Thema.

Ich weiss nicht, ob ich da etwas zu optimistisch bin, aber mir macht die Arbeit daran auch Spass! ;)

Wie siehts denn mit Zukunftsplänen für die BOB Platine aus?

Ich habe vorher auch mit ESP32 DevKitC und Arduino-IDE programmiert und bin vor 1 1/2 Jahren mit BOB auf PyCom mit MicroPython gekommen. Natürlich habe ich auch Lehrgeld gezahlt, aber jetzt geht die Programmentwicklung deutlich schneller, da ich nicht dauernd kompilieren und flashen muss. Andererseits gibt es längst nicht so viele Libraries zum Kopieren, da muss man mehr selber machen.
Bei der Hardware nehme ich lieber fertige Breakout-Boards, da haben andere das Lehrgeld schon gezahlt und ich kann mich auf das konzentrieren, was es noch nicht gibt oder ich nicht gefunden habe ( z.B. das Zählen von mWh anstatt Schätzen von mAh mit dem INA219 )

Darum stelle ich das ins Netz, damit es nicht noch einmal erfunden werden muss.

Auf der Platine BOB-HAT-V6 ist kaum noch Platz für Erweiterungen,
Platine BOB-Strom-V3 soll noch einen Solarlader CN3791 MPP-Regler für 12 V Solarmodule bekommen, dann kann ich Solarmodule 6 V 1 bis 5 W und 12 V bis 130 W anschliessen