I have a number of IoT devices that need to be able to connect to a central device. The ideal solution would be a sort-of homegrown router that uses an ESP32 or other solution that can operate as an AP and provide DHCP for connecting devices, and route traffic between them. An off-the-shelf router is out of the question, unfortunately.

Is it possible to run an ESP32, or similar, in some sort of AP mode to accept connections, and route connecting devices? I'm hoping to use an ESP32 in tandem with an ARM processor running a Debian-based Linux OS.

The IDEAL solution, however not necessarily the solution that I'll use, would be to leverage an ESP32 or other solution via M.2 connector plugged into a Jetson Nano. The network would be tiny, only supporting a handleful of connected devices at a time. And, while not ideal, I understand the potential performance limitations of leveraging the Jetson Nano while it's being used for other computational things, so an additional device (like a Pi, or dedicated ESP32 board with the capability to do the routing and/or run the DHCP service) may be necessary.

  • 1
    There’s quite a mix up in your question. A device other devices connect to is an AP, not a station. An ESP32 can perfectly act as an AP, advertise a WiFi network, act as a DHCP server to provide IP addresses. I’m not sure it can easily act as a router (i.e. forward packets, do NAT...) out of the box, though that probably depends on the actual environment (“OS”) used, but that is necessary only if your devices need to talk to a server on the Internet, and can easily be replaced by a proxy running on the ESP32 in the worst case. You probably need to give more details about your intended setup.
    – jcaron
    Commented Apr 5, 2021 at 12:17
  • @jcaron Thank you! I've edited the question to be more specific, and to use the correct terminology. I mentioned Station Mode due to ignorance, and I hesitated using AP, because I figured that it implied it would be acting as an extended access point on behalf of an existing router, which is not what I'm looking for. I'm hoping to have it host its own Wi-Fi network in the absence of a stand-alone router.
    – Swivel
    Commented Apr 5, 2021 at 17:44
  • I'm puzzled. A Jetson Nano is orders of magnitude more powerful (and more expensive) than an ESP32, and it's capable of running a "real" OS like Linux. It lacks WiFi, but there are oodles of WiFi sticks and boards that you should be able to connect to the Nano to act like a real router rather than trying to have an ESP32 do that. If you're really worried about the Nano, an RPi is indeed probably a better option than an ESP32. But it really depends on the number of devices, the amount of trafic, the environment (ESP32s only support the 2.4 GHz band, which in some places is a killer), protocols.
    – jcaron
    Commented Apr 5, 2021 at 21:41
  • Why is an off the shelf wifi router out of the question ? I would suggest using a cheap off the shelf wifi router. You'll have much more flexibility and performance available to you. ESP chips have limited memory and running routing or switching can be memory intensive. You can get a very small wifi ap/router for very cheap and it should work very well and be much more reliable than using an ESP for that task. Google tplink portable travel router to see an example.
    – tavis
    Commented Apr 7, 2021 at 2:26
  • @jcaron Is there a WiFi chipset that you would recommend? This would certainly fall into the category of "other solutions". Again, I'm unfortunately more ignorant about this topic than I'd even like to admit; I've entertained the idea of using an M.2 WiFi card, but I'm not entirely sure what chipsets to look for, which to avoid, and which have the flexibility necessary for something like this. There isn't an incredibly high number of clients, and 5Ghz would be great (albeit not entirely necessary). Slapping something like that into a Jetson Nano would definitely be considered an ideal solution
    – Swivel
    Commented Apr 7, 2021 at 18:21


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.