Posted on 17 Comments

Afterburner Aftermarket Diesel Heater Controller Build

While I’m pretty happy with the Chinese diesel heater replacement for the old Eberspacher on the trolley, the stock controller leaves much to be desired. While functional, it’s fairly unresponsive, bulky & doesn’t allow external control as the Eberspacher did with it’s simple ON/OFF signal. So after a massive amount of searching on the web, (it wasn’t easy to find, damn SEO!), I discovered a project by a chap in Australia who has reverse engineered the communications protocol of these heaters, & built a fully custom controller. This is based around the ESP32 Wi-Fi microcontroller, and a Bluetooth HC-05 module. Display is by means of a 1.3″ OLED screen.

Bare PCB
Bare PCB

Here’s the bare PCB kindly sent to me by Ray down under to get this project kickstarted. No THT components here apart from headers, everything is minimum 0805 size.

Populated PCB
Populated PCB

Here’s the controller PCB fully populated, with the ESP32 & Bluetooth HC-05 modules on board. There was a slight issue with the 3.3v regulator not matching the pinout of the PCB, so some minor bodge work required there, but the current draw of the unit is so low that the regulator doesn’t get warm, even with the heatsink tab floating in mid-air. I’ll hot-snot this down to avoid any vibration issues. Incedentally, soldering the castellated connections of the modules is a real pain – problems with contacts not wetting first time were an issue here. Use plenty of flux!

The two JST connectors are for the main heater loom, and an external temperature probe that feeds back for the thermostat mode of the controller. Reset & Bootloader buttons are provided on the board for easy firmware loading. There’s also some spare GPIO broken out for other uses, along with the required UART port for firmware & debugging access. The clock is maintained by a DS3231 RTC IC, which oddly enough is expensive on it’s own – buying an Arduino RTC module & using a hot-air pencil to desolder the IC worked out £4 cheaper than buying the IC direct! The RTC is backed up by a lithium coin cell.

The communications interface is taken care of by a couple of single gates in SOT-23 packages, which interfaces the 3v3 ESP32 with the 5v signalling levels of the heater’s control bus. This unit is a little odd for a communications interface – it is standard serial, but at an odd baud rate of 25,000, and instead of separate TX & RX lines, the transmissions are gated for TX & RX down a single wire. I fail to understand the logic of doing this, since wire isn’t expensive & extra components just add complexity!

A couple of build notes on this controller:

  • R4 & R5 are swapped on the silkscreen. Bootloader issues ensued!
  • The blue PCB Bluetooth module doesn’t function correctly with the controller, allowing receive but no transmit. Odd.
  • There are two pinout variations on the 1.3″ OLEDs. This layout requires the GND pin leftmost.
PCB Front
PCB Front

The front of the PCB holds the OLED display panel, and the control button array. Not much else on this side of the board besides the RTC battery switching diodes & some passives.

Glow Plug Heating
Glow Plug Heating

The case to house the PCB is 3D printed, I didn’t bother with the matching buttons as I don’t currently have any flexible filament to print with, so long stem tact switches are used. The controller is running the heater through a cycle here on the Detailed Info screen, where the most comprehensive heater info is displayed. In this stage, the heater’s ECU is warming the glow plug up ready for ignition.

Igniting
Igniting

After the glow plug has heated, the ECU starts the fuel metering pump at it’s lowest rate to get a flame going. The glow plug is still active to vaporise the fuel.

Burner Running - Heatup
Burner Running – Heatup

Once the thermistor on the heat exchanger registers a temperature increase, the ECU detects the burner has lit, and starts increasing the fuelling rate & blower speed.

Warming Up
Warming Up

Once the temperature hits a threshold, around 55°C, the ECU switches off the glow plug & ramps the fuelling rate up to max to warm the heat exchanger to operating temperature. The detailed page displays both the room temperature (left), set temperature & heat exchanger temperature (right).

Heater Running
Heater Running

Once the heat exchanger has reached running temperature, the ECU switches control to the thermostat, in this case the new controller.

Shutdown
Shutdown

When a shutdown is initiated, the heater brings the glow plug back on & reduces the fuelling rate to minimum for a couple of minutes, before stopping fuel flow. The glow plug remains running for a while to burn off any remaining fuel residue.

Cooling Cycle
Cooling Cycle

Finally, the ECU cuts power to the glow plug, and keeps the fan running at medium speed until the heat exchanger cools to below 55°C.

Posted on Leave a comment

Festival Power Trolley – Heater Upgrades

Eberspacher D1LCC
Eberspacher D1LCC

As part of the giant power bank that gets dragged to all my major camping trips & festivals, there is an old Eberspacher Diesel heater, a D1LCC from at first guess somewhere in the mid 90’s. At only 1.8kW heat output this is a little small for our current tent, and it struggles to keep the temperature comfortable at night, so with Chinese clones on the market these days much cheaper than the Eberspacher or Webasto units, a replacement was up! Still, the old Eberspacher is in working order, and will probably get used for some other project.

Diesel Heaters
Diesel Heaters

