E-Ink (Waveshare) + AI Agent: Build a Smart Notification Display with ASI Biont

Why Integrate an E-Ink Display with an AI Agent?

E-Ink displays (like the popular Waveshare series) are perfect for low-power, always-on information panels. They consume zero energy while holding an image, making them ideal for dashboards, time schedules, weather stations, or notification boards. But without intelligence, they just sit there showing static data.

By connecting a Waveshare E-Ink display to an AI agent (ASI Biont), you transform it into a smart, adaptive interface. The AI agent can push real-time updates (weather, news, server status, calendar events), trigger notifications, and even build interactive dashboards that change based on your daily routine. All without writing a single line of integration code yourself — just describe what you want in a chat.

How ASI Biont Connects to E-Ink Displays

There are two popular ways to drive a Waveshare E-Ink display:
- Raspberry Pi (SSH): The most mature setup. The display connects via SPI to a Raspberry Pi, and Python libraries (waveshare_epd) handle drawing. ASI Biont connects to the Pi via SSH using paramiko in the execute_python sandbox.
- ESP32 (MQTT): For a smaller, cheaper board. The ESP32 runs MicroPython and communicates with the AI agent over MQTT. ASI Biont acts as an MQTT publisher/subscriber.

Both methods are fully supported. Below we walk through the Raspberry Pi + SSH approach, which is easier for complex layouts (images, fonts).

Real-World Use Case: Smart Family Dashboard

Goal: A 7.5" Waveshare E-Ink display in your kitchen shows:
- Current temperature & humidity (from a DHT22 sensor connected to the Pi)
- Today’s weather forecast (free OpenWeatherMap API)
- Upcoming calendar events from Google Calendar
- A daily quote (or a reminder from the AI agent)

Setup: User provides:
- Raspberry Pi IP (e.g., 192.168.1.100)
- SSH username/password (or key)
- API keys (OpenWeatherMap, Google Calendar)

How the AI agent works:
User types in ASI Biont chat: "Connect to my Raspberry Pi at 192.168.1.100, username pi, password raspberry. Install the waveshare_epd library if missing. Write a Python script that every 30 minutes fetches weather and sensor data, then updates the 7.5-inch E-Ink display. Use OpenWeatherMap API key XXXX and DHT22 on GPIO4."

The AI agent writes a complete Python script and a cron job, then executes them via SSH. No manual coding needed.

Code Example (AI-Generated Snippet)

The AI generates a script like this (simplified for illustration):

# /home/pi/dashboard.py
import epd7in5  # Waveshare library for 7.5"
from PIL import Image, ImageDraw, ImageFont
import requests, json, subprocess

# Read DHT22
import Adafruit_DHT
h, t = Adafruit_DHT.read_retry(22, 4)

# Fetch weather
weather = requests.get('https://api.openweathermap.org/data/2.5/weather?q=London&appid=KEY').json()
temp = weather['main']['temp'] - 273.15

# Create image
image = Image.new('1', (800, 480), 255)  # 1-bit black/white
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('/usr/share/fonts/truetype/noto/NotoSans-Bold.ttf', 24)
draw.text((10, 10), f"Temp: {t:.1f}C  Humidity: {h:.1f}%", font=font, fill=0)
draw.text((10, 50), f"Outside: {temp:.1f}C", font=font, fill=0)

# Display
epd = epd7in5.EPD()
epd.init()
epd.display(epd.getbuffer(image))
epd.sleep()

The AI then sets up a cron job (via SSH):

*/30 * * * * /usr/bin/python3 /home/pi/dashboard.py

Alternative: ESP32 + MQTT

For a battery-powered display, use an ESP32 with a small Waveshare E-Ink (e.g., 2.9") and publish updates via MQTT. The AI agent writes MicroPython firmware for the ESP32 and sends display commands through an MQTT broker.

Example: The ESP32 subscribes to topic home/display/update. When the AI wants to show a message, it publishes a JSON payload:

{"text": "Meeting in 15 min", "font_size": 24}

The AI generates the MicroPython code and delivers it as a ready-to-flash .py file. User uploads it via Thonny or ESPTool. After that, any chat command like "Show 'Coffee ready!' on the kitchen display" triggers an MQTT publish from ASI Biont.

Why This Approach Beats Manual Coding

Aspect Manual Coding With ASI Biont AI Agent
Integration time Hours to days Seconds (describe in chat)
Error handling Debug yourself AI fixes bugs on the fly
Changes Edit code, re-deploy Chat natural language
Learning curve Need SPI, Python, cron Zero – just explain what you want

Summary & Call to Action

Integrating a Waveshare E-Ink display with ASI Biont turns a static screen into a dynamic, intelligent information hub. The AI agent handles SSH or MQTT integration, writes and deploys the code, and even sets up automation— all through a simple chat conversation.

Try it yourself:
- Go to asibiont.com
- Create an API key → Download bridge.py (if using COM port devices) – but for SSH/MQTT you don't need it.
- Just open a chat and say: "Connect my Raspberry Pi with Waveshare E-Ink – show weather and DHT22 data, update every hour."

No dashboards. No buttons. The AI does the integration in seconds.

Ready to make your display smart? Head to asibiont.com and start your first integration today.

← All posts

Comments