WIFI is something I've wanted to do for a long time, but there are a lot of technical and regulatory challenges around it. If your running an OS on an embedded PC like the Raspberry PI, WIFI is simple you buy a cheap dongle and the intelligence is in the driver.
For an low power embedded project where your not running an OS it gets a lot harder. So the only real option is to use a WIFI module, these are normally expensive.
A few months ago, whilst designing the DipCortex, we identified a module that is low cost and comes with FCC, IC & ETSI certification. Making getting the product in to the market a lot cheaper. The goal was to squeeze this module, the TI CC3000MOD, on to a board the same size as the DipCortex which is/was a massive challenge.
(Incomplete 3D model of the Wifi-DipCortex)
But we have done it! The PCB outline has been extended slightly past the standard DipCortex footprint, this enables us to get the components all on the top side, which reduces cost. We also had to sacrifice the reset button so boot loading via USB is now done by removing the USB lead and re-connecting it whilst holding the boot button. Switching to a Micro-USB connector has saved some space as well.
We have spent a lot of time routing and re-routing the board to perfect the layout, it is 4 layer like the standard DipCortex with full power and ground planes. The modules datasheet has advice for the optimal PCB layout and the 50ohm microstrip leading to the antenna, which we have followed closely
The CC3000MOD is connected to the LPC1347 via SPI, these SPI pins are also routed to the 40pin connection and the pin out is identical to the DipCortex. Our final checks this week have shown the recommended antennas are hard to come by. So we are now tweaking the antenna footprint for a part that is much more readily available, whilst maintaining the maximum gain so we can still use TI's module certification for FCC, IC and ETSI. Once that is done we ship it off for PCB manufacture and wait a month for the boards to come back.
TI's module control software is open source and the first goal is to port that to the LPC1347.
In summary we have a tiny, low power device with lots of IO and peripherals ready to power your next internet connected project. I can't wait to get my hands on the PCBs!