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
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.
Using an ESP8266 or ESP32 as a ‘Wireless Co-processor’ 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.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey