====NUCLEO-WL55JC1====
{{:boards:wl55jc1_front.jpg?100|Top}} {{:boards:wl55jc1_back.jpg?100|Bottom}}
This is a LoRa radio board with a dual core STM32WL55JC MCU which contains both a Cortex-M4 and Cortex-M0+ CPU.
Two demo boards exist, the JC1 and JC2. The former is for high band RF and the latter low band RF.
===Pinout===
==Clocks==
OSC32 X2 NX2012SA 32.768KHz PC14/PC15
OSC X3 NX2016SA 32MHz
==Peripherals==
PB9 LED2 GREEN
PB11 LED3 RED
PB15 LED1 BLUE
PA2 USART2_TX VCP_TX LPUART1_TX
PA3 USART2_TX VCP_TX LPUART1_RX
PB6 USART1_TX ARDUINO_TX
PB7 USART1_RX ARDUINO_RX
PA0 BUTTON1 PC13
PA1 BUTTON2
PC6 BUTTON3
==Frontend==
PC3 FE_CTRL3
PC4 FE_CTRL1
PC5 FE_CTRL2
PB0 VDD_TCXO
^RF mode^ FE_CTRL1^ FE_CTRL2 ^ FE_CTRL3^
|Tx high power|0|1|1|
|Tx low power|1|1|1|
|Rx |1|0|1|
===Software===
Software available for this board depends on a proprietary IDE and doesn't
support GNU Make or cmake out of the box.
There are two version of the support package. One contains proprietary source
code and is dated, the other only free to use source code and is maintained
and kept up to date.
==1.3.0==
This version contains proprietary source files and requires an ST login to [[https://www.st.com/en/embedded-software/stm32cubewl.html|download]].
__Extract__
unzip en.stm32cubewl-v1-3-0.zip
==Github==
Source code on github is maintained but lacks proprietary code. See the README section for a list of
features removed.
__Checkout__
git clone --recursive https://github.com/STMicroelectronics/STM32CubeWL.git
__Update__
git pull
git submodule update --init --recursive
__README__
These are the features removed from the non proprietary version maintained at github
cat Projects/README.md
# Some projects are unavailable in this repository
In this repository, some middleware libraries **along with** the projects (demos, applications, and examples) using them, are **not available**. Please refer to the [README.md](../README.md#some-middleware-libraries-and-projects-are-unavailable-in-this-repository) file at the root of this repository for further details.
## List of unavailable projects
* `./Projects/B-WL5M-SUBG1/Applications/LoRaWAN/LoRaWAN_End_Node_DualCore`
* `./Projects/B-WL5M-SUBG1/Applications/LoRaWAN_FUOTA_DualCore_ExtFlash`
* `./Projects/NUCLEO-WL55JC/Applications/BFU_1_Slot`
* `./Projects/NUCLEO-WL55JC/Applications/BFU_2_Slots`
* `./Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_AT_Slave_DualCore`
* `./Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_DualCore`
* `./Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_DualCoreFreeRTOS`
* `./Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA`
* `./Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA_DualCore`
* `./Projects/NUCLEO-WL55JC/Applications/LoRaWAN_SBSFU_1_Slot_DualCore`
* `./Projects/NUCLEO-WL55JC/Applications/SBSFU_1_Slot_DualCore`
* `./Projects/NUCLEO-WL55JC/Applications/SBSFU_2_Slots_DualCore`
* `./Projects/NUCLEO-WL55JC1/Applications/Sigfox_SBSFU_1_Slot_DualCore`
===Application===
Checkout the software package from github into the STM32CubeMX project directory as STM32CubeWL
Create an [[:boards:wl55readme|LoRAWAN end node]] which will default to the following connection parameters
EU_863_870 Default frequency plan for Europe
Link Layer TS001-1.0.4 + Regional Parameters RP002-1.0.1
* Open STM32CubeMX
* Go to Load project
* Navigate to STM32CubeWL/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node
* Open LoRaWAN_End_Node.ioc
* Go to Project Manager
* Change toolchain to Makefile
* Change MCU and Firmware Location to the checkout directory STM32CubeWL
* Setup [[tools:ttn|LoRaWAN commissioning]] (LoRaWAN/App/se-identity.h)
* Generate code (ignore message about Platform settings)
At this point the project can be built using `make'
make
...
text data bss dec hex filename
78816 280 10968 90064 15fd0 build/LoRaWAN_End_Node.elf
arm-none-eabi-objcopy -O ihex build/LoRaWAN_End_Node.elf build/LoRaWAN_End_Node.hex
arm-none-eabi-objcopy -O binary -S build/LoRaWAN_End_Node.elf build/LoRaWAN_End_Node.bin
Program using the [[tools:stm32prog|STM32CubeProgrammer]] GUI for convenience.
===Log===
APPLICATION_VERSION: V1.3.0
MW_LORAWAN_VERSION: V2.5.0
MW_RADIO_VERSION: V1.3.0
L2_SPEC_VERSION: V1.0.4
RP_SPEC_VERSION: V2-1.0.1
###### AppKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### NwkKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### AppSKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### NwkSKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### DevEUI: xx:xx:xx:xx:xx:xx:xx:xx
###### AppEUI: 01:01:01:01:01:01:01:01
###### DevAddr: xx:xx:xx:xx
0s037:TX on freq 868500000 Hz at DR 0
1s522:MAC txDone
6s553:RX_1 on freq 868500000 Hz at DR 0
7s871:MAC rxDone
###### = JOINED = OTAA =====================
###### U/L FRAME:JOIN | DR:0 | PWR:0
###### MCRootKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### MCKEKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### AppSKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### NwkSKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### DBIntKey: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
###### DevEUI: xx:xx:xx:xx:xx:xx:xx:xx
###### AppEUI: 01:01:01:01:01:01:01:01
###### DevAddr: xx:xx:xx:xx
...
###### ========== MCPS-Confirm =============
###### U/L FRAME:0010 | PORT:2 | DR:0 | PWR:0 | MSG TYPE:UNCONFIRMED
110s118:VDDA: 254
110s118:temp: 25
110s118:Next Tx in : ~49 second(s)
160s030:VDDA: 254
160s030:temp: 25
160s034:TX on freq 868500000 Hz at DR 0
160s037:SEND REQUEST
161s683:MAC txDone
162s714:RX_1 on freq 868500000 Hz at DR 0
162s913:IRQ_RX_TX_TIMEOUT
162s913:MAC rxTimeOut
163s714:RX_2 on freq 869525000 Hz at DR 0
163s913:IRQ_RX_TX_TIMEOUT
163s913:MAC rxTimeOut
###### ========== MCPS-Confirm =============
###### U/L FRAME:0011 | PORT:2 | DR:0 | PWR:0 | MSG TYPE:UNCONFIRMED
170s038:VDDA: 254
170s038:temp: 25
170s038:Next Tx in : ~154 second(s)
===LoRaWAN firmware===
The I-CUBE LoRaWAN demo has been updated to support GNU make [[https://hg.kewl.org/pub/LauraWAN|here]].
===Resources===
[[https://www.st.com/en/evaluation-tools/nucleo-wl55jc.html|Product page]]
[[https://www.st.com/resource/en/user_manual/um2592-stm32wl-nucleo64-board-mb1389-stmicroelectronics.pdf|User manual]]
[[https://www.st.com/resource/en/schematic_pack/mb1389-wl55jc-highband-e02_schematic.pdf|Schematic]]
[[https://www.st.com/en/microcontrollers-microprocessors/stm32wl55jc.html|MCU product page]]
[[https://www.st.com/en/embedded-software/stm32cubewl.html|STM32CubeWL software page]]
[[https://github.com/STMicroelectronics/STM32CubeWL|STM32CubeWL software repository]]
[[https://www.st.com/resource/en/user_manual/um2643-getting-started-with-stm32cubewl-for-stm32wl-series-stmicroelectronics.pdf|STM32CubeWL user manual]]
[[https://www.st.com/resource/en/application_note/an5406-how-to-build-a-lora-application-with-stm32cubewl-stmicroelectronics.pdf|STM32CubeWL application note]]
[[https://community.st.com/t5/stm32-mcus/how-to-import-stm32cubewl-repository-projects-onto-different/ta-p/618854|STM32CubeWL LoRaWAN_End_Node HOWTO]]