All Projects → nebhead → PiFire

nebhead / PiFire

Licence: MIT license
PiFire is a Smart WiFi enabled controller for your pellet smoker / grill.

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to PiFire

quickchart-js
Javascript client for quickchart.io
Stars: ✭ 34 (-17.07%)
Mutual labels:  chartjs
powir
Powir is a Windows 10 based tool to monitor and analyze your system's power and battery usage.
Stars: ✭ 119 (+190.24%)
Mutual labels:  chartjs
Chart.js-Rounded-Bar-Charts
Rounded Rectangles in Bar Charts
Stars: ✭ 48 (+17.07%)
Mutual labels:  chartjs
Integrating-Chart-Js-in-Angular-7
Check out Integrating ChartJs in Angular 7 in DotNet Techy YouTube Channel
Stars: ✭ 16 (-60.98%)
Mutual labels:  chartjs
Voice4Rural
A complete one stop solution for all the problems of Rural area people. 👩🏻‍🌾
Stars: ✭ 12 (-70.73%)
Mutual labels:  chartjs
dashblocks-template
Dashblocks Vue Material Admin Template
Stars: ✭ 143 (+248.78%)
Mutual labels:  chartjs
kafkaESK
An event-driven monitoring tool that can consume messages from Apache Kafka clusters and display the aggregated data on a dashboard for analysis and maintenance.
Stars: ✭ 79 (+92.68%)
Mutual labels:  chartjs
data-11ty
An open source 11ty theme designed for reporting & data-visualization
Stars: ✭ 19 (-53.66%)
Mutual labels:  chartjs
Ticket-Travel-Management-System
It's a e_Ticketing platform, it has whole ticket reservation system as like ixigo.com. Now three types of traveling such as Flight, Bus and Train reservation system. It's a responsive and dynamic PHP website.
Stars: ✭ 39 (-4.88%)
Mutual labels:  chartjs
competiwatch-desktop
Desktop app built in Electron for tracking your competitive match history in Overwatch.
Stars: ✭ 94 (+129.27%)
Mutual labels:  chartjs
chartjs-plugin-piechart-outlabels
Highly customizable Chart.js plugin that displays labels outside the pie/doughnut chart.
Stars: ✭ 46 (+12.2%)
Mutual labels:  chartjs
nova-chartjs
A Chart JS component for Laravel Nova
Stars: ✭ 47 (+14.63%)
Mutual labels:  chartjs
charts
Laravel Enso Charts is a VueJS, wrapper for Chart.js, with a backend data builder, so you can add beautiful charts to your application
Stars: ✭ 15 (-63.41%)
Mutual labels:  chartjs
Powershell-HTML5-Reporting
New, simple, fast HTML5 builder to create awesome reporting.
Stars: ✭ 55 (+34.15%)
Mutual labels:  chartjs
chartjs-chart-timeline
Google-like timeline chart for Chart.js.
Stars: ✭ 44 (+7.32%)
Mutual labels:  chartjs
Covid19-Tracker
The situation of the Coronavirus epidemic data around the World and details info in Vietnam.
Stars: ✭ 15 (-63.41%)
Mutual labels:  chartjs
github-user-languages
Browser extension that adds little language pie charts to a user's profile page on GitHub.
Stars: ✭ 41 (+0%)
Mutual labels:  chartjs
chartjs-chart-graph
Chart.js Graph-like Charts (tree, force directed)
Stars: ✭ 103 (+151.22%)
Mutual labels:  chartjs
phpchartjs
A PHP library that makes it easy to generate data for ChartJS.
Stars: ✭ 24 (-41.46%)
Mutual labels:  chartjs
chart
📊📉 Add beautiful and reusable charts with one line of ruby for Rails 5.x
Stars: ✭ 42 (+2.44%)
Mutual labels:  chartjs

Dashboard PiFire

Raspberry Pi Zero W based Smoker Grill Controller

Note: This project is continuously evolving, and thus this readme will likely be improved over time, as I find the inspiration to make adjustments. That being said, I'm sure there will be many errors that I have overlooked or sections that I haven't updated. This project is something I've done for both fun and for self-education. If you decide to implement this project for yourself, and run into issues/challenges, feel free to submit an issue here on GitHub. However, I would highly encourage you to dig in and debug the issue as much as you can on your own for the sake of growing your own knowledge. Also, I have a very demanding day job, a family, and lots of barbeque to make - so please have patience with me.

Warning: The creator of this project takes no responsibility for any damage that you may do to your personal property including modifications to your smoker grill if you choose to use this project. The creator also takes no responsibility for any resulting harm or damages that may come from issues with the hardware or software design. This project is provided for educational purposes, and should be attempted only by individuals who wish to assume all risks involved.

