Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
..
Hello,I'm looking for some example code on using the built in RTC for the STM32WB55 to get a timestamp in UNIX UTC Time in milliseconds. Or the number of milliseconds since January 1st 1970.If anyone has a simple example on how to accomplish this I would greatly appreciate the help.Thank you in advance.
Good morning......I am using the ADC with 2 channels (Ch 9 and Ch 10). I am using an LPTIM to take these samples every 15ms. I have the ADC callback (HAL_ADC_ConvCpltCallback) to interrupt on 'End of sequence of conversion' (per .ioc --- or so I think). Can someone tell me what registers in the ADC I should be looking at to find the analog values of the two channels? I am not using DMA and only see one DR (Data Register in the module). When doing more than one channel must I use DMA??Thanks
We have encountered issue with WB55 BLE firmware where it doesn't accept AD_TYPE_COMPLETE_LOCAL_NAME longer than 9 characters We have reproduced that issue on p2pServer example where we've modified local_name to be "123456789" all is OK.static const char local_name[] = { AD_TYPE_COMPLETE_LOCAL_NAME , '1', '2', '3', '4', '5', '6', '7', '8' , '9' };If we add one character so local name is now "1234567890"static const char local_name[] = { AD_TYPE_COMPLETE_LOCAL_NAME , '1', '2', '3', '4', '5', '6', '7', '8' , '9' , '0'};Following happens in file app_ble.cret = aci_gap_set_discoverable( ADV_IND, Min_Inter, Max_Inter, PUBLIC_ADDR, NO_WHITE_LIST_USE, /* use white list */ sizeof(local_name), (uint8_t*) &local_name, BleApplicationContext.BleApplicationContext_legacy.advtServUUIDlen, BleApplicationContext.BleApplicationContext_legacy.advtServUUID, 0, 0); /* Update Advertising data */ ret = aci_gap_update_adv_data(sizeof(manuf_data), (uint8_t*) manuf_data); // If l
Hi everyone.I need to activate a different USB device (one only, no multi role) at startup, depending for example on a GPIO status. I have two versions of an application on a STM32WB55 Nucleo board working as MSC in a version and CDC in the other. I tried to combine the codes creating two different descriptors, registering the requested device in function MX_USB_Device_Init() and allocating PMA's in USBD_LL_Init() according to the device.As I integrated the CDC code in MSC code, the MSC device works well, but the CDC startup code CDC_Init_FS() is never called. My USB init function is:void MX_USB_Device_Init(void) { /* USB Clock Initialization */ USBD_Clock_Config(); // MSC and CD codes are the same /* Init Device Library, add supported class and start the library. */ switch (USBDmode) { case USB_DEVICE_MSC: if (USBD_Init(&hUsbDeviceFS, &MSC_Desc, DEVICE_FS) != USBD_OK) { Error_Handler(); } if (USBD_RegisterClass(&hUsbDeviceFS, &USBD_MSC) != USB
Hi,I'm creating a custom PCB for the STM32WB55 with BLE functionality and was wondering if in order to use BLE, do I need to include a 32Khz Oscillator on pins PC14 and PC15? I am assuming I do, but did not see anything definitive in the datasheet.Thanks for any help.
We are trying to bring up LoRaWAN Class B on NUCLEO-WL55JC1 platform. We enabled LoRaWAN End Node with the following,#define LORAWAN_DEFAULT_CLASS CLASS_B => in lora_app.h#define LORAMAC_CLASSB_ENABLED 1 => in lorawan_conf.hWe have LoRa Server enabled with Class A, B & C devices.With above settings, NUCLEO-WL55JC1 does not initiate any beacon related negotiation. Please share your inputs on whether class b is supported and validated in NUCLEO-WL55JC1Also share the procedure to setup class b device in firmware package.Thanks,Hariharan.V.
Thanks for your participation to the STM32WB Bluetooth and ZigBee Mesh Webinar .Recording of the session is here.Following is a collection of questions received during the Q&A session we were unable to answer in real time due to time constrains.For deep technical questions not addressed here we encourage to describe your problem in our support request form and we will reply to you as quickly as possible.In addition, ST sponsor MOOCs Massive Open Online Courses where you can learn through video series Q&A PART3. (Q&A PART 1 ; Q&A PART2)[Q] Does CE certification is needed for an end device using STM32WB5MMG inside?[A] Yes, the CE certification must be always done for the end-product itself, but the module will help to cover the RF certification.[Q] Is it possible to increase the radio output power from 6dbm?[A] The power can be increased above 6dBm with external Power amplifier. See application note AN5395 - External power amplifier[Q] UM2804 abou
Thanks for your participation to the STM32WB Bluetooth and ZigBee Mesh Webinar .Recording of the session is here.Following is a collection of questions received during the Q&A session we were unable to answer in real time due to time constrains.For deep technical questions not addressed here we encourage to describe your problem in our support request form and we will reply to you as quickly as possible.In addition, ST promote MOOCs Massive Open Online Courses where you can learn through video series Q&A PART2. (Q&A PART 1 ; Q&A PART3)[Q] What about Nucleo and Discovery evaluation boards?[A] Currently multiple development boards are available for STM32WB - P-NUCLEO-WB55(containing NUCLEO-WB55RG and dongle), a Nucleo based on STM32WB15 NUCLEO-WB15CCand discovery board based on STM32WB5MMG - module with integrated antenna and crystals and some passive components STM32WB5MM-DK[Q] Is FUS ( Firmware Upgrade Services) already prel
Thanks for your participation to the STM32WB Bluetooth and ZigBee Mesh Webinar .Recording of the session is here.Following is a collection of questions received during the Q&A session we were unable to answer in real time due to time constrains.For deep technical questions not addressed here we encourage to describe your problem in our support request form and we will reply to you as quickly as possible.In addition, ST promote MOOCs Massive Open Online Courses where you can learn through video series Q&A PART1. (Q&A PART2 ; Q&A PART3 ) [Q] Do you have the example for the Bluetooth LE Mesh Vendor model implementation?[A] Yes, we have it In the STM32CubeWB SDK, we have BLE_Mesh_ThermometerSensor example for STM32WB5MM-DK, which shows how to implement own vendor profile. Vendor model can be enabled in any of our BLE Mesh example by means of compilation macro. #define ENABLE_VENDOR_MODEL_SERVER. [Q] Can I develop my own Bluetooth LE
I think this is more of a c programming question rather than a MCU question, but I figured I would ask anyway. I am trying to append the chip ID from an STM32WB onto the BLE local name for my application and am having trouble figuring out how to do this.my local name is a const char *name = TESTMy chip id is a uint32_t Device_ID which was read from the device register (0x1FFF7580).lets say the Device_ID = 0x8BE4...How can I combine these two such that my local name ends up being "TEST 8BE4"
What are the physical differences between NUCLEO-WL55JC1 and NUCLEO-WL55JC2 Dev boards.Is it possible to convert the NUCLEO-WL55JC2 to a NUCLEO-WL55JC1?The NUCLEO-WL55JC1 seems to be unavailable on the market at this point.
The B-L072Z-LRWAN1 has two examples: ClassA and PingPong. ClassA requires a Multitech Gateway which is expensive, PingPong only for two nodes.If I have 3 to 10 long range nodes, plan to do star network, One node is master and others are slave, can I use B-L072Z-LRWAN1 to build a private Lora network?
WB5MMG RTC Inaccurate, RTC increase by 1s requires 10s or more in reality.32.768 LSE has been used. RTC_TimeTypeDef sTime = {0}; HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN); RTC_DateTypeDef sDate = {0}; HAL_RTC_GetDate(&hrtc, &sDate, RTC_FORMAT_BIN); Send_Log("%d %d %d %d% d %d", sDate.Year,sDate.Month,sDate.Date,sTime.Hours,sTime.Minutes,sTime.Seconds);
Using the STM32WL firmware V1.1, the end-client framework implements GetBatteryLevel() by reading VREFINT and determining what Vref+ is tied to. Assuming that Vdda is tied to Vdd, this measures the Vdd rail. Given motes likely use Lithium cells with LDO regulation, this isn't generally useful. I suggest an alternative in the FW package to configure an analog input used to sense actual battery voltage via a divider.
Hi there,I want to run some commands and get results on our custom designed STM32wl55 PCB. I started the project using cubemx but there is a subghz linker error.Could you please help me how to solve it?ThanksError: L6218E: Undefined symbol HAL_SUBGHZ_Init (referred from main.o).Error: L6218E: Undefined symbol MX_LoRaWAN_Init (referred from main.o).Error: L6218E: Undefined symbol MX_LoRaWAN_Process (referred from main.o).Error: L6218E: Undefined symbol HAL_SUBGHZ_IRQHandler (referred from stm32wlxx_it.o).Not enough information to list image symbols.
I'm trying to set the application specific 'random' MAC address on the SPBTLE-RF using hci_le_set_random_address() but I always end up with an address of all FF's. If however I use aci_hal_write_config_data() it works as expected (I get an address starting 0xc0....)Should I be using both methods?
Working with the STM32WB5MM.My intent is to trigger a one shot ADC/DMA combo that will read a bunch of pins with heavy oversampling, then trigger a callback for the processor to deal with later.Core Clock is 32Mhz, ADC clock is 1MhzI've got the ADC DMA working properly but the callback is not.. Here is my code:#define ADC_DMA_CHANNELS 2 volatile uint16_t rawADC[ADC_DMA_CHANNELS]; //stores values from the ADC DMA void ADC_Start(void){ APP_DBG_MSG("Start ADC \n"); //Start and Calibrate ADC HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); //Start ADC into DMA HAL_ADC_Start_DMA(&hadc1, (uint32_t*)rawADC, ADC_DMA_CHANNELS); HAL_Delay(10); //Block code to verify results APP_DBG_MSG("While %d %d\n", rawADC[0], rawADC[1]); //This prints proper results HAL_ADC_Stop_DMA(&hadc1); return; } void HAL_ADC_ConvtCpltCallback (ADC_HandleTypeDef *hadc) { APP_DBG_MSG("HAL_ADC_ConvtCpltCallback %d %d\n", rawADC[0], rawADC[1]); //Never gets triggered } &nbs
Mates, I am new in the environment of STM32. Now, I have a problem with a DSP application. I'd like to use FFT functions on STM32WL55 board. However, when I try to use CMSIS built-in functions, the project can not be built, it gives VFP errors. I am using STM32CubeIDE, I could not enable FPU in MCU Settings. And, "Floating-point ABI" is set as "soft". However, I still get VFP errors. Here below, you can see the output of the console. c:\st\stm32cubeide_1.6.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: error: C:\Users\unalf\Documents\STM32CubeIDE\Ptest1\ptest1\Drivers\CMSIS\Lib\GCC\libarm_cortexM4lf_math.a(arm_cfft_radix4_q15.o) uses VFP register arguments, ptest1.elf does not c:\st\stm32cubeide_1.6.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: faile
I build a new application with a custom GATT and would like to use the UART debug features that can be seen in the examples. I configured my IOC as follows and verifid the UART is working with the following code: char msg[] = "Begin1\n"; HAL_UART_Transmit_DMA(&huart1, msg, sizeof(msg));However no debug messages are getting printed properly.. I have attached a screenshot and my complete example project. Working with the STM32WB5M-DK
Hi,I am using the STM32WB55 and would like to use part of the chip's unique ID as part of the local name in my BLE application.I was hoping someone could easily show me how I could do this, or at a minimum, get the UID?Thanks for any help.
Hello, I have a problem to use another bus (I2C2 or I2C3) than the I2C1 bus in the nulceo STM32WL55JC1My code is working with I2C1 but when I just change hi2c1 into hi2c3. Then, HAL_I2C_Mem_Write() is no longer working. I cannot see any signal with an oscilloscope. I use Cube MX to make the initilization so it has to be the same between I2C1 and I2C3. Just I notice that for I2C1 I have and for I2C3 But I cannot change that. I have tried with an another board... but not working also I have try to put Fast mode to try the high speed as said here : HAL for I2C is horribly broken (st.com) Wouldn't that be a CubeMX problem ?Unless there is another error on the pins of the NUCELO in the table of UM2592? and that it is not these pins 36 and 38 of CN7 but others? (Irritating documentation for I2C1 Pins on NUCLEO WL55JC1 (st.com))Thank you by advance
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.