Layout_bb.png (106652 bytes)
Layout_schem.png (126283 bytes)

Download package


This application implements mainly two things:

  • A web based user interface to control the smoker with a smartphone.
  • A small regulation circuit to hold a given temperature

It is implemented on a raspberry Pi with a SoftPWM output. But it will work on every other PLC, which can read a temperature and output an analog value, as well.

So feel free to take and adapt the code to your needs. The following procedure describes just how it is done with a Raspberry Pi.


Raspberry SD image

You can use Wharfie to get a pure Debian based Root Filesystem. The biggest advantages of using debian are:

  • You can more easily conform to the included open source licenses.
  • The system is much smaller and only relevant processes are running.
  • The image has a lower risk of getting corrupted.
    I used the CODESYS image from the examples.

But you can also start with a Raspbian image.


Download and install the CODESYS package from the CODESYS Store. After the installation, you can install the debian package via Tools > Update Raspberry Pi.


This package contains the SoftPWM driver, which can be used to emulate an analog output on the Pi.

It can be found on Forge.

SPI Temperature

This package contains an generic driver for SPI temperature sensors.
As I based my system on Raspberry Pi and "debian stretch", I had to manually set the frequency of the SPI bus. This is a known issue of the Raspberry Pi kernel, starting from stretch.

Install the MeatForge package

Use the download button at the top of the page to install the project.


Here are the schematics which I used. But this is no rocket science. You can use every other temperature sensor or amplifying circuit.