Can I create a mesh network using an ESP32-S3 and a FGH100MAAMD?

Hello everyone,

First, I am really new to a lot of networking concepts and I am sorry in advance if I mix things up.

I am trying to create a basic mesh network using ESP32-S3 and FGH100MAAMD and I want to know if it is possible in the first place.

I saw that due to a recent update it was possible to use the WiFi HaLow module as an AP or a STA but I can’t figure out how everything really works.

Do you have any library or tutorials that you can recommend ? Thanks a lot !

Hi @Benyeh

At the moment the core package, mm-iot-sdk - which our esp32 support is based on - has only just had a mesh-like feature, S1G relay, added to the 2.11 version.

As this feature is “alpha” in the mm-iot-sdk, we haven’t attempted to use it in the esp32 port yet.

The code is there though, so if you’re feeling brave you could inspect the mm-iot-sdk and add any missing bits to the morselib CMakeLists. Documentation for the API is available here: Morse Micro IoT SDK: WLAN Control API for S1G Relay functionality

Oh alright I understand. But are you confirming me that it is possible and it is not a hardware limitation ? One more question, do you have any idea of when will this feature be added ?

I will try something to adapt mm-iot-sdk to mm-iot-esp wish me luck :slight_smile:

Can we assume that even if the S1G implementation is in alpha that the dual VIF support for simultaneous STA and AP mode is fairly stable, so we can have these setup manually without mesh?

The AP mode feature and relay mode feature are both in alpha so expect there to be issues/bugs in the implementation.
With that said you are able to set up and use the feature, see mm-iot-sdk/examples/relay_mode/src/relay_mode.c at 2.11.2 · MorseMicro/mm-iot-sdk · GitHub as a basic example.

Note: the hardware limitations are: having sufficient FLASH for the extra AP code; sufficient RAM for maintaining peer connections; and (strongly recommended) ECC hardware acceleration. I believe the S3 should have hardware crypto peripheral and the espressif MbedTLS implementation should have this enabled

Thanks. looking forward to giving it a go. Will see if I have time to get it working on an S3.

Hello! I tried to adapt the relay_mode example code from mm-iot-sdk to mm-iot-esp32. I added the necessary files and merged the functions required to use relay_mode.c, but I seem to be stuck. I need to recompile libmorse.a, libmorse_nocrypto.a, and libmorse_nosupplicant.a to apply my changes. However, I checked all the binary files that make up these libraries, and I can’t find the .c files where some relay functions are (e.g.mmwlan_relay_enable() is probably defined in umac_relay.cbut I cannot see this file).

Are there files we don’t have access to?
Do you have any advice on how to recompile these libraries?

This example will only work on the 2.11.2 SDK version, they haven’t yet released this for the ESP platform. the general 2.11.2 SDK can be made to compile for the ESP platform but it takes work.

@ldennis any guidance on when there will be an update for the ESP component yet? or for people who would like to try earlier is there some more direction as to getting the SDK up on an esp?

I need to recompile libmorse.a, libmorse_nocrypto.a, and libmorse_nosupplicant.a to apply my changes

You shouldn’t need to do that

I can’t find the .c files where some relay functions… Are there files we don’t have access to?

Yes, the relay code was not added to the source for 2.11 - we are discussing internally adding this code to the 2.12 release

I believe the team is looking to tidy up the esp integration to make it a little nicer, hence the delay. Hopefully it should be released in the next few weeks

A post was split to a new topic: ESP32-S3 and FGH100MAAMD as a HaLow bridge device