Clawdmeter – A DIY ESP32-S3 desk dashboard for Claude Code token usage monitoring

Clawdmeter is a DIY ESP32-S3-powered desk dashboard that displays Claude Code token usage on a 2.16-inch AMOLED screen so you know when you’re about to reach the limits in real time.

It’s mostly a firmware project since it relies on off-the-shelf hardware (Waveshare ESP32-S3-Touch-AMOLED-2.16). It leverages the LVGL library for its graphics user interface, the NimBLE stack for Bluetooth LE (BLE) communication, and also functions as a HID keyboard for shortcuts using the buttons from the unit.

Clawdmeter

We previously covered Waveshare ESP32-S3-Touch-AMOLED-1.8 with a 1.8-inch display, but never the 2.16-inch variant, so let’s have a quick look at the hardware first.

ESP32-S3-Touch-AMOLED-2.16 specifications:

  • Wireless MCU – Espressif Systems ESP32-S3R8
    • CPU – Dual-core Tensilica LX7 @ up to 240 MHz with vector instructions for AI acceleration.
    • Memory – 512KB RAM, 8MB PSRAM
    • ROM – 384KB
    • Connectivity – 2.4 GHz WiFi 4 and Bluetooth 5.0 LE
  • Storage
    • 16MB NOR flash
    • MicroSD card slot
  • Display
    • 2.16-inch AMOLED display
    • 480 x 480 resolution, 16.7M colors
    • 100,000:1 contrast ratio, 600 cd/m2 brughtness, 178° viewing angle
    • CO5300 QSPI display driver
    • CST9220 capacitive touch I2C controller
  • Audio
    • ES8311 low-power mono audio codec
    • ES7210 audio ADC
    • 2x microphones with echo cancellation circuitry
    • Speaker pads
  • USB – 1x USB Type-C port for power and programming
  • Sensors – QMI8658 6-axis IMU (3-axis accelerometer + 3-axis gyroscope)
  • Expansion – 9 pads with GPIOs, UART, VBUS, 3.3V, and GND
  • Misc
    • Power, Boot, and User (GPIO18) buttons
    • PCF85063 RTC chip
    • On-board chip antenna and IPEX antenna connector
  • Power
    • 5V via USB-C port
    • 2-pin MX1.25 connector for optional 3.7V Lithium battery
    • AXP2101 PMIC for USB-C and battery power management
  • Dimensions – 46 x 46 x 22.5 mm

Waveshare ESP32-S3-Touch-AMOLED-2.16 ESP32 S3 Touch AMOLED 2.16 board

Waveshare provides support for the ESP-IDF framework and the Arduino IDE, and offers various code samples for each, including the ESP-Brookesia firmware. They also published tutorials to use XiaoZhi AI, OpenClaw, and ESP-Claw with the device. You’ll find all the resources to get started on the documentation website.

Back to the ClawdMeter project. It pairs with your laptop over Bluetooth, displays pixel-art Clawd animations that speed up as Claude Code usage rate climbs, shows stats, and the two side buttons send Space and Shift+Tab over BLE HID for Claude Code’s voice mode and mode-toggle shortcuts.

ClawdMeter user interface
ClawdMeter UI from left to right: Animation, Usage, and Bluetooth configuration

The firmware is written in C using Platform IDE with the help of Claude. The code looks decent and uses constants instead of hard-coded coordinates, as recently seen in some other projects. That means you can probably port it fairly easily to other ESP32 platforms with different display resolutions.

If you’d like to reproduce the exact same setup, you can purchase the ESP32-S3-Touch-AMOLED-2.16 controller for about $30 on AliExpress, Amazon ($40.99), or the Waveshare store with or without a battery (saves about $2). However, as noted by various X users, there are various ways to implement such a Claude Code meter, for instance, a taskbar app or other widget running on the host, or an app to show the usage on a USB information display. More details about the ClawdMeter can also be found on the project’s website.

ClawdMeter Animation
ClawdMeter animation

Via Adafruit

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Orion O6 Armv9 mini-ITX motherboard

12 Replies to “Clawdmeter – A DIY ESP32-S3 desk dashboard for Claude Code token usage monitoring”

  1. Dang! I just set up an ESP32-2432S028 and would like to get this working in it instead of having to get a new one

  2. for 30 bucks these thongs ate pretty cool.
    hey i bet i could make one of those green FLIP fluid sinulators on that eaveshare

    hey fan you do this on a heltec with meshtastic so the ai monitor runs iver a mesh network?

  3. bruh wjere is the link to the .bin and flashing website to flash it? i wanna flash it from my phone otg

    make it work on cheaper eap32s too why isnt ai snart enuf.to just convert conpiled code to work on other devices

    1. Maybe AI isnt smart enough to convert compiled code because it isn’t really something that people do and AI is not actually smart it is just very fancy pattern recognition and prediction.

      Do you really trust a Large Language Model (LLM) to convert thousands or millions of bytes of machine code without making a single error? A situation where a single wrong bit could be catastrophic and would be impossible to debug?

      Think about what you are asking. The ESP32S3 uses a dual core Tensilica LX7, the other ESP32 MCUs use older versions of the core or RISC-V cores, that is a totally different architecture and ISA, not to mention the peripherals are different and may behave differently or be mapped differently. Then there is the fact that the ESP32S3 is dual core, so things that work on it will not work on single core processors without significant modification.

      For a person to do what you are asking would involve them figuring out what the compiled binary is trying to do and then implement it in binary for the other microcontroller, this would be very time consuming and would require deep knowledge of both microcontrollers. If you gave most embedded engineers this task they would probably find a different way to do it, even just a complete rewrite to just copy its functions rather than trying to convert the binary. You know instead of trying to use an LLM to convert the code which is something it wasn’t designed for and will not do properly you could just change the target device and remove any S3 specific code.

      Also ESP32S3 is already cheap enough, most of the cost of this device is the display, form factor and housing.

      1. Out of stock everywhere. Does anyone know a nearest neighbor, that is both 100% compatible and currently available?

        1. Search for ESP32-S3-Touch-AMOLED-2.16 on AliExpress or Amazon, and you may find it from alternative resellers, although usually at a higher price.

  4. It’s a very sweet project, and sweet has its place, but the whole concept is a bit redundant and doesn’t really solve anything. No need for a esp32 to know Claudes realtime usage.

    1. Oh go get a hug from someone Blues. No one asked you if it passes your “worthy enough to exist” test.

  5. The fact that this exists tells you all you need to know about Anthropic’s pitiful usage limits!

  6. Nice build. Funny timing, I generated a very similar Claude Code token monitor on Make-it.ai recently from a plain english prompt and got back the circuit, the code and the BoM. Different hardware target but same idea: make-it.ai/marketplace/project-1778995482315-8s3qitp3g. Curious if anyone here has tried generating embedded firmware this way.

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC