How to upgrade the Fly-E3 firmware

Overview - Upgrading WiFi/Standalone

There have been a number of changes in the way RRF builds for STM32F4, STM32H723 and STM32H743 boards are being produced from 3.5-RC4 and onwards.
The main changes are:-

  • A build per board rather than all boards being contained in one build
  • WiFi and SBC mode in one build. If there is an SD card present its in WiFi mode, if there isn’t one installed its in SBC mode. This matches the way the Duet3D boards operate.
  • A board.txt setting to denote the WiFi module type installed.

Upgrading

Teamgloomy now generate per board firmware files and going forwards will also release a complete upgrade zip called STM32RepRapFirmwareWiFi.zip (which includes all the firmware files, the WiFi files and DWC). These instructions are based on using the zip file.

The latest firmware zip can be found here

With all the changes described above, here are the steps required to upgrade the firmware.

  1. Click on the “machine-specific” page in DWC and then the “Install Update” button.
  2. After uploading the new zip file, DWC will not ask you to install it. You need to use M997 P"firmware_e3_f4.bin" to trigger the install.
  3. Once the mainboard has updated and rebooted, upgrade the WiFi firmware using M997 S1.

Some notes

  1. There is a bug in the current version of RRF that will prevent mainboards operating in CAN expansion mode from being upgraded over CAN. The simple solution is to remove the SD card and copy the new firmware to firmware.bin. This bug is only present if upgrading from a version of RRF lower than 3.5.0-RC4.
  2. If for some reason you wish to install the older 1.x version of the WiFi module firmware you will need to upload the firmware file to the board and then run M997 S1 P”DuetWiFiServer.bin”.

Removing some Board.txt entries

Once you are back up and running, as a lot of the board.txt entries are now preset within the board specific images, it may be possible to reduce what is present in your specific board.txt.
Compare the list below with whats in your board.txt and where each line is the same, you can remove it from your board.txt. This may even result in an empty board.txt file (which is fine). We suggest taking a backup of your board.txt file before you remove anything, especially if you wish to downgrade to an earlier version in the future.

board=e3_f4
board.longName="Fly E3 STM32F4"
sdcard.internal.type=2
SPI0.pins={NoPin,NoPin,NoPin}
SPI1.pins={B.13,B.14,B.15}
SPI2.pins={NoPin,NoPin,NoPin}
SPI3.pins={C.2,C.0,C.1}
SPI4.pins={E.8,NoPin,B.1}
SPI5.pins={D.6,D.4,D.5}
stepper.powerEnablePin=NoPin
stepper.enablePins={C.15,E.5,E.1,B.5}
stepper.stepPins={C.13,E.3,B.9,B.3}
stepper.directionPins={C.14,E.4,E.0,B.4}
stepper.numSmartDrivers=4
stepper.TmcUartPins={E.6,E.2,B.8,D.7}
stepper.spiChannel=5
power.VInDetectPin=NoPin
sbc.TfrReadyPin=NoPin
sbc.csPin=NoPin
sbc.spiChannel=255
wifi.espDataReadyPin=E.13
wifi.TfrReadyPin=E.14
wifi.espResetPin=E.15
wifi.serialRxTxPins={D.9, D.8}
wifi.moduleType=esp8266
heat.tempSensePins={A.3,A.4}
heat.spiTempSensorChannel=3
heat.spiTempSensorCSPins={C.3,C.7}
Tags: