The second diagram is of the DC PWM Fan version of the system. You'll notice that this version utilizes a 5V/12V power-supply and the specially design relay/PWM Fan board.
Due to space constraints on the PCB silkscreen layer, most of the pins for the JST connectors are unmarked. Thus I'm providing a handy set of images for the pinout of the major unmarked JST connectors.
Buttons & Encoder Header
1-Wire Header - Used for the DS18B20 reference probe. Great for using as a reference to tune your other probes.
Relay and PWM Fan Headers - If you are not using the DC Fan, then only the top header needs to be populated.
Auxiliary SPI Header - If you are already using the display SPI header, this can be used for another SPI based device such as the MAX38165 RTD probe device.
You must bridge solder jumpers on the back the board to select Chip Enable 0, Chip Enable 1 or GPIO6 (CE0/CE1/GPIO6) and 3.3V or 5V. Do not bridge both 3.3V and 5V or CE0 and CE1 at the same time or you may damage your system.
Display SPI Header - If you are using a SPI based display like the ILI9341, then this header should match the pinout for that display.
You must bridge solder jumpers on the back the board to select Chip Enable 0 or 1 (CE0/CE1) and 3.3V or 5V. Do not bridge both 3.3V and 5V or CE0 and CE1 at the same time or you may damage your system.
I2C Headers - All of the I2C headers pinouts are identical and can be used for any of the I2C devices including the ADC board, an I2C display, or an I2C distance device.
User @StubbyTech on Discord has put together some DigiKey BOM files for some of the boards. I've not verified all of the parts in these lists, but it's a great starting point to order parts if you don't already have some of these on hand.
PiFire doesn't require a display to be attached, but it is a nice addition to have. The following are some supported options. These can be selected during the initial configuration wizard.
Some display types allow for physical inputs to control PiFire at the grill itself. Currently, either buttons or a rotary encoder are available as input options (aside from touchscreen controls on a DSI touch display).
For Button Input, the following is an example of how tactile switches can be wired, with pullups. The 4.x.x PCB has the GPIO inputs exposed at a JST header. You'll need to build or source a button board to be used with this design.
Pins Assigned for Button Input on the v4.x.x Board
See Button/Encoder header pinout above…
@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.
Rotary encoders offer a simple alternative to implementing buttons. The KY040 encoder is supported by some display types with the below pin assignment on the 4.x.x PCB.
Pins Assigned for Rotary Encoder Input on the v4.x.x Board
See Button/Encoder header pinout above…
No additional board is needed as the pullups/pulldowns are already included on the KY040 boards. Amazon Link
PiFire supports a few options for distance sensors to detect pellet levels in the hopper.
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.