Electronic – Embedded Systems Wi-Fi

embeddedmicrocontrollertransceiverwifiwireless

I want to develop a product to make Wi-Fi to connect PC <-> MCU <-> MCU. I started looking for Wi-Fi modules with the stack that I need already implemented and some kind of AT commands interface in order to configure it, but those are a bit expensive.

Next idea it's to use a 2.4Ghz transceiver and a MCU with the stacks implemented. That will be a lot cheaper, but I don't know where to start.

My goal it's too have this module connected to something (an analog sensor, a remote UART, whatever) and, by sending a command over my PC or another MCU, get the data present in the sensor.

Could ypu help me through the first steps? I'm worried about the stack to choose.

EDIT

I don't know if I can do this here, but I've found Carambola a few months ago and right now they have an even cheaper module, the Carambola 2, I guess that it's a good module for projects that require Wi-Fi.

Best Answer

I've had this problem occasionally. As you say, the "ready to go" WiFi modules are expensive and usually very limited in what they let you do. Most try to do too much, like give you a UART interface to a single TCP stream. That's fine if that's all you want, but I usually have multiple TCP servers or clients, or need more out of band control than what a dumb stream gives me.

What you want is a WiFi module that interfaces at the raw network packet transport layer instead of higher level protocols. This is sortof like the MAC layer for wired ethernet. Now you can run your own network stack and do whatever you want above that.

We have done exactly this with the Microchip ZeroG WiFi modules. We implemented a ZeroG packet layer driver in our PIC 18 network stack. The rest of the stack doesn't know how packet I/O is performed, so you can set up all the TCP, UDP and other connections as you want.

The source code for our network stack is included in the free PIC Development Tools release at http://www.embedinc.com/pic/dload.htm. Of course the stack exists within the context of our firmware framework, but using all that is a good idea anyway. All the stuff I've mentioned here is available for free.