Legacy Hardware Configuration

This section is maintained to preserve the backward compatibility for previous "legacy" PCB designs as well as serve as a guide for custom designs.

PCB Designs

There are PCB designs which greatly reduce the wiring effort required for wiring up most of the devices.

4.x.x PCB (and modules)

The state of the art currently is the 4.x.x PCB set which consists of a main board that connects to the Raspberry Pi (Connects to almost any Raspberry Pi model with 40 pin header). The main board must be paired up with a probe board (i.e. ADS1115 carrier board, or other probe device board(s)) as well as a relay/fan board. These boards are not as compact as the next board on this list, but has the most flexible/scalable options.

Compact PWM PCB

Designed by user @weberbox, this compact board includes a power supply, relays, and PWM circuitry on-board. This board was designed to be utilized as an all-in-one unit that could be utilized with most installations, even portable smoker units! This board is compatible with Raspberry Pi Zero W/2W models, but needs pin headers to be soldered to the backside of the Pi Zero board. While compact, you will be limited on just the features included with this board.

PCB w/DC Fan PWM Version

3.0x PCB

Github user @weberbox has extended the v2.0x design to add some other features, such as breaking out the fourth ADC input, adding a button header, etc. Like the previous design, it is limited to the Raspberry Pi Zero W/2W due to the lack of keepouts on the board. If you want to use this with a full size Raspberry Pi, you may either choose to use a cable or a tall header connector.

2.0x PCB

Legacy PCB design to be used with Raspberry Pi Zero W / 2W models. These PCB designs are no longer recommended, but are still perfectly usable.

This design is somewhat of a hat, in that can be plugged directly into the Pi Zero W header, and then breaks out the needed interfaces including I2C, SPI, ADS1115 and probe screw terminals. This design is limited to the Raspberry Pi Zero W/2W due to the lack of keepouts on the board. If you want to use this with a full size Raspberry Pi, you may either choose to use a cable or a tall header connector.

You can order your own directly from one of the many PCB manufacturers (very cheaply) or directly through JLCPCB. Unfortunately ordering from EasyEDA and JLCPCB is not very intuitive. Instructions to order through EasyEDA and JLCPCB were discussed in the following posting here.

Schematic

This PCB allows you to plug the ADS1115 into the header on the right side of the board with no additional wiring.

Layout

Here's a 3D-View of the board.

3D-View

And here's a montage of the real thing all built out.

Built PCB

The Button Board

@weberbox has also created a very useful button board that can be used to simplify the button input. Note that this board is designed with active HIGH inputs and should be configured HIGH in your modules setup.

This board is useful for all PCB designs including v4.0.x.

Custom Build

For the brave and curious, there is always the option to build your own from scratch as well, without using a PCB.

General Schematics

There are now two design choices, with expanded support for displays as well. The first schematic is still applicable for anyone interested in leaving the existing controller in place alongside the PiFire controller. The second schematic is for a stand-alone configuration.

Example of basic PiFire wiring (PiSide) with SSD1306 OLED I2C based display.
Raspberry Pi Wiring w/I2C Display

Note

If you are using a PT1000 (or Traeger PT100) RTD Probe, it has been pointed out (by Discord user James Cantrell) that using a 1k Ohm resistor would be a much better choice for that input channel instead of the 10k Ohm resistor. Since PT1000 probes are 1k Ohm at 0 degrees Celsius, this smaller 1k Ohm resistor divider is much more suited to give a wider range of voltage readings into the ADC. In future hardware designs, this should be something that is taken into consideration.

If you choose to change this to a 1k ohm resistor, you must remember to change the Rd value (Resistor Divider) in the Probe Profile that you are using.

It should also be noted that there are some food probes out there that use a similar PT1000 profile/resistor (i.e. Pit Boss). If you plan to use these types of probes, consider modifying the design for those channels to utilize 1k instead of 10k ohm resistor dividers.

Note

There have been questions around the optional switch attached to GPIO17. This is only used in configurations where you are using both the original controller and the PiFire controller on the same grill. If you selected standalone during the wizard configuration, then this switch is ignored. If you selected OEM Controller Present in the wizard configuration, then this switch will control whether PiFire is actively controlling the grill, or the OEM controller is controlling the grill. This could potentially used to switch between the controllers on the fly, but is generally not recommended.

Example of a more advanced PiFire wiring (PiSide) with ILI9341 TFT SPI based display and VL53L0X hopper sensor.
Raspberry Pi Wiring w/SPI Display & Hopper Sensore

AC Components & Relay Schematic

The following is a rough schematic of the relay side of the of the design. Basically this is what allows you to control the Fan, Auger, Igniter and Power as well as switch between the existing controller and the PiFire controller via software.

