I've mostly been adjusting fan speed for heat transfer and trying to keep the beans moving. (One thing I would like to automate on the popper is mechanical bean agitation!) Generally high fan at the beginning and lowering as first crack gets started when much less heat and agitation is required.
I think the best approach for PID is to control ET/MET. The relationship of BT to heater output is too complex to model with only PID parameters. The beans are reactive and respond differently during the various phases of the roast. Also, PID control of the air temp in a popper (ET) is a simple and good match for what a PID is designed to control. ET control is fundamental to the profile and roast results as well. It needs a constant stable control.
But how to integrate BT into the equation?
A 'smart controller' sits as 'front end' of the PID to integrate BT, ET, and time/rate of rise. roast state/phase, etc This would allow a simple script program or 'state machine' to tell the PID the ET temperature setpoint based on the 'user specified algorithm'. A separate state for each phase of the roast.
DIY PID-Controller with microcontrollerIt looks like a board like this could do it, but I suspect there is not much front end software available to help you get it running and use it easily. Most of this type controller is sold to OEM to integrate into a product.
There are likely other products available that are better supported, but I just recalled this one here on HB a while back and thought hmmmm, a roast process controller.