
Adafruit ESP32-S3 8MB No PSRAM
cgallizzi/inkterface
Steam Machine e-ink faceplate with a Now Playing mode: box art, playtime, achievements. Fork of Valve's Inkterface.

Steam Machine e-ink faceplate with a Now Playing mode: box art, playtime, achievements. Fork of Valve's Inkterface.
Adafruit ESP32 Feather V2 is an open-source printed circuit board by cgallizzi, from the cgallizzi/inkterface repository on GitHub, published under the MIT licence. It is a 2-layer board of 50.8 × 22.9 mm with 56 parts on 49 nets, routed with 796 tracks and 111 vias.
It is built around the MCP73831T-2ACI/OT-HXY, DMG3415U and MBR540DS. Its parts include 13 capacitors, 11 resistors, 4 ICs, 3 diodes and 3 crystals. It belongs with the lEDs and displays and microcontroller boards boards and the ESP32 and RISC-V boards of this library.
An e-ink faceplate for your Steam Machine that shows the box art, playtime, and achievement progress of whatever you're playing — plus all the original system telemetry readouts.
This is a community fork of Valve's Inkterface, created by NaKyle Wright at Valve and released under the MIT license. All of the hardware design, assembly docs, and the original firmware and companion app are their work — this fork adds the artwork/"now playing" features and easier install tooling on top. Thank you Valve for open sourcing it!
Box Art button
in the configure screen.Game Time and Achievements readouts you can put in
any panel field, alongside the stock CPU/GPU/fan stats.Achievement data comes from the Steam Community profile endpoint and requires no API key, but your profile's game details need to be public for it to show.
Firmware — plug the Feather into any PC over USB and open the web flasher in Chrome or Edge, then click Install for your board.
App — on the Steam Machine, open a terminal in desktop mode and run:
curl -fsSL https://raw.githubusercontent.com/cgallizzi/inkterface/main/scripts/install.sh | shThat downloads the latest release to ~/Applications, launches it, and from
there you pick your panel and click Install (bottom right) to set up the
background service. Prebuilt AppImages are also on the
releases page if you'd rather
grab one manually.
Everything below is the original upstream documentation for building the hardware and working from source.
Check out the assembly tutorial video in
the upstream repo
(kept out of this fork because it exceeds GitHub's file size limit),
or if you'd prefer there is a PDF version too ./docs/Inkterface Assembly.pdf.
Warning: The screws will thread themselves into the plastic, but be VERY gentle as it is easy to strip the plastic away and you may need to re-print parts!
./cad folder.
Inkterface - Print Plate.step.Once you've assembled the unit it should be fairly solid and easily magnet to the front of a Steam Machine!
You will need to build/flash the firmware onto the feather using the steps below.
Eventually we'll have an app up on Steam but until then you can build an AppImage using the instructions further down in this readme.
Once you have it built, take a look at ./docs/Inkterface Setup.pdf, but the
basics are:
INKTF- prefix and then use a unique portion of the
panels BLE MAC address.include/panel-state.hpp
you can add any function that can return a QString or double and then
registerCollector() to have it show up in the list.
SysStats,
they get registered in the PanelState constructor.If you have Qt installed you should be able to open the cmake project in Qt Creator and use that.
For better distributable builds you can setup a container for wider platform
support using the included Containerfile.
podman build -t qt69-builder -f ./Containerfiledistrobox create --image qt69-builder --name qt69distrobox enter qt69./scripts/build.sh deployThat should produce an AppImage for you in the ./dist-linux-x86_64 folder.
This container uses an older version of Ubuntu and Qt 6.9 which should let us build AppImages that will work on a wide range of modern systems.
For a mix of convenience and approachability this project uses
PlatformIO, and in particular here you'll use the
pio run
command. Reading up on them can be useful, especial options like --upload-port
which could help if you have multiple serial ports.
If you're using the container from above you can just do:
distrobox enter qt69cd ./firmwarepio run -e featherv1 -t uploadpio run -e featherv2 -t uploadAnd it should build and flash the firmware, if you want to get setup manually:
cd ./firmwarepio run -e featherv1 -t uploadpio run -e featherv2 -t uploadOf course in both cases you need to have the ESP32 Feather attached via USB and permission to interact with serial devices on your system.
NOTE: You can add build definitions and support for other boards by modifying
the platformio.ini, check it out to see the V1 and V2 feather environments.
Planning out the UI and panel design is done in a Lunacy document you can find
in the ./design folder.
Lunacy is an open source alternative to tools like Figma that can work entirely offline.
This project is licensed under the MIT License, see LICENSE.
This project depends on third-party software that is distributed under its own licenses. Those licenses remain applicable to the respective components and are not modified by this project's license.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 5.1K | 0603-NO | R2, R4, R5, R6, R10 |
| 4 | 10µF | 0805-NO | C3, C6, C7, C8 |
| 4 | 1uF | 0603-NO | C4, C5, C9, C10 |
| 3 | 10uF | 0805-NO | C1, C2, C13 |
| 2 | 0.1uF | 0603-NO | C11, C12 |
| 2 | 100K | 0603-NO | R7, R12 |
| 2 | 200K | 0603-NO | R1, R3 |
| 2 | AP2112-3.3 | SOT23-5 | U1, U2 |
| 2 | FIDUCIAL_1MM | FIDUCIAL_1MM | U$34, U$35 |
| 2 | KMR2 | BTN_KMR2_4.6X2.8 | SW1, SW2 |
| 2 | MOUNTINGHOLE2.5 | MOUNTINGHOLE_2.5_PLATED | U$31, U$32 |
| 2 | TPB1,27 | B1,27_385 | D-1, D+1 |
| 1 | 1X16_ROUND | JP1 | |
| 1 | ADAFRUIT_2.5MM | U$14 | |
| 1 | FEATHERLOGO_MED | U$9 | |
| 1 | dummyfp0 | UNK_HOLE_0 | |
| 1 | ADAFRUIT_3.5MM | U$15 | |
| 1 | HUZZAH32 | U$43 | |
| 1 | ADAFRUIT_5MM | U$7 | |
| 1 | 1X12_ROUND | JP3 | |
| 1 | PCBFEAT-REV-040 | U$13 | |
| 1 | dummyfp1 | UNK_HOLE_1 | |
| 1 | 10K | RESPACK_4X0603 | R13 |
| 1 | 47K | RESPACK_4X0603 | R9 |
| 1 | CP2102N-24 | QFN24_4MM_SMSC | IC3 |
| 1 | DMG3415U | SOT23-R | Q3 |
| 1 | DUAL NPN | SOT363 | Q5 |
| 1 | ESP32-PICO-MINI-02MINI | ESP32-PICO-MINI | X3 |
| 1 | JSTPH | JSTPH2_BATT | X1 |
| 1 | MBR540 | SOD-123 | D4 |
| 1 | MCP73831T-2ACI/OT | SOT23-5 | U3 |
| 1 | ORANGE | CHIPLED_0603_NOOUTLINE | CHG0 |
| 1 | RED | CHIPLED_0603_NOOUTLINE | D3 |
| 1 | STEMMA_I2C_QTRA | JST_SH4_RA | CONN1 |
| 1 | USB Type C | USB_C_CUSB31-CFM2AX-01-X | X6 |
| 1 | WS2812B3535 | LED3535 | LED1 |

cgallizzi/inkterface
Steam Machine e-ink faceplate with a Now Playing mode: box art, playtime, achievements. Fork of Valve's Inkterface.

cgallizzi/inkterface
Steam Machine e-ink faceplate with a Now Playing mode: box art, playtime, achievements. Fork of Valve's Inkterface.

cgallizzi/inkterface
Steam Machine e-ink faceplate with a Now Playing mode: box art, playtime, achievements. Fork of Valve's Inkterface.

Ethan-Poag/Flight-Data-Computer
An easy to build open source alternative to the ASA CX-3 aviation data computer.

oomlout/oomlout_oomp_project_bot_v_2


akshat-kumar10/5A-Buck-Converter
A custom 5A DC-DC buck converter and motor driver PCB designed in KiCad.

maholli/SAM32
Feather-sized SAMD51 with M4 core serving as UART bridge to WROOM ESP32

swayerloren/KICAD_ENGINE
AI-assisted KiCad PCB design workflow for schematics, PCB layouts, DRC, BOM/CPL, and fabrication outputs using Codex or Claude.

SkullKill/ESP32-Wall-Clock-PCB
ESP32 based 30cm Wall Mounted Clock. WiFi, NTP, SNMP, web interface, MicroUsb, Type-C, HG3613 Retrofit

It measures 50.8 × 22.9 mm and has 2 copper layers, 1.6 mm thick.
56 parts, built around the MCP73831T-2ACI/OT-HXY, DMG3415U and MBR540DS. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the cgallizzi/inkterface repository on GitHub, at the commit this page was made from: the board is boards/Adafruit Feather ESP32-S3 V2/Adafruit ESP32 Feather V2.kicad_pcb and its schematic boards/Adafruit Feather ESP32-S3 V2/Adafruit ESP32 Feather V2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).