Cannot build for ESP32-C5

Hello, I have a Seeed Studio XIAO ESP32-C5 and a Wio-WM6108 Wi-Fi HaLow Module which I’ve been trying to flash some useful firmware, I was trying to manually set up the porting_assitant example from GitHub - MorseMicro/mm-iot-esp32 · GitHub using ESP-IDF v5.x.x, but I noticed the deprecation notice here Morse Micro · GitHub and decided to try the following:
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

$ git clone -b v5.5.3 --recursive <https://github.com/espressif/esp-idf.git> esp-idf-v5.5.3
$ ./install.sh all
$ . ./export.sh

$ idf.py add-dependency “morsemicro/halow^2.10.4-esp32-2”

$ idf.py create-project-from-example "morsemicro/halow:porting_assistant"

Up until here I have no issues, but when I call idf.py set-target esp32c5from the porting_assitantdir, it fails with CMake Error at managed_components/morsemicro__firmware CMakeLists.txt:17 (message): Target esp32c5 not known. Exiting., even tho the new halow’s registry says that it “Supports all targets” and that the help menu for set-target shows the C5 as an option.

Am I doing something wrong, or are the C5 based boards not yet supported for use with HaLow transceivers?

Hi @tcc

Oops, you’ve bumped into an issue as we are transitioning our ESP32 support onto the registry. We have another version being prepared for the registry with some better documentation, and a fix so that you can compile for the esp32c5. This should be available at the end of June.

If you would like to make your project compile right now, modify managed_components/morsemicro__halow/components/shims/CMakeLists.txt to add an entry for an esp32c5 include path. Then duplicate the c6 or c3 include folder and rename it to suit the c5.

You will also want to make changes to managed_components/morsemicro__firmware/CMakeLists.txt and an an entry for the esp32c5. Again it should just duplicate the c3 or c6.

Sorry about that! For the next release we’ve expanded our compilation testing to include all esp32 targets.

Hello @ajudge , first of all, thanks for the reply. I got the pipeline to build by duplicating the C6’s make configuration as you said, and I also replaced the .mbin file under menuconfig: Component Config > Morse Micro Shim Configuration > MM Board Configuration File from the default one to one I generated from the morse-firmware/bcf/quectel/bcf_fgh100mhaamd.bin.

After some more fiddling I was able to get the porting assistant example to run, but that same day I got a pair of S3s that I’d ordered, so I’m using those for now and they’ve worked great out of the box.

1 Like