Flashing Smoothie

Flashing Smoothie Firmware

Here is how to flash a new firmware to your Smoothieboard.

Smoothieboards come pre-flashed

You should not need to flash your Smoothieboard when you get it. You only need to do so to update it to a newer version of the firmware if you wish or if the pre-flashed firmware is not functioning properly.

It is a good idea to flash your board to the latest stable version anyway when you first receive it.

When you upgrade to a newer version, make sure you also upgrade your configuration file, to make sure the firmware can understand it. We try very hard to maintain backwards compatibility, however in the years since the start of the project, there have been a few very rare changes, so having a very old configuration with a very recent firmware can rarely cause problems.

When upgrading from such a very old firmware, make sure you read the upgrade notes.
Smoothieboards V2 come pre-flashed

Smoothieboard V2 (Prime) comes with firmware pre-flashed. You only need to flash if you want to update to a newer version, use a custom build, or recover from a corrupted firmware.

It is recommended to update to the latest stable version when you first receive your board, as it may include important bug fixes and improvements.

When upgrading firmware versions, ensure your configuration file is compatible with the new version. V2 uses an INI-style configuration format (different from V1). See configuration guide and upgrade notes for details.

Prerequisites

This guide presumes your Smoothieboard is already flashed with the DFU bootloader ( it is already if you bought the board, it probably isn’t if you built it yourself ).

This guide covers flashing firmware to Smoothieboard V2 (Prime) with STM32H745 microcontroller. No bootloader installation is needed (unlike V1) - V2 firmware updates are handled through the bootloader that comes pre-installed.

Step by Step

Download

The latest bin is available at Smoothieware FirmwareBin

For detailed instructions and all the ways you can obtain a pre-made binary file or make your own, see Getting Smoothie.

Copy

Copy the file firmware.bin and config.txt to a micro SD card, then safely remove the SD card from your computer.

Download V2 Firmware

Get the latest V2 firmware binary from:

For building your own firmware from source, see Compiling Smoothieware.

Copy to SD Card (V2)

Copy the firmware file to a micro SD card:

  1. Rename the firmware binary to flashme.bin (or firmware.bin for the active firmware slot)
  2. Copy to the root directory of your SD card
  3. Safely eject the SD card from your computer
Filename

Make sure the file is named firmware.bin, and not anything else.

Also make sure you downloaded the file itself, and not the HTML page containing it, as this would cause chaos. A good method is to check the MD5 sum for the file you downloaded ( or opening it in a web browser ).

Make sure you eject the SD card from your computer properly ( “eject” in your file explorer’s menus ).

Filename - Important for V2

For automatic flashing on boot, name the file flashme.bin (not just firmware.bin).

Make sure you downloaded the binary file itself, and not the HTML page. Verify by checking file size and, if available, MD5 checksum from the release notes.

Example: If you see the file size is 4 KB instead of 100+ KB, it's probably an HTML page - re-download correctly.

Always safely eject the SD card from your computer before inserting it into the Smoothieboard.

Power

Plug the SD card into the SmoothieBoard SD card slot, then plug a mini USB cable into the board. (pictures ???)

Insert the SD card into the Smoothieboard V2 SD card slot, then connect a USB-C cable to power the board. The board will boot automatically and check for the flashme.bin file.

Observe

Smoothie will boot and you should see the LEDs count up for a few seconds, then they will start flashing, at this point Smoothie has flashed the latest version of Smoothie and is running.

SD Card Problems

If there is a problem with the SD card, LED4 will be off.

If this happens, you need to format the SD card to FAT32, and if that fails, use another SD card.

If the LEDs do not perform the count up sequence your firmware flashing did not complete.

If this happens, you need to verify your formatting and naming of your files which should be:
  • firmware.bin
  • config.txt

When the board powers on, it will check for the flashme.bin file on the SD card. The firmware flashing process is automatic:

  1. Check: Board validates the flashme.bin file (MD5 checksum, file size, magic number)
  2. Flash: If valid, the firmware is programmed into the board’s internal flash memory
  3. Verify: Board confirms successful write and renames the file to flashme.old
  4. Boot: Board boots with the new firmware

Watch the board’s status indicator or serial console output (115200 baud) to confirm the flashing process completes successfully.

V2 Firmware Flashing Troubleshooting

File not found or not flashing: Ensure the file is named exactly flashme.bin (not firmware.bin) and is in the SD card root directory.

Invalid file error: The firmware file may be corrupted. Verify MD5 checksum from release notes and re-download if necessary.

SD card problems: Format the card to FAT32 if flashing doesn't work. Use a different SD card to test.

Rollback: If you need to restore the previous firmware, copy the flashme.old file and rename it to flashme.bin, then reboot.

Verification

You can make sure the new firmware was flashed by looking at the content of the SD card.

If the firmware was flashed successfully, the filename should have changed from firmware.bin to FIRMWARE.CUR.

The config.txt will always remain config.txt.

After flashing, verify successful completion by checking the SD card contents. The firmware file status changes indicate success:

  • Successful flash: flashme.bin is renamed to flashme.old
  • Failed flash: flashme.bin remains unchanged (check file integrity and re-download if needed)

The active firmware is identified by checking the serial console at startup or using the version command.

Connect

You can now connect to Smoothie with Pronterface ( or any other host program, see Software ) at any baud rate, look for a serial USB device on your computer.

If running Windows you may need to install the Windows Drivers.

Mac OS/X and Linux have the drivers built in.

You can ignore any messages about missing DFU drivers.

You can now connect to Smoothieboard V2 with Pronterface or any other host program (see Software) via USB. The board appears as a serial USB device on your computer.

Connection:

  • Linux/Mac: Drivers built-in, use /dev/ttyACM0 or similar
  • Windows: Drivers typically installed automatically; if not, check Device Manager

Baud rate: The V2 firmware uses 115200 baud for serial communication (unlike V1 which is variable).

Terminal

You can also connect to Smoothie with any serial console program, which should be set to local echo and Linefeed line endings.

Typing help will show a list of console commands available.

You can also connect to Smoothieboard V2 with any serial console program:

  • Baud rate: 115200
  • Echo: Local echo enabled
  • Line endings: Linefeed (LF) or Carriage Return + Linefeed (CRLF)

Type help to see available console commands.

Useful Commands

Some useful console commands are:

  • version - Shows the current Smoothieware version and build info
  • ls /sd - Lists the files on the SD card
  • play /sd/file - Sends a G-code file from SD card to the machine

More commands can be found on the Console commands list and useful G-codes are in the Supported G-codes list.

This is a wiki! If you'd like to improve this page, you can edit it on GitHub.