PageSourceSearch

https://meshtastic-bice.vercel.app/assets/js/40ef3418.5b2fae06.js

js meshtastic-bice.vercel.app collected 2026-10-03 07:22:28 UTC 18,799 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkmeshtastic=self.webpackChunkmeshtastic||[]).push([["31521"],{27832(e,t,n){n.r(t),n.d(t,{metadata:()=>r,default:()=>u,frontMatter:()=>c,contentTitle:()=>d,toc:()=>a,assets:()=>l});var r=JSON.parse('{"id":"hardware/devices/community-supported/stmicroelectronics/nucleo-wl55jc","title":"STMicroelectronics\xae Nucleo-WL55JC","description":"The ST Nucleo-WL55JC (board reference MB1389) is STMicroelectronics\' official evaluation board for the STM32WL. NUCLEO-WL55JC1 is built for the high frequency band (approximately 865–928 MHz) and NUCLEO-WL55JC2 for the low band (approximately 433–510 MHz). The two share a board design but wire out different RF paths and matching networks, so they are not interchangeable. It carries an onboard ST-LINK, so no external programmer is needed.","source":"@site/docs/hardware/devices/community-supported/stmicroelectronics/nucleo-wl55jc.mdx","sourceDirName":"hardware/devices/community-supported/stmicroelectronics","slug":"/hardware/devices/community-supported/stmicroelectronics/nucleo-wl55jc","permalink":"/docs/hardware/devices/community-supported/stmicroelectronics/nucleo-wl55jc","draft":false,"unlisted":false,"editUrl":"https://github.com/meshtastic/meshtastic/edit/master/docs/hardware/devices/community-supported/stmicroelectronics/nucleo-wl55jc.mdx","tags":[],"version":"current","lastUpdatedBy":"rcarteraz","sidebarPosition":1,"frontMatter":{"id":"nucleo-wl55jc","title":"STMicroelectronics\xae Nucleo-WL55JC","sidebar_label":"Nucleo-WL55JC","sidebar_position":1},"sidebar":"Sidebar","previous":{"title":"STMicroelectronics\xae","permalink":"/docs/hardware/devices/community-supported/stmicroelectronics/"},"next":{"title":"Antennas","permalink":"/docs/hardware/antennas/"}}'),i=n(91987),s=n(67008),o=n(87622);let c={id:"nucleo-wl55jc",title:"STMicroelectronics\xae Nucleo-WL55JC",sidebar_label:"Nucleo-WL55JC",sidebar_position:1},d,l={},a=[{value:"Specifications",id:"specifications",level:2},{value:"Meshtastic pin mapping",id:"meshtastic-pin-mapping",level:2},{value:"Flashing",id:"flashing",level:2},{value:"Resources",id:"resources",level:2}];function h(e){let t={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.a,{href:"https://www.st.com/en/evaluation-tools/nucleo-wl55jc.html",children:"ST Nucleo-WL55JC"})," (board reference MB1389) is STMicroelectronics' official evaluation board for the STM32WL. ",(0,i.jsx)(t.code,{children:"NUCLEO-WL55JC1"})," is built for the high frequency band (approximately 865\u2013928 ",(0,i.jsx)(o.A,{term:"MHz",definition:"A unit of frequency equal to one million hertz (cycles per second), used to specify the operating frequency of LoRa devices in the Meshtastic network, affecting range and data rate.",routePath:"/docs/terms/",children:"MHz"}),") and ",(0,i.jsx)(t.code,{children:"NUCLEO-WL55JC2"})," for the low band (approximately 433\u2013510 ",(0,i.jsx)(o.A,{term:"MHz",definition:"A unit of frequency equal to one million hertz (cycles per second), used to specify the operating frequency of LoRa devices in the Meshtastic network, affecting range and data rate.",routePath:"/docs/terms/",children:"MHz"}),"). The two share a board design but wire out different ",(0,i.jsx)(o.A,{term:"RF",definition:"The radio signal a node transmits and receives over LoRa.",routePath:"/docs/terms/",children:"RF"})," paths and matching networks, so they are not interchangeable. It carries an onboard ST-LINK, so no external programmer is needed."]}),"\n",(0,i.jsx)(t.h2,{id:"specifications",children:"Specifications"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:(0,i.jsx)(o.A,{term:"MCU",definition:"The microcontroller that runs the firmware on a device. The hardware tables list the MCU for each supported board.",routePath:"/docs/terms/",children:"MCU"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"STM32WL55JC (Arm Cortex-M4 application core, 256 kB flash, 64 kB RAM)"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsxs)(t.strong,{children:[(0,i.jsx)(o.A,{term:"LoRa",definition:"A low-power, long-range wireless communication technology used by Meshtastic devices to enable communication over distances of several kilometers without the need for cellular, Wi-Fi, or other traditional network infrastru
1ctures.",routePath:"/docs/terms/",children:"LoRa"})," Transceiver"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["STM32WL integrated sub-GHz radio (Semtech SX126x-based), 32 ",(0,i.jsx)(o.A,{term:"MHz",definition:"A unit of frequency equal to one million hertz (cycles per second), used to specify the operating frequency of LoRa devices in the Meshtastic network, affecting range and data rate.",routePath:"/docs/terms/",children:"MHz"})," TCXO"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Frequency options"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NUCLEO-WL55JC1"}),": high band (~865\u2013928 ",(0,i.jsx)(o.A,{term:"MHz",definition:"A unit of frequency equal to one million hertz (cycles per second), used to specify the operating frequency of LoRa devices in the Meshtastic network, affecting range and data rate.",routePath:"/docs/terms/",children:"MHz"}),")"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NUCLEO-WL55JC2"}),": low band (~433\u2013510 ",(0,i.jsx)(o.A,{term:"MHz",definition:"A unit of frequency equal to one million hertz (cycles per second), used to specify the operating frequency of LoRa devices in the Meshtastic network, affecting range and data rate.",routePath:"/docs/terms/",children:"MHz"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Antenna"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Single band-specific ",(0,i.jsx)(o.A,{term:"SMA",definition:"A threaded coaxial connector for attaching an external antenna. RP-SMA is the reverse-polarity variant, which is not interchangeable with it.",routePath:"/docs/terms/",children:"SMA"})," connector"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Connectors"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(o.A,{term:"USB",definition:"The wired connection used to power a device, flash firmware onto it, and communicate with it over serial.",routePath:"/docs/terms/",children:"USB"})," Micro-B (ST-LINK)"]}),"\n",(0,i.jsx)(t.li,{children:"Arduino UNO V3 headers"}),"\n",(0,i.jsx)(t.li,{children:"ST morpho headers"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Debug"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Onboard STLINK-V3E: ",(0,i.jsx)(o.A,{term:"SWD",definition:"A two-pin debug and programming interface, used on STM32 devices to enter bootloader mode and flash firmware.",routePath:"/docs/terms/",children:"SWD"})," debug, Virtual COM Port, and drag-and-drop mass-storage programming"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Controls"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["3 user ",(0,i.jsx)(o.A,{term:"LED",definition:"An indicator light on a device. The External Notification module can drive one in response to mesh activity.",routePath:"/docs/terms/",children:"LEDs"})," (green/blue/red)"]}),"\n",(0,i.jsx)(t.li,{children:"3 user buttons (B1/B2/B3) and a reset button"}),"\n",(0,i.jsx)(t.li,{children:"BOOT0 jumper (JP3)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"meshtastic-pin-mapping",children:"Meshtastic pin mapping"}),"\n",(0,i.jsxs)(t.p,{children:["Taken from the Meshtastic ",(0,i.jsx)(t.code,{children:"nucleo_wl55jc"})," firmware variant. The Arduino UNO V3 headers (CN5 / CN8 / CN9) bring out a subset of the ",(0,i.jsx)(o.A,{term:"MCU",definition:"The microcontroller that runs the firmware on a device. The hardware tables list the MCU for each supported board.",routePath:"/docs/terms/",children:"MCU"})," pins; the ST morpho headers (CN7 / CN10) bring out every ",(0,i.jsx)(o.A,{term:"MCU",definition:"The microcontroller that runs the firmware on a device. The hardware tables list the MCU for each supported board.",routePath:"/docs/terms/",children:"MCU"})," pin."]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Function"}),(0,i.jsx)(t.th,{children:"Pin(s)"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Arduino"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Morpho"}),(0,i.jsx)(t.th,{children:"Meshtastic role"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Console"}),(0,i.jsx)(t.td,{children:"ST-LINK Virtual COM Port (PA2 / PA3)"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsxs)(t.td,{children:["Default ",(0,i.jsx)(t.code,{children:"Serial"})," (debug output and ",(0,i.jsx)(o.A,{term:"CLI",definition:"A text-based interface used for interacting with software or devices like Meshtastic.",routePath:"/docs/terms/",children:"CLI"}),")"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(o.A,{term:"GPS",definition:"A satellite positioning system. A node with a GPS module determines its own location and can report that position to the mesh.",routePath:"/docs/terms/",children:"GPS"})," ",(0,i.jsx)(o.A,{term:"UART",definition:"A serial interface used to communicate with a device over its pins or through a USB-to-serial bridge.",routePath:"/docs/terms/",children:"UART"})]}),(0,i.jsxs)(t.td,{children:["PB6 (",(0,i.jsx)(o.A,{term:"TX",definition:"The transmitting of data over the radio link.",routePath:"/docs/terms/",children:"TX"}),"), PB7 (",(0,i.jsx)(o.A,{term:"RX",definition:"The receiving of data over the radio link.",routePath:"/docs/terms/",children:"RX"}),") \u2014 D1 / D0"]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"Serial2"})," (",(0,i.jsx)(t.code,{children:"GPS_SERIAL_PORT=Serial2"}),")"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(o.A,{term:"I2C",definition:"A two-wire bus used to attach peripherals such as sensors and displays to a device.",routePath:"/docs/terms/",children:"I2C"})}),(0,i.jsx)(t.td,{children:"PA11 (SDA), PA12 (SCL) \u2014 D14 / D15"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{children:"Sensors"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(o.A,{term:"SPI",definition:"A bus used between the microcontroller and peripherals such as the LoRa radio and the display.",routePath:"/docs/terms/",children:"SPI"})}),(0,i.jsx)(t.td,{children:"PA7 (MOSI), PA6 (MISO), PA5 (SCK) \u2014 D11 / D12 / D13"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsxs)(t.td,{children:["Spare ",(0,i.jsx)(o.A,{term:"SPI",definition:"A bus used between the microcontroller and peripherals such as the LoRa radio and the display.",routePath:"/docs/terms/",children:"SPI"})," bus"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:["Green ",(0,i.jsx)(o.A,{term:"LED",definition:"An indicator light on a device. The External Notification module can drive one in response to mesh activity.",routePath:"/docs/terms/",children:"LED"})]}),(0,i.jsx)(t.td,{children:"PB9"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"LED_POWER"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:["Red ",(0,i.jsx)(o.A,{term:"LED",definition:"An indicator light on a device. The External Notification module can drive one in response to mesh activity.",routePath:"/docs/terms/",children:"LED"})]}),(0,i.jsx)(t.td,{children:"PB11"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(o.A,{term:"LoRa",definition:"A low-power, long-range wireless communication technology used by Meshtastic devices to enable communication over distances of several kilometers without the need for cellular, Wi-Fi, or other traditional network infrastru
1ctures.",routePath:"/docs/terms/",children:"LoRa"})," activity"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:["Blue ",(0,i.jsx)(o.A,{term:"LED",definition:"An indicator light on a device. The External Notification module can drive one in response to mesh activity.",routePath:"/docs/terms/",children:"LED"})]}),(0,i.jsx)(t.td,{children:"PB15"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{children:"Notification"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Button B1"}),(0,i.jsx)(t.td,{children:"PA0 (WKUP-capable)"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{children:"Main button"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Button B2"}),(0,i.jsx)(t.td,{children:"PA1"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{children:"Alternate button"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Button B3"}),(0,i.jsx)(t.td,{children:"PC6"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,i.jsx)(t.td,{children:"Cancel button"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"VBAT sense"}),(0,i.jsxs)(t.td,{children:["AVBAT (internal ",(0,i.jsx)(o.A,{term:"ADC",definition:"A circuit that turns a varying voltage into a digital value. Devices use one to read sensors and to measure battery voltage.",routePath:"/docs/terms/",children:"ADC"})," channel)"]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"-"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"BATTERY_PIN"}),", but VBAT is tied to 3V3 by default (SB21) so this reads the rail, not a battery"]})]})]})]}),"\n",(0,i.jsx)(t.h2,{id:"flashing",children:"Flashing"}),"\n",(0,i.jsxs)(t.p,{children:["Everything runs through the onboard ST-LINK, including drag-and-drop of ",(0,i.jsx)(t.code,{children:"firmware-nucleo_wl55jc-X.X.X.xxxxxxx.bin"})," onto the board's ",(0,i.jsx)(o.A,{term:"USB",definition:"The wired connection used to power a device, flash firmware onto it, and communicate with it over serial.",routePath:"/docs/terms/",children:"USB"})," mass-storage drive."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/getting-started/flashing-firmware/stm32/flashing-over-swd",children:"Flashing over SWD"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"resources",children:"Resources"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Firmware file: ",(0,i.jsx)(t.code,{children:"firmware-nucleo_wl55jc-X.X.X.xxxxxxx.bin"})]}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.st.com/en/evaluation-tools/nucleo-wl55jc.html",children:"NUCLEO-WL55JC product page"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.st.com/resource/en/user_manual/um2592-stm32wl-nucleo64-board-mb1389-stmicroelectronics.pdf",children:"UM2592: STM32WL Nucleo-64 board (MB1389) user manual"})}),"\n"]})]})}function u(e={}){let{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},67008(e,t,n){n.d(t,{R:()=>o,x:()=>c});var r=n(71763);let i={},s=r.createContext(i);function o(e){let t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}},87622(e,t,n){n.d(t,{A:()=>o});var r=n(71763),i=n(37773),s=n(91987);function o({term:e,definition:t,abbreviation:n,routePath:c="/glossary",children:d}){let[l,a]=(0,r.useState)(!1),[h,u]=(0,r.useState)(null),[x,m]=(0,r.useState)("top"),j=(0,r.useRef)(null),f=(0,r.useRef)(null),p=(0,r.useCallback)(()=>{let e;if(!j.current||!f.current)return;let t=j.current.getBoundingClientRect(),n=f.current.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight,s=document.querySelector(".navbar"),o=s?s.getBoundingClientRect().bottom:0,c=t.top-o>=n.height+8,d=i-t.bottom>=n.height+8,l=c||!d?"top":"bottom";e="top"===l?t.top-n.height-8:t.bottom+8;let a=t.left+t.width/2-n.width/2;a=Math.max(8,Math.min(a,r-n.width-8)),m(l),u({top:Math.max(o+4,e),left:a})},[]);(0,r.useEffect)(()=>{let e;if(!l)return;let t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>{p()})}),n=()=>p(),r=()=>p();return window.addEventListener("scroll",n,!0),window.addEventListener("resize",r),()=>{cancelAnimationFrame(t),e&&cancelAnimationFrame(e),window.removeEventListener("scroll",n,!0),window.removeEventListener("resize",r)}},[l,p]);let g=(0,i.P_)("docusaurus-plugin-glossary"),w=(0,r.useMemo)(()=>
1{if(t&&"string"==typeof t&&t.length>0)return t;let n=(g&&g.terms||[]).find(t=>"string"==typeof t.term&&t.term.toLowerCase()===String(e).toLowerCase());return n&&n.definition?n.definition:void 0},[t,g,e]),A=(0,r.useMemo)(()=>{let t=n;if(!t){let n=(g&&g.terms||[]).find(t=>"string"==typeof t.term&&t.term.toLowerCase()===String(e).toLowerCase());t=n&&n.abbreviation}if("string"!=typeof t)return;let r=t.trim();if(r&&r.toLowerCase()!==String(e).toLowerCase())return r},[n,g,e]),b=(0,r.useMemo)(()=>c&&"string"==typeof c&&c.length>0?c:g&&g.routePath||"/glossary",[g,c]),y=d||e,v=e.toLowerCase().replace(/\s+/g,"-");return(0,s.jsxs)("span",{ref:j,className:"glossaryTermWrapper_ud7W",children:[(0,s.jsx)("a",{href:`${b}#${v}`,className:"glossaryTerm_x2nJ",onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),onFocus:()=>a(!0),onBlur:()=>a(!1),"aria-describedby":`tooltip-${v}`,children:y}),w&&(0,s.jsxs)("span",{ref:f,id:`tooltip-${v}`,className:`tooltip_WjgA ${l?"tooltipVisible_AjfD":""} ${"top"===x?"tooltipTop_uMN4":"tooltipBottom_U9P5"} tooltipFloating_nLk7`,role:"tooltip",style:l&&h?{top:`${h.top}px`,left:`${h.left}px`}:void 0,children:[(0,s.jsx)("strong",{children:e}),A?` (${A}). `:"",w]})]})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.