After removing the old D1LCC & placing it next to the new one, the size difference is obvious! The new heater is a Chinese clone of the Eberspacher D4 unit, allegedly uprated to 8kW. (In reality, it’s probably around 5kW heat output at full tilt). Luckily, it’s not that much larger than the old one, so it’ll go into the same space.

New Heater
New Heater

The port layout on the bottom of the heater is identical apart from intake port size, a quick attack of the baseplate with a grinder to remove the old hole pattern allowed the supplied mounting plate to fit correctly into place for the new heater. The duct size on this unit is also bigger than the old 60mm – 75mm duct is used on these large units. No modification to the vent hole was required, as the 75mm vent already fit perfectly. To clear the fittings on the top of the fuel tank, which is just underneath the hot air exhaust cowling of the heater, the mounting plate is fixed using 10mm nylon standoffs, this also helps get a bit more natural airflow around the base of the heater, as the mounting gets to 90°C in operation at full power!

These heaters don’t use the Eberspacher standard switch wire for control – there are only 3 pins in the loom to the controller, for 5v power & an odd UART which uses gated TX/RX to avoid having a separate line for each.

Stock Controller
Stock Controller

The stock controller has quite a nice looking LCD display, but it’s less than responsive & the backlight is always on at full tilt. It’s also much larger than the Eberspacher 701 controller so would require some rejigging of the control panel on the trolley. The built-in thermostat is also inaccurate, being almost 5°C high no matter what the room temperature. Ray Jones from Down Under has designed an open source ESP32 based controller for these heaters, and one of these is currently being built to control the unit. More to come on this bit!

Stock Controller PCB
Stock Controller PCB

A quick teardown of the controller reveals pretty simple internals, there’s a microcontroller, probably an STM8 device by looking at the programming header, but the markings have been scrubbed off the IC. There’s a standard LCD controller IC, a RTC which isn’t battery backed, and a 433MHz receiver IC with PCB trace antenna.
I wasn’t able to get the remote control function working with any of the remotes I have, any attempt at pairing a remote didn’t give any response from the controller unit. I also tried a 315MHz remote, but that didn’t work either. Not an issue since I’m building a much better open source controller.

Fuel & Exhaust
Fuel & Exhaust

Under the base is the exhaust system & the fuel dosing pump. There’s a small filter in the feed line from the tank to keep crap out of the pump, and nylon fuel line then runs the fuel to the heater inlet. The exhaust is made as gas-tight as possible with foil tape & exhaust paste, to keep the exhaust fumes contained in the pipework until they’re vented outside. The rest of the exhaust after the right hand silencer is done in brazed 22mm copper pipe, and a piece of Eberspacher exhaust duct is removable from the final exhaust tail for storage. The black pipe is the combustion air intake, which is simply fed into a silencer cable tied to the trolley frame.

Heater Ports
Heater Ports

The 3 ports are visible under the mounting plate, the square hole cut out of the trolley base to accommodate everything.

 

Posted on Leave a comment

Smiths Venture ATH4 Mechanical Tachometer Teardown

Venture ATH4 Tachometer
Venture ATH4 Tachometer

Quite a nice skip find this – it’s a mechanical tachometer from Smiths, the Venture ATH4. Scaled to run to 50,000RPM in x1, x100 & x1000 scales this is quite a nice instrument. Input drive shaft is on the right, with the scale selection knob & pointer lock. Mechanical eddy-current movement is on the left.

Top Cover Removed
Top Cover Removed

3 small screws allow the front cover with the crystal to be removed from the movement. Calibration is done with the adjustment in the centre of the movement itself, which will alter the tension on the hairspring. The ranging gearbox is on the right side, full of old hardened grease which I’ll probably clean out & replace with fresh.

Bare Mech
Bare Mech

With care it’s possible to remove the scale face without harming the movement or the very fine needle, this shows the remaining part of the mechanical drive. The see-saw after the gearbox is the reversing drive, so that the needle moves regardless of the input shaft rotational direction.

Low Gear
Low Gear

The ranging gearbox is very neat. It has 3 different gear ratios for the different ranges – here it is in the 500RPM position, which effectively gears the input drive up to drive the movement faster.

Mid Range
Mid Range

On the mid scale of 5000RPM, the gearbox reverts to direct drive into the movement, by pushing the input & output gears together – they both have gods on their faces to facilitate this drive.

High Gear
High Gear

On the 50,000RPM range, the gearing changes to a reduction drive, slowing down the output to the movement.

Movement Drive
Movement Drive

After the ranging gearbox, there’s a final worm-drive reduction, with a fibre gear to reduce friction, and the reversing drive. The alloy bar swings with the forces of the worm drive to keep the drive to the eddy current movement, which is just visible under the black plate, running in the same direction regardless of direction of input drive. The pointer lock is also visible here, as the fine wire under the black plate. This just touches the drag cup to stop the pointer moving.

Amazingly, even though the calibration sticker has this instrument as last calibrated in 1997, it seems to be still perfectly within calibration – I’ll have to compare with a laser tachometer to see how accurate it actually is.