{"_id":"58a1eb7c76d9fb25004afc7e","category":{"_id":"58a1eb7b76d9fb25004afc6f","__v":0,"version":"58a1eb7b76d9fb25004afc6d","project":"56835bb57af9120d007ac339","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-04-05T15:52:27.098Z","from_sync":false,"order":1,"slug":"advanced-configurations","title":"Advanced Configurations"},"version":{"_id":"58a1eb7b76d9fb25004afc6d","project":"56835bb57af9120d007ac339","__v":1,"createdAt":"2017-02-13T17:23:07.814Z","releaseDate":"2017-02-13T17:23:07.814Z","categories":["58a1eb7b76d9fb25004afc6e","58a1eb7b76d9fb25004afc6f","58a1eb7b76d9fb25004afc70","58a1eb7b76d9fb25004afc71"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"Artifice","version_clean":"20170213.0.0","version":"20170213"},"parentDoc":null,"project":"56835bb57af9120d007ac339","__v":0,"user":"56835b733b87430d00483b77","updates":["574dd62bee557a19000f1390"],"next":{"pages":[],"description":""},"createdAt":"2016-04-05T15:52:47.642Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"# This documentation is superseded.  dRonin Documentation is now on http://dronin.org/docs/\n\n\ndRonin flight controllers have ports allowing you to connect a wide variety of \"stuff\" to it.  This page offers a brief treatment of what you might attach and how.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Note for F1 flight controllers...\",\n  \"body\": \"Ensure that the autotune module is turned off before enabling any other modules on F1 flight controllers (like Naze32 or CC3D).  The STM32F103 microprocessor has limited memory and it is unable to successfully start up with autotune and other modules enabled at the same time.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Battery monitoring\"\n}\n[/block]\ndRonin can monitor battery voltage, current, and expected remaining life, and prevent arming when a low battery is attached.  This battery data can also be reported over an on-screen display or radio receiver telemetry.\n\nMost flight controllers have voltage and current sense pins, which can be used with an external battery monitoring board like the [UberDistro](https://www.multirotorsuperstore.com/brotronics-uberdistro.html), [AmpWings](https://github.com/Brotronics/AmpWings), or [AttoPilot](https://www.sparkfun.com/products/9028).\n\nAfter reading the documentation for your battery monitoring board, and attaching the sensor's current and voltage sense leads to the flight controller's ADC lines, enable the battery module on the modules pane in GCS.\n\nSee [this wiki page](https://github.com/d-ronin/dRonin/wiki/User-Guide:-Battery-Configuration) for additional details.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Radio receiver telemetry\"\n}\n[/block]\ndRonin supports sending telemetry data to FrSky and other radios.  Information about the flight, such as remaining battery, flight mode, position, and attitude can then be displayed on a Taranis.\n\nThere are a few different radio telemetry protocols (Wiki documentation is linked):\n\n* [FrSky Sensor Hub (D8) telemetry used by many FrSky receivers (D4R-II, etc)](https://github.com/d-ronin/dRonin/wiki/User-Guide:-FrSKY-Sensor-Hub).\n* [FrSky Smart Port (D16) telemetry used by advanced FrSky receivers (X4R-SB, X8R, etc)](https://github.com/d-ronin/dRonin/wiki/User-Guide:-FrSKY-S.PORT-telemetry)\n* [Graupner HoTT telemetry](https://github.com/d-ronin/dRonin/wiki/User-Guide:-Graupner-HoTT-Telemetrie)\n\ndRonin also speaks these protocols which are not typically used for receiver telemetry\n\n* MSP (used for on-screen display / MWOSD)\n* UAVTalk (the protocol used to speak to GCS)\n* Mavlink (used for legacy on-screen display)\n\nTo use a telemetry protocol, first wire it to a flight controller port.  On STM32F3, you can usually wire the telemetry wires directly to the port.  On other flight controllers, an inverter is generally required.  Then, configure the specific port on the hardware pane to the protocol, save, and reset your flight controller.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"External on-screen display\"\n}\n[/block]\nIt's recommended that you use [MWOSD](https://github.com/ShikOfTheRa/scarab-osd).  MWOSD is an on-screen display that runs on multiple types of hardware, including MiniMOSD, Micro-MiniMOSD, and OSDoge.\n\nMWOSD speaks a protocol called Multiwii Serial Protocol (MSP), that dRonin also supports.  MSP was introduced by MultiWii and is also used by Baseflight and Cleanflight.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Naze32 has limited serial ports and as a result there are some nuances to using MWOSD.  Detailed instructions on using MWOSD with Naze32 are on the [Using Naze32](doc:using-naze32#using-msp-on-screen-displays-like-osdoge) page.\",\n  \"title\": \"MWOSD and Naze32\"\n}\n[/block]\nFirst, install MWOSD onto your OSD-- see [Configuring MWOSD for dRonin](doc:configuring-mwosd-for-dronin)  and wire the video signals through the OSD.  Next, go to the hardware pane in GCS.  Set the specific port on the hardware pane to \"MSP\", save, and reset the flight controller.\n\nWith luck, information on flight status is now on the on-screen display!\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"OpenLog\"\n}\n[/block]\ndRonin F3 and F4 flight controllers support logging detailed information about flight status and the internal workings of the system.  They can log this information to onboard flash or to an external OpenLog / [OpenLager](https://github.com/d-ronin/openlager/wiki) peripheral.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/a39affb-openlager-2.png\",\n        \"openlager-2.png\",\n        1000,\n        1000,\n        \"#040404\"\n      ],\n      \"sizing\": \"smart\"\n    }\n  ]\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Onboard Flash\",\n    \"h-1\": \"OpenLog\",\n    \"h-2\": \"OpenLager\",\n    \"0-0\": \"Pros:\\n* Already onboard many flight controllers; no additional hardware required\\n* Relatively fast\",\n    \"0-1\": \"Pros:\\n* Commonly available logging peripheral logs to SD card\",\n    \"1-0\": \"Cons:\\n* Not all FCs have it\\n* Downloading logs over USB can be very slow\\n* Onboard flash storage is very limited in size\",\n    \"1-1\": \"Cons:\\n* Relatively slow interface and small buffers limits limits log rates\\n* Consumes a flight controller serial port\",\n    \"0-2\": \"Pros:\\n* Really fast\\n* Logs to SD card\\n* Same form factor as OpenLog\",\n    \"1-2\": \"Cons:\\n* Availability is presently limited\\n* Cost is a little higher than OpenLog because fancier parts are used in the design.\"\n  },\n  \"cols\": 3,\n  \"rows\": 2\n}\n[/block]\nTo use logging, first enable the logging module in the modules configuration.\n\nNext, if you are using OpenLog or OpenLager, go to the hardware pane, and assign the device to a serial port.  Save, and return to the modules configuration.\n\nOn the logging sub-pane, you can adjust various parameters.  The default 'LogOnArm' and 'FullBore' logging profiles are generally what you want.  If you are using a serial logger, select the baud rate.  Generally OpenLog defaults to 115200 or 250000 bits per second, and OpenLager defaults to 2000000 bits per second.\n\nIf you are using OpenLager, feel free to turn up the logging rate.  This is the maximum number of times per second to log any of the data objects on the system (motor commands, gyro data, manual control input).  You can generally choose at least 250 without any problems.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Viewing logs\",\n  \"body\": \"The dRonin development environment contains a Python API and associated tools to do heavy lifting and analysis of recorded logs.\\n\\nThere's a lot of work underway on end-user log viewing and analysis tools.  In the meantime, there's an initial preview of a log viewing environment for Windows at http://jar.lyle.org/~mlyle/logview-20160910.zip\"\n}\n[/block]","excerpt":"So you've got your aircraft flying, and you want to hook other stuff to it?  OK.","slug":"common-flight-controller-peripherals","type":"basic","title":"Common Flight Controller Peripherals"}

Common Flight Controller Peripherals

So you've got your aircraft flying, and you want to hook other stuff to it? OK.

# This documentation is superseded. dRonin Documentation is now on http://dronin.org/docs/ dRonin flight controllers have ports allowing you to connect a wide variety of "stuff" to it. This page offers a brief treatment of what you might attach and how. [block:callout] { "type": "warning", "title": "Note for F1 flight controllers...", "body": "Ensure that the autotune module is turned off before enabling any other modules on F1 flight controllers (like Naze32 or CC3D). The STM32F103 microprocessor has limited memory and it is unable to successfully start up with autotune and other modules enabled at the same time." } [/block] [block:api-header] { "type": "basic", "title": "Battery monitoring" } [/block] dRonin can monitor battery voltage, current, and expected remaining life, and prevent arming when a low battery is attached. This battery data can also be reported over an on-screen display or radio receiver telemetry. Most flight controllers have voltage and current sense pins, which can be used with an external battery monitoring board like the [UberDistro](https://www.multirotorsuperstore.com/brotronics-uberdistro.html), [AmpWings](https://github.com/Brotronics/AmpWings), or [AttoPilot](https://www.sparkfun.com/products/9028). After reading the documentation for your battery monitoring board, and attaching the sensor's current and voltage sense leads to the flight controller's ADC lines, enable the battery module on the modules pane in GCS. See [this wiki page](https://github.com/d-ronin/dRonin/wiki/User-Guide:-Battery-Configuration) for additional details. [block:api-header] { "type": "basic", "title": "Radio receiver telemetry" } [/block] dRonin supports sending telemetry data to FrSky and other radios. Information about the flight, such as remaining battery, flight mode, position, and attitude can then be displayed on a Taranis. There are a few different radio telemetry protocols (Wiki documentation is linked): * [FrSky Sensor Hub (D8) telemetry used by many FrSky receivers (D4R-II, etc)](https://github.com/d-ronin/dRonin/wiki/User-Guide:-FrSKY-Sensor-Hub). * [FrSky Smart Port (D16) telemetry used by advanced FrSky receivers (X4R-SB, X8R, etc)](https://github.com/d-ronin/dRonin/wiki/User-Guide:-FrSKY-S.PORT-telemetry) * [Graupner HoTT telemetry](https://github.com/d-ronin/dRonin/wiki/User-Guide:-Graupner-HoTT-Telemetrie) dRonin also speaks these protocols which are not typically used for receiver telemetry * MSP (used for on-screen display / MWOSD) * UAVTalk (the protocol used to speak to GCS) * Mavlink (used for legacy on-screen display) To use a telemetry protocol, first wire it to a flight controller port. On STM32F3, you can usually wire the telemetry wires directly to the port. On other flight controllers, an inverter is generally required. Then, configure the specific port on the hardware pane to the protocol, save, and reset your flight controller. [block:api-header] { "type": "basic", "title": "External on-screen display" } [/block] It's recommended that you use [MWOSD](https://github.com/ShikOfTheRa/scarab-osd). MWOSD is an on-screen display that runs on multiple types of hardware, including MiniMOSD, Micro-MiniMOSD, and OSDoge. MWOSD speaks a protocol called Multiwii Serial Protocol (MSP), that dRonin also supports. MSP was introduced by MultiWii and is also used by Baseflight and Cleanflight. [block:callout] { "type": "warning", "body": "Naze32 has limited serial ports and as a result there are some nuances to using MWOSD. Detailed instructions on using MWOSD with Naze32 are on the [Using Naze32](doc:using-naze32#using-msp-on-screen-displays-like-osdoge) page.", "title": "MWOSD and Naze32" } [/block] First, install MWOSD onto your OSD-- see [Configuring MWOSD for dRonin](doc:configuring-mwosd-for-dronin) and wire the video signals through the OSD. Next, go to the hardware pane in GCS. Set the specific port on the hardware pane to "MSP", save, and reset the flight controller. With luck, information on flight status is now on the on-screen display! [block:api-header] { "type": "basic", "title": "OpenLog" } [/block] dRonin F3 and F4 flight controllers support logging detailed information about flight status and the internal workings of the system. They can log this information to onboard flash or to an external OpenLog / [OpenLager](https://github.com/d-ronin/openlager/wiki) peripheral. [block:image] { "images": [ { "image": [ "https://files.readme.io/a39affb-openlager-2.png", "openlager-2.png", 1000, 1000, "#040404" ], "sizing": "smart" } ] } [/block] [block:parameters] { "data": { "h-0": "Onboard Flash", "h-1": "OpenLog", "h-2": "OpenLager", "0-0": "Pros:\n* Already onboard many flight controllers; no additional hardware required\n* Relatively fast", "0-1": "Pros:\n* Commonly available logging peripheral logs to SD card", "1-0": "Cons:\n* Not all FCs have it\n* Downloading logs over USB can be very slow\n* Onboard flash storage is very limited in size", "1-1": "Cons:\n* Relatively slow interface and small buffers limits limits log rates\n* Consumes a flight controller serial port", "0-2": "Pros:\n* Really fast\n* Logs to SD card\n* Same form factor as OpenLog", "1-2": "Cons:\n* Availability is presently limited\n* Cost is a little higher than OpenLog because fancier parts are used in the design." }, "cols": 3, "rows": 2 } [/block] To use logging, first enable the logging module in the modules configuration. Next, if you are using OpenLog or OpenLager, go to the hardware pane, and assign the device to a serial port. Save, and return to the modules configuration. On the logging sub-pane, you can adjust various parameters. The default 'LogOnArm' and 'FullBore' logging profiles are generally what you want. If you are using a serial logger, select the baud rate. Generally OpenLog defaults to 115200 or 250000 bits per second, and OpenLager defaults to 2000000 bits per second. If you are using OpenLager, feel free to turn up the logging rate. This is the maximum number of times per second to log any of the data objects on the system (motor commands, gyro data, manual control input). You can generally choose at least 250 without any problems. [block:callout] { "type": "info", "title": "Viewing logs", "body": "The dRonin development environment contains a Python API and associated tools to do heavy lifting and analysis of recorded logs.\n\nThere's a lot of work underway on end-user log viewing and analysis tools. In the meantime, there's an initial preview of a log viewing environment for Windows at http://jar.lyle.org/~mlyle/logview-20160910.zip" } [/block]