Note: (2020-12-29) Full documentation including hardware and software installation guide are now located here at the https://nebhead.github.io/PiFire/.

Introduction

This project was inspired by user dborello and his excellent PiSmoker project (http://engineeredmusings.com/pismoker/ and https://github.com/DBorello/PiSmoker). I encourage you to check it out and get a rough idea of how this all works. This particular project was built around a Traeger Texas smoker grill platform, but should work for most older Traeger models (or other brands with similar parts like the older Pit Boss) built with similar parts (fan, auger, and igniter). I've built the code in a way to be somewhat modular & extensible such that you can replace the grill platform with your own specific platform instead. Newer Traeger grills with their newer wifi enabled controllers have DC components (instead of the AC Fan / Auger) and aren't covered by this project.

Just as with the PiSmoker project, I had a few goals in mind. I also wanted to have tighter temperature controls, wireless control, and plotting of the grill / meat temperatures. In addition, I wanted to design this project such that original smoker controller could be used if needed. This way, if I wanted to, I could use my controller as a monitoring device for temperatures instead of controlling the temperature and leave that up to the original controller. Basically, it was my fallback plan in case my project didn't work out, or if I wanted to do a quick cook on the Traeger without using the fancy GUI. UPDATE (11/2021) After spending lots of time with PiFire, I've finally removed the original controller in favor of using PiFire exclusivesly. However, this doesn't mean that you can't still retain your original controller if you want. Both modes work fine.

Features

  • WiFi Enabled Access & Control (WebUI) via computer, phone or tablet
  • Multiple Cook Modes
    • Startup Mode (fixed auger on times with igniter on)
    • Smoke Mode (fixed auger on times)
    • Hold Mode (variable auger on times) using PID for higher accuracy
    • Shutdown Mode (auger off, fan on) to burn off pellets after cook is completed
    • Monitor Mode - See temperatures of grill / probes and get notifications if using another controller or if just checking the temperatures any time.
    • Manual Mode - Control fan, auger and igniter manually.
    • NEW: Prime - Allows you to prime the firepot with pellets prior to a cook.
  • Supports several different OLED and LCD screens
    • SSD1306 OLED Display
    • ST7789 TFT Display
    • ILI9341 TFT Display (now with more rotation options)
  • Physical Button Input / Control (depending on the display, three button inputs)
  • Encoder support for, so you can control your grill with a spinny knob.
  • One (1) Grill Probe and Two (2) Food Probes
    • Tunable probe inputs to allow for many different probe manufacturers
    • Probe tuning tool to help develop probe profiles
    • NEW - Up to two (2) grill probes if using the correct PCB design.
  • Cook Timer
  • Notifications (Grill / Food Probes / Timer)
    • Supports Apprise, IFTTT, Pushover, and Pushbullet Notification Services
  • Smoke Plus Feature to deliver more smoke during Smoke / Hold modes
  • Safety settings to prevent over-temp, startup failure, or firepot flameout (and overload)
  • NEW Save temperature history for all probes / set points to a cook file that can be updated with images, notes, and even downloaded to your devices.
  • Wood Pellet Tracking Manager - Now includes estimates of pellet usage.
  • Pellet Level Sensor Support
    • VL53L0X Time of Flight Sensor
    • HCSR04 Ultrasonic Sensor
  • Socket IO for Android Application Support (GitHub User @weberbox has made a Android client app under development here: https://github.com/weberbox/PiFire-Android)
  • ...And much more!

Screenshots & Videos

The dashboard is where most of your key information and controls are at. This is the screen that greets you when you access the PiFire WebUI on your computer, smart phone or tablet in a browser.

Dashboard

For those of us who like to see the data, PiFire allows you to graph and save your cook history. It's also a great way to monitor your cook in realtime.

History

PiFire also provides an optional Pellet Manager which can help you track your pellet usage, store ratings, check your pellet level if you have a pellet sensor equipped.

Pellet Manager

This is what PiFire looks like on your mobile device. And in these screen shots you'll notice that we have dark mode enabled. This helps for viewing at night, or just if you like the dark theme better. Personally I think it looks pretty slick.

Mobile Dashboard

Mobile History

Below is an example comparison that I did on a real cook of the Traeger controller attempting to hold 275F and the PiFire holding at the same temperature. The difference is very impressive. The Traeger swings massively up to 25F over and under the set temperature. However the PID in from PiSmoker does a great job holding roughly +-7 degrees. And this is without any extra tuning.

Performance

Here's a brief YouTube video giving a basic overview of the PiFire web interfaces.

PiFire Overview Video

I recommend at least taking a peek at the PiFire overview video below. It covers the basics of operation, settings and control.

YouTube Demo

Link to our channel on YouTube

Here is a the latest version 2.0 of the hardware w/TFT screen and hardware buttons in a custom 3D printed enclosure. We've come a long way since v1.0.

Hardware v2

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.

Full Documentation / Hardware and Software Installation

The full documentation has been moved to a GitHub page here: https://nebhead.github.io/PiFire/

Discord

I've added a discord server here which can be a great resource for all who want to get more information, want to share their own builds, or just chat about pellet cooking. Looking forward to seeing you there.

Updates

  • 9/2020 - Initial Release
  • 12/2020 - Moved documentation to https://nebhead.github.io/PiFire/
  • 11/2021 - Many new features, bug fixes, and improvements. New hardware support etc. which have been in incorporated over the last year, have been mreged from the development branch
  • 4/2022 - Release v1.3.1 - Another HUGE release with many new features including an updater, a new configuration wizard, bug fixes, Smart Start feature and much, much more!
  • 6/2022 - Release v1.3.3 - Lot's of changes for this latest stable release for June 2022. It's been a busy couple of months and we've had a few bug fixes pulled into this latest version, including an installer bug. The display modules have been completely overhauled in this latest release to improve responsiveness and capabilities. We've added a module for the ILI1394 with rotary encoder support, which is a nice option for those who like to use a dial with push button to interface the menu system. When doing the update, consider doing a full reboot (instead of just restarting the server) to ensure connected display devices are fully reset.
  • 7/2022 - Release v1.3.4 - Another monthly release with some bug fixes and some new features. The biggest new feature of this month was the addition of Annotations in the history graph. This gives you helpful tags on the graph (see below) with indicators of the mode changes. Of course you can turn this off in the history page if you don't like it.
  • 10/2022 - Release v1.3.5 - Bug fixes, feature refinements and brand new features galore in this latest release. Added a new ADS1115 module (using Adafruits Circuit Python), due to some reports of issues with the existing ADS1115 module. These can be optionally selected in the configuration wizard. PWM Fan Support and a boatload of code cleanup was introduced, thanks to contributor @weberbox. Support for saving cook files was introduced in this version, so that you can go back to older cooks, edit some of the information and add images and comments. Added a Prime Mode to allow you to prime the fire pot with pellets prior to a cook, and even prime & startup. Added estimated pellet usage to the pellet manager, which will attempt to track just how many pellets you have used since your last load of pellets. Added Apprise notification capability thanks to contributor @calonmerc. 320x200 displays have been update and added timers to specific modes. And even more!

Credits

Web Application created by Ben Parmeter, copyright 2020, 2021, 2022. Check out my other projects on github. If you enjoy this software and feel the need to donate a cup of coffee, a frosty beer or a bottle of wine to the developer you can click here.

Of course, none of this project would be available without the wonderful and amazing folks below. If I forgot anyone please don't hesitate to let me know.

  • PiSmoker - The project that served as the inspiration for this project and where the PID controller is wholesale borrowed from. Special mention to Dan for providing encouraging feedback from day one of this project. Many thanks! Copyright Dan Borello. engineeredmusings.com github

  • Circliful - Beautiful Circle Gauges on the dashboard. Extra special mention for Patric for providing great support to me via GitHub. Copyright Patric Gutersohn & other contributors. gutersohn.com github

  • Bootstrap - WebUI Based on Bootstrap 4. Bootstrap is released under the MIT license and is copyright 2018 Twitter. getbootstrap.com

  • JQuery - Required by Bootstrap. Copyright JS Foundation and other contributors. Released under MIT license. jquery.org/license

  • Popper - Required by Bootstrap. Copyright 2016, 2018 FEDERICO ZIVOLO & CONTRIBUTORS. Released under MIT license. popper.js.org

  • Chartjs - For the fancy charts. Copyright 2018 Chart.js Contributors. Released under MIT license. chartjs.org

  • FontAwesome - Amazing FREE Icons that I use throughout this project. Copyright Font Awesome. Released under the Font Awesome Free License. fontawesome.com github.com

  • Luma OLED - The OLED display module for Python that I use. This is not distributed in this project, but deserves a shout-out. Copyright 2014-2020 Richard Hull and contributors. Released under MIT License. readthedocs.io github.com

  • ADS1115 Python Module - Python module to support the ADS1115 16-Bit ADC. Also not actually distributed with this project, but also deserveds recognition. Copyright David H Hagan. pypi.com github.com

Licensing

This project is licensed under the MIT license.

MIT License

Copyright (c) 2020 - 2022 Ben Parmeter and Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].