Shelby firmware for sprig

most of this page is in the dark

The screen is the only thing lit.

This is the real Sprig, the Hack Club handheld, running Shelby, the firmware I wrote to make it the most useful thing on my desk. Everything else is hiding in the dark. Move your light to find it.

move your mouse to look around drag the board to spin it press W A S D I J K L
01 . the apps

Six things, hiding in the dark.

Sweep your light across the desk. Every screen here is live, drawn the same way it draws on the device.

home

Clock

Boots here. It knows your timezone and redraws every minute.

streaks

GitHub

Eighteen weeks of contributions, pulled with a token and drawn as the graph you know.

time

Hackatime

Today and this week in code, broken down by project.

to do

Tasks

A plain list you keep in a JSON file. Tick things off with the buttons.

vitals

System

Free memory, WiFi, clock speed and uptime. The device watching itself.

for fun

Music

Beeps through the buzzer with a tiny visualizer and a volume you can lower.

02 . the hardware

What it runs on.

A stock Sprig. The only change is software, and a slightly braver clock speed.

Processor raspberry pi pico, rp2040
2 cores at 250 MHz
Display spi, st7735 driver
160 by 128, 16 bit
Memory the real constraint
264 KB SRAM
Input two button clusters
8 buttons, WASD and IJKL
Connectivity for clock and apis
WiFi with NTP
Runtime lazy loaded apps
MicroPython
Power stock cells
2 AAA, about 30 hours
Cost to a teen hack club ships it
0 dollars
03 . make it yours

Four steps from stock to Shelby.

You need a Sprig, a USB cable that carries data, and Python on your machine.

  1. Grab the firmware

    Clone the repo and install the upload tool.

  2. Add your secrets

    Copy secret.py.example to secrets.py and fill in WiFi, your GitHub token and your Hackatime key.

  3. Set your tasks

    Write the things you want to see in tasks.json.

  4. Flash over USB

    Push it all with mpremote. It boots straight into the clock.

# get it
git clone https://github.com/Swamstick911/Shelby
cd Shelby
pip install mpremote

# your secrets
cp secret.py.example secrets.py

# flash the whole tree, then reboot
mpremote connect auto fs cp -r . :
mpremote reset

# boots into Shelby. press L for the menu.