﻿{"id":9961,"date":"2022-03-03T17:40:38","date_gmt":"2022-03-03T09:40:38","guid":{"rendered":"http:\/\/www.mateksys.com\/?post_type=portfolio&#038;p=9961"},"modified":"2024-05-12T13:59:28","modified_gmt":"2024-05-12T05:59:28","slug":"can-l431","status":"publish","type":"portfolio","link":"https:\/\/www.mateksys.com\/?portfolio=can-l431","title":{"rendered":"AP_Periph CAN Node L431"},"content":{"rendered":"\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-4hqm61-562ec678e1f0f75ff8432efb40853ec1\">\n#top .av-special-heading.av-4hqm61-562ec678e1f0f75ff8432efb40853ec1{\npadding-bottom:10px;\n}\nbody .av-special-heading.av-4hqm61-562ec678e1f0f75ff8432efb40853ec1 .av-special-heading-tag .heading-char{\nfont-size:25px;\n}\n.av-special-heading.av-4hqm61-562ec678e1f0f75ff8432efb40853ec1 .av-subheading{\nfont-size:15px;\n}\n<\/style>\n<div  class='av-special-heading av-4hqm61-562ec678e1f0f75ff8432efb40853ec1 av-special-heading-h2 blockquote modern-quote modern-centered  avia-builder-el-0  el_before_av_slideshow  avia-builder-el-first '><h2 class='av-special-heading-tag'  itemprop=\"headline\"  >AP_Periph CAN Node L431<\/h2><div class='av-subheading av-subheading_below'><p>AP_Periph, CAN Node, DroneCAN, L431<\/p>\n<\/div><div class=\"special-heading-border\"><div class=\"special-heading-inner-border\"><\/div><\/div><\/div>\n<div  class='avia-slideshow av-l0agzpfw-e0706ab8ee37c2321e61f45980315560 avia-slideshow-featured_large av_slideshow avia-slide-slider  avia-builder-el-1  el_after_av_heading  el_before_av_tab_container  av-slideshow-ui av-control-default av-slideshow-manual av-loop-once av-loop-manual-endless av-default-height-applied avia-slideshow-1' data-slideshow-options=\"{&quot;animation&quot;:&quot;slide&quot;,&quot;autoplay&quot;:false,&quot;loop_autoplay&quot;:&quot;once&quot;,&quot;interval&quot;:5,&quot;loop_manual&quot;:&quot;manual-endless&quot;,&quot;autoplay_stopper&quot;:false,&quot;noNavigation&quot;:false,&quot;bg_slider&quot;:false,&quot;keep_padding&quot;:false,&quot;hoverpause&quot;:false,&quot;show_slide_delay&quot;:0}\"  itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><ul class='avia-slideshow-inner ' style='padding-bottom: 40%;'><li  class='avia-slideshow-slide av-l0agzpfw-e0706ab8ee37c2321e61f45980315560__0  av-single-slide slide-1 slide-odd'><div data-rel='slideshow-1' class='avia-slide-wrap '   ><img fetchpriority=\"high\" class=\"wp-image-9968 avia-img-lazy-loading-not-9968\"  src='https:\/\/www.mateksys.com\/wp-content\/uploads\/2022\/03\/CAN-L431_1.jpg' width='1500' height='600' title='CAN-L431_1' alt=''  itemprop=\"thumbnailUrl\"   \/><\/div><\/li><\/ul><\/div>\n<div  class='tabcontainer av-5mk3eh-6e369c7212ce6828c19e2ebebab83693 top_tab  avia-builder-el-2  el_after_av_slideshow  avia-builder-el-last ' role='tablist'>\n<section class='av_tab_section av_tab_section av-9tng9-747cdba6bce716aa102574dcdeaf82b4'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='tab active_tab' role='tab' tabindex='0' data-fake-id='#tab-id-1' aria-controls='tab-id-1-content'  itemprop=\"headline\" >Routing<\/div><div id='tab-id-1-content' class='tab_content active_tab_content' aria-hidden=\"false\"><div class='tab_inner_content invers-color'  itemprop=\"text\" ><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/www.mateksys.com\/wp-content\/uploads\/2022\/03\/CAN-L431_W.jpg\" width=\"1500\" height=\"1354\" \/><\/p>\n<\/div><\/div><\/section>\n<section class='av_tab_section av_tab_section av-2taou1-a402d518307bfba2987edab1228d4c3b'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='tab' role='tab' tabindex='0' data-fake-id='#tab-id-2' aria-controls='tab-id-2-content'  itemprop=\"headline\" >Specifications<\/div><div id='tab-id-2-content' class='tab_content' aria-hidden=\"true\"><div class='tab_inner_content invers-color'  itemprop=\"text\" ><ul>\n<li>CAN-L431 is an Adapter Node based on ArudPilot AP_Periph firmware.<\/li>\n<li>With this board, you can easily utilize the ArduPilot driver library to convert ArduPilot supported GNSS, Compass, Barometer,Airspeed sensor, and GPIO based (PWM, Buzzer\/LED notify) peripherals to DroneCAN bus peripherals.<\/li>\n<\/ul>\n<h3><strong>Specifications<\/strong><\/h3>\n<ul>\n<li>MCU: STM32L431xC, 256KB Flash<\/li>\n<li>CAN transceiver data rates up to 1 Mbit\/s<\/li>\n<li>1x CAN, DroneCAN Protocol\u00a0 (2x GH-4P connectors in parallel)<\/li>\n<li>3x UARTs\n<ul>\n<li>UART1, spare<\/li>\n<li>UART2, MSP default, DFU<\/li>\n<li>UART3, GPS default<\/li>\n<\/ul>\n<\/li>\n<li>1x I2C\n<ul>\n<li>for peripheral Airspeed sensor<\/li>\n<li>for peripheral Barometer<\/li>\n<li>for peripheral Compass QMC5883L<\/li>\n<\/ul>\n<\/li>\n<li>1x SPI\n<ul>\n<li>for peripheral RM3100<\/li>\n<\/ul>\n<\/li>\n<li>4x ADC\n<ul>\n<li>BATT_VOLT, PIN 5<\/li>\n<li>BATT_CURR, PIN 6<\/li>\n<li>BATT2_VOLT, PIN 15<\/li>\n<li>BATT2_CURR, PIN 16<\/li>\n<\/ul>\n<\/li>\n<li>5x PWM outputs<\/li>\n<li>1x GPIO with TIM16 for buzzer<\/li>\n<li>ST debug, SWCLK &amp; SWDIO<\/li>\n<\/ul>\n<ul>\n<li>LED\n<ul>\n<li>Blue, Fast blinking,\u00a0 Booting<\/li>\n<li>Blue, Slow blinking, working<\/li>\n<li>Red, 3.3V indicator<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Input voltage range: 4.5~5.5V\u00a0 @5V pad\/pin<\/li>\n<li>Power consumption: 40mA<\/li>\n<li><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMk9wZXJhdGluZyUyMFRlbXBlcmF0dXJlcyUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTdEJTVEJTdE\">Operating Temperatures: -20~80 \u00b0C<\/span><\/li>\n<\/ul>\n<ul>\n<li>Physical\n<ul>\n<li>2x JST-GH-4P(SM04B-GHS-TB) for CAN<\/li>\n<li>1x JST-GH-4P(SM04B-GHS-TB) for I2C<\/li>\n<li>1x JST-GH-6P(SM06B-GHS-TB) for UART3+I2C<\/li>\n<li>Board Size: 26mm*26mm*6mm.\u00a0 3.7g<\/li>\n<li>3D file : <a href=\"..\/Downloads\/other\/CAN-L431_STEP.zip\" target=\"_blank\" rel=\"noopener\">CAN-L431_STEP.zip<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Firmware\n<ul>\n<li>ArduPilot AP_Periph\u00a0 <strong>MatekL431-Periph, or MatekL431-Airspeed<\/strong><\/li>\n<li>Update via DroneCAN GUI Tool<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><strong>Packing<\/strong><\/h3>\n<ul>\n<li>1x CAN-L431 board<\/li>\n<li>1x JST-GH-4P to JST-GH-4P 20cm silicon wire<\/li>\n<li>1x JST-GH-6P to JST-GH-6P 20cm silicon wire<\/li>\n<\/ul>\n<\/div><\/div><\/section>\n<section class='av_tab_section av_tab_section av-309obt-efc2054590daa2959a87774fafb26f28'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='tab' role='tab' tabindex='0' data-fake-id='#tab-id-3' aria-controls='tab-id-3-content'  itemprop=\"headline\" >Parameters<\/div><div id='tab-id-3-content' class='tab_content' aria-hidden=\"true\"><div class='tab_inner_content invers-color'  itemprop=\"text\" ><table width=\"707\">\n<tbody>\n<tr>\n<td colspan=\"4\" width=\"515\">SLCan Mode CAN1\u00a0 &gt; Parameters<\/td>\n<td width=\"192\">Parameters<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">UART<\/td>\n<td>TX1 RX1<\/td>\n<td>UART1<\/td>\n<td>Serial PORT 0<\/td>\n<td>USER<\/td>\n<\/tr>\n<tr>\n<td>TX2 RX2<\/td>\n<td>UART2<\/td>\n<td>Serial PORT 1<\/td>\n<td>MSP_PORT 1<\/td>\n<\/tr>\n<tr>\n<td>TX3 RX3<\/td>\n<td>UART3<\/td>\n<td>Serial PORT 2<\/td>\n<td>GPS_PORT 2<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">I2C<\/td>\n<td rowspan=\"3\" width=\"127\">SCL\/SDA<br \/>\nGH connector<\/td>\n<td rowspan=\"3\">PB13\/PB14<\/td>\n<td width=\"174\">Baro SPL06<\/td>\n<td width=\"192\">Address 0x76<\/td>\n<\/tr>\n<tr>\n<td width=\"174\">QMC5883L<\/td>\n<td>Default parameters<\/td>\n<\/tr>\n<tr>\n<td width=\"174\">MS4525<\/p>\n<p>MS5525<br \/>\nDLVR-L10D<\/td>\n<td width=\"192\">ARSP_TYPE\u00a0 1<\/p>\n<p>ARSP_TYPE\u00a0 3<br \/>\nARSP_TYPE\u00a0 9<\/td>\n<\/tr>\n<tr>\n<td>SPI1<\/td>\n<td colspan=\"2\" width=\"237\">SCK, SO, S1, CS1<\/td>\n<td colspan=\"2\" width=\"366\">RM3100<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\">ADC<\/td>\n<td width=\"127\">Vbat pad<\/td>\n<td width=\"110\">PA0<\/td>\n<td width=\"174\">0~69V<br \/>\n1K:20K divider builtin<\/td>\n<td width=\"192\">BATT_MONITOR\u00a0 4<br \/>\nBATT_VOLT_PIN\u00a0 5<br \/>\nBATT_VOLT_MULT\u00a0 21<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">Curr pad<\/td>\n<td width=\"110\">PA1<\/td>\n<td>0~3.3V<\/td>\n<td width=\"192\">BATT_CURR_PIN 6<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">VB2<\/td>\n<td width=\"110\">PB0<\/td>\n<td width=\"174\">0~3.3V<\/td>\n<td width=\"192\">BATT_MONITOR\u00a0 4<br \/>\nBATT2_VOLT_PIN\u00a0 15<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">Curr2<\/td>\n<td width=\"110\">PB1<\/td>\n<td width=\"174\">0~3.3V<\/td>\n<td width=\"192\">BATT2_CURR_PIN 16<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"6\">PWM<\/td>\n<td>1<\/td>\n<td>PA8<\/td>\n<td>TIM1_CH1<\/td>\n<td>OUT1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>PA9<\/td>\n<td>TIM1_CH2<\/td>\n<td>OUT2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>PA10<\/td>\n<td>TIM1_CH3<\/td>\n<td>OUT3<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>PA11<\/td>\n<td>TIM1_CH4<\/td>\n<td>OUT4<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\">5<\/td>\n<td rowspan=\"2\">PA15<\/td>\n<td rowspan=\"2\">TIM2_CH1<\/td>\n<td>OUT5<\/td>\n<\/tr>\n<tr>\n<td width=\"192\">2812 LED<br \/>\nOUT5_FUNCTION 120<br \/>\nNTF_LED_TYPES 257<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\">Buzzer<\/td>\n<td>Bz-<\/td>\n<td colspan=\"3\">\u00a0Passive buzzer\u00a0 &#8211;<\/td>\n<\/tr>\n<tr>\n<td>5V<\/td>\n<td colspan=\"3\">\u00a0Passive buzzer +<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td colspan=\"3\">Disable GPS<\/td>\n<td width=\"192\">GPS_TYPE\u00a0 0<br \/>\nGPS_PORT\u00a0 -1<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td colspan=\"3\">Disable compass<\/td>\n<td width=\"192\">COMPASS_ENABLE\u00a0 0<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td colspan=\"3\">Disable Battery monitor<\/td>\n<td width=\"192\">BATT_MONITOR\u00a0 0<br \/>\nBATT2_MONITOR\u00a0 0<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td colspan=\"3\">Disable MSP<\/td>\n<td width=\"192\">MSP_PORT\u00a0 -1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Parameters in Flight controller<\/p>\n<ul>\n<li>CAN_D1_PROTOCOL = 1<\/li>\n<li>CAN_P1_DRIVER = 1<\/li>\n<li>GPS_TYPE = 9 DroneCAN<\/li>\n<li>COMPASS_TYPEMASK DroneCAN (Unchecked)<\/li>\n<li>ARSPD_TYPE = 8 (DroneCAN)<\/li>\n<li>NTF_LED_TYPE -&gt; DroneCAN (Checked)<\/li>\n<\/ul>\n<p>Tips<\/p>\n<ul>\n<li>MatekL431-Periph firmware support I2C compass QMC5883L by default<\/li>\n<li>If you connect other I2C compass to this board, you need to update it with <a href=\"https:\/\/www.mateksys.com\/Downloads\/FW\/AP_Periph_MatekL431_ALL_I2C_MAG.bin\" target=\"_blank\" rel=\"noopener\">this firmware<\/a> via DroneCAN GUI or SLCAN mode in Mission Planner.<\/li>\n<\/ul>\n<\/div><\/div><\/section>\n<section class='av_tab_section av_tab_section av-2xuvbt-e1b97e4679fe85395d3884067e6368a0'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='tab' role='tab' tabindex='0' data-fake-id='#tab-id-4' aria-controls='tab-id-4-content'  itemprop=\"headline\" >PWM outputs<\/div><div id='tab-id-4-content' class='tab_content' aria-hidden=\"true\"><div class='tab_inner_content invers-color'  itemprop=\"text\" ><h4>Tutorial \uff1a\u00a0<span style=\"color: #000080;\"><a class=\"fancy-title\" style=\"color: #000080;\" href=\"https:\/\/discuss.ardupilot.org\/t\/using-matekl431-adapters-for-pwm-and-dshot\/85781\" target=\"_blank\" rel=\"noopener\" data-ember-action=\"\" data-ember-action-27=\"27\">Using MatekL431 adapters for PWM and DShot<\/a><\/span><\/h4>\n<\/div><\/div><\/section>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":9964,"comment_status":"closed","ping_status":"closed","template":"","tags":[179,235,202],"portfolio_entries":[175,221],"class_list":["post-9961","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry","tag-ap_periph","tag-can-node","tag-dronecan","portfolio_entries-ardupilot","portfolio_entries-dronecan"],"_links":{"self":[{"href":"https:\/\/www.mateksys.com\/index.php?rest_route=\/wp\/v2\/portfolio\/9961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mateksys.com\/index.php?rest_route=\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/www.mateksys.com\/index.php?rest_route=\/wp\/v2\/types\/portfolio"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mateksys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9961"}],"version-history":[{"count":0,"href":"https:\/\/www.mateksys.com\/index.php?rest_route=\/wp\/v2\/portfolio\/9961\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mateksys.com\/index.php?rest_route=\/wp\/v2\/media\/9964"}],"wp:attachment":[{"href":"https:\/\/www.mateksys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9961"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mateksys.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9961"},{"taxonomy":"portfolio_entries","embeddable":true,"href":"https:\/\/www.mateksys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fportfolio_entries&post=9961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}