esp32claudebitcoinmicropythonplatformioccusagenerdminermaker

ClawdMiner:一塊被 Gemini 放棄的礦機板,我把它變成 Claude 用量儀表板+會自己玩的 RPG

· 12 分鐘閱讀
目錄
  1. 第一晚:Gemini 弄了一整夜,卡在「背光亮了,螢幕全黑」
  2. 破案:不是猜腳位,是去讀 Gemini 自己的紀錄
  3. 一張背面照片,勝過一整晚的暴力嘗試
  4. 我拿它建了什麼
  5. 兩個畫面,短按按鈕切換
  6. 誠實的轉折:對,它挖真的比特幣;不對,它永遠不會賺錢
  7. 想自己做一台?
  8. 它現在是什麼

ClawdMiner:一塊被 Gemini 放棄的礦機板,我把它變成 Claude 用量儀表板+會自己玩的 RPG

事情是從一塊很便宜的黃色板子開始的。

一片 ESP32-S3,配一顆 1.9 吋的 ST7789 小螢幕,出廠時被當成「比特幣樂透礦機」的新奇小玩具在賣。我手上這塊,螢幕是全黑的,怎麼樣都不亮。就一片死掉的塑膠跟金屬,躺在桌上。

我不想丟。我想讓它做點事。於是這篇文章,講的是一場除錯的偵探故事,一次多代理生成的韌體重寫,還有一個我必須誠實面對的事實:這台東西挖的是真的比特幣,但它永遠不會替我賺一毛錢。而這,恰恰就是它的意義。

ClawdMiner 就擺在我桌上,背景是我開著 Claude Code 的螢幕

第一晚:Gemini 弄了一整夜,卡在「背光亮了,螢幕全黑」

我先找的其實不是 Claude,是 Google 的 Gemini(Antigravity 那個 agent)。

它很努力,我得承認。一整晚,燒掉我一大截 Gemini 額度,寫了大概 50 支測試腳本,把 SPI 腳位排列組合幾乎試了一輪。結果呢?永遠停在同一句話:「backlight on, screen black」。背光是亮的,代表板子有電、程式有跑,但螢幕上一個像素都畫不出來。

一整晚,50 支腳本,零進展。隔天早上我把這攤爛帳丟給 Claude Code。

破案:不是猜腳位,是去讀 Gemini 自己的紀錄

Claude 做的第一件事,不是繼續猜腳位。

它去讀了 Gemini 留下的那 50 支腳本,還有 Gemini 自己那晚的對話 log。然後翻出了整晚真正的劇情:

Gemini 其實成功過一次。它曾經真的把「PPCVOTE」這幾個字畫上了螢幕。

但它把這次成功,歸功給了錯的 SPI 腳位。接著它就抱著那組錯的腳位,一遍又一遍忠實地重現「錯誤」,把自己那次唯一正確的結果,親手覆蓋掉了。整晚剩下的時間,它都在往離答案越來越遠的方向努力。

這是一個教科書等級的失敗模式:一個 agent 認定了錯的假設,然後不斷迭代,越迭代離真相越遠。它不是不夠努力,是太努力地朝錯的方向努力。

一張背面照片,勝過一整晚的暴力嘗試

真正破案的,是一張照片。

我拍了板子背面的照片,上面有排針的絲印標籤(silkscreen),標出了哪幾支 GPIO 被拉到使用者可以接線的排針上。Claude 的推理很乾脆:任何被拉到使用者排針上的 GPIO,就不可能同時被內部接去驅動螢幕。用刪去法,螢幕一定是用那 10 支「沒被拉出來」的 GPIO。

接著它拿這組候選去對照一款 T-Display-S3 clone 的公開腳位圖,答案就浮出來了:

  • 驅動 IC:ST7789
  • SCLK = 12,MOSI = 13
  • CS = 10,DC = 11,RST = 1
  • 背光 = 14

照這組腳位燒進去,第一次嘗試,螢幕就亮了。

我拿它建了什麼

螢幕活過來之後,我才真正開工。

v1 是一個 MicroPython 儀表板。 板子自己算不出我的 Claude Code 用量,所以我在 PC 端寫了一支很小的服務,用開源工具 ccusage 讀取本機的 Claude Code 使用資料,每 15 秒左右把一包 JSON 透過 WiFi POST 給板子。板子只負責畫。

v2 我整個砍掉重寫成 C++ 雙核心韌體。 PlatformIO + Arduino framework,螢幕用 Arduino_GFX,我還手刻了一個放在 PSRAM 的 framebuffer,像素等級忠實移植自 MicroPython 那版。分工是這樣:

  • Core 1:真的在挖比特幣(stratum-v1 client + double-SHA256 硬碾 nonce,實測約 20 KH/s,礦核參考自開源的 NerdMiner_v2)。
  • Core 0:WiFi、PC 推送的接收端、螢幕、還有那個 RPG。

韌體有很大一部分是用多代理的 Claude Code workflow 生出來的:平行設計,架構定案,模組生成,再來一輪對抗式互相審查,最後我手動整合、上真硬體測。

兩個畫面,短按按鈕切換

畫面一:Claude 用量儀表板。

走 Claude 品牌配色(Anthropic 那種珊瑚偏陶土的暖橘、暖色深底、奶油色數字)。主角是一隻珊瑚色的 Clawd 螃蟹,正在吃錢:你每小時燒得越兇,牠嘴巴咬得越快,飛進嘴裡的鈔票也越密。畫面上有 this-5h-window(這 5 小時窗)、this-week(本週)、Fable-5 的 token 計數、當前窗口花費,還有即時的 CPU / GPU / RAM / VRAM 條。

