Showing results for 
Search instead for 
Did you mean: 

Suggestions for adding wifi and ble for stm32 nucleo?

Associate II

Perhaps this question was done a lot before, but I saw many topics about it and now I'm confused. 

Is there any suggestions of what would be the best solution for adding wifi and bluetooth capabilities for a STM32 nucleo board?


Get an STM32WB nucleo board instead.

Use a wifi or BLE module such as the ESP8266/ESP32.

If you feel a post has answered your question, please click "Accept as Solution".

Well, I was hoping not to use an ESP32, because I don't trust UART communication for IOT connections like @Harvey White said before <Re: Adding wifi to STM32 - STMicroelectronics Community>. I was thinking perhaps on a X-Nucleo-IDW or I-Nucleo-T2-EVB boards. Did someone tried them? Any alternatives?

Harvey White
Senior III

If you are doing your own hardware, then you get to pick your own interface and provide your own drivers.  If you want to use someone else's board and the interfaces are good enough, then manufacturer's boards work well enough if you can get the software to do what you want. 

What I was mentioning was the specific means of getting two serial systems to talk to each other.  If there's no flow control, you either use DMA or risk losing information.  If the module you use (for example Wroom32) has flow control, then your communications should be reasonable enough.  The ESP 8 pin module does not have flow control, and has to be used in a very specific manner to avoid dropping data.  I use an operating system, so I have multiple tasks, and the timing to talk to a peripheral *has* to take that into account.  The chip I mentioned has a built in buffer, so that solves the communications problem by throwing hardware at it. 

Had you looked into methods of connecting your IOT module?  Handshaking seems to be a key here.


Associate II

I hope to interface an owned IOT hardware later.
But for now I am trying to achieve a good, stable speed connection between a STM32F446RE and the Internet. Could you provide me more info about interfacing an STM32 with an ESP32? Did you tried it? What data rate can you achieve? I have an STM32 board like this. Would it work with an STM32? ESP32 Pinout Reference - Last Minute Engineers


The stability of the internet connection depends on two things:

  1. the stability of the connection between the module and the internet itself. 
  2. the stability of the interface between the module and processor.

I've use the ESP8266 module.  It uses RS-232, and I think I did 115K baud.  The problem is with that module, the internal processor just sends data out after getting a command, and it's up to *your* processor to keep up with it.  If you use a blocking mode RS232 driver, then you have to have the processor in a tight loop to get the data.  You also have about 9 microseconds to process the data and get ready for the next byte at 115K baud. 

With flow control (need another module, the ESP-12 or wroom-32) you get more pins and flow control.

Messing around with an operating system both complicates and simplifies things, but you have to understand how that works and how the programming using the OS works.

I've got the hardware on the board, and just simply haven't gotten to it.  Far more things to do at the moment than to mess with that, although it is on the list.  I do use, however, flow control so the operation is easier.  Main problem is to handle how to deal with long text, which is a list of nearby access points.

Unless you use IRQ's and DMA, and they work properly for you, you want flow control.