An open API service indexing awesome lists of open source software.

https://github.com/stagfoo/pennyblack

This is a project to build an e-ink reader for the Raspberry Pi zero.
https://github.com/stagfoo/pennyblack

Last synced: 12 months ago
JSON representation

This is a project to build an e-ink reader for the Raspberry Pi zero.

Awesome Lists containing this project

README

          

![Penny Black](.readme/logo.png)

# Penny Black

This is a project to build an e-ink reader for the Raspberry Pi zero.
It's a hobby project to learn about Go, e-ink displays and Raspberry Pi.
also I want to use a dial to navigate the UI.

## Structure

### App
this is a gui for the user to interact with. there is no touch so it will be controller based
- Views
- Lists
- Book/:id
- Settings

### cmd
this will be the backend for the app. it will be responsible for the following:
- generating a list of books from files in the books directory (in toml format)
- take a screenshot of the gui for the e-ink display 0.5 seconds refresh rate
- for development purposes Xvfb will be used for the virtual display

## Run GUI

```
go run app/*.go
```

```mermaid
graph TD

subgraph "User Interaction"
EinkScreen --> User[User Input]
User --> InputHandler[Input Handler]
InputHandler --> FyneApp
end

subgraph "Virtual Display System"
Xvfb[Xvfb Virtual X Server
:99 Display]
FyneApp --> Xvfb
end

subgraph "UI Generation Process"
FyneApp --> Lists[Lists & Routes UI]
Lists --> Screenshot[Screenshot Timer
Every 2 seconds]
Screenshot --> ImageMagick[ImageMagick
import command]
ImageMagick --> Xvfb
end

subgraph "File System"
ImageMagick --> Folder[screendump/
current.png]
Folder --> FileWatch[File Watcher
fsnotify]
end

subgraph "E-ink Display System"
FileWatch --> EinkApp[E-ink Display App]
EinkApp --> ImageProcess[Image Processing
• Format conversion
• Dithering
• Resize]
ImageProcess --> EinkDriver[E-ink Hardware Driver]
EinkDriver --> EinkScreen[E-ink Display]
end

style FyneApp fill:#e1f5fe
style EinkApp fill:#f3e5f5
style EinkScreen fill:#e8f5e8
style Folder fill:#fff3e0
```

## Fonts

https://www.dafont.com/bitmap.php

### Setup Fonts in Fyne

https://github.com/lusingander/fyne-font-example