A working alternative Wifi to RN131C from Sparkfun

After spending more than a week on the Sparkfun RN-131C WIFI shield. I give up. The support is zero so that is a waste of time. The shield works fine on Wifi and Telnet. But as soon as I connect through Arduino it garbles up the output on the serial after about 5 lines of info. More people seem to have the same problem and no solution. So does anyone know of an alternative shield (no more Sparkfun) that actually works and has a good working library?

Many WiFi shields suffer from the same problem that is proper software support.
I’d suggest to use a “standard” Arduino Ethernet Shield and connect it to a WiFi pocket router like the TP- Link WR704n, WR702n or MR3020.
These routers have a web interface for configuration, and run in AP or Brige/Client mode and you’ll have them set up quickly. On the Arduino side you can use the mature Ethernet library and all the code samples without having to mess around with another WiFi shields API

I must admint that I am a bit disappointed in the response from Sparkfun. Seems like I may just as well go straight to EBAY :grin: Although some of the Chinese tend to give better support. As for you suggestion... Here in Holland we have a saying that "multiple roads lead to ROME".. No doubt it will work. But I am not the first and more people seem to heve the same problem. On the other hand, so far I have found about 10 people with the same issue on the internet. I cannot imagine Sparkfun has only sold 10 of these shields.... I am still getting support from MicroChip (opened a ticket) maybe that will help but on my scope the problem seems either the Serial-2-ISP interface chip and its connections or the ISP software library given from Sparkfun.

I found the error... I went through the library and found this piece of code in SpiUartDevice.cpp and found a delya statement (I hate delays :)). So I commented it out and...... works like a charm :)

int SpiUartDevice::available() {
   * Get the number of bytes (characters) available for reading.
   * This is data that's already arrived and stored in the receive
   * buffer (which holds 64 bytes).

  // This alternative just checks if there's data but doesn't
  // return how many characters are in the buffer:
  // readRegister(LSR) & 0x01
//  delay(2);
  return (readRegister(RXLVL));