Burner controller


Hi all, its been a while since I last stretched the brain and this latest project is certainly going to do that.
I have recently acquired a diesel/water pre heater off a mazda car and am planning to use this to heat my shed and the green house, the only problem is that it will not run stand alone with out the ecu on the car. My idea is to build my own controller using a PICAXE 18A. I have listed below how far I’ve got in the sense of I/O.

' Diesel Heater Control

' symbol temp sensor = pin0
' symbol flame sensor = pin1
' symbol standby/run = pin2
' symbol lock out reset = pin3

' symbol lock out LED = 0
' symbol burner motor = 1
' symbol fuel pump = 2
' symbol water pump = 3
' symbol glow plug = 4

The temp and flame sensor are analog (which is new to me) and the other to inputs are straight digital on/off. All of the outputs are on/off but I would like the burner motor to be speed adjustable in order to do high and low flame running at certain temperatures, also the fuel pump is a metering type and needs to be pulsed about two or three times a second for high flame and once a seconds for a low flame along with the slower burner motor speed. (still with me).

The idea of operation is hopefully as follows :-
1. pin2 high (system run)
2. water pump on
3. burner motor on full for a few seconds then slow to half and stop
4. glow plug on
5. after 10sec, one pulls of fuel pump and burner motor on half
6. after 4sec another pulls of fuel
7. after 4sec another pulls of fuel
8. after 4sec another pulls of fuel
9. after 4sec another pulls of fuel
10. check input from flame sensor
11. if ok (flame lit) then increase fuel to three pulses a second and the burner motor to three quarters. If not (flame out) switch off glow plug and fuel pump and run burner motor at full for 10sec and lock out.
12. if still ok switch off glow plug and continue to run.

When the burner is up and running and happy then the temperature control comes into play. I would like it so that from the minimum temp to about 60C the burner ran at full power (high flame) and then from then to 75C run at half power (low flame). When the temp reaches 75-76C the burner should shut down as follows but leave the water pump running :-

1. fuel off
2. continue to run burner motor for 30sec
3. stop burner fan and standby

when the temperature drops to about 70C restart.

When it is time to shut down fully the following should happen :-
1. fuel off
2. continue to run burner motor and water pump for 30secs
3. stop burner and water pump motor
4. standby

I hope that all sort of makes sense and welcome any suggestions.


Senior Member
Enlighten me please:

What Mazda had/has a diesel engine?

Why would a diesel engine require a water heater? If anything you would want to get rid of heat, right?


Enlighten me please:

What Mazda had/has a diesel engine?

Why would a diesel engine require a water heater? If anything you would want to get rid of heat, right?
quite a few actually. 323's, 626's, 3's, 5's, 6's, etc (not to mention a range of Mazda trucks)
Have a look here for enlightenment: http://en.wikipedia.org/wiki/Mazda_Diesel_engine

A jacket water heater is often used to keep the engine warm for a rapid start and loading - particularly with diesel engine driven generating sets for emergency applications even in warm climates.

The jacket water heating is turned off as the engine is started.


Senior Member
I suspect that the (original) engine ECU would also require inputs for RPM and fuel flow. Maybe oil pressure?
Certainly sounds doable, if kept to what you have outlined in Post#1.
Not sure if a 18A is up to the job, maybe a faster, large code space bearing processor like a 20X2 is more suitable.

See how you go. If your code starts becoming too big, change processor. :D


Westaust55 is spot on, they are only used to maintain a block temperature when the engine is not running, or in the case of a car it can be set to warm the engine and the cabin space (defrost the windows) before you even go out to the car.

Thank you all for your replies and its the code that I have problems with, I'm more of a hardware than a software person, but when I get my head around it I'm usually fine.


Analog - ReadADC?
What voltage levels are we talking about?
Do we need Potential Divider or similar?

What's all this "pulls of fuel"? Is it some technical jargon?
You've basically written a Flowchart in text, so can't you convert this to psuedo-BASIC?
Check out ReadADC and Pause in the BASIC Manual.

Can you provide a schematic and describe the function of each I/O of this heater?
This could be a long task for the Forum volunteer (Westy?) so please provide him with as much technical and documentary detail as possible.

I appreciate the keeness of hobby projects, but from the safety and hassle aspects, how much does a suitable heater cost from the shops?


The fuel pump is basically just a solenoid and squirts abit of fuel into the burner every time it revives a pules of 12V.

Its the analogue and getting more than one thing to happen at a time that I have trouble with.