Highlighted

SmartKiln (IoT Kiln Controller)

5 min read
SmartKiln (IoT Kiln Controller)

Image Credit: Zach Moore

Update: The landing page for SmartKiln is still live and accessible, but the project is no longer maintained and the server has been shutdown. This was my first project and taught me so many lessons about building IoT devices, embedded software, full-stack development, devops, and engineering across the board.

However, I no longer have a kiln of my own and I’m not actively working with ceramics. I would love to revive it in a distant future, but until then, it holds a special place in my career and had a significant impact on my first engineering position and career trajectory as a whole.

Resources

Website

Situation

Kiln firings, especially for crystalline glazes, require precise temperature control over extended periods-sometimes lasting several days. Traditional kilns use mechanical controllers that must be manually adjusted and monitored. In the final hours, they rely on a cone (a small ceramic pyramid that melts at a specific temperature) to trigger a switch that cuts power to the heating elements.

Newer digital controllers can follow programmed temperature curves and long hold periods, but they do not provide meaningful monitoring or allow for easy adjustments. Reprogramming is often required when experimenting with new firing schedules or managing multiple kilns, and these controllers can be expensive given their limited functionality.

I wanted to create a smart kiln controller that would be more affordable to produce, offer remote monitoring and control via a mobile app, provide alerts when milestones are reached, and log temperature data for review during or after firings. It should also support multiple kilns and allow easy switching between different firing profiles across all of them from a single app.

Eventually, it could be turned into a commercial product, but the initial goal was to build a working prototype that I could use personally for my own firings.

Task

Engineer a kiln controller device capable of performing all traditional kiln firing tasks, including taking temperature measurements and driving heating elements, while also providing remote monitoring and control via a mobile app.

Build with the intention of eventually creating a production-grade version of the device that would be reliable enough to support a business and product launch.

Action/Results (Approx Jun 2018 - Apr 2020)

As soon as the first version was working, I used SmartKiln, and every subsequent iteration, exclusively on my personal kiln for all my firings until I moved and no longer had access to a kiln.

Because this was my first real engineering and software project (and a huge leap into the deep end), I learned a lot through trial and error.

Each iteration required extensive debugging, testing, rebuilding, and rewriting. I spent time soldering components, designing cases, reprinting for better tolerances, learning about embedded software, improving my software skills, and building new versions throughout each milestone.

I had to learn how to interact with hardware over SPI, I2C, and GPIO, and write drivers for sensors and relays. I implemented fake sensors for local development and also learned to develop directly on real devices. I built APIs, websites, and mobile apps from scratch, and figured out how to deploy everything with no prior experience.

All of these things were done from scratch. Every repository and iteration was built from the ground up, incorporating improvements and lessons learned from every previous version.

Below are some of the key milestones and results from the project:

First Milestone

  • Used a Raspberry Pi and touchscreen to build a standalone kiln controller with Node.js.
  • Utilized available packages and built custom drivers for communicating with thermocouples and solid-state relays.
  • The controller hosted its own UI using React and stored firing profiles locally.
  • Implemented a basic PID control loop to manage heating elements based on thermocouple readings.
Early SmartKiln prototype with Raspberry Pi and touchscreen
Early SmartKiln prototype with Raspberry Pi and touchscreen

Second Milestone

  • Built a screenless version of the controller, continuing to use the Raspberry Pi and Node.js.
  • Operated headlessly and connected to the internet via Wi-Fi for monitoring and control, with a simple LED status ring.
  • Built a Firebase-backed web app for managing multiple kilns, firing profiles, and providing remote monitoring and control.
Second SmartKiln prototype with Raspberry Pi in enclosure
Second SmartKiln prototype with Raspberry Pi in enclosure

Final Milestone

  • Completely redesigned and rewrote the full stack from the ground up.
  • Built two new hardware versions utilizing a Raspberry Pi Zero W and a Raspberry Pi 3B+.
  • The embedded software remained Node.js-based, but was entirely rewritten to be more modular, testable, and maintainable.
  • The new hardware devices:
    • Supported a 14-segment display for local status and temperature readout.
    • Included multiple thermocouple inputs.
    • Featured multiple solid-state relay outputs.
    • Had improved enclosures designed for wall mounting and durability.
    • Supported WebSocket for real-time updates.
    • Incorporated many other hardware and software improvements.
  • Developed a full Node.js backend using Express.js and a MySQL database to handle user accounts, authentication, kiln management, firing profiles, WebSocket real-time updates, and temperature data logging.
  • Built a mobile app with React Native, providing a cross-platform experience for iOS and Android. Users could manage multiple kilns, create and edit firing profiles, start and stop firings, and monitor temperature data in real time or review historical logs.
  • Published the mobile app to the Apple App Store and Google Play Store.

Here are the final results:

Final SmartKiln prototype
Final SmartKiln prototype
Final SmartKiln prototype

Renders

SmartKiln final enclosure render - side view bottom
SmartKiln final enclosure render - side view side
SmartKiln final enclosure render - side view with displays
SmartKiln final enclosure render - top side
SmartKiln final enclosure render - under side
Suggest an edit

Last modified: 9 Nov 2025