{"id":205,"date":"2021-07-05T09:55:18","date_gmt":"2021-07-05T08:55:18","guid":{"rendered":"https:\/\/avionicsduino.com\/?page_id=205"},"modified":"2023-04-17T19:17:01","modified_gmt":"2023-04-17T18:17:01","slug":"micro-ems-arduino","status":"publish","type":"page","link":"https:\/\/avionicsduino.com\/index.php\/en\/open-source-avionics-2\/micro-ems-arduino\/","title":{"rendered":"Arduino Micro-EMS"},"content":{"rendered":"\n<p style=\"font-size:10px\"><em>(Arduino Micro-EMS: <em>Last updated by Benjamin on April 17, 202<\/em>3)<\/em><\/p>\n\n\n\n<p class=\"has-dark-gray-color has-text-color has-background\" style=\"background:radial-gradient(rgb(255,245,203) 0%,rgb(182,227,212) 60%,rgb(51,167,181) 100%);font-size:17px\">A <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/teensy-micro-ems\/\" title=\"Teensy Micro-EMS\">new version of the Micro-EMS<\/a>, based on a Teensy 4.0 board, is now available. <\/p>\n\n\n\n<p>EMS (Engine Monitoring System) is the device that monitors engine operation. It centralizes information from all sensors and displays the results in real time on a screen. The parameters usually monitored on a single-engine piston light aircraft are RPM, oil pressure and temperature, cylinder head and exhaust gas temperatures, fuel flow, and level, inlet pressure, voltage and amperage in the electrical circuit.<\/p>\n\n\n\n<p>The micro-EMS shown here is based on an Arduino Uno board. Why Micro-EMS? Because apart from its small size, it only monitors a small number of the parameters mentioned above, namely RPM, fuel flow and level, and main bus voltage. In the first version of this Micro-EMS, charging\/discharging battery current was also monitored, but the <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/ems-engine-monitoring-system-2\/\" title=\"EMS\">main EMS<\/a> now provides this function much more efficiently. The monitored parameters are transmitted to the main EMS over the CAN Bus; this functionality was added to the second and current version.<\/p>\n\n\n\n<p>The aircraft on which this Micro-EMS is mounted is powered by a Rotax 912 80 CV engine, whose original electronic ignition units (Ducati) have been replaced by programmable capacitive modules derived from <a href=\"https:\/\/www.ignitech.cz\/en\/vyrobky\/dccdip2\/dccdip2.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Ignitech DC-CDI-P2 ignition module\">Ignitech DC-CDI-P2<\/a>. These ignition units are configured to generate one pulse per revolution on their \u201cTacho\u201d output towards the tachometer. This output delivers a square signal with a 50% duty cycle and a constant amplitude of 16 volts, whatever the speed.<\/p>\n\n\n\n<p>The display uses an Adafruit 2.2\u2033 TFT LCD 240 \u00d7 320 color screen; all information is shown on one screen. This economical screen is not \u00ab\u00a0sunlight readable,\u00a0\u00bb but placed under the cap of the dashboard, it is easily readable in flight under all circumstances (fig. 1).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-768x1024.jpg\" alt=\"\" class=\"wp-image-154\" width=\"384\" height=\"512\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-768x1024.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-225x300.jpg 225w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-1152x1536.jpg 1152w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-1536x2048.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-1200x1600.jpg 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153612-scaled.jpg 1920w\" sizes=\"auto, (max-width: 384px) 85vw, 384px\" \/><figcaption class=\"wp-element-caption\">Figure 1: First version of the Micro-EMS, in flight on the MCR Sportster instrument panel.<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"401\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-1024x401.jpg\" alt=\"\" class=\"wp-image-161\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-1024x401.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-300x117.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-768x301.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes-1200x470.jpg 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Arduino-Uno-et-protoshield-Keyes.jpg 1239w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 2: The system uses an Arduino UNO board, coupled to a Keyes protoshield on which are soldered few external components.<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"401\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1024x401.jpg\" alt=\"\" class=\"wp-image-166\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1024x401.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-300x118.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-768x301.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1536x602.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-2048x802.jpg 2048w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Schema-et-photo-protoshield-1200x470.jpg 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 3: Diagram and picture of the protoshield of the first version with the external components.<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1024x439.jpg\" alt=\"\" class=\"wp-image-2674\" width=\"1024\" height=\"439\" srcset=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1024x439.jpg 1024w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-300x128.jpg 300w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-768x329.jpg 768w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1536x658.jpg 1536w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace-1200x514.jpg 1200w, https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/12\/MicroEMS_V2_enPlace.jpg 1868w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Figure 4 : Back side of the instrument panel with the micro-EMS, the CAN bus module on the top.<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-a5a1931f-9fa0-4128-af31-09059aed6372\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Shield-micro-EMS.jpg\">Micro-EMS V1 ProtoShield diagram <\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Shield-micro-EMS.jpg\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-a5a1931f-9fa0-4128-af31-09059aed6372\">Download<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-550e743e-65b3-4135-b1f8-da67a016007b\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Circuit-du-micro-EMS.jpg\">Micro-EMS V1 circuit<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Circuit-du-micro-EMS.jpg\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-550e743e-65b3-4135-b1f8-da67a016007b\">Download<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-b64fd944-6471-4a98-8b99-60c348db2900\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Connexions-du-micro-EMS.jpg\">Micro-EMS V1 to aircraft connections<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/Connexions-du-micro-EMS.jpg\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-b64fd944-6471-4a98-8b99-60c348db2900\">Download<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-3a53088f-c397-4764-9a9c-a1b8c091ba44\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Micro-EMS_V1.zip\">Download Source code Micro-EMS V1<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-a00c1eb7-3869-4b4a-accf-6ab4c5d595dd\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Cablage_micro_EMS_V2.pdf\">Micro-EMS V2 circuit<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Cablage_micro_EMS_V2.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-a00c1eb7-3869-4b4a-accf-6ab4c5d595dd\">DOWNLOAD<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-b61130ea-1f43-4508-ab50-0c5f93da129c\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Connexions_micro_EMS_V2.pdf\">Micro-EMS V2 to aircraft connections<\/a><a href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/09\/Connexions_micro_EMS_V2.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-b61130ea-1f43-4508-ab50-0c5f93da129c\">DOWNLOAD<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-9f6e9e5c-2a7e-463d-9ec5-a0ff96a7e886\" href=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2022\/10\/Micro-EMS_V2.zip\">Download Source code Micro-EMS V2<\/a><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Using many direct manipulations of the ATmega328P registers, the micro-EMS program only works on Arduino Uno, Nano, or compatible boards.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tachometer function:<\/strong><\/h3>\n\n\n\n<p>The input stage uses a Schmitt trigger optocoupler to pre-process the signal from the Tacho-output of the ignition units. With this same input stage, the system could just as easily exploit the signal delivered by the native sensor of the Rotax engine.<\/p>\n\n\n\n<p>The signal thus processed is applied to Arduino digital pin 3, then exploited using Timer 1, and the external interrupt Int1.<\/p>\n\n\n\n<p>The program measures the period of the signal and deduces its frequency. Reference <a href=\"https:\/\/www.electronicsblog.net\/arduino-frequency-counterduty-cycle-meter\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Arduino frequency counter\/duty cycle meter\">here<\/a>. This is the most effective of the various solutions tested for measuring the period of this type of signal in the frequency range of interest to us. Simple techniques that count the number of pulses during a given interval are unresponsive and inaccurate because the frequency is low. The use of the PulseIn function was also disappointing.<\/p>\n\n\n\n<p>In flight, the difference in the RPM between the micro-EMS and the commercial digital tachometer fitted on the instrument panel never exceeds ten revolutions per minute. A corrective factor for the frequency of the microcontroller must be applied to obtain this precision; see the remarks in the source code of the program.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ammeter function:<\/strong><\/h3>\n\n\n\n<p>The V1 version of the program displayed the charging or discharging current of the battery, thanks to a digital high-end bidirectional INA219 12-bit voltage amplifier, using the 50 mV \/ 20A \/ 0.0025\u03a9 shunt mounted in the electrical circuit during the construction of the aircraft. This was neither precise nor accurate. In the V2 version, this functionality has been removed. Current sensing is now much better implemented in the<a href=\"https:\/\/avionicsduino.com\/index.php\/en\/ems-engine-monitoring-system-2\/\" title=\"EMS\"> EMS<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Voltmeter function:<\/strong><\/h3>\n\n\n\n<p>The program continuously displays the voltage via the INA 219. The measurement by the Arduino board itself, via an analog input, and a simple voltage divider, would have been just as effective. But with the INA card, no voltage divider bridge or calibration is necessary.<\/p>\n\n\n\n<p>The displayed voltage never differs more than 0.1 volts from a reference multimeter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00ab\u00a0Idiot Lamp\u00a0\u00bb function:<\/strong><\/h3>\n\n\n\n<p>An RGB LED acts as a \u00ab\u00a0smart Idiot Lamp\u00a0\u00bb: if the bus voltage is above 13.3 V, the LED is green; this is a normal state. If the voltage drops while the engine speed is below a certain threshold, it is solid red; this is also a normal state when the engine is idling. On the other hand, if the voltage drops with a higher engine speed, it flashes (with the help of Timer 2) to better attract attention: a very abnormal situation!<\/p>\n\n\n\n<p>The Arduino UNO (or Nano) still has resources with these first functions. And there is still room on the screen\u2014next step: fuel management.<\/p>\n\n\n\n<p>We want to use the external INT0 interrupt on pin 2 and Timer 0 for the fuel flow. But Timer 0 is already used by the Arduino environment for the delay (), millis (), and micros () functions, and for PWM on pins 5 and 6 \u2026 So we have to be cunning;<a href=\"https:\/\/stackoverflow.com\/questions\/46573550\/atmel-arduino-isrtimer0-ovf-vect-wont-compile-first-defined-in-vector\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Arduino: ISR(TIMER0_OVF_vect) won't compile\"> this reference<\/a> helps! See also the comments in the source code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fuel management:<\/strong><\/h3>\n\n\n\n<p>The EEPROM is available to store the fuel level in the tank after the system has been powered off.<\/p>\n\n\n\n<p>PCINT1 and analog pins A1 and A2 are used, with the help of two push-buttons, to adjust the actual fuel level in the tank at the start of the flight, thanks to the PinChangeInterrupt.h library.<\/p>\n\n\n\n<p>The analog pin A0 is used for continuous measurement of the actual fuel level in the tank using the fuel sender. This is a high-resolution <a href=\"https:\/\/wema.co.uk\/products\/fuel-sender?variant=41998824020\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"WEMA FUEL SENDER - S3\">WEMA S3<\/a> (0 to 190 Ohms) 35 cm resistive probe; its resistance varies from 0 ohms with an empty tank to 190 ohms with a full tank. The 29 reed switches of this probe ensure a very decent resolution. Unlike capacitive probes, this probe is insensitive to the nature of the measured fluid: AVGAS 100LL, MOGAS, or a mixture of the two.<\/p>\n\n\n\n<p>The probe is used in series with a 220 Ohm resistor to form a voltage divider. This resistor is located upstream of the 3-pin connector of the probe so as not to risk toasting the Arduino by distractedly switching on the master switch when the tank has been removed! If this resistor were placed on the ProtoShield, forgetting to reconnect the probe would then apply 8 volts directly to A0. Indeed, the entire Micro-EMS is supplied with 8 volts by an L7808 regulator. A 100\u00b5F capacitor has also been placed in this connector to dampen the rapid variations in voltage across the probe related to ripples on the fuel surface.<\/p>\n\n\n\n<p>The fuel flow uses Timer 0, Int 0, and digital pin 2. The \u201cRed Cube\u201d flow sensor (Electronic International FT-60), with a 10k\u03a9 pull-up resistor to 5V, generates a square signal, the pulse width is highly variable, and the signal frequency is highly unstable. Under these conditions, the method employed is to count the pulses during a given time interval, then filter the result to stabilize the flow rate display.<\/p>\n\n\n\n<p>The results obtained with this fuel computer are very satisfactory: the display is stable, and at the end of the flight, even for a prolonged period (up to 4 hours), the remaining fuel levels, either displayed by the computer or measured manually in the tank, never differ by more than one liter. And this level is always in the range of 3 to 4 liters measured by the Wema probe.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/avionicsduino.com\/wp-content\/uploads\/2021\/07\/20190320_153703.mp4\"><\/video><figcaption class=\"wp-element-caption\">Arduino Micro-EMS in flight<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stopwatch<\/strong><\/h3>\n\n\n\n<p>And finally, as the fuel flow sampling is carried out precisely every second by the Timer0, we take the opportunity to add a last additional function to this micro-EMS: the display of the time elapsed since the engine was started. The stopwatch only runs if there is fuel consumption.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CAN Bus<\/h3>\n\n\n\n<p>In Micro-EMS V2, a <a href=\"https:\/\/joy-it.net\/en\/products\/SBC-CAN01\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Joy-IT SBC-CAN01 module\">Joy-IT SBC-CAN01 module<\/a> provides the Arduino Uno board with CAN-Bus capabilities.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Arduino sketch<\/h3>\n\n\n\n<p>Most measurements are filtered by a running average method, which ensures excellent display stability\/responsiveness. An <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/digital-filters\/\" title=\"IIR filter\">infinite impulse response filter<\/a> would be much simpler to implement; this is done in the EFIS program.<\/p>\n\n\n\n<p>All calculations are performed on integers to avoid float variables to the ATMega328 microcontroller, which does not have a floating-point unit.<\/p>\n\n\n\n<p>Two constants must be customized in the program, they appear for convenience at the very start of the program:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>the K factor, depending on the characteristics of the flow sensor used,<\/li>\n\n\n\n<li>the actual frequency of the Arduino UNO clock because it is not always precisely equal to 16 MHz.<\/li>\n<\/ul>\n\n\n\n<p>Successive approximations allow for adjusting these two constants during the first flights, which requires a new upload each time. It&rsquo;s less ergonomic than a rotary encoder coupled with a menu system, but it&rsquo;s much simpler!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Arduino Micro-EMS: Last updated by Benjamin on April 17, 2023) A new version of the Micro-EMS, based on a Teensy 4.0 board, is now available. EMS (Engine Monitoring System) is the device that monitors engine operation. It centralizes information from all sensors and displays the results in real time on a screen. The parameters usually &hellip; <a href=\"https:\/\/avionicsduino.com\/index.php\/en\/open-source-avionics-2\/micro-ems-arduino\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Arduino Micro-EMS&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":79,"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-205","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/205","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=205"}],"version-history":[{"count":45,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/205\/revisions"}],"predecessor-version":[{"id":3133,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/205\/revisions\/3133"}],"up":[{"embeddable":true,"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/pages\/79"}],"wp:attachment":[{"href":"https:\/\/avionicsduino.com\/index.php\/wp-json\/wp\/v2\/media?parent=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}