cancel
Showing results for 
Search instead for 
Did you mean: 

stm32 discovery wifi best way to transmit data usb host

michaelmccartyeng
Associate II
Posted on September 18, 2012 at 04:11

I have not done any usb before so i'm a little, well a lot ignorant in how it works. 

Could I get a $3 usb<->wifi dongle and somehow use it on a stm32 m4 ? Would it be really hard ? Where should I start reading. 

I have been looking at all kinds of alternatives. I need about 1-2Mbps back to the pc from my stm device. Oh and about 40 meters or so. Bluetooth is to short and too slow. There are lots of nordic rf chips that do 2Mbps and they are very cheap but I would have to make my own usb dongle on the pc side. There are also usart to wifi solutions but they are minimum $30 which is much more than I want to pay (in my final design).

I plan on supporting multiple transmission mediums but if one is just a no brainer that would be the main medium.

Any suggestions from those who have done similar before ?

Thanks, and enjoy your day.

 MM 

#inappropriate-consumer-parts
4 REPLIES 4
Andrew Neil
Evangelist
Posted on September 19, 2012 at 21:54

''Could I get a $3 usb<->wifi dongle and somehow use it on a stm32 m4 ? Would it be really hard ? Where should I start reading.''

The hardest thing is liable to be getting any technical documentation or support at all for such a dongle. One of the reasons they are so cheap is that there is

no

support.

Another common cost-cutter is that the dongle contains only the most basic hardware, and it relies on software in the host to do all the ''heavy-lifting''. You would have to replicate that software - again, with

no

support.

I think your chances of success will be far higher if you go for a proper embedded module - which is specifically designed, documented, and supported for such use.

While the initial purchase price may be higher, the overall project cost is likely to be much lower...
Posted on September 19, 2012 at 22:51

Where should I start reading.

Well I'd start by finding USB implementations which have high take-up within the Linux community, having driver support and quantifiable complexity.

Perhaps RaLink or RealTek?

http://wireless.kernel.org/en/users/Devices/USB

BroadCom have a closed solution, as I understand them, but an abstraction at an Ethernet frame level.

Using COTS part makes a lot of sense for WiFi in embedded, one problem, beyond those Andy touched on, are the long term availability of a particular implementation.

How applicable to STM32? Hard to say, you'd need to look at the end-points and other requirements.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
michaelmccartyeng
Associate II
Posted on September 20, 2012 at 01:40

Ok, I think I have a better understanding now. If I were to use a usb wifi device like the ones you plug into your computer I would basically have to write the protocol/driver for the stm to use it since none exists, and that would be facilitated with units who's drivers are already available such as ralink, realtek. This sounds like quite an undertaking but the modules would be interchangeable so long term availability would simply require me to write drivers for different modules as they come out. I want to abstract the communication medium from my design in such a way that you can use various different mediums, that said this does look difficult and would take substantial time vs buying a cots solution for $30. So unless the driver could be ported easily to stm32 I will leave that up to my community. 

I guess the cheapest highest speed solution would be a noric chip on my main board and one connected to a miso<-->usb(virtual serial) solution giving me max of 2Mbps and range of about 90 meters max. Something like this 

http://www.ebay.com/itm/2pcs-NRF24L01-2-4GHz-Antenna-Wireless-Transceiver-Module-For-Microcontr-/251044600998?pt=LH_DefaultDomain_0&hash=item3a736c9ca6

 Then at least the drivers would be the same on the pc side as the standard virtual com. 

I'm not sure if I should be asking this sort of question here, it seems more like general design decisions and not exactly related to stm32 discovery, sorry if its out of place. 

Thanks for the suggestions ! 

Andrew Neil
Evangelist
Posted on September 22, 2012 at 12:02

''long term availability would simply (sic) require me to write drivers for different modules as they come out''

You would not only have to write drivers, but also work out some way to distribute and ''install'' those drivers into your system, and have the system ''discover'' which is the ''right'' one for the currently-attached device, etc...

''I guess the cheapest highest speed solution would be a noric chip...''

 

Nordic is just one of very many possible providers 

''seems more like general design decisions and not exactly related to stm32''

 

 

Indeed!