Programming Seeeduino Arch(LPC11U24) on Windows, Linux or Mac

Fix LPC11Uxx's firmware

According to LPC11Uxx User Manual - 20.7 Criteroin for Valid User Code, The checksum of a valid firmware's first 8 entries(4 bytes) must be 0.

When we use mbed online development tool, jlink or ulink, these tools will help us take care of the checksum. But binary file generated by gcc or keil will likely not have a valid checksum. We need to fix the checksum. There is a util written by c to fix the checksum.

  • for windows
    1. download the exe file
    2. fix_checksum.exe new_firmware.bin
  • for Linux or Mac
    1. download the c file
    2. gcc -o fix_checksum fix_checksum.c
    3. fix_checksum new_firmware.bin


Seeeduino Arch(LPC11U24) doesn't have an mbed interface. It uses USB In-System-Programming(ISP) to upgrade the firmware. To enter the USB ISP mode, connect the Arch with your computer and long press its button, and then a disk named "CRP DISABLD" will appear.

  • on windows
    1. delete firmware.bin in the "CRP DISABLD" disk.
    2. copy a new firmware into the disk.
  • on linux
    1. if the disk is not mounted, mount the disk at {mnt_dir}
    2. dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc
  • on mac
    1. dd if={new_firmare.bin} of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc

Quick press the button to run the new firmware.

There is a script - for Linux to fix checksum and download firmware. Usage: new_firmare.bin

Please log in to post comments.