Forum Replies Created
Just to give you an idea :
- This reply was modified 2 months ago by pbecchi.
Offcourse Smartsolenoids can be controlled by any Opensprinkler controller, they have been developped to be a addon and an extension to Opensprinkler for wireless control of valves and sensors.
Hardware consist on a Esp32 Lora board that work as trasmitter and a number of Smartsolenoid LoRa receiver , using Stm32L0xx processor ,to open or close latching valves and to aquire local sensors.
I can provide you the receiver boards inside a waterproof enclosure
, the enclosure can be mounted near to the valve or in top of it.
Regarding Software you have 2 options:
using Firmware 1.0 fully tested and operational since last year , you will have a central Esp32 Oled Lora board that run an OpenSprinkler 2.7 code that i have modified to run on Esp32 and to control remote Smartsolenoids. This Sw it is fully compatible to standard Opensprinkler and can be set as an extension to other OpenSprinkler controller like the one you already have.
You have to locate the central unit where you have WiFi coverage and need to be connected to power with an Usb adapter.
Otherwise using Firmware 2.0 you can use same hardware and get more functions, like sensors reading , intelligent programmable controls, cloud storage , push notifications….
The software 2.0 it is still under development but a beta release will be available shortly.
You can use same HW for both firmware.
Preliminary price tags are :
50€ Smartsolenoid receiver boards
65€ Smartsolenoid receiver + enclosure and antenna
40€ Esp32 Lora Oled transmitter/Opensprinkler controller with enclosure
Shipping cost within Europe shoud be around 25€, if you wish i can be more precise about it!
Finally a Smart Solenoid working prototype is born!!
Both HW and SW of this project are fully open source and you can find it on
We developed 2 version of Smart Solenoid :
-one based on BLE transceivers (Nrf52832)
-one based on LoRa transceivers (Semtech1278).
SmartSolenoid valve’s can be controlled as a remote wireless stations on OpenSprinkler (Esp32 OpenSprinkler)!
- This reply was modified 1 year, 1 month ago by pbecchi.
Sorry but I am not the guy that can help you on your h bridge electronic design.
All my circuit are very simple and basic.
Regarding voltage for latching solenoid operations, in my experience 12v constant are more than enough to operate most of the valve’s, but this is true because I use a battery.
If you use a capacitor the voltage will drop immediately when you open your circuit….
So you need to start well above 12v.
If you want you can find in the market signal relay that can be connected to a Esp gpio for about 1$ each, I think is the simplest and cheaper solution!
I really think that , to make sense, the latching solenoids should be operated on batteries.
Otherwise the additional cost , complexity and the lower reliability versus 24v Ac it is not justifiable.
In my case using Lipo batteries the charging current is not a problem and there is also the simple and cheap solution to use a 9v or 12v batteries for the solenoid and a separate one for the Esp.
I am working now (since 10 month) on Esp32 version with a lot of 3.0 features.
It may be a good solution if you take an Esp32 with builtin graphic Oled lcd since they have a lot of Gpios available.
To drive a latching solenoid I use 2 DPDT signal relay rated 2 AMPS avoiding this way any voltage drop. You must take care of all possible voltage reduction sources and in paticular of the length of wires connecting to the solenoids.
Regarding Esp flash size, i recommend at least 4 GBytes.
April 14, 2018 at 12:54 am in reply to: Running: Esp8266 Open Sprinkler on OS Bee 2.0 hardware? #49562
- This reply was modified 1 year, 2 months ago by pbecchi.
I am afraid that my code work only for latching valves!
To add non latching option it require now a non trivial change of the code .
I am busy now on SmartSolenoid, a battery wireless controller, and I have very little time available…..sorry!
Thanks for your inquiry !
I am working on two HW solutions:
One is based on nRF52 Ble 5.0 with a minimal power consumption: a 200 mAh battery should last for more than one year.This solutions mainly intended for smartphone connections.
Another with a LoRa transeiver and a ATMmega328p to connect SmartSolenoid to a remote (up to 1000mt) Esp32 OpenSprinkler controller. Power consumption will be higher : a 2000mAh battery will be necessary for 4 6 month operations. In this case, a solar rechargeable battery will be probably the best solution .
The 2 different hw boards will fit in the same enclosure and will drive same solenoid coil.
Very soon I will make HW schematics and SW available on GitHub.,..
Can you tell me something about the range
Thanks, this is a very good question!
There is a widespread believe that Bluetooth range is very short and only useful for nearby communications. This was true for old Bluetooth standards but today this important limitation has been completely removed.
With BLE 4.0 the average range has been extended to 30ft (10 m) and this is what I have used for my first prototype.
I am started testing now BLE 5.0 modules. These brand new module extend the range more than 10x ! This means that now we should have almost 1000ft open air range and a very good range also for underground installations!
Thanks for your comments.
I don’t think SmartSolenoid can be considered in any way competitor of your OpenSprinkler products.!
First of all it is Bluetooth and you don’t have any Bluetooth product, second it is not a controller but is a solenoid embedded BLE micro to drive wirelessly a single valve.
So in reality is more an integration to create a new family of controllers that will operate remote valve’s without the need of any wire!
As a matter of fact your firmware ported to Esp32 is already a powerfull controller of valve’s without the need of any additional hardware so changing MCU you could easily transform your OS3.0 controller to become BLE enabled controllers!
You know I have ported OpenSprinkler to Esp32 : Esp32 OpenSprinklerand I can tell you that has been an easy task!
- This reply was modified 1 year, 8 months ago by pbecchi.
The prototype board is under test right now!
Everything work as expected and some features like range exceed best expectations!
We have also designed a nice waterproof enclosure and we will be ready to start a IndieGoGo campain very soon planning delivery of first items on may 2018.
We plan to build several type of adapters so that can fit most of existing brands and to deliver also SmartSolenoid with his own valve body!
Price of the Solenoid adapter will be 50€ and Solenoid + valve 60€! We are evaluating selections of US distributors and we expect similar prices (55 and 65$) in North America. We want to keep the price as low as possible ,considering that an average latching solenoid valve cost is 30€ !
Anybody interested should partecipate to the
IndieGoGo coming soon :https://www.indiegogo.com/projects/smart-solenoid/coming_soon
or SmartSolenoid book :https://pbecchi48.wixsite.com/smartsolenoid/perks
surveys selecting the type of SmartSolenoid and the quantity.
This way you can obtain a discount for your crowdfunding perks orders , please select type of perks ( specify the valve brand and type) and number of units.
The OpenSprinkler code running on Esp32 that will connect wireless to SmartSolenoid valves will be OpenSource as well as the Smartphone application.
- This reply was modified 1 year, 8 months ago by pbecchi.
Have a look to first message on page 7!
The statement the give the error in OpenSprinkler.h is under #ifdef and should not be executed if you define LCD_SSD1306!
For unused pins pin_sr_oe lcd_rst you should use a dummy pin n. (a,free pin ).
You can find indication on where to find libraries in Readme or in previous posts.
Regarding LiquidCristal and FatLib libraries:
all your define are correct?
Then you should not use those!
May be you better restart from scratch!
This is a pins.h section for your HW schematic :
#elif PROTO==13 //ADD NEW N. for your prototype
#define SDA_PIN gpio
#define SCL_PIN gpio
#define PIN_SR_LATCH gpio // shift register latch pin
#define PIN_SR_DATA gpio // shift register data pin
#define PIN_SR_CLOCK gpio // shift register clock pin
#define PIN_SR_OE GPio // shift register output enable pin
#define PIN_BUTTON_1 gpio
#define PIN_BUTTON_2 gpio
#define PIN_BUTTON_3 gpio
#define STA_HIGH LOW // low station output on for Relay
#define STA_LOW HIGH // high station output off for Relay
// OLED 128*64 DISPLAY
#define LCD_RST gpio // LCD rst pin
#define LCD_ADDR 0x3c. // LCD address
You have to insert appropriate GPio n. and add this section to pins.h …don’t change any other define!