YOUYUE 858D+ hotair station — reverse engineering #2

In part one I dealt with the very basics: fan control, buttons and the display.

Now it is time to attack the business end of this device!

Safety warning / disclaimer:

Please understand that operating a device powered by line-voltage, especially if it is open and you may stick your fingers inside (which you really really shouldn’t), is a potent source of all sorts of bad things of a final nature.

  • You may severely burn your flesh (not just medium, but well done)
  • You can start a fire and burn down your house
  • You can electrocute yourself, then start a fire and burn down your house

I think you get my point.

If you still insist in opening up such devices, there is one rule to rule them all:

Always make sure the power cord is unplugged, before you stick your fingers inside the device. Check for that fact repeatedly. Don’t allow your brain to trick you into thinking that you’ve unplugged the cable some time ago, always check, double check, triple check. If you leave your workplace and come back or you got distracted by something, check the power cable for unplugged-ness again. If you know you cannot trust yourself, cover the power-socket of the device with tape. Then check that the tape is still in place…


You’ve only got one life – and there is no backup to restore.

Step 8: reading the thermo-couple


The analog reference voltage for the ADC has to be switched to EXTERNAL (about VCC / 2). This results in readings that are in °C without doing any conversion. I have had to add an empirically determined offset value to that number. Maybe due to the fact that I calibrated against a sensor in front of the nozzle.

Step 9: temperature control

The heater of the device has an output power of about 650W, packed into a very small space. It will heat up very quickly, almost too quickly to react if something goes wrong. And if for some reason the fan isn’t running, the heat will not get out and build up until all you care about is where the next fire extinguisher is.

Don’t operate the heater without a working temperature readout. Make sure your code doesn’t lock up or spends too much time doing other stuff when the heater is on.

It’s a very good idea to add heater-on feedback by means of the 7-segment display.

Keep a close eye on the temperature readings and be ready to cut power at any time. To help the heater cool down, you can blow air into the back of the wand, so it goes back to a ‘sub-critical’ state.

I’ve implemented PD control for the heater. It works reasonably, but needs some more tuning of the P and D constants. The error signal changes the PWM duty cycle that drives the heater. Currently PWM resolution is not great (all done in software), so the smallest on-time of the heater is still a bit too large. I may switch to hardware-driven PWM later, which should help a bit.

One major advantage compared to the stock firmware is that now the device shows the current temperature, so you see important stuff like overshoot and fluctuations if they occur. Previously the device would only show its temperature set-point, hiding away all the important information.

Continue reading: Part III

This entry was posted in Arduino., Soldering & PCBs. and tagged , , , . Bookmark the permalink.

8 Responses to YOUYUE 858D+ hotair station — reverse engineering #2

  1. Michael says:

    have you still got the source code as im looking to build my self a hotair station
    and this would be a great help

    kind regards

  2. Simon says:

    What frequency does your PWM run at? I’ve just ordered an Atten 858D+ and am looking to do the same firmware mods as you and add RS232 control in order to be able to connect it to a DIY BGA reflow station. As I have no experience of ATMEGA devices, I will be using a PIC micro on an adapter PCB that plugs into the existing IC socket. As the PIC internal speed is 4x slower than the external oscillator I will probably use the hardware PWM on board the PIC, so would like to run it around the same frequency that yours runs at to have a good chance of it working correctly!

    Kind regards,

    • robert says:

      I haven’t measured it. It runs as fast as the main loop spins. It is purely software driven. As the opto driving the triac has zero-crossing detection, sub-cycle control doesn’t work anyway.

      • Simon says:

        I’d missed the zero crossing bit. I’ve now started on my Atten firmware. The circuit is almost identical to the Youyue one apart from the micro. In case it helps you, I think i’ve worked out why the fan voltage is fed back into an ADC – its to adjust the temperature offset between the heater and the exiting air – the fan speed will affect this.

        • robert says:

          That sounds sensible. Although the fan voltage is not necessarily a good measure for the air speed. Motor rpm would be better. Too bad I still haven’t implemented the commutation detection. Still waiting on a breadboard somewhere.

  3. Dirty Engineer says:

    I’ve really enjoyed reading this post. I found it very informative and the safety section at the top had me lol’ing a couple time. Great job.

  4. robert says:

    Yes, the “not living forever thing if you’re acting stupid” has a firm place in my mind. No need to speed up things in that direction, as there are already way too many ways to go early. I hear the sand in the hour-glass of life every day.

Comments are closed.