last updated: 27/04/20
I had problems accepting the long heating up times and the poor possibilities for manual interaction with the new Felix 4.1 firmware. So I tried to change this with a new duet3 motherboard. Okay, the true story is that I clicked a little too fast (don't tell my wife) and ordered the beautiful, but quite expensive and perhaps over-dimensioned new motherboard.
Only later I found the BIGTREETECH-SKR board (https://cdn.thingiverse.com/assets/cb/b6/21/75/42/SKR_V1.3-Instructions.pdf), with support for Felixprinters(https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/tree/master/BTT%20SKR%20V1.4/Firmware/Marlin-2.0.x-SKR-V1.4-Turbo/config/examples/Felix).
What could be the benefits of a new motherboard?
Wires: The lesser the resistance, the lesser the losses The lesser losses, the lesser the temperature increase Reduce wiring costs Makes cable management easier Motor: Having a higher voltage increases the speed at which the current is reached in each coil. This can be very useful at higher RPM, enabling a motor to reach faster speed.Higher RPM Greater Torque
Having a powerful heater can help you reach a higher temperature. The convection losses increase with the hotend temperature. At a certain point, there is not enough power to raise the block temperature and compensate for the losses in free air. Most 12V heaters will have a hard time reaching 400°C and then will drop as soon as the head moves or filament is pushed through.
The drawback with faster heating is that it is harder to fine tune. Some modifications to the firmware might be required in order to reduce overshoot and stabilize the temperature.
Higher Heating Power Higher Temperature
So should I update my Felix? Surely not. It is running quite smoothly and the print results are ok. Never change a running system!
Will I pimp the Felix? Sure enough, because I like to learn and understand new things.
So the first step is to print a test piece to be able to compare print results. I choose the MINI All In One 3D printer test by majda107. The second step is to collect all the data about my printer and the third step is to configure the firmware.
The power supply is an ENP-7025D from Enhance Electronics and marks 12 V/18 A, 5 V/2 A and 250 W.
The X and Y end-stops on the felix are transmissive optical sensors TCST2103 from VISHAY. Cathode and emitter are connected and go to GND.
Felix 4 uses a shielded proximity sensor from OMRON (Model: E2B-M12KS04-WP-C2 2M (https://assets.omron.eu/downloads/datasheet/en/v3/d116e2bcylindricalproximitysensordatasheeten.pdf)). The sensor has an M12 standard thread with a sensing distance of 4 mm. C2 indicates an open collector NPN-Transistor (output) normally closed. The response frequency is 1000 Hz and the power supply voltage may range from 10 to 30 V (10 mA max.).
The stepper are standard 40 mm NEMA 17 stepper with 1.8° and 1.7 A. In my Felix they are from Wantai (42BYGHW609P1-2).
No infos from Felixprinters. With my Ohmmeter I measure a resistance of 1.2 Ω. So with 12 V we could expect 10 A. The sensor is a 100k NTC (configuration.h). I measure 95k Ω.
I will heat the bed first to 60°C and then to 90°C and measure current and voltage with my mooshimeter:

Conclusion: The bed does not reach 90°C, but a max. of 80°C! even in a well heated room. So we need more power :). The resistance varies from 1.13 Ω (cold) to 1,3 Ω.
Here we get some information from the Felix shop: Heater cartridge: Power 30 W, Voltage 12 V, Resistance 4.7 Ω, Diameter 5.5 mm, Length 10 mm
For the thermistor: It has the same specs as an epcos B57560G104F. It is an NTC (Negative Temperature Coefficient) and we find a good description in the reprap wiki.
With my Ohmmeter I measure a resistance of 4.9 Ω for the heater cartridge. So with 12 V we could expect 2.5 A. For the thermistor I measure 97k Ω.
I will heat the extruder to 210°C and measure current and voltage with my mooshimeter:

Conclusion: The last 10°C (from 200°C to 201°C) take quit long.)
The X and Y end-stops on the felix are transmissive optical sensors TCST2103 from VISHAY. Cathode and emitter are connected ans go to GND. The LED needs 20 mA. With 3.3V we get a series resistor of about 100 Ω. The current through the transistor should be 4 mA (data sheet), but the internal pull-up is with 27 kΩ too high. We need an 820 Ω resistor in parallel.
Both resistors are soldered into my extension cable.

Felix 4 uses a shielded proximity sensor from OMRON (Model: E2B-M12KS04-WP-C2 2M (https://assets.omron.eu/downloads/datasheet/en/v3/d116e2bcylindricalproximitysensordatasheeten.pdf)). The sensor has an M12 standard thread with a sensing distance of 4 mm. C2 indicates an open collector NPN-Transistor (output) normally closed. The response frequency is 1000 Hz and the power supply voltage may range from 10 to 30 V (10 mA max.).
We get 3 wires in a 2 m cable and the colours are a little creepy. Brown for the positive voltage, blue for GND and black for the signal. As we need 12 V we use the extra 2 pin 12 V header of the duet. No extra resistors are needed as the duet3 inputs will tolerate up to 30V and have an internal pull-up of 27k. (if you have another board, you could use a voltage divider to limit the voltage).
The fans are Sunon KDE1204PFV211MSA with the following data: 12 V, 80 mA (1 W), 11,89 m³/h, RPM 5800, 27 dBA.
PID no bang bang mode!
2 possibilities:
First-order + delay time (FOPDT) model: Use auto-tuning (or configure manually using M307). We get two sets of PID parameters.
Use one set of legacy PID parameters configured manually using M301. This provides backwards-compatibility with previous versions, and provides a fallback if the behaviour of your heating system cannot be approximated well enough by a FOPDT model.
Autotuning Heater bed with M303 H0 S60 (target temperature 60.0°C, PWM 1.00). I get a peak temperature of 60.5°C and the tuning took 687 s.
With M307 H0 we get the results:
Heater 0 model: gain 81.3, time constant 436.2, dead time 6.8, max PWM 1.00, calibration voltage 12.2, mode PID
Computed PID parameters for setpoint change: P141.2, I2.594, D670.7
Computed PID parameters for load change: P141.2, I6.443, D670.7
Now we can complete the M307 command in the config.g file under System by adding A (gain), C (time constant), D (dead time) and V (calibration voltage) parameter:
M307 H0 A81.3 C436.2 D6.8 V12.2 B0 S1.0 ;B0 = no bang-bang S1.0 = PWM limit
Autotuning Extruder with M303 H1 S185 (target temperature 185.0°C, PWM 1.00).
I get a peak temperature of 214.9°C and the tuning took 267 s.
For this we first heat the bed to get accurate results.
With M307 H1 and M307 H2 we get the results for both extruder:
M307 H1
Heater 1 model: gain 936.7, time constant 210.0, dead time 10.1, max PWM 1.00, calibration voltage 12.1, mode PID
Computed PID parameters for setpoint change: P4.0, I0.086, D28.0
Computed PID parameters for load change: P4.0, I0.161, D28.0
M307 H2
Heater 2 model: gain 854.5, time constant 192.8, dead time 9.3, max PWM 1.00, calibration voltage 12.3, mode PID
Computed PID parameters for setpoint change: P4.3, I0.102, D28.2
Computed PID parameters for load change: P4.3, I0.192, D28.2
M307 H1 A936.7 C210.0 D10.1 V12.1 B0 S1.00 ; B0 = no bang-bang S1.0 = PWM limit
M307 H2 A854.5 C192.8 D9.3 V12.3 B0 S1.0 ;B0 = no bang-bang S1.0 = PWM limit
Complete the M307 command in the config.g file.
If you want manually adjust the heater model parameters look here.
switched to unstable
cd /etc/apt/sources.list.d nano duet3d.list change text stable to unstable: deb https://pkg.duet3d.com/ unstable armv7 Ctrl + o, Ctrl + x
For tools: G10 P0 R120 S185 For bed; M140 H0 R20 S55
https://duet3d.dozuki.com/Wiki/FirmwareDifferences
https://reprap.org/wiki/ListofFirmware
https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/tree/master/BTT%20SKR%20V1.4/Firmware/Marlin-2.0.x-SKR-V1.4-Turbo/config/examples/Felix/DUAL
https://dyzedesign.com/2019/04/differences-12v-24v-3d-printer/
https://reprap.org/wiki/Thermistor