hack of pitboss navigator bbq smoker with ESP32 controlling remotely. this hack is only for navigator model with rotary switch to control the temperature the purpose of this hack is to control remoetly the temperature of the pitboss navigator and smoke level
- ESP32
- tasmota firmware
- nodered
- domoticz
- pitboss navigator 850
thanks to @Vic for help on making this happen to modify the circuit and also thanks to tasmota discord channel: Discord
-
deassemble the control board and look at the rotary pins and GND pin (look at inage attaced)
-
create a small PCB with electonic devices as in the picture below. please note that R32 is where we can provide vcc and gnd is exposed on pcb the idea is that ESP32 with tasmota firmware can simulate using PWM the rotray switch. Rotary switch is changing Volage value like in the table below
here you can see the connection
with this mode, "I simply" send to pitboos CPU a different value of voltage, because pitboss CPU read the voltage that rotary encoder send out. so now without manual rotation of rotary encoder, thanks to PWM i send out the volage step that the pitboss CPU expect. at every voltage step correspond a temperature settings and pitboss CPU regulate the pellet speed consequentially to reach that temperature and then to maintain that temperature constantly keep in mind that measuring volts between R32 and GND exposed on pitboss PCB
you will find:
slector OFF => POSITION1 = 0V => PWM level from ESP32 = 0
selector AT SMOKE LEVEL => POSITION2 = 0.5v => PWM level from ESP32 = 6
selector AT 95°c => POSITION3 = 1v => PWM level from ESP32 = 8
selector AT 110°c => POSITION4 = 1.5v => PWM level from ESP32 = 11
selector AT 120°c => POSITION5 = 2v => PWM level from ESP32 = 14
selector AT 150°c => POSITION5 = 2v => PWM level from ESP32 = 14
selector AT 175°c => POSITION6 = 2.5v => PWM level from ESP32 = 18
selector AT 200°c => POSITION7 = 3v => PWM level from ESP32 = 24
selector AT 220°c => POSITION8 = 3.5v => PWM level from ESP32 = 36
selector AT 240°c => POSITION9 = 4v => PWM level from ESP32 = 70
selector AT 260°c => POSITION10 = 4.5v => PWM level from ESP32 = 190
selector AT MAX°c => POSITION11 = 5v => PWM level from ESP32 = 600
so commands in tasmota console to set a specific temperature level will be: open tasmota web page of your ESP32 => click at console button => enter into console and type commands:
pwm1 14
you will see that pitboss will display temperature of 150°C
pwm1 8
you will see that pitboss will display temperature of 95°C
-
for push button that control the smoke here below you can see the connection to ESP32 tasmota will simulate the pression of the button so you can control remotely the smoke level
-
below you can fine a rule that is setup on tasmota to publish the value of pwm:
rule3 ON Analog#A1div10 DO publish BBQ %Value% ENDON ON SYSTEM#BOOT DO Status 10 ENDON
rule3 1
the purpose is to publish the ADC values in a topic named BBQ. in this case every settings of the rotrary switch can be easly recognized on the BBQ topic. using also this rule we will publish on topic BBQ only if there is a variation of ADC value that conrespond to a temperature step, avoiding to continue to publish every ADC value as explained rotary encoder send a different value of voltage to pitboss CPU, and so pitboss CPU regulate consequantially the pellet speed to reach and maintain the setted temperature.
we will have at BBQ topic these messages payload:
payloads = 91=off 78=smoke 67=95°C 58=110°C 49=120°C 40=150°C 31=175°C 22=205°C 14=230°C 5=245°C 0=260°C
reading these mqtt messages you can easly with nodered convert into domoticz switch level to monitor the status of pitboss temperature if you act manually to rotary incocoder.
the other way round is keep at OFF the rotary encoder and from domoticz switch level turn on pitboss and choose the cooking temperature that you want. to do this es explained in the table at point 2. youhave to send out from domoticz to tasmota the pwm value.
mqtt message will be for example:
cmnd/%topic_of_ESP32%/pwm1 %numberOfPwmValue%
example: for smoke level
cmnd/pitboss/pwm1 6
example: for 175°C level
cmnd/pitboss/pwm1 18
- now if you want to control remotely the BBQ changing the temperature and smoke level it's just a metter to use systems like nodered + domoticz the idea is to create in domoticz a dummy device that will have multiple selection (selector switch) and so you can address evey level of the domoticz dummy switch to a temperature of pitboss with nodered you can send the domoticz/out => to tasmota, and tasmota will change the PWM level and BBQ will change the temperature same story for push botton to control the smoke level