-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This project was originally designed to show potential uses for the MCP23017 port expander with ESP boards. It resulted in the creation of my first PCB. However, this repo is only being provided as an example of how code could be used for both the MCP23017 and to control a clock or series of outputs as shown above.
For this reason, all information in this repo is being provided AS-IS! I do not plan on making any further changes or revisions to this code... it is primarily here just to provide examples, although it can theoretically be used to create an exact copy.
For these reasons, I will not be accepting PRs, addressing issues or fulfilling any enhancement requests! This includes creating versions for other board types, including the ESP32.
With that in mind, please see the following caveats and limitations:
-
The code was written for, and tested with, the Wemos D1 Mini. It should theoretically work with any ESP8266 board, but this has not been tested and any issues with other boards will not be addressed by me.
-
As written, MQTT is required and the time is received and displayed on the clock via an MQTT message from Home Assistant. Any system that can send MQTT messages can update the clock by publishing the time on the required MQTT topic. It would be rather trivial to change the code to use something like an NTP server for the time, but that is not something that I will be providing.
-
Installation requires use of the Arduino IDE (or other compatible system that can flash an .ino sketch to the ESP). Basic understanding of the Arduino IDE, including installing additional boards and libraries as needed, will be required for the intial flashing of the code.
-
Development was done using v1.8.16 of the Arduino IDE, as some libraries still have issues with v2.x of the IDE. Compilation may or may not be possible using v2.x, but I have not tested it.
If you wish to create a version for a different board (like an ESP32) or make another enhancements or changes, you should clone or fork this repo. The code is well documented and other sections of this wiki will provide additional information.
To learn more about this particular project, including see some of the features, please refer to the following video and written blog article:
- Unlocking the Power of PCBs - YouTube video
- When It's Time to Create a Custom PCB - Written blog
To learn more about using the MCP23017 Port Expander with an ESP board, see:
- MCP23017 Port Expander and ESPHome - YouTube video
- Add up to 128 I/O Pins to your ESP Board - Written blog
If you have any questions or comments about these projects, please post them in the comments area of the appropriate video or blog article.