Close
0%
0%

NixieStat-ESP

Home thermostat with a nixie tube diaplay

Public Chat
Similar projects worth following
This project is a thermostat for my home that is designed around the ESP32 processor. It supports remote sensors and a pid for temperature control. The code and other files for the PCB schematics and layouts can be found here on GitHub: https://github.com/croftj/nixiestat

Besides the small touch keypad and nixie display, the thermostat can be configured and monitored over the Mosquitto MQTT message bus using json statements.

The unit shown is now connected to my house and in full operation.

My home is a small Victorian house with hot water radiators. When we first moved in, the house would swing up to 10 degrees as the boiler turned on and off. This spurred me on to the solution which this project is the 2nd edition. I then put sensors around the house and on the one radiator and outside and left on vacation for Christmas. During that vacation, I noticed my wife (who has a house in northern Poland) set the boiler to a fixed temperature. I didn't realize that her radiators each had thermostatic valves on them, but her setting the boiler temp got me thinking.

Long story short, by the time I got home I had lots of data thanks to the temps dopping below 0 degrees while we were away and the great idea of controlling the radiator temperature and not the house temperature. By doing this the radiators will swing 5 - 15 degrees but the room under with the inside temperature sensor only swings 1 degree (+/- .5) most of the time.

With this latest design, I can have any number of sensors in any room talking over WIFI. I also have a single sensor on the thermostat itself just in case it cannot receive temperatures from the remote sensors.

Currently, I have a sensor in my living room, while the thermostat is in my dining room. In addition to these, I have a sensor on one of the my radiator pipes and a sensor outdoors. 

I can monitor the thermostat over the message bus, every 30 seconds it send a messages such as this

{ 
  "alarm": 0,
  "current_cycle_temp": 134.71,
  "current_room_temp": 72.05,
  "cycle_time": 2372,
  "device": "dining_room",
  "heat_state": true,
  "message_type": "status", 
  "outside_temp": 38.188,
  "pid_enabled": true,
  "target_cycle_temp": 136.26,
  "target_room_temp": 72,
  "timestamp": 1649069095
}

With this I can call pretty much everything see that the thermostat is still functioning of not. The alarm value allows me to see if it is still seeing the sensors.

  • Now for a little Zen!

    Joe Croft07/09/2022 at 11:21 0 comments

    Okay, While working on the case I had a very Zen moment and re-laid out the display board. It now only has 4 digits  and a very small touch keypad.

    I also added a real-time clock. I am working at hardening it so it can survive me going on vacations. This means it has to handle a reboot and not have access to any of the sensors except that one that is attached to the thermostat itself. The RTC removed the dependency of getting the system time from network.

    The case was made out of 1/4" cherry wood that was milled using my zenbot cnc. 

    The photos do not show the super cap that is used to keep the time

View project log

Enjoy this project?

Share

Discussions

Joe Croft wrote 04/05/2022 at 10:37 point

After much ado, I finally got my changes for the latest version moved from my local perforce repository out to github.com. Someday I'll beccome good at this git stuff. Work will insist on it! 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates