Make a Ceramic Space Heater “Smart” with Sonoff

Difficulty: Star LitStar LitStar LitStar LitStar Unlit (4/5)

Apple Home App Temperature Control Thermostat



Sonoff Controlled Ceramic Space HeaterIf you don’t want to Make an Oil Heater “Smart” With ESP8266 how about this small ceramic space heater instead? The magic is in that little white box at the bottom of the photo. The little box is called the Sonoff and this one is capable of switching almost anything up to 10A. Sonoff also offers some other, more powerful models up to 16A. The heart of this is little guy is an ESP8266 that you may have already seen in one of my other projects. As you can tell it can bring even this ugly ceramic space heater that is a couple decades old right into the future. The Sonoff provides a safe and consumer friendly way to switch an AC or mains power supply which can be quite dangerous otherwise.

The Sonoff is  for those makers that maybe don’t have a 3D printer since right out of the box it provides a sturdy case that securely clamps the power cord of the device you are controlling. You can use it  with it’s own proprietary app but where is the fun in that? We are going to reprogram the ESP8266 inside for integration with your Siri Controlled Apple Home, or other smart home setups.

I used the Arduino IDE and a USB FTDI Programmer to install the new firmware although I have seen others use Atom to accomplish the same, but I think more are familiar with the Arduino IDE and seems easier to get going.

In the Arduino IDE under the “Tools” menu change the board to, “ESP8266 Generic” and make sure you match the following settings:

Upload Using: Serial
Flash Mode: DOUT
Flash Frequency: 40MHz
CPU Frequency: 80MHz
Flash Size: 1M (64K SPIFFS)  *5.x.x -> Flash Size: 1M (no SPIFFS)
Debug Port: Disabled
Debug Level: None
Reset Method: ck
Upload Speed: 115200
Port: Your COM port connected to Sonoff

Connect the USB FTDI Programmer to the board as follows:

Programmer Sonoff Module
3.3V – ⚠️️ Some are 5V 3.3V / VCC
TX goes to -> <- goes to RX
RX goes to -> <- goes to TX
GND goes to -> <- goes to GND

Click to Enlarge:
Sonoff_10A - Board Sonoff_10A - Board Close






The trick to get the Sonoff into programming mode is to hold down the button while you plug in the USB FTDI Programmer for two seconds, then let go. Once you have it in programming mode just upload your sketch setting up your WiFi and MQTT topic details, add a script to your MQTT Broker. Done!

If you would like to see links to my Arduino Sketch or my Script running on my MQTT Broker please drop a comment below, email me directly using or hit me up at any of my social links.

Make an Oil Heater “Smart” With ESP8266

Difficulty: Star LitStar LitStar LitStar LitStar Unlit (4/5)

Apple Home App Temperature Control Thermostat



Smart Oil HeaterIt might be hard to tell from the picture but this Oil Heater is possibly the smartest Oil Heater. By adding an ESP8266-12F to this old beast I am able to control this heater with my Apple Home app and voice control with Siri. Combined with the DIY Apple Home Temperature and Humidity Sensor you can have the heater turn on automatically when the temperature drops below a certain degree. Another great feature with the Apple Home setup is it is location aware meaning that when you leave home the heater will automatically turn off and when you are on your way home once you reach a certain distance from home it will start back up. You are expected by now to understand how to use MQTT and HAP-NodeJS to bring this to life.

ESP8266 Oil Heater Programming Access v1Smart Oil Heater ProgrammingThis might be the only way to tell that there is something different about this heater. It’s a 3D printed access port containing the heaters programming header, and button to activate programming mode. Once the cap is put back on it is next to impossible to notice. The buttons for controlling the heater are connected to the micro controller with some opto couplers or opto isolator which acts somewhat like a relay and keep the voltages between the heater’s circuitry and the micro controller that has been added separated.

ESP8266 Oil Heater ESP8266-12F Wiring Schematics


If you’d like to see more please drop a comment below, email me directly using or hit me up at any of my social links with your comments and suggestions.