Note that wire colors may vary with different models of grills. I've tried to use the standard wire colors here that you may actually see, but if you've swapped out any components or have a newer/older version they may be different.

Figure A: PiFire w/Existing Controller Relay & Power Wiring w/Existing Controller

Figure B: PiFire Standalone Relay & Power Wiring Standalone

Note

In the above figures A&B, the 5V DC Power Supply is show with Neutral and Hot(L) inputs. AC power should not be connected to the DC outputs of this power supply, or it may experience damage.

Raspberry Pi GPIO / PIN Mapping for Legacy PCBs

Relay Control:
  • GPIO 4 - Power (controls power to the outputs, between the existing controller and the PiFire controller)
  • GPIO 14 - Auger Relay - Controls the Auger on/off.
  • GPIO 15 - Fan Relay - Controls Fan on/off.
  • GPIO 18 - Igniter Relay - Controls Igniter on/off.
Switch Input:
  • GPIO 17 - Switch Input for system on/off
Button Input:
  • GPIO 16 - Up Input Button
  • GPIO 20 - Down Input Button
  • GPIO 21 - Enter Input Button
  • 3.3V - Any 3.3V rail pin
  • GND - Any ground pin
Rotary Encoder Input:
  • GPIO 16 - CLK (Clock)
  • GPIO 20 - DT (Data)
  • GPIO 21 - SW (Switch)
  • 3.3V - Any 3.3V rail pin
  • GND - Any ground pin
SPI Display Pins (ILI9341, etc.):
  • Board Pin 21 - MISO
  • GPIO 5 - LED
  • Board Pin 23 - SCK (SCLK)
  • Board Pin 19 - MOSI
  • GPIO 24 - DC
  • GPIO 25 - RST (Reset)
  • Board Pin 24 - CS (Chip Select, AKA Chip Enable or CE0)
  • Vcc - This should be 3.3V, however, some have noted that the ILI9341 are 5V tolerant and have a brighter display when connected to 5V. YMMV, so proceed with caution.
  • GND - Any ground pin
I2C Pins (SSD1306, VL):
  • Board Pin 3 - SDA
  • Board Pin 5 - SCL
  • 3.3V - Any 3.3V rail pin
  • GND - Any ground pin

The Parts List

The parts list and setup:

  • Raspberry Pi - Any Raspberry Pi with WiFi will do fine, but for this application a Raspberry Pi Zero W works really well and is the right price. With the release of Raspberry Pi Zero W 2, this is an even better option for PiFire. The upgraded processing power really helps performance and is especially notably faster on boot-up. Keep in mind that for v2.x and v3.x PCB designs, a riser would be required for the full size Raspberry Pi boards to avoid conflicting with the Network and USB stacks.
  • 4-Channel Relay - Needed for controlling all of the 120V outputs (Fan, Auger, Igniter, Power). The mechanical relay option may better suited for implementations where the existing controller is preserved, due to the NO, NC terminals are both available. If implementing a standalone, using a Solid State Relay is a great option. Take note of the trigger level for your relays as you will need to set this in the installation (default is active low level triggers).
  • Resistors - (3x) 10k ohm resistors for grill RTD and meat probes resistor divider. You may want to consider getting some decent quality tolerance resistors for this given that accuracy is important(+/1 1%). I managed to source some pretty accurate dividers. It was mentioned on Discord by a user(James Cantrell), that using a smaller resistor value for the Primary RTD input (i.e. 1k) and configuring the profile to match this value might be a really good idea. This, in theory will give you higher accuracy on RTD probes which have a smaller resistance than the typical food probes. This is true for any PT1000 style probe, including some Pit Boss probes that have a similar resistance. (1x) 330 Ohm resistor for power selector switch. (3x) 10k Ohm resistors for optional physical button input, as well as (3x) 1k Ohm resistors.
  • Micro SD Card - 4GB or greater is required for Raspberry Pi OS Buster and later.
  • 120V AC to 5VDC Power Supply - In this particular case it's a 5V5A output which can be connected to the relay as well.
  • ADS1115 - Popular I2C based 16bit Analog to Digital Converter. Note: Some have reported strange behavior with the ADS1115 module they have ordered from Amazon with this link. I ordered some additional ones from this link (on the West Coast of the USA) and they tested just fine. There is some speculation that some vendors are cutting corners and putting the cheaper ADS1015 on the board instead. If this is the case, you should be covered with the new modules added for the ADS1015 in the wizard.
  • Molex Connectors - This is a super critical to making this a seamless integration of the controller. This basically allows you to easily plug into the existing connections on the smoker. I would highly recommend purchasing a ratcheting wire crimping tool, and watch some youtube videos to understand how these connectors work. Careful not to trim too much off of the leads so that they do not slide through the connector.
  • 2.5mm Mono Audio Jack - I have finally found some very high quality 2.5mm jacks which can be found on ebay, Amazon and other Chinese electronics sites. These Philmore style jacks in either stereo or mono are excellent and very reliable. The catch is that they can be quite expensive. Up to $8/piece. However, I feel this is worth the price compared to the cheap surface mount options out there. I have found that there are often better deals for these on ebay and aliexpress. Search for Philmore. I recently picked up 10 mono versions of these jacks from ebay for $20 and they work really well.
  • RTD1000 Traeger Temp Probe - I decided to use a completely separate temperature probe for the actual pit temperature because I was too lazy to implement a solution to use the existing temperature probe. I'll provide a link to Amazon here, but you can also order much cheaper versions of the same thing on Ebay.
  • Tactile Switches - (3x) Optional for physical button input. Popular swtiches for projects which can be obtained almost anywhere very cheaply.

