7.00 — September 4, 2026
A major update. Main changes:
New "Cheesemaking" («Сыроварение») mode: heating, holds, cooling, acidity control with a pH sensor (PH-4502C on the LUA_PIN input, calibrated on the "pH calibration" («Калибровка pH») page), a stirrer, a brine drain valve on relay No. 4, and its own program line types. The settings are on the "Cheese" («Сыр») tab.
Impurity breakthrough detector in rectification mode: it analyzes the temperature trend with a pressure correction, picks the threshold itself from the column noise, can lower the take-off rate when the temperature rises, pauses the take-off on a critical rise and resumes by itself; on heads it only observes, and the reason for the wait is shown in the interface.
A major update of the Beer, BK and NBK modes: the All-in-one, HERMS and RIMS brewing layouts, improved BeerXML import, reworked NBK algorithms (warm-up, tuning, optimization, operation); an L line - a stage controlled by Lua - appeared in the Beer and Cheese programs.
The L line (Lua stage) in all programs except NBK: Rectification, Distillation, BK, Beer, Cheesemaking. The script file, the timeout in seconds and the parameters (the arg table in the script) are set in the "Lua stage" («Lua-этап») window of the program editor; when a new version of the file is uploaded through the editor, the running scenario is re-read. In BK the "Next program" («Следующая программа») button now works.
New web interface: a dark "copper" theme, a process diagram with live readings (in Beer mode - by brewing layout, in rectification - with the dephlegmator and the second pump, if it is enabled), the current program line, charts, mode pages, the "External pump" («Внешний насос») page and the "I2CStepper" page; the pages are served compressed and get their initial data in a single request.
Connection to the samovar-tool.ru server over TLS instead of MQTT: readings, commands, the process log and messages go through this channel; the logs page on the site, the control page on the site and the Android and iOS mobile apps with push notifications about alarms are built on it. Sending to your own MQTT broker remains as an optional build setting.
The I2CStepper board, protocol version 2: two boards (a stirrer and a pump), priming, filling a set volume, "steps per milliliter" calibration, four relays, an external sensor. Control from the "I2CStepper" page, from the program, Lua, the apps and the site. The I2C pump can be used as the heads take-off pump above the pasteurization section.
Lua: a limit on the time of a single run (20 s), the cycle stops after repeated errors, new functions setPumpPwm and setCapacity, I2CStepper board functions, and Lua mode as a separate operating mode.
State snapshots: after an emergency reboot the firmware restores the program and continues the same log session if the process is restarted within 30 minutes.
A configurator for Windows, macOS and Linux: building, flashing over USB or Wi-Fi, a device file editor, a configuration report. ESP32-S3 support.
The calculations of rectification and distillation programs, saving of programs and process state, and equipment error handling have been reworked.
6.27 — May 11, 2026
Fixed the time counter, network timeouts, starting the access point with the universal button, the completion of Distillation, UART regulator control in Beer mode, power display, PID autotune and cooling pump readings.
6.26 — January 1, 2026
Libraries updated, stability and memory usage improved. Mode switching without a reboot added. Before updating to this version it was recommended to save the settings via Settings («Настройки») → Other («Прочие») → Save settings («Сохранить настройки»).
6.25
-
User suggestions added, libraries updated, additional minor improvements.
-
The partition file fixed. The function for sending messages to Telegram also corrected.
6.24.
-
Previously found bugs fixed.
-
The NBK mode is also ready for use.
-
Network handling improved.
6.23.
-
The web interface corrected.
-
-
The pump operation in the Beer program corrected.
6.22.
-
The key change - the libraries have been updated.
-
In Beer mode, the stirrer run time is now set in seconds, not in minutes.
-
Also, in distillation mode a forecast of the completion time is shown.
6.20
-
-
The NBK mode has been implemented, based on the research by dranek
-
The operating modes of the heater and of the wort transfer pump when brewing beer have been changed.
-
Notifications to Telegram added, since they stopped working in Blynk.
6.19.
-
The NBK mode added. The main functionality has been implemented for the safety group and manual control of the cooling pump. Automation is for now supposed to be done through Lua.
-
Numeric variables for working with the current time added to Lua.
YY, MM, DD, HH, MI, SS - year, month, day, hours, minutes, seconds respectively.
Call example:
setLuaStatus(getNumVariable("HH"))
6.18.
-
-
The interface for versions 6.16 and 6.17 in Beer mode has been updated - the PID autotune mode is back.
-
It is now possible to turn off the stirrer in the mash program by selecting it in the interface.
-
The interface will update automatically the next time Samovar boots.
6.17.
-
-
The library for working with the screen menu has been updated.
-
The Samovar and I2CStepper sketches have been slightly optimized.
-
The archive now includes the latest version of the Meter and the diagrams from dranek, as well as a 3D model of the enclosure for the SEM(Stab)_AVR regulator
-
Beer mode, using Lua scripts (at this stage), makes it possible to implement any brewing layout with full automation and the use of recipes in the beerxml or BrewMate format. Recipes are supported to the minimum extent needed to build a mash program. That is, they may not show all the ingredients needed to prepare the mash
-
Among the functional updates - a button to refresh the temperature sensors has been added in the temperature settings. You can connect sensors one at a time and save them in the settings. Turn on one sensor, select what it belongs to, press save, go back to the settings, connect another sensor, select what it belongs to, press save, and so on.
-
Nothing has changed in the operating logic.
6.16.
-
It is now possible to enable a smooth ramp-up of the take-off pump. However, it will also stop smoothly, which may not be very good for process stability when moving from one program line to another.
To enable acceleration/deceleration of the stepper motor, replace the following in the Samovar_ini.h file
//#define USE_STEPPER_ACCELERATION //использовать плавный старт и торможение шагового двигателя
with
#define USE_STEPPER_ACCELERATION //использовать плавный старт и торможение шагового двигателя
-
Instructions added on how to connect the regulator to Samovar without wires. The instructions are also available on the site.
-
The library for working with the stepper motor has been updated, and interaction with I2CStepper has been improved.
Version 0.3 of I2CStepper has been released, bugs fixed. If you need accuracy in speed, lower the microstep multiplier on the driver (no more than 1/2); for greater accuracy, set it to 1. By default the microsteps in the sketch are set to 1/2. This can be adjusted in the I2CStepper.h file, line 22. The divider is specified there.
The interface has been updated. In "Beer" mode, the stirrer parameters in a program line are edited in a separate window.
Warning! The libraries for Samovar and I2CStepper must be taken from the ones supplied with Samovar.
6.15
-
New default values have been added to the initial settings file tools/Samovar_default_settings.txt. On the first start of Samovar after building, you must load the default values. There are already many options, it is difficult to set them all correctly at once, and the default values will give you a working Samovar. Then you can tune it to your own needs.
-
A bug with the stepper motor for adding hops in Beer mode fixed.
-
An option to control the use of the reflux sensor from the WEB interface has been added to the Samovar_ini.h file (enabled by default)
#define IGNORE_HEAD_LEVEL_SENSOR_SETTING //If the reflux sensor is used, ignore the command to disable the sensor in the WEB interface (details here).
6.14
-
If you press the button before powering on Samovar (release it 2 seconds after power-on), Samovar will start in access point mode. Network: Samovar, password: SamApp123
-
Support for the Blynk terminal added - you can run a small piece of Lua code (a few lines; running large scripts this way is not recommended). How to add a terminal in Blynk - here
-
You can also run a few lines of Lua in the web interface - available in all modes on the Advanced («Дополнительно») tab when Lua is set up in Samovar
-
Lua can now control the PID coefficients of the water pump - pmpKp, pmpKi, pmpKd respectively. To set a coefficient, you can run this Lua code
setNumVariable("pmpKp", 6)
You can get the current value like this:
setLuaStatus("pmpKp="..getNumVariable("pmpKp")
-
Stepper motor control for automatic hop feeding added in Beer mode. Needs testing.
-
The problem with updating the web interface over the internet should be gone.
-
-
Support for three pressure sensors added:
- XGZP6897D (connected via I2C),
- MPX5010D (analog, connected to pin 34 of the ESP32)
- Via 1Wire. For a sensor connected via 1Wire, the address is fixed - {0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22}. The choice of which sensor to use (or none) is made in Samovar_ini.h:
//Definition of the pressure sensor type used. Only one type can be used. If three or two sensors are uncommented, only MPX5010D will be used
//#define USE_PRESSURE_1WIRE {0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22} //использовать датчик давления по 1Wire
//#define USE_PRESSURE_MPX //использовать датчик давления MPX5010D
There is no logic or display in the interface yet, but it can be used in a Lua script, outputting the value to the Lua status and implementing the required Samovar behavior there when certain values are reached. Also, in the Samovar settings it will be possible to set a pressure limit at which Samovar will switch to emergency mode. If the pressure value in the settings is set to 0, Samovar will ignore the pressure sensor readings.
An example of outputting pressure to the Lua status:
pressure_value = getNumVariable("pressure_value") + 0
setLuaStatus("Давление = "..pressure_value)
-
For viewing the pressure sensor information, output to Blynk has been added. You can add it to the Blynk interface yourself, using virtual pin 22.
-
Support for a 1Wire pressure sensor via a 1Wire expander and the ability to view it in Blynk added.
-
The readings of all 5 temperature sensors are now shown on the Samovar display.
-
Beer mode.
- Besides the water supply valve, the cooling pump will be turned on.
- Cooling pump speed control added.
- A check for the correct formation of the "Stirrer" («Мешалка») field added. If it is formed incorrectly, it is changed to 0^0.00^0^0
-
Rectification mode. An option added to Settings («Настройки») > Basic («Основные»). Whether or not to use the reflux level sensor.
-
Distillation mode. An option added to Settings («Настройки») > Basic («Основные»). The time in minutes after which distillation is stopped, provided that the boiler sensor value does not change. If 0, the time is not taken into account.
-
The font of the current heating element power has been made larger.
6.10
-
In Beer mode, a choice of which temperature sensor to use for controlling heating has been added to the program line (needed to implement various brewing layouts). A choice of 5 sensors is available.
-
The pump run time in self-test mode has been increased
-
In Beer and Distillation modes, the program and the current program execution status are now saved to text files, in the same way as it is done in Rectification mode.
-
Lua can now regulate the water pump output. The function setPumpPwm(p) added, p=0 - the pump is off, p=1023 - maximum output.
-
It is now possible to turn off the water flow sensor monitoring in the settings.
-
An option added to the settings - do not reduce power during boiling in Beer mode.
Warning! You can use SDK 2.0.13. If you have stability problems, roll back to 2.0.9
6.9
The possibilities of controlling the stepper motor through LUA scripts have been extended.
If the I2CStepper expander on Arduino Nano is not connected, a call to the Lua function set_stepper_target controls the built-in stepper motor; otherwise control goes through the expander.
When controlling the built-in stepper motor, only one parameter is taken into account - spd, the speed in steps per second; all three parameters must still be passed in the function call.
--set_stepper_target(spd, direction, target) //spd - speed in steps per second, direction - forward or reverse direction, target - number of steps
set_stepper_target(950, 0, 0)
When spd = 0 the stepper motor is stopped.
Warning! When updating to this release you must use SDK version 2.09
6.8
-
The way a Lua script is stopped by a button in the interface has changed.
-
The SetScriptOff variable added. In the btn_button2.lua button script it is set to one, after which one more Lua script run cycle passes.
-
This is done so that the script stop event can be intercepted and the necessary actions performed to finish the script correctly.
6.7
-
Bug fixes and minor improvements.
-
Of note - version 6.6 did not detect the start of boiling in distillation mode. Fixed.
6.6
-
In Distillation mode a button to move to the next program has been added. Bugs related to detecting the start of boiling and the operation of the program in Distillation mode fixed.
6.5
6.4
-
The calculation of the ABV in the boiler has been fixed
-
The calculation of the ABV in the take-off has also been fixed.
-
Uploading of ABV to the cloud added; on the site, the ABV will be shown in the logs when viewing distillation and rectification charts.
-
When installing the update, update the SDK to the latest version.
6.3
-
The changes affected distillation mode - a distillation program has been added. Its purpose is to change the take-off container by temperature or ABV, and it does nothing else. The algorithm for starting and finishing distillation has not changed, so whether there is a program or not makes no difference to you if you do not plan to use distribution among containers. I also added determination of the alcohol content in the vapor (which for distillation is equivalent to that in the take-off). I checked the calculation purely mathematically; in real conditions there may be a discrepancy with hydrometer readings. Both values are shown in the interface.
-
In the program you can use either the ABV in the boiler or the ABV in the take-off; this is determined by the type of the take-off line.
-
If distribution among containers is not needed, the servo does not need to be connected. Then it will be plain distillation, regardless of what is written in the distillation program.
6.2
Bugs fixed:
-
On SDK 2.0.5, Samovar could reboot in rectification mode.
-
In rectification mode the take-off program was written to the prg.csv file incorrectly. Code optimization.
6.1
-
Improvement - a time delay when determining the boiling temperature and the initial alcohol content in the boiler.
-
Data on the strength of the boiler contents will appear in messages, in the interface and will arrive in Blynk.
6.0
Main improvements:
-
It used to be inconvenient that Samovar's memory was constantly overwritten and you had to restore your work every time (for those who had any) - rectification programs, Lua scripts. Now, when there is an internet connection, the interface updates automatically when the Samovar sketch version changes, without overwriting other files in Samovar's memory, which makes it possible to keep the settings for each mode in Samovar's memory and load them when the mode is changed. If you are setting up a new ESP32, all files from the data folder will be downloaded. The option of installing manually (not over the internet) remains, but the file system used has changed, so for manual upload you must use not ESP32 Sketch Data Upload , but ESP32 LittleFS Data Upload. The switch to a different file system was made to optimize Samovar's speed.
-
The interface will be downloaded automatically for the specific sketch version (starting with 6.0), i.e. if you need to roll back to an old sketch version, the interface will also roll back to the corresponding version.
(That is, when updating or rolling back, the web interface updates itself. You need to update the sketch and the libraries manually)
-
Interaction with Lua scripts has been improved. Example scripts and Lua documentation are placed in a separate folder (Lua_script).
-
Using a scripting language makes it possible to use all of Samovar's functionality, extending it for your specific tasks. As an example - distillation by Gabriel or NBK control.
-
A change in the take-off program. A "Steam temperature" («Температура пара») value is introduced (disabled in later versions).
-
The TCA temperature value at which the pump increases cooling has been moved to the "Temperature" («Температура») tab.
-
Bugs found have been fixed.
5.27
-
The changes concern the work with the stirrer and the pump in Beer mode. One more parameter has been added to the Beer mode program - the stirrer operation template.
-
In Beer mode, when the stirrer is turned on, Samovar turns on relay No. 2 and the SSD relay, and, if an expander on Arduino Nano (which controls the stepper motor) is connected, sends it a command to turn on the stepper motor and one more relay.
-
In the stirrer operation template you can set the stirrer run time, the rotation direction (for the stepper motor only) and the pause. For example: stir for 2 minutes, wait for 1 minute, then stir for 2 minutes in the other direction, wait for 1 minute.
5.27b (beta version)
5.26
-
1. During rectification, saving of the rectification status and the take-off program has been added. The take-off program is saved to the prg.csv file, the status is saved to the state.csv file. The files can be viewed through settings - the editor (the default login and password are admin) or downloaded at: YOUR_IP/prg.csv and YOUR_IP/state.csv.
-
In Samovar_ini.h a parameter has been added for the delay in applying voltage by the regulator
after the contactor is triggered.
-
Minor improvements, optimizations and fixes of bugs found were also made.
5.25
-
Functionality for supporting I2CStepper added.
-
Interface changes of the program in rectification mode - when composing a program, the time for each line and the total time for the whole program are now shown.
5.24
Interface change.
5.23
In the Rectification and Beer modes, the type of the program line being executed has been added to the status.
Bugs found have also been fixed.
The ability to load beer recipes in the following formats has been implemented:
1. BeerXML (very popular in the West), the main recipe collection is here, but downloading is paid, here and in many other places.
2. Brewmate (popular in the countries of the former USSR).
Examples of recipes can be viewed at the links. You can download them from the site, load them into Samovar, and it will build a mash program based on these recipes. They contain not only recipes but also recipe calculators. Any recipe can be adapted for subsequent loading into Samovar.
Both formats are very flexible, most likely not all of their features are accounted for. If you run into problems working with recipes, send them by email info@samovar-tool.ru
5.22.
Among the key changes - the functionality for automatic correction of the hearts T for the Pre-flooding («Предзахлеб») and Hearts («Тело») programs has been turned off by default. Minor changes related to the work on documenting Samovar's functionality were also made.
5.21
A queue of Samovar messages has been added in the browser. Now they will be hard to miss: they will be shown on the page until they are explicitly cleared by clicking on the message or on the "clear" («очистить») button.
A sound alert for critical events has been added in the browser - when a critical message arrives, the browser will signal it with a sound until the message is cleared. It can be turned on/off in the settings. Modern browsers, out of concern for users, block automatic sound playback by default. There are two options: click on any element on the page, or add the Samovar address to the exceptions in the browser settings.
The following functionality has also been implemented:
If the current program line is "Pre-flooding" («Предзахлеб») and it is followed by another hearts take-off line, the hearts T is corrected automatically. Manual correction is still available.
The run time of the cooling water pump during self-test has been increased.
Bugs fixed:
Logs from Samovar were not always downloaded. Fixed.
In self-test mode the take-off pump stepper motor might not turn on. Fixed.
5.20
Fixes of bugs found.
5.19.
Fixes of bugs found.
5.18.
A bug in Samovar's operation in pre-flooding mode has been fixed. The bug had been present since version 5.11. If you use versions 5.11-5.17 and use pre-flooding mode, you must update.
5.17.
The work with voltage regulators over the UART protocol has been optimized, and the logic of voltage reset when the flooding sensor triggers and the water temperature is exceeded at the same time has been edited.
5.16.
Supports working with the BeerXML format. (The format is very flexible, possibly not all variants of the format were accounted for)
5.15.
Self-test improved. The ability to load the BeerXML format added (for now in view-only mode). When the Samovar operating mode is changed and the settings are saved, it reboots to switch to the set mode. In distillation mode, the take-off goes either up to the temperature set in the settings or until the boiler temperature does not change for 10 minutes. Additionally, small system improvements.
5.14.
Improved control of the regulator from kvic, optimized control of the regulator SEM_AVR.
A button has been added to the Settings («Настройка») page - Self-test («Самотестирование»): for 5 seconds the water supply pump will turn on and/or the water valve will open, the peristaltic take-off pump will start, and the servo will move through the first 5 positions and return.
5.13.
A new program type - Fermentation («Брожение») - has been added to Beer mode. It is used to hold the set temperature in the boiler within the setpoint band. If the boiler temperature is lower than the set one minus the setpoint, the heater and the boost relay turn on; when the boiler T reaches the set value minus the setpoint, the heating turns off (the PID controller works, as for the other Beer modes). If the boiler T is higher than the set one plus the setpoint, a relay is triggered. A water supply valve, or a pump, or another actuator can be connected to it, depending on your equipment configuration. When the boiler T drops to the set value plus the setpoint, the relay turns off. Additional logic can be implemented in Lua scripts, using a port expander if necessary to control any actuators or sensors.
Bugs were also fixed and libraries updated. The SDK must be updated to version 2.0.5.
In some cases Samovar did not save the WiFi settings; this problem is solved by updating the library and updating the SDK.
There were bugs related to controlling the regulator from kvic (old firmware). This problem is also solved.
New firmware of the kvic regulator does not work with Samovar yet.
If someone uses the "Simple heating element power stabilizer from Chinese modules" («Простой стабилизатор мощности ТЭНа из китайских модулей»), to work correctly with Samovar with the new version it must be updated, using the sketch supplied with Samovar in the Stab-avr folder.
5.12. Minor changes. Code optimization.
5.10.
A change of the take-off programs for fruit, grain and sugar (the files with them are in the tools folder and are also loaded into Samovar's memory when the interface is updated). Also, in the take-off program calculation interface it is now possible to choose the raw material type (fruit, grain, sugar), and the required take-off program is loaded immediately.