I have this Bosch hot glue pen. It has an annoying habit of turning itself off. I guess it's probably intended to be a safety feature or a battery saver, but really it's just a nuisance.

photo of outside of glue gun

photo of glue gun internal parts

Can I modify the circuit to bypass this functionality? I want it to stay on, until I switch it off manually/by hand.

photo of glue gun PCB

photo of glue gun PCB

(Images from: Electro Bob - Bosch GluePen teardown)

  • \$\begingroup\$ are you certain that there is no option for disabling the timeout? \$\endgroup\$ – jsotola Jan 6 '19 at 2:37
  • \$\begingroup\$ If I use mine constantly ie every 30 seconds then it stays on, if I leave it too long between uses it turns off... So, if you are not using it much it does the logical thing ie turns off... If you only use it once an hour then perhaps consider a mains one... \$\endgroup\$ – Solar Mike Jan 6 '19 at 7:30
  • \$\begingroup\$ @SolarMike I know what I want \$\endgroup\$ – voices Jan 6 '19 at 7:32
  • \$\begingroup\$ Good luck designing it then... \$\endgroup\$ – Solar Mike Jan 6 '19 at 7:34
  • \$\begingroup\$ @SolarMike Thanks, but I already have this item in hand. I'm more inclined to modify the existing design, than to reinvent the wheel. \$\endgroup\$ – voices Jan 6 '19 at 7:53

That 14-pin IC on the PCB is an ATTiny24A, which is an 8-bit AVR microcontroller. The entire device, including the auto power off feature is undoubtedly controlled by the program that MCU is executing. In this case, your only hope for disabling the automatic shut-off would be to change the program on that MCU.

If you had access to the source code, disabling that feature would probably be a quite simple change. But since you don't, you would probably have to reverse engineer the circuitry and its behavior and create your own program from scratch if you wanted the pen to work without turning off automatically. Fortunately the circuitry looks quite simple, and the operation of the MCU is probably very simple as well, so this wouldn't be that hard as these sorts of projects go, but it would still be a fair bit of work to eliminate what sounds like a pretty minor nuisance.

It's possible, but highly unlikely, that you could use the microcontroller's programming interface to read out the existing binary program, then edit that program and load it back onto the MCU, but you'd be editing not just assembly, but assembly that has been disassembled from binary, which makes the task a lot more difficult (or at least a lot more tedious). This is not likely to be a viable option because the MCU likely has its memory protection fuses set, meaning that you cannot read out the program without erasing the entire MCU. It's also possible that the manufacturer has disabled the programming interface, in which case you would have to replace the entire IC in order to do anything with the circuitry. (Not all MCUs support disabling the programming interface, I'm not sure if this one in particular has that feature or not.)

One thing to note is that there's no obvious temperature feedback, so I see three possibilities:

  • The heating element has a sufficient positive temperature coefficient of resistance and so is self-regulating
  • The MCU has been programmed to provide reasonable operation without feedback (based on a simple model of the heating element)
  • The circuitry is actually using the heating element itself for feedback, IE, by momentarily turning the element off and measuring its resistance to determine its temperature

You would need to reverse engineer the circuitry and/or observe the device's behavior in use to determine which of those is the case.

  • 1
    \$\begingroup\$ I think it's checks the temperature just by measuring the resistance of the element. Anyway, screw it. It's just a hot glue gun. Other than the Lithium Ion battery, it doesn't need to be any more sophisticated than a toaster, or a lightbulb. Rather than spend time reverse engineering it, maybe I ought to just start from scratch? \$\endgroup\$ – voices Jan 6 '19 at 1:55
  • \$\begingroup\$ OP, you might be better off just buying a different one rather than reprogramming it or bypassing the controller entirely; it may have a feedback system programmed into it and by changing something on the controller (provided you could modify it at all ) you might cause more damage than anticipated. You would need a lot of experience and knowledge to even comprehend the dissassembled instructions (to get the bigger picture), let alone rewrite it. This answer is very thorough but it's not what i would recommend. \$\endgroup\$ – QuickishFM Jan 6 '19 at 20:33

Presumably the timing restarts whenever that button is pressed, so I suppose you could add something like a 555 to periodically fake a button press. Details would depend on your ability to reverse engineer what is going on.

  • \$\begingroup\$ I like where you're going with this. A single button press would turn it off. Two in a row would stop and start. Could a 555 do that? Every 5 minutes: Off, On. Until I press it manually to turn it off. \$\endgroup\$ – voices Jan 6 '19 at 2:03
  • \$\begingroup\$ Maybe a dual, or add another micro. \$\endgroup\$ – Spehro Pefhany Jan 6 '19 at 2:17
  • \$\begingroup\$ I'm eager for details \$\endgroup\$ – voices Jan 6 '19 at 7:36
  • 1
    \$\begingroup\$ First you need to figure out what keeps it awake when in use. Then figure out how to simulate that action. Add the details into your question. \$\endgroup\$ – Transistor Jan 6 '19 at 14:07
  • \$\begingroup\$ If you wanted an easy way to do it you could simulate a double press with an Arduino - but the challenge is fitting one in there, and getting it powered. Perhaps a Pro Micro can do it? Otherwise you might have to play around with 555 timer, but then it would only press it at certain intervals equally (between the on AND off), which would cause more annoyance and wouldn't let you even heat it up until it turns off again. EDIT: I just saw it runs off of 5V USB. You could probably fit a Pro Micro in there, powered in parallel. If you do, remember to insulate it all. \$\endgroup\$ – QuickishFM Jan 6 '19 at 20:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.