USB-less WiFi For The Pi Zero

Since the introduction of the Raspberry Pi Zero, the hacker, maker, and hobbyist electronics world has been thrown into turmoil. ‘The Raspberry Pi Foundation is corrupt,’ the detractors said, ‘and the Pi Zero is just a marketing ploy to get their name out.’ Others chimed in that the Raspberry Pi Zero doesn’t even exist. Despite what a million monkeys on a million keyboards say, the Raspberry Pi Zero does exist and is very cool, despite how limited it is. There’s only one USB port, but that doesn’t mean you can’t have WiFi. [ajlitt] came up with a WiFi hat for the Pi Zero that goes right through the GPIO pins, and shouldn’t cost more than a few dollars to implement on any Raspberry Pi.

There is no Ethernet port on the Pi, and apart from a single USB OTG port, no apparent high-speed interfaces to the outside world. On the other hand, there’s a few things hidden deep down in the SoC on the Pi including two MMC controllers. One of these controllers is used for the SD card, but the second can be broken out on a few GPIO pins. By tapping into those pins and configuring the kernel just right, SDIO is available on the GPIO pins, giving the Pi WiFi through a cheap ESP8266 module.

We’ve seen [ajlitt]’s work on SDIO devices on the Pi before, but he’s slowly been reworking this build with the Pi Zero in mind. It didn’t begin as a project for the Hackaday Prize, but already it’s one of the more popular entries so far. Of course there are thousands of projects on that aren’t entered into the Hackaday Prize this year, and if you’re behind one of those, this is your call to step up.

The HackadayPrize2016 is Sponsored by:

27 thoughts on “USB-less WiFi For The Pi Zero

    1. Not gonna lie, that’s a better solution if you can spare the GPIOs and don’t care about a boost converter.

      My board needs the esp8089 module compiled along with every kernel upgrade, which is complicated by the Pi Foundation’s nonstandard kernel distribution scheme. That means you can’t use DKMS to auto build the module.

      The RBL board uses a Broadcom module that’s built into the Pi kernel, so it works out of the box with Raspbian. And to make matters worse I can’t compete with them on price.

    2. The NanoPi 2 has onboard Wifi and Bluetooth. I purchased a couple of them, they seem to work well enough.

      They were $35 each when I bought them (now $32), but spending $5 for the Pi plus $9 for the hat (or mod, or whatever) and you’re already half the price.

      Count your time, effort, and fiddling with the add-on and I didn’t have *any* problem spending the extra $15.

      (Yes, it’s not made by the Pi foundation, and is just banking on their name and good will. I don’t know why this is important, but people bring it up as a bad thing. Your own particular feelings may vary…)

      1. How nicely does the Samsung SoC on that one play in terms of getting the reasonably standard Linux of your choice up and running?

        The rPi team certainly isn’t owed a monopoly on cheap ARM SBCs; but my experience with some (often superior in hardware terms) Pi-killers is that they are indeed more power for less money; but marooned at some ancient kernel; or ‘supported’ with one nasty Android image and not much else, or similarly dysfunctional.

        I’m not enough of a kernel hacker to spearhead fixing such a situation, and it just isn’t worth it if you want to get up and running to do something else. Is this one reasonably smooth in that regard?

    1. I’m hoping someone tries to find an alternate use for the SDIO and SPI slave device bootstrap that the ESP8089 is using. The protocol seems simple from looking at the driver. Reimplementing the blob with additional functionality would be cool. Maybe @sprite_tm could convince them to open it up?

      1. you dont need bootstraping to enable Slave modes, at least for second SPI (hspi, wtf with the non standard names, couldnt they simply called this spi2?)
        there is documentation and sample code in the sdk for spi and sdio slave, its just a matter of spending 1-2 weekends coding/testing

  1. Very creative … Granted USB ones are fairly cheap and fast and take no special drivers … But if size is key and you need that usb port and you can’t fit in a hub than I guess it’s useful

    1. Thanks. The reason I have a beefy boost converter onboard is to allow for higher power USB peripherals, and to reduce the footprint if you don’t want any plugs sticking out of the edge of your project.

    1. >detractors said, ‘and the Pi Zero is just a marketing ploy to get their name out.’

      this was TRUE. We now know foundation made only 50K Zeros and then switched all fab lines to Pee 3, so releasing Zero was a marketing ploy with no supply behind it.

      1. We also know they’re ramping up now that they’ve got the 3b on the shelves. I don’t think it’s any great conspiracy, that side projects have to give way to their flagship product.

      2. > releasing Zero was a marketing ploy with no supply behind it

        And an intelligent way of making some use of all those leftover CPUs and parts from previous discontinued models.
        Once their Zero pcb stash is gone there won’t be any more Zeros, that’s why they’re selling so slowly.
        So do not expect the Zero to be sold in the future in adequate quantity: it will never be.
        Yes, as Brian wrote, I’m a detractor and likely one of the earliest ones, because I got immediately there was something fishy. And Brian knows I’m right.

        I’m not criticizing the motivations behind the move though, as they’re perfectly understandable. What I’m angry with the raspi foundation about is their being not clear about the real production figures and the purpose the Zero would have.
        Had they kept honest with the community like “we have these parts here, so we’re building this new model to use them. The catch is that we’re making only a few of these, and once they’re gone they’re gone. On the upside, the retail price will be $10 each”. Doing so they would sell them anyway, making more money in the process, and -most important- would have been honest and clear with the community. But no, they wanted to shift away the attention from the competition, no matter how many lies they had to spread.

        Sorry RPi guys but although you still keep me as a customer, you definitely lost me as a supporter.

    2. It’s so frustrating. I’ve been checking the site daily for months and I can never get one. Because of the time difference to Australia I always seem to be off-line when they sell out in 10 minutes. Signed up for notification emails and have received one email so far.

      1. What bothers me is when I go to and I see that there are actually some available somewhere but when I click it’s only being sold as part of a larger kit. If I wanted to buy all that why would I buy a $5 pi zero? I could just buy a real Pi!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.