{"id":1855,"date":"2022-09-26T16:17:05","date_gmt":"2022-09-26T15:17:05","guid":{"rendered":"https:\/\/avionicsduino.com\/?page_id=1855"},"modified":"2025-05-30T09:45:56","modified_gmt":"2025-05-30T08:45:56","slug":"ems-engine-monitoring-system-2","status":"publish","type":"page","link":"https:\/\/avionicsduino.com\/index.php\/en\/ems-engine-monitoring-system-2\/","title":{"rendered":"EMS"},"content":{"rendered":"\n<p style=\"font-size:10px\">(EMS: Last updated by Benjamin on November 09, 2023)<\/p>\n\n\n\n<p>Monitoring aircraft engines has long relied on analog gauges: RPM, oil pressure, intake manifold pressure, various temperatures, etc. Nowadays, all these instruments are often replaced by an EMS (Engine Monitoring System), where information from many sensors is centralized and displayed on a single screen.<\/p>\n\n\n\n<p>This page will describe the main unit of the AvionicsDuino EMS. The reader is invited to refer to this site&rsquo;s \u201cHardware\u201d section. It contains the description of most of the sensors of the Rotax 91x engines. These engines are ubiquitous in amateur-built, experimental, and ultra-light aircraft. Sensors used on other engines are sometimes identical or very often based on similar principles. Many sensors studied in the \u201cHardware\u201d section are not specific to Rotax engines (thermocouples, shunts, O<sup><sub>2<\/sub><\/sup> probes, flow sensors, etc.)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AvionicsDuino EMS general presentation<\/h3>\n\n\n\n<p>The following parameters are monitored directly by the main unit of the EMS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Temperatures of cylinder heads 2 and 3<\/li>\n\n\n\n<li>Oil temperature and pressure<\/li>\n\n\n\n<li>Intake Manifold pressure<\/li>\n\n\n\n<li><a href=\"http:\/\/www.aeroelectric.com\/PPS\/Adobe_Architecture_Pdfs\/Z16M.pdf\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Aeroelectric Z16 System. Endurance bus\">Endurance bus<\/a> voltages<\/li>\n\n\n\n<li>Battery charge\/discharge current<\/li>\n\n\n\n<li>Current drawn by the main bus<\/li>\n\n\n\n<li>AFR (Air Fuel Ratio) in connection with the O<sub>2<\/sub> probe<\/li>\n\n\n\n<li>Exhaust gas temperatures of cylinders 3 and 4<\/li>\n<\/ul>\n\n\n\n<p><br>Other essential parameters are monitored via the <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/teensy-micro-ems\/\" target=\"_blank\" rel=\"noopener\" title=\"Teensy Micro-EMS\">Teensy micro-EMS<\/a>. This micro-EMS is to be considered an integral part of the EMS system. These parameters are transmitted over the CAN Bus and displayed on the screen of the EMS main unit. These parameters are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RPM<\/li>\n\n\n\n<li>Fuel flow<\/li>\n\n\n\n<li>Fuel level in the tank (calculated and measured)<\/li>\n\n\n\n<li>Battery voltage <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">EMS general architecture<\/h3>\n\n\n\n<p>The Micro-EMS occupies the upper part of this diagram. The EMS main unit is at the lower part. The heart of the main unit is a Teensy 4.1 board (fig. 1). Its display is a 5&Prime; color TFT (Riverdi TFT LCD 800x480px 1000cd\/m2 IPS 5.0\u2033 <a href=\"https:\/\/riverdi.com\/product\/high-brightness-ips-display-rvt50hqtfwn00-5-inch-rgb-frame\" target=\"_blank\" rel=\"noopener\" title=\"5&quot; Riverdi TFT display\">RVT50HQTFWN00<\/a>). The two units communicate via the CAN bus.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"656\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/Architecture_EMS_02ter-1024x656.png\" alt=\"\" class=\"wp-image-3297\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/Architecture_EMS_02ter-1024x656.png 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/Architecture_EMS_02ter-300x192.png 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/Architecture_EMS_02ter-768x492.png 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/Architecture_EMS_02ter-1200x768.png 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/Architecture_EMS_02ter.png 1471w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 1: AvionicsDuino EMS general architecture<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Apart from the digital manifold <a href=\"https:\/\/www.adafruit.com\/product\/3965\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Adafruit absolute pressure sensor\">pressure sensor<\/a>, which is connected to one of the Teensy I2C buses, and the sensors supported by the micro-EMS, all other sensors have an analog output and provide a signal that is a continuous voltage between 0 and 3.3 volts for some, between 0 and 5 volts for others. <\/p>\n\n\n\n<p>These voltages must be digitized by one of the analog-to-digital converters (ADC) of the Teensy 4.1 board. Before that, they are processed by an appropriate input stage, either to adapt the impedances, to bring the voltages from the 0-5v range back to the 0-3.3v range, to amplify low voltages to drive an ADC to full-scale value or to apply an offset if necessary, and sometimes for several of these reasons. <\/p>\n\n\n\n<p>These input stages use operational amplifier technology and are described in detail in the various pages devoted to sensors in the \u201cHardware\u201d section. The resistors that control the gains and offsets of these op-amps all have tolerances of 0.1%, allowing for high precision results. Our experimental measurements have shown precision to the nearest degree for temperatures in the range of 50 to 150\u00b0C, thanks also to the rigorous modeling of the sensors (see the page on <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/temperature-sensors-on-rotax-engines\/\" title=\"Temperature sensors\">temperature sensors<\/a> in the \u201cHardware\u201d section).<\/p>\n\n\n\n<p style=\"font-size:14px\"><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_Schematics.pdf\">EMS V1: Kicad schematics<\/a><\/p>\n\n\n\n<p style=\"font-size:14px\"><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6.zip\">EMS V1: Download Kicad 6 files<\/a><\/p>\n\n\n\n<p style=\"font-size:14px\"><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/05\/EMS-_V1_Gerber_and_drill_files.zip\">EMS V1: Download Gerber and drill files<\/a><\/p>\n\n\n\n<p style=\"font-size:14px\"><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/04\/EMSV1_BOM.zip\">EMS V1: Download BOM<\/a><\/p>\n\n\n\n<p style=\"font-size:14px\"><a href=\"https:\/\/github.com\/bfrmd\/EMS-AvionicsDuino\" target=\"_blank\" rel=\"noreferrer noopener\">EMS AvionicsDuino: Download source code on GitHub<\/a><\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D-1024x505.jpg\" alt=\"\" class=\"wp-image-2634\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D-1024x505.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D-300x148.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D-768x378.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D-1536x757.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D-1200x591.jpg 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_01_Kicad6_3D.jpg 1918w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 2: Kicad 3D view of the PCB, current version, with the location provided for the intake manifold pressure sensor<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"540\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top.jpg\" alt=\"\" class=\"wp-image-2635\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top.jpg 1000w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top-300x162.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top-768x415.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 3: PCB of the EMS first prototype, before the \u00ab\u00a0graft\u00a0\u00bb of the intake manifold pressure sensor<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"549\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back.jpg\" alt=\"\" class=\"wp-image-2638\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back.jpg 1000w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back-300x165.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back-768x422.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 4: Bottom side of the same PCB as Figure 3, with the RA8875 graphics controller connector<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"512\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top_avecMPRLS.jpg\" alt=\"\" class=\"wp-image-2642\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top_avecMPRLS.jpg 1000w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top_avecMPRLS-300x154.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_top_avecMPRLS-768x393.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 5: Same prototype as Figure 3, after the \u201cgraft\u201d of the intake manifold pressure sensor. Note the two black and red wires directly soldered to the \u201cProgram\u201d and \u201cGND\u201d pins of the Teensy 4.1. These wires are connected to an easily accessible push button, allowing for an easy reset in the event of a software update failure or in the event of a \u201ccrash\u201d related to this update. A pin header-type connector should instead be soldered to the Teensy 4.1 board for better mechanical strength.<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"511\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back_avecMPRLS.jpg\" alt=\"\" class=\"wp-image-2647\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back_avecMPRLS.jpg 1000w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back_avecMPRLS-300x153.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/EMS_PCB_back_avecMPRLS-768x392.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 6: The \u00ab\u00a0graft\u00a0\u00bb of the intake manifold pressure sensor on the first prototype.<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The video below was made during one of the first test flights with the EFIS-EMS AvionicsDuino on September 3, 2022. The EMS software was still in the very first test version. The download version above brings many improvements: implementation of the intake manifold pressure, a menu system, a stopwatch, a function allowing the connection to the flight data recorder, and, of course, correcting some bugs (fig. 7). <\/p>\n\n\n\n<p>The highly stripped-down interface is exclusively alphanumeric. Without desire for aesthetics, but highly functional and readable. All the essential elements are there. If preferred, developing a beautiful GUI later would be simple. <\/p>\n\n\n\n<p>The rotary knob and the micro-USB socket on the left are those of the EFIS. The same items on the right are for EMS. The USB sockets allow connection to the flight data recorder and the uploading of software updates to the two Teensy 4.1 boards.<\/p>\n\n\n\n<div class=\"wp-block-presto-player-reusable-display\"><\/div>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"602\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/EcranEMS.jpg\" alt=\"\" class=\"wp-image-3399\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/EcranEMS.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/EcranEMS-300x176.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2023\/11\/EcranEMS-768x452.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 7: View of the current interface, corresponding to the downloadable version 1.5 of the software.<\/figcaption><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>(EMS: Last updated by Benjamin on November 09, 2023) Monitoring aircraft engines has long relied on analog gauges: RPM, oil pressure, intake manifold pressure, various temperatures, etc. Nowadays, all these instruments are often replaced by an EMS (Engine Monitoring System), where information from many sensors is centralized and displayed on a single screen. This page &hellip; <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/ems-engine-monitoring-system-2\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;EMS&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1855","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/1855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/comments?post=1855"}],"version-history":[{"count":36,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/1855\/revisions"}],"predecessor-version":[{"id":4889,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/1855\/revisions\/4889"}],"wp:attachment":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/media?parent=1855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}