The Hardware in Pictures

Sometimes it's helpful to see the entire project laid out in picture form, so I've tried to put together some helpful pictures. As this project is evolving, so too has the hardware build out. I will keep the older hardware build here for posterity, but the newer version has updated much of the build to include many 3D printed parts.

Current Implementation

The below pictured implementation improves upon the original design by utilizing a 3D printed enclosure for the display and control boxes (note is highly recommend to use PETG for it's temperature resistance). This implementation removes the existing controller and completely replaces it.

HW Enclosure & Display

HW Enclosure & Display

The below shows the display shortly after mounting on the grill (some screws still missing still - oops!).

HW Enclosure & Display

With a food probe attached:

HW Enclosure & Display

HW Enclosure & Display

Note

If you’re interested in seeing more builds from other users, we have a discussions thread here where others have posted pictures of their unique builds. In addition to the discussions thread above, the discord server is a great place to see and share build photos and experiences.

3D Printer Files

If you'd like to 3D print an enclosure, there are few options to choose from, but the main source files have been provided for a panel with ili9341 display and standard button input. It's highly recommended to print this design in PETG for it's heat resistant propperties.

The source design was done in OnShape and is based on the Traeger Texas Grill and can be found here:

This design can be cloned and modified to suit your needs if you are using on a different smoker.

STLs for this design can be found on Thingiverse here:

3D Printed Design

Other 3D Printable Resources

@weberbox has also created designs for a PitBoss FB700 but could probably be used on other grills. The OnShape links are also provided so the designs can be modified to suite specific needs.

@M7Fa has created a design for the PitBoss Austin XL and shared on Thingiverse.

Older Implementation

Note

This section is provided for historical purposes. The design has evolved since the first iteration and this version is no longer being used. However, it might be useful to someone who is using PiFire alongside their existing controller or doesn’t have a 3D printer at their disposal.

Here's a diagram showing all of the major components in the project box and how I laid them out. Certainly, you can do this differently but this was how I did it. Much hot glue and electrical tape was used. Please don't judge.

HW Photo Diagram

I'm not sure about other brands, but Traeger designed their Texas grills with handy Molex connectors for everything that hooks up to their controller. It makes the electronics underneath extremely serviceable and allows us to rather seamlessly connect our project in between.

HW Photo Diagram

The following is a picture of the project from the outside. You can see that the OLED is mounted to the front of the box which has a clear lid. I put a piece of white plastic in the front to hide the electronics inside. The wiring with the molex connectors is fed through the bottom of the box to underneath smoker pellet box where all of the connections can be made. I've zip-tied the wires together, tucked them up in side the pellet box area, and made it nice and tidy.

HW Photo Diagram

On the bottom of the project box, I have drilled decent sized hole and installed a rubber grommet (to protect the wires) for all of the 18AWG wiring to be routed through. There are quite a few wires coming out, so it's good to give yourself some space, but maybe not too much given that your grill may exposed to the elements outside. It should be snug.

I also have an optional power switch down here, that is a normally closed momentary switch. This wired between the 5V power supply and the Raspberry Pi so that I can do a hard power-cycle when necessary. Or if the Raspberry Pi is off, a power cycle will boot it up again.

HW Photo Diagram

Around to the side facing the user (in my configuration), you'll see we have rather large selector switch which is used to select whether you are using the original controller (OFF) or the PiFire controller (ON).

Below this, are two 2.5mm mono jacks for plugging in your two meat probes. These were a bit fiddley to install, but I managed to hotglue them in place on the inside - and they feel really solid. EDIT: I've removed the hotglue for the 2.5mm mono jacks and replaced it with copious amounts of superglue. With temperatures rising above 100F here in Northern California, the hot glue softened too much to be mechanically sound. Some day I might have to come up with another solution, but for now, super-glue is doing the trick.

HW Photo Diagram

And if you're interested in seeing more builds from other users, we have a discussions thread here where others have posted pictures of their unique builds.