Redditor “Higgs8” had a gas convection heater that is (or was) controlled manually, but they wanted something a bit more. To accomplish this, they came up with a small Arduino-based thermostat.
This allows you to set the desired temperature using a potentiometer, and it senses the current temperature value via a DS18B20 thermometer unit. It then adjusts the formerly manual knob with a stepper motor and custom gear reduction in response, maintaining the desired comfort level.
Feedback is displayed on a small OLED screen, which charts the room’s temperature over a 24-hour period. It also shows if the heater was on, letting you see if it was working properly.
More details can be found on Higg8’s Imgur page here.