Project 3.14 — Everything Important, at a Glance
by Mr_Electronaut in Circuits > Raspberry Pi
654 Views, 9 Favorites, 0 Comments
Project 3.14 — Everything Important, at a Glance
Project 3.14 is a smart e-paper desk companion built using the Raspberry Pi Pico 2 W. The idea behind this project was to create a distraction-free dashboard that shows the most useful daily information in a clean and elegant way. Instead of checking a phone repeatedly, users can glance at their desk and instantly view the current time, weather, air quality, and upcoming calendar events.
Designed for productivity and minimal distraction, Project 3.14 uses a low-power e-paper screen that remains readable in any lighting condition while consuming very little energy. Real-time data is fetched over Wi-Fi, and the interface is optimized into three clean sections: clock and date, environmental insights, and schedule management.
Beyond being a dashboard, Project 3.14 celebrates the spirit of Raspberry Pi—innovation, learning, and practical problem solving. It demonstrates how affordable hardware can create meaningful everyday technology that improves focus, organization, and awareness.
Supplies
- Raspberry Pi Pico 2W
- Waveshare 2.7inch e-Paper Display Module
- Jumper Wires
- Soldering Iron
- 3mm PVC Sunboard
- Paper Cutter
- All purpose Glue
- Wallpaper Sheet
Connections
E-Paper SPI Wiring
E-Paper -------- Pico Pin
VCC -- 3.3V
GND-- GND
DIN -- GP11 (MOSI)
CLK -- GP10 (SCK)
CS -- GP9
DC -- GP8
RST -- GP12
BUSY -- GP13
2.7" E-paper Specs
- Resolution: 176 × 264
- Black / White display
- Ultra low power
- Sunlight readable
- Image remains visible without power
Why E-paper?
Perfect for desk dashboards because:
- No eye strain
- Always visible
- Minimal power use
- Elegant look
Raspberry Pi Pico 2 W Role
The Raspberry Pi Pico 2 W handles:
- WiFi connectivity
- API requests
- Time calculations
- Display rendering
- Calendar sync
- Partial refresh updates
Designing the Enclosure
To give the project a polished and finished appearance, a custom enclosure was built using PVC Sunboard. The enclosure was designed as a rectangular desk frame that could be placed on a table.
A front bezel opening was carefully cut so only the visible area of the e-paper display remains exposed, creating a professional product-like appearance.
After preparing the enclosure, the components were mounted inside. The display panel was fixed behind the front cutout using glue gun. The Raspberry Pi Pico 2 W was mounted inside the rear cavity with easy access to the USB port for programming and power input.
This stage transformed loose electronics into a finished device.
Installing Thonny IDE
Once the hardware assembly was complete, the next step was selecting the right software environment to program the Raspberry Pi Pico 2 W.
The Pico supports several programming methods, each suited for different skill levels and project types.
- Thonny IDE + MicroPython
- VS Code + Pico SDK (C/C++)
- Arduino IDE
- CircuitPython
For Project 3.14, Thonny was chosen because it offers the fastest and simplest development experience for the Raspberry Pi Pico 2 W. Unlike more complex environments that require toolchains, compilation, and advanced setup, Thonny works almost immediately after installation and connects directly to the Pico.
It provides an easy code editor, built-in shell for live debugging, and direct file transfer to the board, which was especially useful while repeatedly testing WiFi connectivity, API responses, screen layouts, and e-paper refresh behavior. Thonny made development faster, more efficient, and much more beginner-friendly while still being powerful enough for a complete connected IoT product.
You can download Thonny from this link and get started with this tutorial.
After installing Thonny, the next step is to configure it to communicate with the Raspberry Pi Pico 2 W. Open Thonny and go to the Run menu, then choose Select Interpreter. From the interpreter options, select MicroPython (Raspberry Pi Pico). After that, choose the correct serial/COM port to which the Pico is connected via USB.
Install MicroPython UF2 Firmware File
The next step is to upload the MicroPython UF2 firmware file to the Raspberry Pi Pico 2 W. This step is essential because the Pico does not run MicroPython by default unless the firmware is installed. The UF2 file acts as the operating environment that allows the board to understand and execute Python code.
You can download the UF2 file for PICO 2W from this link and follow the instructions to install it in pico 2W.
Once flashed, the Pico can be programmed directly from Thonny using simple Python scripts instead of lower-level compiled languages.
Code Structure
The software was divided into separate files to keep the project organized.
main.py
This file contains the main dashboard logic:
- connect to WiFi
- fetch live data
- draw the screen
- update clock periodically
e_ink_library.py
This custom driver file controls the e-paper display:
- initialization
- rotation modes
- full refresh
- partial refresh
logo.py
This file stores bitmap icon arrays such as weather icon, calendar icon, Pi logo etc.
You need python library for your e-paper display, download the sample code from the waveshare website.
Creating Icons
Since MicroPython cannot directly load PNG or JPG images efficiently, icons were converted into monochrome byte arrays. Small icons such as weather, calendar, and decorative symbols were resized and converted into 1-bit black-and-white graphics.
These were then embedded into Python files as byte arrays and drawn directly on the framebuffer.
I have used image2cpp online tool to convert .png image to byte arrays.
Building the Dashboard Layout
The display was divided into three logical sections:
Top Left Section shows current time in large font, date & rotating Pi-themed messages.
Bottom Left Section shows weather icon, temperature, description, humidity & AQI.
Right Section shows Google Calendar events for today & tomorrow.
Rounded rectangles were drawn around each section to create a premium dashboard layout.
Connecting the Pico With Wi-Fi
Since the project displays live online information such as weather and calendar events, the Raspberry Pi Pico 2 W must first connect to a WiFi network. The built-in wireless capability of the Pico 2 W makes it possible to access web APIs without any external module.
A dedicated function was created to initialize the wireless interface, activate station mode, and connect using the user’s SSID and password. The program waits until a successful connection is established before moving to the next stage.
Integrating Live Weather Data
Weather data is one of the most practical features of the dashboard. Instead of checking a phone app, the user can glance at the display and instantly view current outdoor conditions.
The project uses the OpenWeather API to retrieve:
- Temperature
- Humidity
- Weather description
- Geographic coordinates
- Timezone offset
The data is requested in JSON format and parsed inside MicroPython.
Air Quality Index (AQI) Integration
To make the dashboard more useful for health and outdoor planning, AQI information was added. Using the latitude and longitude received from the weather API, the project makes a second request to the OpenWeather Air Pollution API.
The numeric value is converted into readable text.
Google Calendar Integration
One of the strongest productivity features of Project 3.14 is Google Calendar support. Instead of opening a laptop or phone, users can instantly view their upcoming schedule.
Direct Google login on MicroPython devices is resource-intensive, so a lightweight solution was used: Google Apps Script.
The Apps Script reads the personal Google Calendar and publishes a simplified text feed. The Pico downloads that feed and displays upcoming events.
Check the attached script and paste it in the google script online tool. Click on Deploy, you will get an URL to be used in the python code to fetch the calender updates.
Downloads
Live Clock and Partial Updates
A static display would not feel complete without a live clock. Project 3.14 updates the time every minute while avoiding unnecessary full-screen refreshes.
Because e-paper displays refresh more slowly than LCD screens, partial updates were used to redraw only the changing clock area when possible.
Final Result!
Once all hardware connections, APIs, libraries, and code files are ready, the final step is to upload the project files to the Raspberry Pi Pico 2 W and run the dashboard using Thonny.
All required files such as: main.py, e_ink_library.py, logo.py should be saved directly to the Pico storage through Thonny.
After uploading, open main.py and click the Run button. Thonny will immediately execute the script and display live logs in the Shell window.
Once the script starts successfully, the Pico connects to WiFi and begins fetching live online data. The latest weather conditions, AQI values, timezone information, and Google Calendar events are downloaded automatically.
You can find all the required files attached here.
Happy Building! 😊