{"id":35152924,"url":"https://github.com/jherkenhoff/xmc_cleanflight_doc","last_synced_at":"2026-03-17T18:06:23.471Z","repository":{"id":187202843,"uuid":"134043583","full_name":"jherkenhoff/XMC_Cleanflight_Doc","owner":"jherkenhoff","description":"Documentation for Infineons Cleanflight port for the XMC microcontroller Series","archived":false,"fork":false,"pushed_at":"2018-07-24T19:34:39.000Z","size":4506,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-08-09T11:54:23.311Z","etag":null,"topics":["cleanflight","drone","infineon","xmc"],"latest_commit_sha":null,"homepage":"https://github.com/WielandD/XMC_Cleanflight","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jherkenhoff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-05-19T08:17:21.000Z","updated_at":"2023-08-09T11:54:25.317Z","dependencies_parsed_at":"2023-08-09T12:06:54.398Z","dependency_job_id":null,"html_url":"https://github.com/jherkenhoff/XMC_Cleanflight_Doc","commit_stats":null,"previous_names":["jherkenhoff/xmc_cleanflight_doc"],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/jherkenhoff/XMC_Cleanflight_Doc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherkenhoff%2FXMC_Cleanflight_Doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherkenhoff%2FXMC_Cleanflight_Doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherkenhoff%2FXMC_Cleanflight_Doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherkenhoff%2FXMC_Cleanflight_Doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jherkenhoff","download_url":"https://codeload.github.com/jherkenhoff/XMC_Cleanflight_Doc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherkenhoff%2FXMC_Cleanflight_Doc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28101403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-28T02:00:05.685Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cleanflight","drone","infineon","xmc"],"created_at":"2025-12-28T16:03:34.230Z","updated_at":"2025-12-28T16:06:44.745Z","avatar_url":"https://github.com/jherkenhoff.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# XMC Cleanflight\n\n![Banner image](/img/banner.jpg)\n\nThis tutorial is going to walk you through installing [Cleanflight](http://cleanflight.com/) on the **Cerasus** flight controller from Infineon. You do not need programming skills to follow this tutorial.\n\nFor those unfamiliar with Cleanflight. It is an open source flight-controller firmware which is used on a broad range of commercial and open source flight-controllers. Since it is targeted towards 32 bit MCU's it provides a perfect base for the Cerasus. \n\nIn addition to the firmware setup the build of the **Racecopter** drone hardware is shown. Note that the hardware is not coupled to the Cerasus sontroller, so you can choose to build your custom hardware.\n\n* [Requirements](#requirements)\n    * [Hardware used in this build](#used-in-this-build)\n* [Cerasus Flight Controller](#cerasus-flight-controller)\n    * [Firmware](#used-in-this-build)\n        * [Download](#download)\n        * [Build](#build)\n        * [Flashing](#flashing)\n    * [Configure](#configure)\n* [Hardware build](#hardware-build)\n\n\u003ca name=\"requirements\"\u003e\u003c/a\u003e\n# Requirements\nTo follow this guide, you need the following hardware and software:\n* Infineon Cerasus V1.0 flight controller\n* i-Bus receiver\n* [XMC Link debugger](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_link_segger_v1/)\n* Windows PC with [DAVE 4.x](https://infineoncommunity.com/dave-download_ID645) software installed\n* General drone hardware (X4 Drone frame with Motors, Props, ESC and batteries etc.)\n\n\u003e **For Linux users:** I managed to get DAVE 4.4.2 running in Wine. You need to install the Segger J-Link tools used for flashing manually using the official [Segger Packages](https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack)\n\n\u003ca name=\"used-in-this-build\"\u003e\u003c/a\u003e\n## Hardware used in this build:\n* Custom carbon fiber X4 frame\n* Racerstar [BR2205 2300KV](http://www.racerstar.com/Racerstar-Racing-Edition-2205-BR2205-2300KV-2-4S-Brushless-Motor-Red-CW-or-CCW-for-220-250-RC-Drone-FPV-Racing-p-33.html) brushless motor\n* Racerstar Rev35A 4in1 ESC\n* FS-i6 Transmitter\n* Flysky FS-A8S i-Bus receiver\n* Tattu 1550mAH 4S LiPo battery pack\n\nYou might as well use any other drone hardware as long as it fulfills the requirements listed in the Requirements section.\n\n\u003ca name=\"cerasus-flight-controller\"\u003e\u003c/a\u003e\n# Cerasus Flight Controller\n\nThe *Cerasus* is a flight controller designed by Infineon. It is equipped with a microcontroller from Infineons XMC series (XMC4500 - 32 Bit ARM Cortex M4).\n\nTop                                      |  Bottom\n-----------------------------------------|-----------------------------------------\n\u003cimg src=\"/img/fc-top.jpg\" width=\"480\"\u003e  | \u003cimg src=\"/img/fc-bot.jpg\" width=\"480\"\u003e\n\nThe Cerasus can be configured using the [Cleanflight Configurator](https://github.com/cleanflight/cleanflight-configurator) via USB. (Details in the [Configure](#configure) section)\nYou do not need to hook up a battery to configure and play around with the flight-controller, since it can be powered from USB. But don't be afraid to hook up your USB cable when its powered from battery: A diode in the supply rail protects your USB Port from overvoltage..\n\nThe Cerasus flight-controller outputs four PWM signals for \"communication\" with the ESC. The numbering in the picture above (PWM 1 - PWM 4) represents the corresponding motor number. The individual pins are labeled on the PCB.\n\nThere are two connectors labeled *RC* on the PCB. Since my receiver came with a 4-Pin plug, I used the 4-Pin connector on the bottom side of the PCB.\n\n\u003ca name=\"firmware\"\u003e\u003c/a\u003e\n## Firmware\n\n\u003ca name=\"download\"\u003e\u003c/a\u003e\n### Download\nThe Firmware for the Cerasus flight controller is located in [this repository](https://github.com/WielandD/XMC_Cleanflight).\nAn error accours when opening the project in Dave, when you downloaded the repository using `git clone`. As a workaround you can just download the repository by pressing the `Download Zip` button in github.\n\n\u003cimg src=\"/img/zip.png\" width=\"480\"\u003e\n\nUnzip the contents to a destination of your choice..\n\n\u003ca name=\"build\"\u003e\u003c/a\u003e\n### Build\nLaunch the Dave IDE and choose a workspace folder. (For example a folder named *Workspace* in your home directory. Do not use the just downloaded repository as your workspace.)\nChoose `File \u003e Import` from the top menu bar. Then choos `Infineon \u003e\u003e Dave Project` and click on *next*.\n\n\u003cimg src=\"/img/import1.png\"  width=\"480\"\u003e\n\nBrowse to the folder you unzipped the contents of the git-repo into.\nThe entry *XMC_Cleanflight* should apear in the project list. \n\n\u003cimg src=\"/img/import2.png\" width=\"480\"\u003e\n\nAfter the project has finished loading you need to activate the correct build configuration. Rightclick on the *XMC_Cleanflight* entry in the left sidepanel and select `Build Configurations \u003e Set Active \u003e Cerasus` from the context menu.\n\n\u003cimg src=\"/img/buildconfig.png\" width=\"500\"\u003e\n\nNow its time to build the firmware. Click on `Project \u003e Build All` in the top bar to start the building process.\nIf everything went well, the console on the bottom of the screen should print *Build Finished*.\n\n\u003ca name=\"flashing\"\u003e\u003c/a\u003e\n### Flashing\n\nFlashing the firmware to the Mikrocontroller is done using the XMC Link debugger. There are multiple options for flashing and even debugging your freshly build firmware on your hardware (for example directly out of Dave or via the Segger GDB Server). Here I want to show one possibility that is quite straight forward.. For that, you need to open the `J-Flash Lite` Programm.\nRight after the start of the program it asks you to select the correct Mikrocontroller. For the Cerasus flight controller you need to choose the *Infineon XMC45000-1024* entry. Make sure the *Interface* settings match the one on the screenshot.\n\n\u003cimg src=\"/img/flash-start.png\" width=\"400\"\u003e\n\nAfter clicking Ok, you need to select your hex file you want to download to the mikrocontroller.\nNavigate to your Dave-Workspace you selected when you first started the Dave software. (Remember? In the [Build](#build) section..)\nThe hex file should be located in the `[DaveWorkspace] \u003e XMC_Cleanflight \u003e Cerasus \u003e XMC_Cleanflight.hex`.\nAfter you selected the correct file, there is nothing stopping you from pressing the \"Program Device\" button!\n\n\u003cimg src=\"/img/flash-done.png\" width=\"400\"\u003e\n\nIf everything went right, the latest entry in the log should say \"Done\".\n\n\u003ca name=\"configure\"\u003e\u003c/a\u003e\n## Configure\nChannel mapping\nMotor direcion\nSave nach Dump\nConfig file\nESC Calibration\n\n\u003ca name=\"hardware-build\"\u003e\u003c/a\u003e\n# Hardware build\n\n## Check Motor direction\n\n## FLY\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjherkenhoff%2Fxmc_cleanflight_doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjherkenhoff%2Fxmc_cleanflight_doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjherkenhoff%2Fxmc_cleanflight_doc/lists"}