Fetches the latest post from a subreddit and displays it on an ESP32 with LCD screen.
- 📄 Shows latest Reddit post (title, author, score)
- 📖 Press boot button → Read full post text
- 📜 Press boot button → Scroll through long posts
- 🔄 Auto-refreshes every 30 seconds
- ESP32 development board
- 1.9" ST7789 LCD display (170x320)
- USB cable
LCD → ESP32
VCC → 3.3V
GND → GND
SCL → GPIO 18
SDA → GPIO 23
RES → GPIO 4
DC → GPIO 2
CS → GPIO 15
BL → GPIO 32
- Clone this repo
- Open in PlatformIO (VS Code extension)
- Connect ESP32 and LCD according to wiring diagram
- Upload code to ESP32
- Run your server that implements the communication protocol
- Power on ESP32 → Shows welcome screen
- Start your server → ESP32 requests and displays latest post
- Press boot button once → Switch to full text mode
- Press boot button again → Scroll down through post
- Keep pressing → Continue scrolling until end
- At end of post → Returns to latest post mode
- Auto-refresh → Gets new posts every 30 seconds (in latest mode)
Any server can work as long as it:
- Listens for
REQUEST_LATESTandREQUEST_PLAINTEXTcommands - Responds with
LATEST:subreddit|title|author|scoreformat - Responds with
PLAINTEXT:full post contentformat - Replaces newlines
\nwith[NL]before sending
- Scrolling is basic (will be improved)
- Works with any programming language server
- Just needs to respect the serial communication protocol
- TFT_eSPI - Display library for ESP32
- PlatformIO - Development platform
Built with 🫖 Berrad (Moroccan magic tool for making atay)