# Adding a WiFi Co-Processor to CircuitPython ## Overview Warning: https://www.youtube.com/watch?v=BGSJ5RlCE3U We love Blinka & CircuitPython, and want to share it with the world! But how can we get CircuitPython talking to everyone? This guide will show you how to connect your CircuitPython board to the Internet, by using an ESP8266 or ESP32 as the 'Wireless modem' - we'll even show you how to upload the required AT command firmware to the chip, all from your CircuitPython board. # Yallah! Let's go! The Internet offers wonders beyond belief, but first we have to connect to it. There's two ways we can do that. ## Use a chip with integrated WiFi such as the ESP8266 or ESP32 The all-in-one chips are powerful and low cost, but have some drawbacks. The ESP8266 has very few GPIO pins, and they are limited in functionality - for example only one ADC and it's not easy to use. A RTOS also takes up a lot of processor time, and makes real-time control difficult for some things like NeoPixels. The ESP32 solves a lot of these issues but doesn't have the native USB we require for a good CircuitPython experience. ### Adafruit HUZZAH32 – ESP32 Feather Board [Adafruit HUZZAH32 – ESP32 Feather Board](https://www.adafruit.com/product/3405) Aww yeah, it's the Feather you have been waiting for! The **HUZZAH32** is our ESP32-based Feather, made with the official WROOM32 module. We packed everything you love about Feathers: built in USB-to-Serial converter, automatic bootloader reset, Lithium Ion/Polymer charger,... In Stock [Buy Now](https://www.adafruit.com/product/3405) [Related Guides to the Product](https://learn.adafruit.com/products/3405/guides) ![Angled shot of black, rectangular microcontroller.](https://cdn-shop.adafruit.com/640x480/3405-08.jpg) ### Adafruit Feather HUZZAH with ESP8266 - Loose Headers [Adafruit Feather HUZZAH with ESP8266 - Loose Headers](https://www.adafruit.com/product/2821) Feather is the new development board from Adafruit, and like its namesake, it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores. This is the  **Adafruit Feather HUZZAH ESP8266**  - our take on an... In Stock [Buy Now](https://www.adafruit.com/product/2821) [Related Guides to the Product](https://learn.adafruit.com/products/2821/guides) ![Angled shot of black, rectangular WiFi development board.](https://cdn-shop.adafruit.com/640x480/2821-06.jpg) ## Use a separate chip with WiFi and use it just for wireless data For example, the Feather M0 WINC1500 has a SAMD21 chipset to do pin twiddling, I2C sensing, and display driving, while the WINC1500 provides just the WiFi part. When the M0 chip wants to send or receive data, it packetizes the commands over SPI and tells the WINC what to do. Works pretty well in Arduino! ### Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500 [Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500](https://www.adafruit.com/product/3010) Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores. This is the  **Adafruit Feather M0 WiFi w/ATWINC1500** - our take on an... In Stock [Buy Now](https://www.adafruit.com/product/3010) [Related Guides to the Product](https://learn.adafruit.com/products/3010/guides) ![Angled shot of rectangular microcontroller.](https://cdn-shop.adafruit.com/640x480/3010-06.jpg) ## Which way for CircuitPython? A mix of the two! We don't support CircuitPython on the ESP8266/ESP32 because of the missing USB, and the WINC1500 is a complex beast that costs more than a bare ESP module. So we go right down the middle, by using an ESP8266 or ESP32 as a 'Wireless Co-processor'. This gets us: - A main chip like a SAMD21 or SAMD51 with USB, peripherals, pins, and timers - Wireless handling by a separate chip, so we don't have to run the WiFi stack natively - saves a lot of FLASH/RAM space - Re-programmable co-processor (the WINC1500 is completely closed, we cannot change the firmware) - [Next Page](https://learn.adafruit.com/adding-a-wifi-co-processor-to-circuitpython-esp8266-esp32/esp8266-or-esp32.md) ## Featured Products ### Adafruit Feather M4 Express - Featuring ATSAMD51 [Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857) It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -  with... In Stock [Buy Now](https://www.adafruit.com/product/3857) [Related Guides to the Product](https://learn.adafruit.com/products/3857/guides) ### Adafruit Metro M4 feat. Microchip ATSAMD51 [Adafruit Metro M4 feat. Microchip ATSAMD51](https://www.adafruit.com/product/3382) Are you ready? Really ready? Cause here comes the fastest, most powerful Metro ever. The **Adafruit Metro M4** featuring the **Microchip ATSAMD51**. This Metro is like a bullet train, with its 120MHz Cortex M4 with floating point support. Your code will zig and zag... In Stock [Buy Now](https://www.adafruit.com/product/3382) [Related Guides to the Product](https://learn.adafruit.com/products/3382/guides) ### Adafruit HUZZAH ESP8266 Breakout [Adafruit HUZZAH ESP8266 Breakout](https://www.adafruit.com/product/2471) Add Internet to your next project with an adorable, bite-sized WiFi microcontroller, at a price you like! The ESP8266 processor from Espressif is an 80 MHz microcontroller with a full WiFi front-end (both as client and access point) and TCP/IP stack with DNS support as well. While this chip... In Stock [Buy Now](https://www.adafruit.com/product/2471) [Related Guides to the Product](https://learn.adafruit.com/products/2471/guides) ### Particle Argon Kit - nRF52840 [Particle Argon Kit - nRF52840](https://www.adafruit.com/product/3993) Discontinued - **you can grab the ** [Adafruit ESP32 Feather V2 - 8MB Flash + 2 MB PSRAM - STEMMA QT](https://www.adafruit.com/product/5400) **instead!** Woohoo, it's time for a Particle Mesh party! And the **Particle Argon** is _bringing it_... No Longer Stocked [Buy Now](https://www.adafruit.com/product/3993) [Related Guides to the Product](https://learn.adafruit.com/products/3993/guides) ### Particle Argon - nRF52840 with Mesh and WiFi [Particle Argon - nRF52840 with Mesh and WiFi](https://www.adafruit.com/product/3997) Woohoo, it's time for a Particle Mesh party! And the ** Particle Argon**  is _bringing it_ with a mix of Mesh networking and and Wi-Fi, your two most favorite 2.4GHz wireless protocols. The Argon is a powerful Wi-Fi enabled development kit that can act... No Longer Stocked [Buy Now](https://www.adafruit.com/product/3997) [Related Guides to the Product](https://learn.adafruit.com/products/3997/guides) ## Related Guides - [Adafruit Metro M4 Express featuring ATSAMD51](https://learn.adafruit.com/adafruit-metro-m4-express-featuring-atsamd51.md) - [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51.md) - [A CLI in CircuitPython](https://learn.adafruit.com/a-cli-in-circuitpython.md) - [MQTT, Adafruit IO & You!](https://learn.adafruit.com/mqtt-adafruit-io-and-you.md) - [Adafruit IO Basics: ESP8266 + Arduino](https://learn.adafruit.com/adafruit-io-basics-esp8266-arduino.md) - [Make It Glow With Crickit](https://learn.adafruit.com/make-it-glow-with-crickit.md) - [Feather Waveform Generator in CircuitPython](https://learn.adafruit.com/waveform-generator.md) - [ESP8266 Temperature / Humidity Webserver](https://learn.adafruit.com/esp8266-temperature-slash-humidity-webserver.md) - [Which CircuitPython Board is Right for You?](https://learn.adafruit.com/choose-your-circuitpython-board.md) - [Alternative languages for programming the SAMD51 boards](https://learn.adafruit.com/alternative-languages-for-programming-samd-boards.md) - [Humidity and Temperature Monitor with E-Ink Display](https://learn.adafruit.com/humidity-and-temperature-monitor-redux-e-ink-display.md) - [Deco Two-Key Feather Macro Pad](https://learn.adafruit.com/deco-two-key-keypad-macropad-circuitpython-feather.md) - [LED Protest Sign](https://learn.adafruit.com/led-protest-sign.md) - [Mu Keyboard Shortcut Cheat Sheets](https://learn.adafruit.com/mu-keyboard-shortcut-cheat-sheets.md) - [eInk FeatherWing Display Stand](https://learn.adafruit.com/eink-featherwing-display-stand.md) - [Simple Vertical Wordclock](https://learn.adafruit.com/vertical-wordclock.md) - [Glitter Positioning System](https://learn.adafruit.com/glitter-positioning-system.md)