Close

Unchecked rage

A project log for RPi WiFi

Fast RPi WiFi without USB

ajlittajlitt 02/02/2016 at 16:049 Comments

I've thrown everything at the ESP-12F based board to get it to run at 62.5MHz. One of the HATs using my own ESP8266 layout works great with 1-bit SDIO at 62.5MHz. But this ESP-12F based proto doesn't.

At 41.66MHz, the SDIO host goes through the usual negotiation and then kicks the clock into drive. But at 62.5MHz, the SDIO host keeps retrying negotiation and the kernel log fills with "-110 timeout" errors.

But with the exact same settings, the other HAT works fine and comes up with a 62.5MHz clock.

Taking a suggestion from @David Lowe I got rid of the termination resistors. Til now I'd included them at the recommendation of the ESP8266 hardware guide and other SDIO designs I've seen. However the board works just as well without them running at 41.66MHz 1-bit SDIO. Actually the edges look better defined.

Good news though: @jacksonliam 's script to clear the flash's QE bit works properly after getting rid of the resistors.

I then threw a 33uF cap across the 3.3V rail, because that's what we do when we're at a loss. Of course it's not the supply, since SDIO negotiation doesn't present nearly as much dynamic load as WiFi operation. If the supply were an issue, I would have seen problems at the lower speed when transmitting.

Because it was late and I was frustrated, I pried off the lid to get at the flash. Some groundplane was torn up in the process, and I wasn't delicate with removing the flash. Miraculously it still works at the default bus speed, but at 62.5MHz the Pi still won't negotiate.

I have a couple of things left to try, but I'm about to cut my losses and forget about high speed for now.

Here's the carnage:

Discussions

guyf2010 wrote 02/20/2016 at 12:32 point

Any chance you could tell us which pins on the ESP module (and preferably their RPi counterparts) are needed to put the chip in 1-bit SDIO mode? I'm having issues finding any real documentation for these ESP modules.

  Are you sure? yes | no

ajlitt wrote 02/20/2016 at 22:06 point

You're right, my instructions aren't up to date with my current design work.  I'll be working on that this week. (edit: instructions updated!)

In general, 1-bit SDIO needs SD_CLK, SD_CMD, SD_D0, and SD_D1.

  Are you sure? yes | no

Martin wrote 02/05/2016 at 08:19 point

I would consider hot air the only sane thing to remove such a lid. Even a cheap hat air gun is better than destructive work with a knife.

  Are you sure? yes | no

ajlitt wrote 02/05/2016 at 16:31 point

I fully agree with you.  But in this case it was late, I was desparate, and the module in question is only $2.

  Are you sure? yes | no

Martin wrote 02/04/2016 at 14:10 point

What is a good way to obtain such a PCB for the ESP module (or one with an ESP chip)?

  Are you sure? yes | no

ajlitt wrote 02/04/2016 at 14:34 point

I don't have a reliable pcb design at the moment for the ESP-12 module board, and the chip based board is kind of tedious to build by hand.  Hopefully I'll have another rev of the board ready soon that can be ordered from OSHPark.

  Are you sure? yes | no

deʃhipu wrote 02/02/2016 at 17:08 point

It just occured to me... wouldn't it be easier, in the future in such a situation, to cut the metal tin with a retractable blade knife and open it like a can of sardines? :)

  Are you sure? yes | no

ajlitt wrote 02/02/2016 at 17:53 point

That, or using hot air would have been the sane thing to do.

  Are you sure? yes | no

jacksonliam wrote 02/02/2016 at 19:28 point

But you leave sharp edges! I've removed one by the usual trick of holding it with tweezers and heating it until the board falls off, the flash decided to jump off the board too, two birds... :-D

  Are you sure? yes | no