Repetier with Ramps FD. Headbed conected to Pin 7 (!). How to invert signal?

Hello everybody - i need your help!

Sorry for my bad english......hope that you can follow me anyway

My 220V Heatbed is fired with a "Tyristor" circuit. ( Similar to SSR ) . At the input is an optical coupler which controls the thyristors .
Currently I use the FD Ramps v1.x. Unfortunately, this board has the disadvantage of inverted MOSFETs.
For Heatbed I defined digital pin "7" as outputpin (Logik voltage 3.3V) with the online configuration tool .

UNFORTUNATELY ( ! ) the following code in the "pin.h":

#if MOTHERBOARD == 403

affect ALL (!) Heaterpins!!! included my newly defined "Pin 7".

Therfore my headbed is on when it should be off (and i cant't not turn off - strangely!) . The only solution : pull out the plug in Ramps or AC !

Is there an easy way to selectively "invert " a specified Heaterpin ? Since the term " HEATER_PINS_INVERTED " occurs so often... I shy away from it!

With Ramps 1.4 my solution works flawlessly !

Thanks for having attention to my problem and for the altercation with my modest English:-)



  • In the whole project search for 


    and negate the following parameter containing HEATER_PINS_INVERTED

    then the bed is inverted to extruders.

  • Great support!
    it works !!!!!!!!!!!!!!!!
    I'm happy :-)

    Thank you, you saved my day!

  • edited May 2020

    Sorry, I'm not sure I can find the right one ...

    I find 11 in 4 files.

    Pleas, can you help ...

    Is it right here?
    And negate like this?

        pulseDensityModulate(HEATED_BED_HEATER_PIN, pwm_pos[NUM_EXTRUDER], pwm_pos_set[NUM_EXTRUDER], !HEATER_PINS_INVERTED);
        if(pwm_pos_set[NUM_EXTRUDER] == pwm_count_heater && pwm_pos_set[NUM_EXTRUDER] != HEATER_PWM_MASK) WRITE(HEATED_BED_HEATER_PIN, !HEATER_PINS_INVERTED);


  • Depends on what your problem is. Normally you just change
    HEATER_PINS_INVERTED in configuration and it is ok as it inverts heater output. If you use one of them and need different signal, then yes that is a good example - in this case for bed output where it inverts. In printer.cpp there is also one that sets initial value.
Sign In or Register to comment.