<p>I thought this was an easy problem to fix as the previous <a href="https://pastebin.com/J6Pfu5Lb" rel="nofollow noreferrer">Configuration.h</a> you shared had PID incorrectly configured. </p>

<p>I'm guessing that you experience this LCD screen:</p>

<p><a href="https://i.sstatic.net/uivye.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/uivye.jpg" alt="&quot;Bed heating failed&quot; message"></a></p>

<p>What I experienced myself when PID tuning the bed is that it matters whether the bed is preheated or not. At first attempt the command such as the  <code>M303 E-1 C8 S70</code> you used did result a failed PID tuning (note that you should perform the test from a cold bed). </p>

<p>Your PID values:</p>

<pre><code>// PIDTune from Pronterface
#define DEFAULT_bedKp 305.95
#define DEFAULT_bedKi 60.24
#define DEFAULT_bedKd 388.4805
</code></pre>

<p>are similar results as I have for a 24V 300 x 300 x 3 mm bottom cork insulated heat plate with 3 mm glass.</p>

<p>You have not added the "Configuration_adv.h", but this file contains the advanced settings for the printer and most probably contain:</p>

<pre>
#if ENABLED(THERMAL_PROTECTION_BED)
  #define THERMAL_PROTECTION_BED_PERIOD 20    // Seconds
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius

  /**
   * As described above, except for the bed (M140/M190/M303).
   */
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
#endif
</pre>

<p>This describes that the software waits for 60 seconds for the bed to increase 2 &deg;C. If the temperature increase is not observed, there is no heat input to the bed, or it does not reach the set temperature. Please check your values.</p>

CC BY-SA 4.0
2018-11-23T08:29:04.147Z
Updated with requested information, Disabling PIDTEMPBED and re-enabling MAX_BED_POWER allows the printer to control the bed again
NXSmiggy
CC BY-SA 4.0
2018-11-23T17:13:22.820Z
Additional information provided as requested
NXSmiggy
CC BY-SA 4.0
2018-11-23T08:09:50.533Z
2018-11-23T12:58:03.633Z
2018-11-23T12:58:03.633Z
0scar
<p>Running my Ultrabase (glass plate) through a MOSFET on an stock A8 board with Marlin 1.1.8. When I do PID tune through Pronterface (by using the <code>M303 E-1 C8 S70</code> command) the bed heats up no problem and completes the tune, but when printing from SD or using the Preheat PLA command on the printer to heat the bed, nothing happens and then I get "Bed heating failed".</p>

<p>As its working through Pronterface I know the wiring is okay.</p>

<p><a href="https://pastebin.com/q5ptKKc5" rel="nofollow noreferrer">Configuration.h</a></p>

<p><a href="https://pastebin.com/Uijit43n" rel="nofollow noreferrer">Configuration_adv.h</a></p>

<p>Anet A8 Stock Board<br>
Ultrabase 220x200 12v<br>
PID Values extracted from Pronterface Via <code>M303 E-1 C8 S70</code> from cold bed<br>
Message take about 1 minute to appear, seems to be a timeout as opposed to an instant error</p>

<p>Disabling PIDTEMPBED and enabling MAX_BED_POWER resolves the issue allowing the printer to heat the bed</p>

<p>Thermal protection for bed set to    </p>

<pre><code>#define WATCH_BED_TEMP_PERIOD 180               // Seconds
#define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
</code></pre>

<p>When using PIDTEMPBED the LED on the bed does not light, but when using MAX_BED_POWER / PIDTUNE it does</p>

