Essential requirement
The Afterburner must be able to connect to the internet.
You must configure the Afterburner to connect to a wifi network, i.e. STA mode must be available.
This page provides pre-compiled firmware releases that can be uploaded to the Afterburner.
Firmware is easily uploaded using Web Update*, Browser Update*, or the ESP32's embedded serial bootloader via a USB serial adapter.
* Web Update and Browser Update only available with fimware V2.3.0 onwards.
NEW :-
AfterburnerV3.5.2.bin
V3.5.2 - 02 Jul 2024
Please refer to the V3.5.2 release notes further down for the features added.
This is a massive step upwards from the previous V3.4.13 release.
There are numerous incremental changes since V3.4.13, documented at BETA release notes
V3.4.13 - 16 Oct 2022
Please refer to the V3.4.13 release notes further down for the features added.
** HOT FIX! ** deals with a catastrophic STA wifi bug.
The app is built using MIT App Inventor.
It can be installed on an Android device to provide Bluetooth control of the Afterburner.
It is also able to utilise connections via MQTT or direct websocket to the Afterburner.
Unfortunately the MIT App Inventor block based design, on a single page, has reached the limits of my sanity.
Their compiler is also quite fragile with such a large project and sometimes does not rebuild after adding a few extra bits of code.
It does however function very well for the core functionality of setting thermostat modes, timers and tuning.
NEW 7 Jul 2024 :-
WebContent_V3.5.1.18.zip
.zip packages of required files.
DO NOT upload the .ZIP file
Unzip the downloaded package before uploading to SPIFFS, using Arduino IDE, or Browser Update.
DO NOT unpack index.html.gz
Upload all unzipped files to the Afterburner using the /update feature from your web browser.
V2.3.0 web content - 3 June 2019.
Original web content, small and simple.
V3.0.0 web content - 30 July 2019.
Feature packed web content, larger but fancy.
This release contains a massively reworked web interface, which is still incomplete but very functional for the normal on/off & set temperature operations.
V3.2.0 web content - 4 May 2020
Extensive rework of web interface. Now supports timer manipulation, and can act as an MQTT client.
Please delete gauge.min.js.gz from your SPIFFS content, it is now incorporated into index.html.gz
V3.2.1 web content - 14 May 2020
Added support for Stop/Start thermostat mode available in V3.2.0+ firmware.
Version number now matches ZIP file name.
Please delete gauge.min.js.gz from your SPIFFS content, it is now incorporated into index.html.gz
V3.4.6 web content - 28 Apr 2022
Supports new features in V3.4.6 firmware.
Please delete gauge.min.js.gz from your SPIFFS content, it is now incorporated into index.html.gz
V3.4.7 web content - 25 Jun 2022
Supports new features in V3.4.7 firmware.
Please delete gauge.min.js.gz from your SPIFFS content, it is now incorporated into index.html.gz
These scripts allow you to upload to the Afterburner without requiring the full Arduino ESP32 environment under Windows.
Please note that selected executable files from the Arduino ESP32 environment are included in this download.
Batch files are provided to upload via the serial debug port (requires a USB adapter).
These batch files will always need to tuned for your specific PC configuration.
The Afterburner must be able to connect to the internet.
You must configure the Afterburner to connect to a wifi network, i.e. STA mode must be available.
Asuming Internet connectivity exists, the Afterburner will regularly contact the the Afterburner web server to discover if a new firmware is available.
If so, an update icon is briefly flashed upon the OLED's header area.
The update will not take place automatically.
If an update is available, all you need to do is navigate to the Version Information menu.
This menu lives within the User Setting menu loop.
You must first locate the Heater Settings info screen, then press DOWN to enter the User Settings loop.
Using LEFT or RIGHT locate the Version Information menu.
Press UP once.
A prompt to update will be presented.
Press CENTRE.
Confirmation to proceed with the update is presented.
Press UP.
The Afterburner will downloads the new firmware.
Download progress of the new firmware is reported on the OLED display.
Once 100% is reached, the checksum is validated.
If OK the new firmware is set to go, otherwise the existing version is retained.
The Afterburner reboots.
That's it - the new firmware is installed and running!
Download and save the latest pre-compiled firmware from http://www.mrjones.id.au/afterburner/firmware.html
Ensure your device (PC or mobile) can connect to the Afterburner via Wifi.
You can use the Afterburner's own Access Point, or connect via your local Wifi network.
Open a web browser and navigate to the Afterburner's IP address.
To enter the firmware update, you need to append the special path /update to the required Afterburner's website address.
eg: if using the inbuilt access point: http://192.168.4.1/update
To prevent random accidental uploads, access to the browser update is password protected.
The credentials to use are:
Username: Afterburner
Password: BurnBabyBurn
The form to perform the browser update is now presented.
Click on the Browse button.
Locate and select the previously downloaded firmware that was saved to your device.
Please note it has been found some iPhones will not allow you to upload files as they deny access to their file system.
Press on Update
The selected file is uploaded to the Afterburner.
Upload progress of the new firmware is reported on the OLED display and the browser.
Once 100% is reached, the checksum is validated.
If OK the new firmware is set to go, otherwise the existing version is retained.
The Afterburner reboots.
The browser will be re-directed to the Afterburner's home page.
That's it - the new firmware is installed and running!
Follow the same steps as described above for updating the Afterburner firmware using a browser, but instead locate and download the required web content file(s).
IMPORTANT: You MUST unzip the downloaded web content package before uploading.
After clicking upon Browse, locate and select one of the unzipped web content files that should be uploaded to the Afterburner.
Do not upload the .zip file
Please note it has been found some iPhones will not allow you to upload files as they deny access to their file system.
Press on Update.
The new web content is uploaded to the Afterburner's resident file system.
As these files are small, it does not take long to complete.
Unlike updating firmware, note that the update form remains open on the browser.
This allows you to upload further content if required. eg CSS or Javascript.
When done, simply press Cancel and you will be re-directed to the Afterburner's home page, which may have been updated using this process!
A USB to serial adapter is required. Ensure the USB adapter is configured to provide 3.3V logic levels.
I recommend FTDI based units as shown above.
DO NOT USE a normal COM port or USB to COM port style adapter (typ. a DE-9 connection) as the voltages present will damage the Afterburner. It must be the style typically used for Arduino development purposes.
Plug the USB adapter into your PC and discover its COM port number.
Download the bootload scripts from this website: Bootload_V3.4.7.zip
Extract (unzip) the files to your PC.
You will then need to hand tune the COM.bat file to reflect the COM port address that you will use to access Afterburner.
eg: Your PC has allocated COM11 to the USB adapter.
Open COM.bat in a text editor and set the COM port address accordingly:
esptool.exe --chip esp32 --port COM11 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader_qio_80m.bin 0x10000 Afterburner.bin 0x8000 Afterburner.partitions.bin
Using the links above, select and download the required firmware to upload to the Afterburner.
Copy the downloaded file to the same directory as the botload script was unzipped to.
Rename the file to become Afterburner.bin
The ESP32 device hosts an internal bootloader that is used for serial upload.
To enable this bootloader, follow the following steps.
1/ Hold the EN button on (or connect the EN breakout pin to 0V **). This holds the ESP in reset.
2/ Continue to hold the EN button, then press the Boot button (or simultaneously connect the BT breakout pin to 0V **)
3/ Release the En button, still holding the Boot button. The ESP32 will see the boot pin is low and start the serial bootloader.
4/ Release the Boot button.
** The EN and Boot switches on the red V2.0 Afterburner PCBs are hidden behind the front panel when assembled.
It is easier to make use of the BT and EN pins adjacent to the serial debug port to apply 0V in the correct sequence.
A pair of male-female molex jumper cables can be used.
The large tin can over the ESP module is a convenient ground point to temporarily touch these flying leads to for reseting and entering the serial bootloader.
Connect the 0V, Tx and Rx pins of the USB adapter, taking care to ensure the logic levels are set to 3.3V.
Execute COM.bat from the unzipped files.
A command shell window will open, and progress will be displayed.
(Alternatively start a command window, navigate to the unzipped files and execute COM.bat from there)
All going well, the upload will take place, and become the new firmware resident on the Afterburner.
Despite the ESPtool claiming it has reset the processor, there is no connection to the USB adapter that can do that.
You will need to momentarilly press the En button (or connect the EN breakout pin to 0V) to finally reset the ESP32 and start the new firmware.
DO NOT operate the Boot switch this time.
New Features
Many features are from withdrawn V3.4.9, V3.4.10, V3.4.11 & V3.4.12 releases
New Features
WITHRAWN
New Features
WITHDRAWN
New Features
New Features
CAUTION
The use of non volatile storage has been further optimised with this release.
Your existing settings will be brought forward OK, but it will not be possible to return to an earlier firmware without re-entering many parameters:
New Features
Extended thermostat rangeRECOMMENDATION
Please nudge any one of the heater's tuning parameters, then save.CAUTION
The use of non volatile storage has been optimised with this release.
Your existing settings will be brought forward OK, but it will not be possible to return to an earlier firmware without re-entering many parameters:
New Features
Temperature demand resolutionRECOMMENDATION
Please nudge any one of the heater's tuning parameters, then save.Alternate tuning settings can be readily brought into service (or saved).
Manipulation is ONLY via the latest web content, which must be installed separately.
User defined splash screen is now removed from non volatile storage, and simply a file in SPIFFS.
It must be named "splash.bmp", a 128x64 monochrome, 16 or 256 colour bitmap otherwise it will be ignored.
RECOMMENDATION
Please nudge any one of the heater's tuning parameters, then save.New Features:
Bug Fixes:
Bug Fixes:
Fixed issue with firmware updates failing after fitting a 433MHz receiver.
Development Changes:
Arduino package needs to be patched to prevent core panic in RMT ISR handler.
New Features:
Support for 433MHz key fobs
Bug Fixes:
Parallel running with an OEM controller may fail
Development Changes:
Bluetooth module initialisation changed to allow newer HC-05 modules to work.
Should be backwards compatible.
Bluetooth comms are now 4x faster as a bonus.
New Features:
Stop/Start thermostat mode
Timers can now use a defined temperature.
This temperature overrides the default setting when the timer starts.
Setting to zero maintains the existing desired temperature.
The new set point can still be changed if desired when the timer is active.
Next use of the timer reverts to the setting stored for the timer.
Timer is now tenacious
V3.1.8 introduced start requests being ignored if the current ambient temperature is over the desired
temperature.
If a timer fails to start the heater and the timer is still active, it will retry every minute if not running.
Optional excess fuel usage shutdown.
Avoids needing to reprime fuel line by stopping heater prior to anticipated lack of fuel.
Warning threshold to give warning that fuel is getting low.
User must manually reset usage after refilling tank.
GPIO options
New GPIO input option to reset fuel usage (eg push button near fuel tank, > 1 second hold)
GPIO "Start" input is now time sensitive. A closure < 1.5 seconds will start the heater, longer will stop the heater.
New "Heater Active" GPIO output mode.
New web page update menu (requires STA connection):
Pulls and automatically installs the latest Afterburner web content from the afterburner.mrjones.id.au web server
New STA status menu:
IP address.
STA gateway address.
RSSI of STA WiFi connection (Received Signal Strength Indicator).
WiFi header icon grows according to RSSI.
Option to select STA only WiFi mode. Fails back to AP only if STA not achievable.
MQTT topic prefix is now fixed and based upon the last 3 octets of the STA MAC address: eg:AfterburnerAB01CD
Afterburner only uses "active" mode on the blue wire interface for a short period after a deliberate change to the stored heater settings occur (fuel mixture, system voltage, fan speed & glow plug power).
JSON reporting of Altitude and Humidity info from BME280 sensor if fitted.
Timed moderation of known frequently changing JSON variables.
Port 80 websocket - requires different web content, but simplifies port forwards over a router.
Bug Fixes:
Cyclic mode was not correctly engaged if heater was started due to Frost Mode, and set for user shutdown.
Suppress delivery of GPIO JSON information if no GPIO capability is installed on PCB.
Low Voltage Cutout must be below threshold for more than 10 seconds before a shutdown of the heater is initiated.
MQTT settings adjustment on Afterburner no longer requires a reboot.
FreeRTOS queues added to AsyncTCP to better isolate event callbacks from potential conflicting system calls that may cause watchdog reboots.
Improved behaviour storing float and string non-volatile settings.
Telnet/debug port interface:
Proper handling of CR/LF (enter key) when entering strings (eg MQTT setup).
Able to properly erase MQTT username/password.
MQTT status screen now scrolls lines longer than 20 characters instead of wrapping over next line.
External Thermostat mode would not start if ambient above Afterburner's desired temp (internal thermosat should be ineffective).
Development Changes:
Requested temeprature changes are now handled via the Timer Manager.
Entirely new web server library, allows websocket on same port as HTML is served.
Also allows https, but is not yet stable enough for release so disabled.
Bug Fix:
Factory default could not be effected.
This was due to the revised menu base classes not being used correctly.
New Features:
Added support for I2C BME280 - temperature, altitude & humidity.
Added support for up to 3 parallel DS18B20 sensors, user can define role of each sensor.
Added "Frost mode"
Added "High humidity start mode" (requires BME280).
Start requests are ignored, or immediately advance to cyclic suspend, if too warm.
Debug messages are suppressed when entering setup strings via debug port / telnet.
Temperature sensitive GPIO output capability added
Bug Fixes:
Using AsyncTCP to avoid watchdog reboots in MQTT connection and Web Update version update checks
TelnetSpy patched to allow telnet connection in AP only mode
Body temperature now signed, avoids 65535C for -1C
Low Voltage Cutoff prevented usage on lower voltage lithium battery systems, even when disabled.
Development Changes:
Support for ESP-PROG JTAG source level debug:
Requires USE_JTAG 1 in BTCconfig.h and moving DS18B20 to pin 33 from 15.
Pullup must also be removed from pin 15.
Best to use Mk1 PCB as all pins are un allocated and available on header other than pin 15.
New menu base class, cleaner headers
Timing of Half Duplex gating signal managed by real time timer.
The defacto standard release for a very long time
New Features:
Support for simple menu, or no heater menus!
Fast switch to heater tuning from detailed menu, hold left and right buttons.
Option to remember menu password for 24 hours (avoid needing re-entry)
Bug Fixes:
Incorrect extraction of demand when in Fixed Hz mode.
11 Sep, 2019
Bug Fix:
Unable to disable WiFi.
STA reconnect added to V3.1.2 caused AP mode to always be started after 10 seconds.
If WiFi was disabled from STA+AP mode the Afterburner would panic and reboot every 10 seconds due to WiFi restore attempt but not correctly initialised. :-(
8 Sep, 2019
New Features:
MQTT.
External Thermostat timeout, allows single contact closure from an external thermostat to both start and stop the heater, as well as the usual high and low fuel rates.
12 hour clock presentation mode.
JSON watchdog allows link monitoring, especially for STA connections using MQTT.
Bug Fixes:
STA connections are now restored should they drop out (or not established at boot).
Non ASCII character in JSON output for external thermostat mode led to unstable webssocket behaviour and watchdog reboots.
10 Aug, 2019
New Features:
Added support for an external thermostat contact closure via digital GPIO input 2. Heater runs at full power when closed to ground, idle power when contact is open.
Need to enable the GPIO function and also set external thermostat in the thermostat modes setup to enable this function.
3 Aug, 2019
Bug Fix:
Web update would undergo a watchdog timeout before the entire download had been completed and verified.
New features:
Supports GPIO less operation.
Timer icon back to small size, time of next start/stop can be presented by pressing centre key in base menus.
Customisable splash screen. Standard splash screen
30 July, 2019
Bug Fixes:
Minor screen residual update elements dealt with.
28 July, 2019
New Features:
Fuel consumed gauge.
Hour meters for run time and glow plug.
System uptime.
Programmable low voltage cutout.
Temperature probe offset.
Enhanced embedded web pages. More cohesive for firmware update, system reboot, file systyem re-formatting.
Web server now supports .gz files, saving precious file system space.
Revised menu structure - introduction of a trunk menu, branching to Root, User settings, System settings and Heater tuning menu loops.
Firmware uploads now verify the binary is truly suitable for the Afterburner. Invalid binaries are rejected.
Gotchas:
The SPIFFS partition has shifted from older versions which may result in web browser errors.
Using a web browser, please access the "http://yourAfterburnerIPaddress/update" page.
Enter the Afterburner/BurnBabyBurn credentials and use the Format SPIFFS button.
Then reload the web content as instructed.
29 June, 2019
Enhancements:
DS18B20 one wire communication is now managed via the RMT peripheral which ensures valid bit timing being a hardware device. Stability of sensor readings is now rock solid, undisturbed by activity on WiFi or Bluetooth.
Variables that maintain their value over a warm reboot are now used for cyclic, temperature and pump demands.
These will revert to defaults upon a power cycle, firmware update, or hard reset.
JSONpack reaplces JSONloose as the method to control the delivery of single line JSON data over Bluetooth.
Timing of actual NV storage is better managed to avoid disturbing blue wire communications.
25 June, 2019
Bug Fixes:
Temperature sensor readings were disturbed when new temperature demands were being received from web or Bluetooth clients.
Websocket timeout seems to be a lot more stable, this may be related to some subtle syntax issues detected when migrating to PlatformIO for development....
Note:
The application is now built via PlatformIO which sports a stricter and more verbose compiler than the prior Arduino based environment.
It is suspected this may have solved a long standing issue with websocket communications entering a perpetual 10 second timeout for each JSON batch emitted. This dramatically affected the operation.
If you do still experience inordinate websocket delays please contact me: afterburner@mrjones.id.au
16 June, 2019
Bug fixes:
Next timer icon would only appear if a new firmware update had been detected.
Fixed Hz operation with Linear Hz enabled or Cyclic thermostat mode now behaves correctly., this was by separating desired temperature and desired pump rates internally (previosuly the same value).
If using cyclic mode with a Fixed Hz demand, first set the desired temperature whilst in thermostat mode, then switch to Fixed Hz mode.
Overtemp shutdown and restart are then relative to the thermostat's set temperature.
Factory default did nothing!
Intermittent comms timeouts do not throw E-07 immediately, these would also cause heater shutdown if Cyclic mode is enabled.
New features:
Cyclic mode extents are drawn against current temperature bulb in Detailed GUI.
Bluetooth JSON can be forced to single line and element mode.
This is for 3rd party SPP applications that cannot handle JSON blocks well, eg "roboremo".
{"JSONloose":1} must be sent to the Afterburner over Bluetooth or Websocket to enable this mode.
The new setting is recorded in non volatile storage for future JSON usage.
This only affects the JSON stream over Bluetooth.
Classier startup splash screen.
6 June, 2019
Bug fix of incorrect non volatile storage.
JSON nouns added to allow GPIO monitoring & control.
3 June, 2019
Now supports Web Update and browser updating of firmware.
Web update is initiated via Version menu in User Settings menu loop.
Browser update can also be used to update the HTML files saved to SPIFFS used for the web server.
Timer data is no longer sent by default upon new client connections. This requires a new Android Bluetooth app to support.
Improved Wifi traffic animation, was mushed into OTA annotation when OTA was enabled.
OTA progress now reported on OLED. Works for classic OTA, browser update or web update.
Can install factory defaults for stored NV settings via Version menu in User Settings menu loop.
11 May, 2019
OTA updates would not reboot using AP only.
OTA update progress appears on OLED.
DegF values shown in advanced thermostat menus when degF mode is enabled.
Advanced Thermostat Menu un-cramped about cyclic stop/start values.
Cyclic thermostat settings were not being retained correctly.
Tidied Bluetooth setup.
New Bluetooth Android app.
SoftAP and Bluetooth servers now use the name "Afterburner".
9 May, 2019
websocket 10 second timeout issue
27 April, 2019
Added graphic icons in User Settings menus
Designed with Mobirise - Try here