AT commands parser for ESP8266

Hello everyone,

ESP8266 with AT commands software from Espressif is now more stable than every, so I’m thinking to make a “strong” AT commands parser library for STM32 series of microcontrollers. If there well be an interest, I can do a generic library (like FATFS) to make usable on others microcontrollers too.

So I’m thinking about these commands:

  • Basic commands for settings up ESP module, including UART settings, Wifi name and more
  • Basic AT commands for setting up ESP mode (multi connection, STA mode, etc)
  • Basic AT commands for wifi manipulation (searching WIFI stations, connection to station)
  • AT commands for CLIENT connecting to web browser
  • AT commands for SERVER receiving web browser

Supported AT command SDK version would be at least 1.5.0 with dedicated generated .bin files for it.

Let me know your thoughts.


Library is available for download here.


Owner of this site. Also electronic enthusiasts, web developer, 3D printer fan, handball player and more. Big fan of STM32F4 devices. In anticipation of the new Discovery board for STM32F7 lines.

You may also like...

Read before commenting!

Before you make a new comment, make sure you agree with things listed below:

  • - Read post to make sure if it is already posted what you are asking for,
  • - Make sure you have the latest version of libraries used in your project,
  • - Make a clean and grammatically correct written message,
  • - Report as many details as possible, including what have you done so far,
  • - Do NOT post any code here. Use Pastebin,
  • - Do NOT post any error codes here. Use Pastebin,
  • - Specify STM32Fxxx family and used Discovery/EVAL/Nucleo or custom made board,
  • - Make sure your clock is set correct for PLL,
  • - If you are using my HAL drivers, please check this post how to start.
Comment will be deleted on breaking these rules without notification!
  • ZenMaster

    That would be quite awesome!

    • Library is ready, and posted on website, if you want it,

      • abhilash

        Can you provide me code for interfacing stm32f407 and esp 8266-01?

  • Vince Keiper

    I am about to write a driver for this IC for one of my projects that is using the STM32F429. I will be starting it within the next couple weeks. I would not mind sharing my work with you, maybe we could collaborate on the effort. This is a side project (non work related) so I could share my source code.

    • Well, Ive already started with development. Have some basic things like server enable, mux set, detecting connected/disconnected from network and getting IP.

      So if you dont mind, I would like to hear more about your coding plan. Please use email where we can talk more, privately.

      • Vince Keiper

        sure, my email address is

        The mile high view:
        Ultimate goal is a WiFi (tcp socket) to CANbus gateway.
        However, the CANbus portion is not part of this driver.

        I am looking to implement tcp socket client and server, in same driver and compile time macros to select perspective.
        I also need a basic web page, mainly for configuration and status monitoring.

      • Hashim

        I am about to start work on this..Want to update data to cloud. Could you share your present code with me to start with me.

  • Jiří Šrámek

    I have written a driver for this device (SDK 1.5) on STM32F4 Discovery which implements basic commands as well as AP/STA mode and working server (or client). Also, fully compatible with HAL. If you would like, I can share this code with you.

  • Murtaz Naqvi

    When it will be ready??

    • Technically it is ready almost, just I’m facing problems because ESP AT commands software is not stable yet.
      Sometimes, module just crashes without reason.

      • Murtaz Naqvi

        Can u plz send it to me i need it urgently plz

  • samit

    Can you provide a description of ESP8266 that- what the whole code provided by you is doing

    • Basically it can do everything you can do with AT commands from Espressif systems.
      Description found on link in main menu.

  • Mario Toma

    Hi Majerle,

    I downloaded the STM32Fxxx libraries have to operate a module of a ESP8266-01 with STM32F746G-DISCO board. But when I start the program and call the Init function (ESP8266_Init) then return “Device not connected” result.

    I connected the module D0 and D1 pin to the arduino device (PC6 and PC7). I’m using Pinpack 1 (USART6). I connected the ESP8266 reset pin to A0 pin (PA0), because I saw in your library that you use it for reset.

    Do you have any idea what is the problem? Did I connected incorrectly

    Thank you in advance for your help!

    Good day!


    • I’m sure you got garbage since you did not check for PLL configuration.

      • Mario Toma

        Maybe, but I think all ok, because the PLL_M = 25, PLL_N
        = 400 and PLL_P = 400 = 2, so the processor go to 200 MHz (HSE = 25 MHz) and
        all other work that way. I need to set something else in order to properly run
        the USART? Sorry, my English is not good?

      • Mario Toma

        Maybe, but I think all ok, because the PLL_M = 25, PLL_N
        = 400 and PLL_P = 400 = 2, so the processor go to 200 MHz (HSE = 25 MHz) and
        all other work that way. I need to set something else in order to properly run
        the USART? Sorry, my English is not good.

        • HSE_VALUE is set to? PLL_P = 400?

          Yes, your english is bad.

          • Mario Toma

            Excuse me, I’m Italian and I work in Budapest, but the English language has not yet been learned.
            Anyway, yes, it is set HSE_VALUE: (uint32_t) 25000000 in the system_stm32f7xx.c library.

          • So you are often in Slovenia 😉
            This could look ok. You can go to debug and check what is the actual frequency.

          • Mario Toma

            All right, I’ll try, thank you very much.
            If I can not then bother you again.
            Otherwise, I will go to Ljubljana for when I go to my parents, and Slovenia are very beautiful country! 🙂

  • GoBen

    hey tilen, your libs are always so good
    But when I used this library to get my ESP8266 module to work, it seems like something went wrong:
    here is the output (on my terminal):
    ESP8266 commands parser; Compiled: Dec 2 2016 11:11:08
    ESP Init error. Status: 1
    Problems trying to connect to network: 1
    Server mode is enabled. Try to connect to to see the magic
    Can you suggest me how to fixed this?

    • Version number, what example you used? Everything is relateed. What is your setup, etc.
      Software version on ESP8266. Maybe you did not check documentation for supported AT version from Espressif?

  • abhilash

    Can you provide code for interfacing ESP8266-01 and STM32F407?