Fly Gemini CanBoot bootloader for USB
Edit me

Configuring and installing CanBoot bootloader for USB

Install CanBoot package

  • ssh to your klipper host console

  • Clone the CanBoot firmware to your Klipper Host
    cd ~/
    git clone https://github.com/Arksine/CanBoot
    
  • From your Fluidd or Mainsail web UI Edit Moonraker.conf and add the following at the bottom to allow moonraker to manage updates to the CAN bus software.
    [update_manager CanBoot]
    type: git_repo
    path: ~/CanBoot
    origin: https://github.com/Arksine/CanBoot.git
    is_system_service: False
    

Compile CanBoot firmware

  • cd to the Canboot directory
    cd CanBoot
    
  • Run make clean
    make clean
    
  • Open menuconfig
    make menuconfig
    
  • Set the following settings
    • Micro Controller : STMicroelectronics STM32
    • Processor Model: STM32F405
    • Build: 32 Kib bootloader
    • Clock Ref: 8 MHz crystal
    • Comm Interface - USB on PA11/PA12
    • Application Offset 32 Kib

      CanBoot Menu Config USB
      CanBoot Menu Config USB
  • Quit and save the configuration

  • Run the make command to compile the firmware
    make
    
  • You should now have a canboot.bin and a deployer.bin file at ~/CanBoot/out/

Flash CanBoot to the Fly Gemini V2 MCU

  • ftp to your Fly Gemini V2 with an FTP client like FileZilla
    • connect with the following settings
      • Hostname: sftp://flygemini.local
      • Username: fly
      • Password: Enter your password. The default Gemini password is ‘mellow’
      • Port: 22
    • Click ‘Quickconnect’
    • open the folder ‘/home/fly/CanBoot/out’
    • download deployer.bin to your PC
  • place the MCU MiniSD card into a card reader and connect it to your PC.

  • Copy the deployer.bin file to the SD card

  • rename deployer.bin to firmware.bin

  • Eject the SD card from the PC

  • Insert the SD card into the MCU SD card Slot.

    MCU SD card slot
    CanBoot Menu Config USB
  • Press the MCU reboot button

    MCU reset button
    CanBoot Menu Config USB
  • Wait a few minutes

  • Open a putty SSH session to the and log on

  • run lsusb to verify the MCU has been discovered as a USB device
Tags: