CapnBry / HeaterMeter

HeaterMeter and LinkMeter Arduino BBQ Controller
https://tvwbb.com/forums/heatermeter-diy-bbq-controller.85/
MIT License
503 stars 83 forks source link

Port to other hardware platforms #39

Closed brianjmurrell closed 6 years ago

brianjmurrell commented 6 years ago

Hi. I have been going down the path of building a temperature controller for my Kamado smoker/grill.

I have the hardware built for a simple single probe design so far with a NodeMCU board, a Maverick probe and a randomly chosen blower. The NodeMCU only has a single ADC, hence the single probe (at this moment). Some additional components in the way of an ADC multiplexer could resolve that but for the moment I'd just be happy to have pit temperature control.

Your project looks like it's had a lot of time spent on the intricacies of PID implementation, etc. which I feel like I would be foolish to try to re-invent rather than "standing on the shoulders of giants" and leveraging.

Anyway, to get to the point, would PRs for porting to new hardware platforms be welcome to this project? Would you be willing to land PRs for such alternate hardware platform ports?

CapnBry commented 6 years ago

I'm not sure what code would be reusable between the platforms. I'm pretty familiar with the ESP8266 platform, having coded for it for a few other projects around the house. The PID algorithm itself isn't very complex, and the majority of the code in there is for handling the ADC running continuously and oversampling/decimating the readings which would not be applicable to the ESP. The on-device menuing system isn't very complex either. All the rest of the code for monitoring, recording, graphing, discovery, and notifying is handled on the Pi in a mix of different languages and systems that would not translate at all. Last I'd heard, the ESP core doesn't have hardware PWM either which would make timing difficult for the fan buck converter and servo pulses (although the LCD backlight would probably be fine in software).

There is a project where someone connects the output of the HeaterMeter board to one of the cheap ESP-01 modules and pushes the data off to the cloud which is sort of the middle ground between the two.

In short, I don't think it is feasible that there would be much code reuse between the platforms and the amount of effort to make that code cross compatible would probably be so large that it wouldn't be worthwhile to spend the time on it. I do appreciate low cost and relative power of the ESP8266 modules (I actually soldered one into something yesterday) but they do fall short on requirements for this project. If you'd like to go into it in more detail, you can start a discussion on the forums and also search there for previous discussions about the ESP platform.