How to Integrate Custom AT Command with Existing RUI3 (v4.2.1) AT Commands in a Single Program?

Hi team,

I have successfully implemented a custom AT command (ATC+PA10) to control the PA10 GPIO on my RAK3172 module. My development process involved the following steps:

  1. First, I erased the entire memory of the module and flashed the official RUI3 v4.2.1 firmware (hex/bin) using STM32CubeProgrammer.
  2. Next, without erasing the firmware, I flashed my custom code which includes the additional AT command handler for PA10.
  3. After this, I am able to use both the standard AT commands and my custom AT command successfully.

However, this method requires flashing twice, which is not optimal.
My question:
Is there a way to merge my custom AT command handler and the official RUI3 (v4.2.1) AT command set into a single program or firmware image?

  • Can I add a specific header file or source file to my custom code to achieve this?
  • Or is there an official way to build a combined firmware that includes both the standard AT commands and any user-defined commands?
    Looking for suggestions on the correct way to merge or include both the RUI3 official AT commands and my custom AT command in a single firmware image, or any best practices/documentation for this process.

Thanks in advance!

There is no need to flash first the default AT command firmware and then your own application. You can just flash you application with the additional AT commands.

See example RUI3-Env-IAQ

Just call the init functions for the different custom AT commands from setup(), then they are available in your application.

Hi,

Thank you for your feedback. I will review your suggestions and try them out. If I need any further clarification, I will reach out again.