![bitclock](https://private-user-images.githubusercontent.com/220799/338765391-5121ca8b-19c7-4db0-9a81-38fae36ac5df.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MzYyMzAsIm5iZiI6MTcyMTkzNTkzMCwicGF0aCI6Ii8yMjA3OTkvMzM4NzY1MzkxLTUxMjFjYThiLTE5YzctNGRiMC05YTgxLTM4ZmFlMzZhYzVkZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNVQxOTMyMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZThlNDU3YmU0NjNkMWY3NTk1NjY5ZTc2N2NhYmFjZDRkNDE1OWVmYjMyNTE3MTU3YzhhMTE2ZGVkODU2NmJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.fBFe09hXql_pjMnetUh-y3vfdKUwb5Ma_7S5BViy3M8)
Open source e-ink desk companion, clock, and air quality monitor.
![Bitclock photo](https://private-user-images.githubusercontent.com/220799/346739921-bc8474b8-f251-447f-9529-ead370a547e0.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MzYyMzAsIm5iZiI6MTcyMTkzNTkzMCwicGF0aCI6Ii8yMjA3OTkvMzQ2NzM5OTIxLWJjODQ3NGI4LWYyNTEtNDQ3Zi05NTI5LWVhZDM3MGE1NDdlMC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNVQxOTMyMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jODFiODIwYTI1MmExN2U4OTc2ZWFhZDliY2E0YTA0YjViMzYwNzNjZjEwNmYwOTM3ZmZjOTc4YzA3ZDU1NzRiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.yOFyBSsauXBqupX0Ky-yx-FIzjo2yUo5dph5Y6HHk7k)
Visit https://bitclock.io/connect to configure your existing device
Source code for ESP32 using the ESP-IDF development framework.
See bitclock-fw/
Next.js web app for homepage and device configurator.
See bitclock-web/
![Web configurator screenshot](https://private-user-images.githubusercontent.com/220799/338769489-9b72ab4b-d259-4e13-9049-c8f1ba85664d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MzYyMzAsIm5iZiI6MTcyMTkzNTkzMCwicGF0aCI6Ii8yMjA3OTkvMzM4NzY5NDg5LTliNzJhYjRiLWQyNTktNGUxMy05MDQ5LWM4ZjFiYTg1NjY0ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNVQxOTMyMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wZDYxZWJiNDU4ZWE4YjMxN2VlNGRmYjEyNjdkODE4ODBkNjNlNTcyN2VmNGRmZGZmNTJiYjBiZTZlNGNjNTgwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.jxOkgdysSw_Uv8jpsGg6if06OmIEDwGfL4pZwJs71BQ)
OnShape design, STEP files, and instructions for 3D printing.
![Device CAD screenshot](https://private-user-images.githubusercontent.com/220799/338769826-b83af06f-92e7-4f3a-9e44-477fad33d226.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MzYyMzAsIm5iZiI6MTcyMTkzNTkzMCwicGF0aCI6Ii8yMjA3OTkvMzM4NzY5ODI2LWI4M2FmMDZmLTkyZTctNGYzYS05ZTQ0LTQ3N2ZhZDMzZDIyNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNVQxOTMyMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kYmNlZjdiM2Y4NzBiZTA1YmY5ZmRiOGY3YzFmNDBlODY3ODUwM2E3NTE5ZmExMjhkZGQ5MDEwZjMxZTBkNTMyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.6rK5aFolRdX04TCH7wDzQ8vjUGd37Iqswp37asg5JkI)
KiCad schematic, board, and JLCPCB ordering files.
See bitclock-pcb/
![KiCAD device PCB screenshot](https://private-user-images.githubusercontent.com/220799/338770042-4e667f21-f8f4-497b-bb93-be5a299950ad.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE5MzYyMzAsIm5iZiI6MTcyMTkzNTkzMCwicGF0aCI6Ii8yMjA3OTkvMzM4NzcwMDQyLTRlNjY3ZjIxLWY4ZjQtNDk3Yi1iYjkzLWJlNWEyOTk5NTBhZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNVQxOTMyMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNGVhYjViMjQ5M2Q4YjM4MmU4OGE5OWQ5OTFjNTA1ODY3ODdjNjU0MzEyMjIyZDY0MDhiYjU4ZGYzYmNhYjQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.fcXmC79PgLYApIneHXNLPv5OSmbEgnwxxjNMgXr_yEk)
A single pre-commit config is created for this monorepo. Set up the hooks to get linting on every commit.
brew install pre-commit
pre-commit install