Basic ESPHOME / c++ / ESP32 configuration to display some Bluesky / atproto content
Copyright (c) 2023 John Mueller
MIT license
ESPHOME is a framework for creating ESP-32 and ESP-8266 IoT devices. It integrates well with Home Assistant. Installing and setting up is well-documented (and I'm lazy).
The devices are programmed using a "yaml" file. In this case, we have a bunch of c++ code in the yaml file too.
The file here was created for LILYGO TTGO T-Display boards. They're either battery or USB-C powered. You program them via USB.
You can get them in various places, including Aliexpress - they're around USD 8 - 15.00.
Copy secrets-example.yaml
to secrets.yaml
, and secrets-example.bluesky.yaml
to secrets.bluesky.yaml
. These are the configuration files.
Edit the files in a text editor:
secrets.yaml
: Setwifi_ssid
andwifi_password
, you can leave the rest as-is.- Get an app password in Bluesky: "Settings" / "App passwords" / "Add App Password".
secrets.bluesky.yaml
: setbluesky_account
to your username, andbluesky_token
to the app password you generated. Use your DID as account name, if you feel like changing it often.
esphome run ttgo_bluesky.yaml
Once uploaded, you don't need to keep the device connected to your computer -- it uses wifi to connect to the internet and to the blue sky.
- Code is not very optimized or clean, it works, whatever.
- It uses an undocumented feed for "What's Hot":
app.bsky.unspecced.getPopular
- maybe this will dry up at some point. - I'll change to a documented feed when needed.
- It also publishes to Home-Assistant, if you have that set up.
- I don't have any invites, sorry :-(