This repository is used to house sample projects for the ESP8266 microcontroller. Mostly, this will be used to house example code that I put in [my blog] blog related to the ESP8266 that are not worthy of their own repository. Each sub-directory in this repository is a wholly self-contained, separate build, with its own make file.
So far, this repository contains:
- blink - The "Hello World" of microcontrollers! Simply blinks a LED on/off every second. From [this blog post] blinkpost.
- uart-blink - Extends the "blink" example to read intervals for the blinking from the serial UART. [Blog post] uartblinkpost.
- net-blink - The "blink" example now using TCP or UDP to set the blinking interval. [Blog post] netblinkpost.
- ota-tcp - A simple way of updating the firmware of an ESP8266 wirelessly, or "over the air" (OTA) using TCP/IP. [Blog post] otatcppost.
- udp-debug - Redirecting the output from debug code in "os_printf" to a computer for remote debugging. [Blog post] udpdebugpost.
- dot - My first ESP8266 project, for a doorbell notification system that sends a notification to my phone via Telegram. [Blog post] dotpost.
- uart-suppression - A way of hiding the initial boot messages that the ESP8266 writes upon startup. This can cause problems for some systems that aren't expecting this information. [Blog post] uartsuppressionpost.
- delta-reader - Another ESP8266 project, for reading values from a Delta Solivia Inverter for my solar panels and sending it to my server for storage. [Blog post] deltareaderpost.
- web-bootstrap - How do you get your ESP8266 configured for your LAN without having to hard-code the network name/password? You run a bootstrap code that starts a web server, and lets you simply type it in! [Blog post] webbootstrappost.
- servo - Getting the ESP8266 to move a servo motor. This one is controlled via an in-built web server. [Blog post] servopost.
- esp-now - Making two ESP8266s talk to each other without the usual overheads. [Blog post] espnowpost.
All code in this repository is under the "unlicence", which means that you can use it in your own projects without worrying about its compatibility with the licence of your code.