- C 88.2%
- Makefile 11.8%
Versioned artifacts (channel-blue, meta, icon) are copied to /Volumes/Storage/Wii software with a vX.X.X suffix derived from the latest git tag, falling back to the short commit hash when untagged. |
||
|---|---|---|
| assets/fonts | ||
| data | ||
| source | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| icon.png | ||
| LICENSE | ||
| Makefile | ||
| meta.xml | ||
| README.md | ||
Channel Blue
A Bluesky client for the Nintendo Wii.
Browse your timeline, read posts, and compose replies — all from the comfort of
your couch, using the Wiimote and a USB keyboard. Built on the
AT Protocol via the
wolfram C SDK.
Status: Early development. The repo contains project scaffolding and
metadata; no source code has been committed yet.
Features
- Browse your home timeline (reverse-chronological feed)
- Read individual posts and threads
- Compose posts and replies (USB keyboard input)
- Like, repost, and follow
- Avatar thumbnails
- Session persistence on SD card
Requirements
Hardware
- Nintendo Wii with Homebrew Channel installed
- SD card (FAT16 or FAT32)
- WiFi connection (802.11b/g)
- USB keyboard (recommended for composing posts)
Software
- devkitPro toolchain
(devkitPPC,libogc) - Portlibs installed via
dkp-pacman:mbedtls(TLS for HTTPS)freetype(font rendering)libpng(image decoding)zlib(compression)
- wolfram C SDK (cross-compiled for
PPC)
Building
# Install the devkitPro toolchain (https://devkitpro.org/wiki/Getting_Started)
# Then install portlibs:
sudo dkp-pacman -S wii-dev mbedtls freetype libpng zlib
# Build libwolfram for PPC (see wolfram repo for instructions)
# Build Channel Blue
make
The output is channel-blue.dol.
Installing
Copy the build output to your SD card:
sd:/
apps/
channel-blue/
boot.dol ← channel-blue.dol (renamed)
meta.xml ← from repo root
icon.png ← from repo root
Or deploy directly over WiFi:
wiiload channel-blue.dol
Then launch Channel Blue from the Homebrew Channel.
Controls
| Wiimote | Classic Controller | Action |
|---|---|---|
| D-pad Up/Down | Left stick | Scroll timeline |
| A | A | Select / Open post |
| B | B | Back / Cancel |
| Plus | R trigger | Next page |
| Minus | L trigger | Previous page |
| Home | Start | Menu |
A USB keyboard can be used to type post text.
Dependencies
| Library | Purpose | License |
|---|---|---|
| wolfram | AT Protocol / XRPC | MIT |
| libogc | Wii hardware abstraction | Various |
| mbedTLS | TLS/HTTPS | Apache-2.0 |
| FreeType | Font rendering | FreeType GPL/FTL |
| libpng | PNG decoding | libpng license |
| lwIP | TCP/IP stack | BSD |
Roadmap
- Makefile and hello-world DOL
- Cross-compile mbedTLS and libwolfram for PPC
- WiFi init + HTTPS connectivity to bsky.social
- GX rendering pipeline (framebuffer, 2D quads, textures)
- FreeType bitmap font atlas
- Login screen and session persistence
- Timeline view with cursor pagination
- Post composition via USB keyboard
- Social actions (like, repost, follow)
- Avatar thumbnails
- Error handling and WiFi retry logic
Contributing
See AGENTS.md for code style, technical philosophy, and
development workflow.
License
Channel Blue is licensed under the GNU Affero General Public License v3.0 or
later — see LICENSE for the full text.
The wolfram SDK it links against is MIT-licensed. The AGPL's network
interaction clause applies to Channel Blue's own source code.