Immonen’s parents’ controller managed 13 heating zones with separate sensors and weekly schedules, but began changing temperatures unpredictably after more than 25 years. He kept its high-voltage relay board and replaced the faulty processor board, emphasizing curiosity over formal electrical engineering training.
Home automation with React Native and Raspberry Pi
Speaker
Ville Immonen explains how he replaced his parents’ aging electric heating controller with a Raspberry Pi system and a React Native app, in a talk for Callstack.
He used a Raspberry Pi to read PT100 resistance-based temperature sensors and control the relays. After studying manuals and component data sheets, he designed a circuit board in Eagle, ordered a small manufacturing batch for about 25 euros plus shipping, and soldered the components himself.
A Python program on the Pi runs once a minute, reads target temperatures from SQLite, checks each sensor, and switches room heating on or off. A Node.js server connects the system to HomeKit, letting the family use Apple’s Home app and Siri to adjust temperatures and control outdoor lights.
HomeKit’s scheduling depended on an iPhone being on the home network or an Apple TV, so Immonen built a separate app for weekly schedules. He added a GraphQL API to the Pi server and used Expo, React Navigation, and Apollo Client; schedules are saved in SQLite for the control loop to apply.
Immonen describes ZeroConf, also known as Bonjour, as a way for devices to broadcast their names and IP addresses so apps can discover them automatically. He also points to Bluetooth Low Energy and React Native native modules as options for connecting apps to hardware.
Takeaways
- A Raspberry Pi can run local heating control without relying on cloud services or a phone being present.
- Read component data sheets and forums to understand unfamiliar hardware interfaces.
- A one-minute control loop can connect sensor readings, stored temperature targets, and relay actions.
- React Native can provide a cross-platform interface for device settings that HomeKit does not cover.
- ZeroConf and Bluetooth Low Energy offer alternatives to manually entering a device’s IP address.
Mentioned in this talk
Search inside this talk
What was claimed 15
- builtVille Immonen built Raspberry Pi 4Ba replacement heating controller for his parents’ home
“I built a replacement for this thing here, which is an electric heating controller at my parents' home.”
YouTube Unverified1 source· Talk
- usesreplaced the old microprocessor
“I replaced the microprocessor with a Raspberry Pi”
YouTube Unverified1 source· Talk
- usesReact Native uses Expo Modulescore team recommends using Expo as a framework
“right now that framework is Expo”
5:03inReact Universe BriefingYouTube Verified2 sources· Talk
- usesreads set temperatures and stores readings
“it reads the set temperatures from an SQLite database”
YouTube Unverified1 source· Talk
- usesRaspberry Pi 4B uses Pythonruns the heating control loop
“I made this control loop with Python that runs on the Raspberry Pi.”
YouTube Unverified1 source· Talk
- featureHomeKit: Lets users set temperatures and control outdoor lights through the built-in Home app
“use the built-in Home app on iOS to set the temperatures, turn the outdoor lights on”
YouTube Unverified1 source· Talk
- integrates withVille Immonen integrates with HomeKitconnected the heating system with HomeKit
“I also wanted to make this system connect with HomeKit”
YouTube Unverified1 source· Talk
- integrates withvoice control for setting temperatures
“we can use Siri to set the temperatures in the building”
YouTube Unverified1 source· Talk