CC BY-SA 4.0
2018-11-22T13:59:17.010Z
what G-code is executed to get PID tunning?
profesor79
CC BY-SA 4.0
2018-11-22T14:00:26.647Z
M303 E-1 C8 S70
NXSmiggy
CC BY-SA 4.0
2018-11-23T08:02:11.480Z
Please add some details in your question (by [edit]) on printer size/type, voltage, how you got the PID values (e.g. heated bed first or from cold)? Also explain if the message pops up instantly, or after a few seconds.
0scar
CC BY-SA 4.0
2018-11-23T09:57:23.173Z
@NXSmiggy Disabling PIDBDTEMP results in bang-bang heat up. PID is bypassed.
0scar
<marlin><heated-bed><anet-a8><firmware>
Bed heating from Pronterface works, but not from LCD menu nor from SD print
NXSmiggy
# Bed heating from Pronterface works, but not from LCD menu nor from SD print

(Asked by: username_0 on 2018-11-22)

Running my Ultrabase (glass plate) through a MOSFET on an stock A8 board with Marlin 1.1.8. When I do PID tune through Pronterface (by using the `M303 E-1 C8 S70` command) the bed heats up no problem and completes the tune, but when printing from SD or using the Preheat PLA command on the printer to heat the bed, nothing happens and then I get "Bed heating failed".

As its working through Pronterface I know the wiring is okay.

[Configuration.h](https://pastebin.com/q5ptKKc5)

[Configuration\_adv.h](https://pastebin.com/Uijit43n)

Anet A8 Stock Board  
Ultrabase 220x200 12v  
PID Values extracted from Pronterface Via `M303 E-1 C8 S70` from cold bed  
Message take about 1 minute to appear, seems to be a timeout as opposed to an instant error

Disabling PIDTEMPBED and enabling MAX\_BED\_POWER resolves the issue allowing the printer to heat the bed

Thermal protection for bed set to

```
#define WATCH_BED_TEMP_PERIOD 180               // Seconds
#define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius

```

When using PIDTEMPBED the LED on the bed does not light, but when using MAX\_BED\_POWER / PIDTUNE it does

**Tags:** marlin, heated-bed, anet-a8, firmware

> **Comments:**
> **username_1**: what G-code is executed to get PID tunning?  
> **username_0**: M303 E-1 C8 S70  
> **username_2**: Please add some details in your question (by [edit]) on printer size/type, voltage, how you got the PID values (e.g. heated bed first or from cold)? Also explain if the message pops up instantly, or after a few seconds.  
> **username_2**: @username_0 Disabling PIDBDTEMP results in bang-bang heat up. PID is bypassed.  

---

## 1 answers

### Answer by username_2 on 2018-11-23. Score: 1

I thought this was an easy problem to fix as the previous [Configuration.h](https://pastebin.com/J6Pfu5Lb) you shared had PID incorrectly configured.

I'm guessing that you experience this LCD screen:

[!["Bed heating failed" message](https://i.sstatic.net/uivye.jpg)](https://i.sstatic.net/uivye.jpg)

What I experienced myself when PID tuning the bed is that it matters whether the bed is preheated or not. At first attempt the command such as the `M303 E-1 C8 S70` you used did result a failed PID tuning (note that you should perform the test from a cold bed).

Your PID values:

```
// PIDTune from Pronterface
#define DEFAULT_bedKp 305.95
#define DEFAULT_bedKi 60.24
#define DEFAULT_bedKd 388.4805

```

are similar results as I have for a 24V 300 x 300 x 3 mm bottom cork insulated heat plate with 3 mm glass.

You have not added the "Configuration\_adv.h", but this file contains the advanced settings for the printer and most probably contain:

```

#if ENABLED(THERMAL_PROTECTION_BED)
  #define THERMAL_PROTECTION_BED_PERIOD 20    // Seconds
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius

  /**
   * As described above, except for the bed (M140/M190/M303).
   */
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
#endif

```

This describes that the software waits for 60 seconds for the bed to increase 2 °C. If the temperature increase is not observed, there is no heat input to the bed, or it does not reach the set temperature. Please check your values.

> **Comments:**
> **username_0**: Updated with requested information, Disabling PIDTEMPBED and re-enabling MAX_BED_POWER allows the printer to control the bed again  
> **username_0**: Additional information provided as requested  

---