畫面二:CLAWD: CRYPTO DUNGEON,一款復古掛機自動戰鬥 RPG。

Clawd 是一隻會進化的螃蟹/龍蝦英雄,在一座加密地城裡刷怪。重點是:每一個數字都是真的。

RPG 頁:Clawd 在地城裡打 HASH WRAITH,深度 B212、等級 LV144

  • 累積 token 數 = 角色等級 + 6 個進化階(Egg 一路到 Cyber Ascendant)
  • Claude 每小時燒的錢 = 攻擊力
  • 即時挖礦 hashrate = 魔力(MANA)
  • 挖到一個真的 share = 暴擊 + 掉寶
  • 清掉一隻怪 = 往下一層(深度越走越深,怪也會換)
  • 真的挖到一個比特幣區塊 = 傳說級全螢幕 boss 擊殺演出
  • 長按那顆唯一的按鈕 = 放大絕

長按放大絕:一發 -5294 爆傷,全螢幕 ULTIMATE

它不是在跑模擬。它是把我真實的工作痕跡跟這台板子真實的運算,變成一隻在桌上自己冒險的寵物。

實際跑起來大概長這樣:

誠實的轉折:對,它挖真的比特幣;不對,它永遠不會賺錢

這段我要講得很清楚,不能含糊。

這塊 ESP32 目前實測約 20 KH/s(軟體 SHA256);之後改用硬體 SHA 有機會拉到 56 到 78 KH/s,這我也照實說。而整個比特幣網路的算力,大約是 700 EH/s。

這中間差了好幾個數量級,我想你心裡也有數。它「挖到」一個區塊的機率,小到基本上就是「好幾輩子都不會發生」。

所以請不要,任何時候都不要,以為這台東西會賺錢。它不會。我也從沒這樣宣稱過。

那為什麼還要挖?因為那張「樂透彩券」幾乎是免費的。整台大概 0.5W,一顆小夜燈的等級。它不是一門生意,它是一張近乎零成本的彩券,是一個讓閒置算力長出一張臉的方式,是一隻桌寵。它的價值在儀表板跟那隻寵物,不在利潤。

(順帶一提,我也認真想過改用 PC 上那張 RTX 3060 Ti 來挖,然後否決了。算完電費是淨賠的。這裡提一句,只因為它剛好也誠實。)

還有一件事我必須講在前面:儀表板上那些美金數字,是「API 等價」的價值,也就是同樣的用量如果走按次計費的 API 價格會是多少。我用的是月費訂閱制,實際上根本沒有付出那些金額。我把這句話寫進畫面裡,就是不想讓任何人誤會我一天在燒好幾百美金。

想自己做一台?

整包程式碼開源在 github.com/ppcvote/ClawdMiner(MIT)。firmware(韌體)、host(PC 推送器)、接線圖、燒錄步驟都在裡面。

先講一個誠實前提: 這種便宜黃板是雜牌,同一個型號、不同批貨,腳位很可能不一樣(這正是整篇破案故事的由來)。所以「照著做」的意思,是照著我的方法去找出「你那塊」的腳位,而不是照抄我的數字。萬一你的螢幕也黑屏,repo 裡有找腳位的方法可以照做。

要買板: 搜「ESP32-S3 NerdMiner」「ESP32-S3 1.9 樂透礦機 黃色」或「T-Display-S3 clone」,蝦皮、淘寶、AliExpress 都找得到,通常幾百塊台幣。認明特徵:黃色 PCB、ESP32-S3-WROOM-1、1.9 吋彩色螢幕、單 Type-C、兩顆按鈕。

要動手: git clone 整包 → 照 README 用 esptool 清掉原廠韌體、pio run -t upload 燒錄 → 填好 secrets.h(WiFi + 你自己的比特幣主網地址)→ PC 端裝 ccusage、跑推送器。全程都在 README 裡。

如果你看到這裡覺得「有點麻煩、我不太會」——沒關係,我可以代勞。 進板、燒好、幫你把 WiFi 跟你的錢包地址都設定妥當再寄給你,或你有想客製的地方都可以談。直接透過 ultralab.tw 跟我下單或諮詢就好。

它現在是什麼

它現在是一隻活在我桌上的東西。

一半是 Claude Code 的即時用量儀表板,一半是一款會自己玩、而且每個數字都來自真實世界的復古 RPG,底下還默默買著一張永遠不會中、但幾乎不花錢的比特幣彩券。

技術規格給想動手的人:ESP32-S3-WROOM-1(16MB flash、8MB PSRAM)、ST7789 1.9 吋 170x320 橫向、PlatformIO + Arduino framework、Arduino_GFX、FreeRTOS 雙核心、用量資料靠 ccusage、礦核參考並致敬 NerdMiner_v2。整包 MIT 授權。

整件事教會我的,其實不是腳位。是那句:一張實體證據的照片,可以打敗一整晚的暴力猜測;而一個 AI 若把自己的成功歸錯了因,它會非常努力地,把自己帶離真相。

我不是那個等答案被公布的人。我是那個可以自己去把答案挖出來的人。這塊被放棄的板子,現在天天在我桌上提醒我這件事。

每週 AI 自動化實戰筆記

不廢話,只有能直接用的東西。Prompt 模板、自動化 SOP、技術拆解。

加入一人公司實驗室

免費資源包、每日建造日誌、可以對話的 AI Agent。一群用 AI 武裝自己的獨立開發者社群。

需要技術協助?

免費諮詢,24 小時內回覆。