Skip to content

ritamsarmah/inkarta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 

Repository files navigation

Inkarta

A self-hostable, wireless e-ink picture frame system for the Soldered Inkplate 10.

Features

This repository contains two components:

  1. inkplate - Arduino sketch for the Soldered Inkplate, an ESP32-based e-paper display:
    • Displays pictures hosted on server.
    • Automatically updates the picture at midnight.
    • Enters low power mode until the next scheduled refresh or a manual refresh (via wake button), extending battery life to several months.
  2. server - Server written with Go + HTMX:
    • Web dashboard for uploading and managing images.
    • Handles image processing and storage to a SQLite database.
    • Produces single binary for easy deployment.

Getting Started

Server

The server requires a Go installation in order to run.

  1. Navigate to the server/ directory.
  2. Run go run .

See deploy.sh for deploying the binary to a Raspberry Pi server.

Inkplate

Prerequisites

  1. Install the arduino-cli

    brew install arduino-cli
  2. Create inkplate/secrets.h with your Wi-Fi credentials and server info:

    const char *ssid = "YOUR_WIFI_SSID";
    const char *password = "YOUR_WIFI_PASSWORD";
    
    const char *host = "YOUR_SERVER_IP"
    const uint16_t port = "YOUR_SERVER_PORT";

Installation

  1. Connect the Inkplate to your computer via USB.

  2. Update sketch.yaml with your appropriate Inkplate fqbn and port:

    arduino-cli board list # Identify device's port
  3. Compile and upload the inkplate/inkplate.ino sketch to the Inkplate.

    arduino-cli compile --verbose --upload --profile default

Note

If you encounter a "Bad CPU type in executable" error on Apple Silicon, install Rosetta using softwareupdate --install-rosetta

Reference

About

A wireless e-ink picture frame system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published