Skip to content

Instantly share code, notes, and snippets.

@kdmukai
kdmukai / report.md
Created March 26, 2026 17:35
SeedSigner MicroPython v1.27 compatibility report

MicroPython 1.27 Compatibility Report

Target: MicroPython 1.27 | Scan root: src/seedsigner/ Exclusions: gui, hardware, helpers/qr.py

Summary

Metric Value
Files scanned 39
@kdmukai
kdmukai / README.md
Created March 18, 2026 13:53
Porting "2048" With AI: A Post-Mortem

Porting "2048" With AI: A Post-Mortem

Over roughly four to five hours of active work spread across a couple of days, Keith used Claude Code to port the game "2048" from an open-source Javascript implementation to a C/C++ version that runs on an inexpensive ESP32-S3 microcontroller. Claude wrote all of the resulting code. But the reality of the collaboration is more nuanced than that number suggests.


What the AI handled well

Claude was fast at producing working code — display drivers, build systems, CI pipelines, animation logic — generating in minutes what would have taken Keith days or weeks to do by hand. It could hold dozens of files in context and make coordinated changes across all of them. When the game crashed with a cryptic memory dump, Claude decoded the call stack and traced the bug to a specific line where a division by zero was happening inside the graphics library. This is expertise Keith does not have. It was also good at grunt work: converting font files, writing build configurat

@kdmukai
kdmukai / v0.8.7_release_notes.md
Last active February 5, 2026 23:37
SeedSigner v0.8.7 Release Notes

SeedSigner v0.8.7 Release Notes


The "Summer of SeedSigner" Release

  • ....

@kdmukai
kdmukai / esp32_lvgl_micropython_seedsigner_dev_layers.md
Last active January 8, 2026 17:47
Overview of ESP32 + lvgl + MicroPython + SeedSigner dev layers

Overview of Esp32 + lvgl + MicroPython + SeedSigner

Overview of each dev layer and their purpose.

Esp32 C/C++ resources

Include and compile hardware drivers for the platform.

Basic esp-idf components

Core project dependencies are declared in idf_component.yml.

@kdmukai
kdmukai / convert_fonts_for_lvgl.md
Created January 6, 2026 14:58
Converting fonts for lvgl
@kdmukai
kdmukai / README.md
Last active December 6, 2025 18:49
2025 Holiday Donation Drive

Fund Keith Mukai's FOSS Work

I am the volunteer Lead Dev for SeedSigner. We are NOT a company. The FOSS project makes no profit whatsoever from our work.

Your support to help fund my open-source dev work would be hugely appreciated!


Holiday Donation Drive

@kdmukai
kdmukai / screensaver.py
Created November 10, 2025 23:45
Early draft of animated screensaver for Krux
def start(self):
"""Displays a screensaver until user presses a button or touch"""
anim_frame = 0
initial_offset = (TOTAL_LINES - len(SPLASH)) // 2
fg_color = theme.fg_color
bg_color = theme.bg_color
self.ctx.display.clear()
button_press = None
min_distance = 5 # fixed chars or rows
@kdmukai
kdmukai / ST7789.py
Last active October 28, 2025 15:07
Various utility functions to render calibration patterns to an ST7789 when running in a REPL on the Pi Zero
"""
Copy-paste of various mods to the ST7789 driver to facilitate testing.
"""
# Gamma curve constants for ST7789 display
# Each tuple contains (positive_gamma_values, negative_gamma_values)
GAMMA_CURVES = [
# Original SeedSigner gamma curve for the Waveshare display hat
(
[0xD0, 0x04, 0x0D, 0x11, 0x13, 0x2B, 0x3F, 0x54, 0x4C, 0x18, 0x0D, 0x0B, 0x1F, 0x23],
@kdmukai
kdmukai / power_law.py
Last active December 2, 2025 16:04
Power Law & Power Law Floor calculations
"""
Bitcoin Power Law:
1.0117e-17 * (days since genesis block)^5.82
Bitcoin Power Law Floor:
(power law) * 0.42
Note: Model projections said to be invalid beyond 2040.
"""
import argparse
@kdmukai
kdmukai / build_all.sh
Created July 15, 2025 17:05
Build all targets for SeedSigner OS
#!/bin/bash
# Requires: apt install time
export APP_REPO = https://github.com/kdmukai/seedsigner.git
export APP_BRANCH = 0.8.6
touch results.txt
for device in pi0 pi02w pi2 pi4
do
ccache -d /root/.buildroot-ccache --zero-stats