Enhanced Heat bed options

Hello, I have a few requests for additional heat bed options.
1- Please add an option to invert the heat bed control pin.  What I mean is that when the heater is on, the pin is pulled to ground instead of pulled high.  This allows easily timing a pin directly to the PSON pin of an ATX power supply for powering the heat bed without having to use external relays/mosfets/SSR's.

2- I would like support added for dual-zone heat beds.  For example on large format printers, we may implement an inner heating zone and an outer ring, each that could be controlled independently.  Ideally, we would have the option to determine which zone to use (or both), and have the option of either a common thermistor or independent thermistors for each zone.

Thank you!


  • Inverting be dsignal is easy to change in HAL.cpp. Just invert it where the heater pin gets set/unset. But I do not like to have it there by default as it is dangerous. It means when not controlled e.g. during firmware upload the bed fires uncontrolled full power. For that reason all boards except one revision of one board have it that way.

    2. Generally a good idea. Have to think about how to do this. Know users with even 4 segments and more.Main problem here is host compatibility as hosts only know about one heated bed. Maybe just output temperature of coolest active bed. Would solve it. A specialcommand can then select active fields.
  • Thank you. I will look in HAL.cpp. Open to any ideas on multi-zone heater support and happy to help test if needed to get it online.
  • As a temporary solution you can add a extruder and use that to heat second zone. Just do not extrude:-)
  • Brilliant! I've been stuck in Marlin land too long to have even considered that!

    Just browsing the HAL.cpp rom the iPad, I believe I've found the two places I need to invert. I must say, the code is very clean!
Sign In or Register to comment.