Bryan Mayland
TVWBB Hall of Fame
NOTE: It is suggested to run the SNAPSHOT firmware and not the v14 release. The snapshot has bugfixes and support for Pi 3B+ and is just as stable.
It has been a year and a half since the v13 release (March 23, 2016) and I think we're finally ready for something new for both v4.2 and v4.3 users. The biggest feature in this release is support for the Raspberry Pi 3 and Zero W, which are compatible with the HeaterMeter 4.3 boards. This also includes support for their integrated wifi modules which work well enough for our purposes and make Edimax wifi modules unnecessary with those Pi models (look, no dongle!)
Along with the development of this release, we've also gained the ability to download firmware images pre-configured with your wifi client settings baked in. This simplifies first time setup so that no editing of config.txt is necessary. If that's not enough, you can also now insert any USB mass storage device with a config.txt file containing updated wifi information and it will be copied to the device. The USB's config.txt is never modified, so this allows easy switching between client mode and AP mode by just having two different USB sticks with different configurations and preventing the user from locking themselves out if they change their wifi network configuration. There's also an ultra-simplified new LinkMeter -> Wifi page in the webui to set the configuration. With this many ways to allow you to set up your wifi, we can't possibly have people incapable of configuring their wifi any more.
The underlying filesystem on the device is now read-only and any changes are stored in a separate filesystem. This allows an added layer of safety compared to the earlier filesystem, which could become corrupted and prevent the device from booting properly. This was an ultra-rare occurrence, but now it should be handled more gracefully. In the event the writeable filesystem becomes corrupted and is unrecoverable, it will be reset and HeaterMeter will return the the default configuration. In addition, this new filesystem allows us to completely reset any changes when you do a "Config Reset?" which is great for folks who have done something mysterious to their configuration and left HeaterMeter unable to function properly. Configuration will now only be retained between firmware flashes if performed from the System -> Backup / Flash Firmware page with "Keep settings" checked (no more NORESTORE command line option).
The underlying firmware also enables support for HTTPS web serving, security updates to the services, and a proper CA certificate bundle for verifying other secure servers' identity. There's an official API now for third party tool integration. The current HeaterMeter graph can be downloaded as a PNG image or as CSV data directly from the home page. There are more CSS tags available for theming the homepage if desired.
On the HeaterMeter microcontroller side, button responsiveness has been greatly improved. Buttons should react more quickly, and a 1/4 second "dead zone" after each button press should help with preventing mistaken double-taps. There's also button longpress support with just one new mapping. Long pressing the LEFT button (or direction on 4.2 boards) will turn HeaterMeter OFF. All output is set to 0 and the servo damper will close and its signal will be disabled shortly after. Servos will now be kept live the entire time HeaterMeter is ON, rather than disabling after not moving for a while. You can also enter OFF mode by entering a setpoint of "off", or simply "o". Any setpoint change will re-enable the output.
There were also a few minor fixes to the PID algorithm for corner cases. Thermoworks Pro Series probes are now the default thermistor probe, changed from Maverick ET-72/73.
Finally, the firmware should auto-configure itself with mail server settings to use heatermeter.com as a gateway to send your alarm emails / SMS. You are welcome to change the configuration and it will not overwrite it if you prefer to use your own mail server. We use your Pi serial number and the HeaterMeter Device Manager to verify you as an actual user, and your messages are limited to 1KB max.
Existing users can upgrade and keep their configuration by using the System -> Backup / Flash Firmware webui and doing an upgrade from URL:
Raspberry Pi 2 / 3
Raspberry Pi A / B / A+ / B+ / Zero / Zero W
223 commits - 118 files changed, 15701 insertions, 58688 deletions. Here is a condensed full changelog.
[wrt] Switch to LEDE fork of OpenWrt (v17.01.1 Linux 4.9.20)
[wrt] Add support for Raspberry Pi 3 / Zero W / Wifi module
[wrt] Enable squashfs for rootfs and overlayfs for rootfs_data, allowing a complete configuration reset
[wrt] Switch curl to OpenSSL, remove polarssl, replace hostapd/wpas with wpad-mini
[wrt] Update dnsmasq to 2.78 for CVE-2017-14491 et al
[wrt] Include CA certificates for proper HTTP / SMTP SSL connections
[wrt] Enable HTTPS for webui
[wrt] No longer redirect to /cgi-bin, use the native lua extension
[lm] Fix configuration changes not "sticking" if no HeaterMeter is present on first boot
[lm] Configure SMTP client to use heatermeter.com if no server is configured on install
[lm] Use sysfs GPIO to toggle reset line for hmdude, removes register use of bcm2835
[lm] Fix broken avrdude platform cleanup
[lm] linkmeterd no longer integrated into lucid (defunct), is its own process
[lm] Add 192x192 boxy robot icon to the webui homepage
[lm] Add the ability to save PNG images of live graphs as well as download CSV as attachment
[lm] Reorganize all the alarms into different config sections. Fixes problems with fields appearing in the wrong area on the webui. Ref #36
[lm] Update Thermoworks probe coefficients with lab tested results -- Thanks to Tim P
[lm] Add Steinhart coefficients for Maverick Industries ET-735
[lm] Sanitize wifi SSID and password when loading from config.txt and using wifi-client/ap
[lm] Add beginning of official REST API / add apikey to config page
[lm] Add ability to do wifi config from a USB mass storage device, same config.txt method
[lm] wifi-ap defaults to channel 6 if not supplied, fixes AP mode not starting if hostapd ACS fails
[lm] Add wifi page to linkmeter webui for quick wifi client / ap mode setup
[lm] Force setpoint units to uppercase, include support for OFF units = O
[lm] Snapshot current HM configuration when doing a stash
[hm] Greatly increase response of button input and disable input for 250ms after each event
[hm] Add menu button longpress support
[hm] Add PID output disabled mode
[hm] Limit I-sum to startup fan speed during startup and lid recover
[hm] Fix WDT not disabling on gcc-4.9.2 (Atmel 3.5.3)
[hm] Remove PIN_SOFTRESET
[hm] Update to Arduino 1.8
[hm] Fix possibility of being locked in startup mode when entering manual output mode
[hm] ThermoWorks Pro-Series probe now the default
[hm] Fix not able to disable alarm by pressing device button (snapshot only)
[hm] Output setpoint of U if output disabled, - if manual mode
[hm] Only disable the servo when the PID is off
[www] The downloaded PNG background color is now controlled by #download not #content so they can be different
[www] Fix HTML compliance causing 'Save' button to not work
[www] Updated security requires POST method on changes to any webui fields
[www] URL token no longer required in secure page requests
[www] Only show 2 decimal places in peak amplitude tooltip
[www] Add Google Project Fi to the list of SMS email gateways
[www] Rename Internal probe type to Thermistor
[www] Allow CSS coloring of graph line colors using .pcolorX
It has been a year and a half since the v13 release (March 23, 2016) and I think we're finally ready for something new for both v4.2 and v4.3 users. The biggest feature in this release is support for the Raspberry Pi 3 and Zero W, which are compatible with the HeaterMeter 4.3 boards. This also includes support for their integrated wifi modules which work well enough for our purposes and make Edimax wifi modules unnecessary with those Pi models (look, no dongle!)
Along with the development of this release, we've also gained the ability to download firmware images pre-configured with your wifi client settings baked in. This simplifies first time setup so that no editing of config.txt is necessary. If that's not enough, you can also now insert any USB mass storage device with a config.txt file containing updated wifi information and it will be copied to the device. The USB's config.txt is never modified, so this allows easy switching between client mode and AP mode by just having two different USB sticks with different configurations and preventing the user from locking themselves out if they change their wifi network configuration. There's also an ultra-simplified new LinkMeter -> Wifi page in the webui to set the configuration. With this many ways to allow you to set up your wifi, we can't possibly have people incapable of configuring their wifi any more.
The underlying filesystem on the device is now read-only and any changes are stored in a separate filesystem. This allows an added layer of safety compared to the earlier filesystem, which could become corrupted and prevent the device from booting properly. This was an ultra-rare occurrence, but now it should be handled more gracefully. In the event the writeable filesystem becomes corrupted and is unrecoverable, it will be reset and HeaterMeter will return the the default configuration. In addition, this new filesystem allows us to completely reset any changes when you do a "Config Reset?" which is great for folks who have done something mysterious to their configuration and left HeaterMeter unable to function properly. Configuration will now only be retained between firmware flashes if performed from the System -> Backup / Flash Firmware page with "Keep settings" checked (no more NORESTORE command line option).
The underlying firmware also enables support for HTTPS web serving, security updates to the services, and a proper CA certificate bundle for verifying other secure servers' identity. There's an official API now for third party tool integration. The current HeaterMeter graph can be downloaded as a PNG image or as CSV data directly from the home page. There are more CSS tags available for theming the homepage if desired.
On the HeaterMeter microcontroller side, button responsiveness has been greatly improved. Buttons should react more quickly, and a 1/4 second "dead zone" after each button press should help with preventing mistaken double-taps. There's also button longpress support with just one new mapping. Long pressing the LEFT button (or direction on 4.2 boards) will turn HeaterMeter OFF. All output is set to 0 and the servo damper will close and its signal will be disabled shortly after. Servos will now be kept live the entire time HeaterMeter is ON, rather than disabling after not moving for a while. You can also enter OFF mode by entering a setpoint of "off", or simply "o". Any setpoint change will re-enable the output.
There were also a few minor fixes to the PID algorithm for corner cases. Thermoworks Pro Series probes are now the default thermistor probe, changed from Maverick ET-72/73.
Finally, the firmware should auto-configure itself with mail server settings to use heatermeter.com as a gateway to send your alarm emails / SMS. You are welcome to change the configuration and it will not overwrite it if you prefer to use your own mail server. We use your Pi serial number and the HeaterMeter Device Manager to verify you as an actual user, and your messages are limited to 1KB max.
Existing users can upgrade and keep their configuration by using the System -> Backup / Flash Firmware webui and doing an upgrade from URL:
Raspberry Pi 2 / 3
Raspberry Pi A / B / A+ / B+ / Zero / Zero W
223 commits - 118 files changed, 15701 insertions, 58688 deletions. Here is a condensed full changelog.
[wrt] Switch to LEDE fork of OpenWrt (v17.01.1 Linux 4.9.20)
[wrt] Add support for Raspberry Pi 3 / Zero W / Wifi module
[wrt] Enable squashfs for rootfs and overlayfs for rootfs_data, allowing a complete configuration reset
[wrt] Switch curl to OpenSSL, remove polarssl, replace hostapd/wpas with wpad-mini
[wrt] Update dnsmasq to 2.78 for CVE-2017-14491 et al
[wrt] Include CA certificates for proper HTTP / SMTP SSL connections
[wrt] Enable HTTPS for webui
[wrt] No longer redirect to /cgi-bin, use the native lua extension
[lm] Fix configuration changes not "sticking" if no HeaterMeter is present on first boot
[lm] Configure SMTP client to use heatermeter.com if no server is configured on install
[lm] Use sysfs GPIO to toggle reset line for hmdude, removes register use of bcm2835
[lm] Fix broken avrdude platform cleanup
[lm] linkmeterd no longer integrated into lucid (defunct), is its own process
[lm] Add 192x192 boxy robot icon to the webui homepage
[lm] Add the ability to save PNG images of live graphs as well as download CSV as attachment
[lm] Reorganize all the alarms into different config sections. Fixes problems with fields appearing in the wrong area on the webui. Ref #36
[lm] Update Thermoworks probe coefficients with lab tested results -- Thanks to Tim P
[lm] Add Steinhart coefficients for Maverick Industries ET-735
[lm] Sanitize wifi SSID and password when loading from config.txt and using wifi-client/ap
[lm] Add beginning of official REST API / add apikey to config page
[lm] Add ability to do wifi config from a USB mass storage device, same config.txt method
[lm] wifi-ap defaults to channel 6 if not supplied, fixes AP mode not starting if hostapd ACS fails
[lm] Add wifi page to linkmeter webui for quick wifi client / ap mode setup
[lm] Force setpoint units to uppercase, include support for OFF units = O
[lm] Snapshot current HM configuration when doing a stash
[hm] Greatly increase response of button input and disable input for 250ms after each event
[hm] Add menu button longpress support
[hm] Add PID output disabled mode
[hm] Limit I-sum to startup fan speed during startup and lid recover
[hm] Fix WDT not disabling on gcc-4.9.2 (Atmel 3.5.3)
[hm] Remove PIN_SOFTRESET
[hm] Update to Arduino 1.8
[hm] Fix possibility of being locked in startup mode when entering manual output mode
[hm] ThermoWorks Pro-Series probe now the default
[hm] Fix not able to disable alarm by pressing device button (snapshot only)
[hm] Output setpoint of U if output disabled, - if manual mode
[hm] Only disable the servo when the PID is off
[www] The downloaded PNG background color is now controlled by #download not #content so they can be different
[www] Fix HTML compliance causing 'Save' button to not work
[www] Updated security requires POST method on changes to any webui fields
[www] URL token no longer required in secure page requests
[www] Only show 2 decimal places in peak amplitude tooltip
[www] Add Google Project Fi to the list of SMS email gateways
[www] Rename Internal probe type to Thermistor
[www] Allow CSS coloring of graph line colors using .pcolorX
Last edited: