View this project on


]]>GitHub version]]> ]]>Build Status]]> ]]>Total alerts]]> ]]> C/C++]]>

CAN Bus, K-Line interface for motorcycles, with a fuel/ignition mapper function.

Primarily intended to communicate with Honda HRC, Generic OBD, or Yamaha YEC ECUs.

This device will create a fuel map based on the various sensor inputs. You will then be able to alter the fuel using your prefered application. (HRC, TuneEcu, YEC, etc...) This replaces auto tune fuel systems like Bazzaz or Power commander, except you still have to enter the changes manually. (import/export functions are planned) Having a wideband exhaust sensor is mandatory. If your bike doesn't have one, you can use an innovate LC2.

Includes some digital (RPM, Speed), analog (TPS, ECT, Wideband), serial (Wideband), as well as a knock sensor input interface for tuning.

]]>Alt text]]>

File tree:

├── Board Eagle board files ├── Code │   ├── App Motolink's MCU code │   ├── Bootloader STM32 Bootloader │   ├── ChibiOS-RT ChibiOS/RT submodule │   ├── ChibiOS-Contrib ChibiOS Community drivers submodule │   └── Common Common files for bootloader and Motolink ├── Drivers Windows drivers installer ├── GUI Motolink's graphical user interface ├── LICENSE GPL Licence file └── This readme file

You will need to init and update the git submodules (QtUsb, ChibiOS-RT, ChibiOS-Contrib) to build the projects.



  • Make sure submodules are pulled
  • You will need python 2/3 in the path (system path or Qt Creator project setting PATH variable)
  • Go to the GUI folder
  • Unzip res/
  • You need a binary file of the firmware, an empty one can be created for testing. (../code/app/build/motolink.bin)
  • You need to install QtUsb (]]>]]>)
  • Open the project with Qt Creator
  • Compile and launch

App and Bootloader

  • ]]>You will need ARM's GCC toolchain]]>
  • Make sure submodules are pulled
  • Go the de code/app or code/bootloader folder
  • For the app, you need to compile the DSP lib (just launch make in the dsp_lib folder)
  • make
  • For the bootloader, use your favorite stlink interface ]]>or my QSTLink2 app]]>
  • Once the bootloader is running, you can update the app through the GUI
Report a bug