This is an E-paper calendar that connects to Google Calendar using C++. It displays the date, a total of seven agendas, when the display was last updated, and battery voltage. The goal was to give the user a battery ran calendar that connected to google.
This was my college senior project. I hope to leave it here as an inspiration to others and for others to understand how projects on a deadline work. This is not a perfect device. In fact, it sometimes can't even tell you the right date. That has to do with the timer section of the code and the ESP32 itself. Ironically, I ran out of time on the project before the presentation. This can easily be rectified with an added timer.
This project was created in several stages. First an idea was hatched, materials were researched, a design plan was proposed, bill of materials was proposed (BOM), then the research and development (RnD) test phase, software test phase, a drafted schematic, built device, code development, and finally the deadline completion. Along with this I was responsible for updating my work in a journal weekly, progress reports, creating design flow charts, time management, and a presentation.
trigBoardv8
e-Paper Driver HAT from Waveshare
7.5inch HD e-Paper Tricolor Display
TC4056A Lithium Battery Charger and Protection Module
Lithium polymer battery
Slide Switch
2.0mm JST connectors
Pin Headers
Wire
9cm x15cm Perf board
Starting with the charge and protection circuit. It is a standalone board that utilizes a TC4056 charge control IC, DW01A Battery Protection IC, and FS8205A Dual N-Channel MOSFET. It has 2 LEDs, the red is used for “charging” and blue is used for “done charging.” It also has a micro-USB for easy hook up. The charge control IC is used to keep a constant current and voltage when charging the battery, where as the battery protection IC shuts off power with the MOSTFET when the battery voltage dips down too low. The output of this board is hooked up to OUT + and OUT – while the battery is hooked up to B+ and B- respectively. The battery is simply plugged into a JST connector and always connected to the charge protection circuit.
The switch is used to interrupt the connection between the positive output of the charge protection circuit to the trigBoard. The reason for this is that if someone wants to safely charge the battery using the charge protection circuit the load must be taken off as to ensure there is no damage to the load and the battery charges within a reasonable amount of time. It also doubles as an ON/OFF switch for the microcontroller to avoid wasting battery life.
The trigBoard is a breakout board for an ESP32 microcontroller with a Real Time Clock (RTC) and comes with supported firmware for things like over the air programming and the onboard RTC. The ESP32 is capable of Bluetooth and Wi-Fi connection. The trigBoard is connected to the switch through the positive battery terminal and to the protection circuit via the negative terminal. Lastly the trigBoard is connected its respective GPIO to the GPIO of the Waveshare e-Paper Driver HAT (Waveshare GPIO).
The Waveshare e-Paper Driver HAT is powered through the trigBoard, as to power down when not used on time with said trigBoard. It receives all its signals from the GPIO header underneath the HAT from the trigBoard. The board itself is set to 4-line SPI and (B) other display, to support a 7.5” e-Paper display.
-
Relying on the ESP32 internal timer creates an inaccurate and inconsistent time to re-acquire the data from the google script. This means the calendar can refresh its agendas to early or too late. The included external timer was not used on the TrigBoard.
-
Battery voltage may be inaccurate.