diff --git a/assets/main.css b/assets/main.css index 35d6a3e..b30efc6 100644 --- a/assets/main.css +++ b/assets/main.css @@ -1 +1,578 @@ -body[a="dark"]{filter:invert(1)}body[a="dark"] img{filter:invert(1)}body[a="dark"] img.ioda{filter:invert(0)}@media (prefers-color-scheme: dark){body[a="auto"]{filter:invert(1)}body[a="auto"] img{filter:invert(1)}body[a="auto"] img.ioda{filter:invert(0)}}html,body{background:white}html{height:100%}body{color:black;font-family:monospace;font-size:16px;line-height:1.4;margin:0;min-height:100%;overflow-wrap:break-word}.post-meta{text-align:right}h2,h3,h4,h5,h6{margin-top:3rem}hr{margin:2rem 0}p{margin:1rem 0}li{margin:0.4rem 0}*:target{background:yellow}.w{max-width:640px;margin:0 auto;padding:4rem 2rem}hr{text-align:center;border:0}hr:before{content:"/////"}hr:after{content:attr(data-content) "/////"}table{width:100%}table,th,td{border:thin solid black;border-collapse:collapse;padding:0.4rem}code{color:white;background:black}div.highlighter-rouge code{display:block;overflow-x:auto;white-space:pre-wrap;padding:1rem}blockquote{font-style:italic;border:thin solid black;padding:1rem}blockquote p{margin:0}img{max-width:100%;display:block;margin:0 auto} \ No newline at end of file +body[a="dark"] { + filter: invert(1); +} +body[a="dark"] img { + filter: invert(1); +} +body[a="dark"] img.ioda { + filter: invert(0); +} +@media (prefers-color-scheme: dark) { + body[a="auto"] { + filter: invert(1); + } + body[a="auto"] img { + filter: invert(1); + } + body[a="auto"] img.ioda { + filter: invert(0); + } +} +html, +body { + background: white; +} +html { + height: 100%; +} +body { + color: black; + font-family: monospace; + font-size: 16px; + line-height: 1.4; + margin: 0; + min-height: 100%; + overflow-wrap: break-word; +} +.post-meta { + text-align: right; +} +h2, +h3, +h4, +h5, +h6 { + margin-top: 3rem; +} +hr { + margin: 2rem 0; +} +p { + margin: 1rem 0; +} +li { + margin: 0.4rem 0; +} +*:target { + background: yellow; +} +.w { + max-width: 640px; + margin: 0 auto; + padding: 4rem 2rem; +} +hr { + text-align: center; + border: 0; +} +hr:before { + content: "/////"; +} +hr:after { + content: attr(data-content) "/////"; +} +table { + width: 100%; +} +table, +th, +td { + border: thin solid black; + border-collapse: collapse; + padding: 0.4rem; +} +code { + color: white; + background: black; +} +div.highlighter-rouge code { + display: block; + overflow-x: auto; + white-space: pre-wrap; + padding: 1rem; +} +blockquote { + font-style: italic; + border: thin solid black; + padding: 1rem; +} +blockquote p { + margin: 0; +} +img { + max-width: 100%; + display: block; + margin: 0 auto; +} + + +.markdown-body{ + border:0 !important; +} +table{ + width:100%; + display: block; +} +.markdown-body table td, .markdown-body table th, table td, table th{ + border:0; +} +:is(h1, h2, h3, h4, h5, h6) img{ + display: inline-block; +} + + /* + .markdown-body table tr { + border: 0 + } + + */ + + +/* semantic.css */ + +progress, +sub, +sup { + vertical-align: baseline; +} +footer, +header { + padding-top: 25px; + padding-bottom: 25px; +} +blockquote, +form, +h1, +h2, +h3, +h4, +h5, +h6, +ol, +ul { + margin-top: 25px; + margin-bottom: 25px; +} +html { + box-sizing: border-box; + line-height: 1.15; + -webkit-text-size-adjust: 100%; +} +*, +::after, +::before { + box-sizing: inherit; +} +:root { + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol"; +} +hr { + height: 0; +} +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} +b, +strong { + font-weight: bolder; +} +code, +kbd, +pre, +samp { + font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, + monospace; + font-size: 1em; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; +} +button, +select { + text-transform: none; +} +[type="button"], +[type="reset"], +[type="submit"], +button { + -webkit-appearance: button; +} +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0; +} +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring, +button:-moz-focusring { + outline: ButtonText dotted 1px; +} +fieldset { + padding: 0.35em 0.75em 0.625em; +} +legend { + padding: 0; +} +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} +blockquote, +p { + line-height: 1.4; +} +h6, +pre { + line-height: 1.3; +} +summary { + display: list-item; +} +body, +html { + background-color: #fff; +} +body { + font-family: Roboto, sans-serif; + font-weight: 400; + font-size: 1rem; +} +footer > section, +header > nav, +main { + max-width: 900px; + margin-left: auto; + margin-right: auto; +} +section { + margin-top: 50px; + margin-bottom: 50px; +} +footer > section, +header > section { + margin-top: 0; + margin-bottom: 0; +} +header { + background-color: #4332e0; +} +header, +header a { + color: #fff; +} +footer { + background-color: #efefef; +} +nav > * { + margin-right: 15px; +} +nav a { + text-decoration: none; +} +nav a:focus, +nav a:hover { + text-decoration: underline; +} +aside { + float: left; +} +header > nav > aside { + float: right; +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 700; +} +h1 { + font-size: 3rem; + line-height: 1.2; +} +h2 { + font-size: 2rem; + line-height: 1.22; +} +h3 { + font-size: 1.5rem; + line-height: 1.24; +} +h4 { + font-size: 1.25rem; + line-height: 1.26; +} +h5 { + font-size: 1rem; + line-height: 1.28; +} +h6 { + font-size: 0.875rem; +} +h1 + h2, +h2 + h3, +h3 + h4, +h4 + h5, +h5 + h6 { + margin-top: -10px; +} +img { + max-width: 100%; +} +p { + margin-top: 15px; + margin-bottom: 15px; +} +ol li, +ul li { + margin-top: 8px; + margin-bottom: 8px; +} +blockquote { + position: relative; + margin-left: 0; + padding-left: 30px; + padding-top: 3px; + padding-bottom: 3px; + font-size: 1.0625rem; +} +blockquote::before { + content: ""; + position: absolute; + top: 0; + bottom: 0; + left: 0; + display: block; + width: 10px; + background: #efefef; +} +button, +input[type="reset"], +input[type="submit"] { + padding: 6px 17px; + border: 0; + background-color: #4332e0; + color: #fff; + border-radius: 4px; + cursor: pointer; + -webkit-transition: 0.12s; + transition: 0.12s; + will-change: background-color; +} +button:focus, +button:hover, +input[type="reset"]:focus, +input[type="reset"]:hover, +input[type="submit"]:focus, +input[type="submit"]:hover { + background-color: #5949ee; +} +button:active, +input[type="reset"]:active, +input[type="submit"]:active { + background-color: #3b2ad3; +} +button[disabled], +button[disabled]:active, +button[disabled]:focus, +button[disabled]:hover { + background: #efefef; + color: #000; + cursor: default; +} +input, +label, +select, +textarea { + display: block; + margin-top: 20px; + margin-bottom: 20px; +} +label > input { + margin-top: 5px; + margin-bottom: 5px; +} +label > input[type="checkbox"], +label > input[type="radio"] { + display: inline-block; + margin-right: 5px; +} +input[type="date"], +input[type="datetime-local"], +input[type="email"], +input[type="file"], +input[type="month"], +input[type="number"], +input[type="password"], +input[type="search"], +input[type="tel"], +input[type="text"], +input[type="time"], +input[type="url"], +input[type="week"], +textarea { + padding: 5px 10px; + border: 1px solid #dadada; +} +textarea { + padding: 10px; +} +dialog { + border: 3px solid #efefef; + box-shadow: 2px 2px 30px 0 rgba(0, 0, 0, 0.07); + border-radius: 10px; +} +pre { + padding: 15px; + background: #f5f5f5; + color: #3f3f3f; + overflow: auto; +} +@media (max-width: 932px) { + footer > section, + header > nav, + main { + max-width: 100%; + padding-left: 16px; + padding-right: 16px; + } +} +@media (max-width: 900px) { + blockquote, + form, + h1, + h2, + h3, + h4, + h5, + h6, + ol, + ul { + margin-top: 20px; + margin-bottom: 20px; + } + section { + margin-top: 45px; + margin-bottom: 45px; + } + h1 { + font-size: 2.625rem; + } + h2 { + font-size: 1.875rem; + } + h3 { + font-size: 1.375rem; + } + h4 { + font-size: 1.125rem; + } + h5 { + font-size: 0.9375rem; + } + h6 { + font-size: 0.8125rem; + } + p { + margin-top: 10px; + margin-bottom: 10px; + } + ol li, + ul li { + margin-top: 5px; + margin-bottom: 5px; + } + blockquote { + font-size: 1rem; + } + input, + label, + select, + textarea { + margin-top: 15px; + margin-bottom: 15px; + } +} +@media (max-width: 600px) { + section { + margin-top: 40px; + margin-bottom: 40px; + } + h1, + h2, + h3, + h4, + h5, + h6 { + margin-top: 15px; + margin-bottom: 15px; + } + h1 { + font-size: 2.25rem; + } + h2 { + font-size: 1.75rem; + } + h3 { + font-size: 1.25rem; + } + h4 { + font-size: 1rem; + } + h1 + h2, + h2 + h3, + h3 + h4, + h4 + h5, + h5 + h6 { + margin-top: -5px; + } + pre { + font-size: 0.9375rem; + } +} diff --git a/static/images/cover.png b/static/images/cover.png new file mode 100644 index 0000000..29cbe04 Binary files /dev/null and b/static/images/cover.png differ diff --git a/static/index.md b/static/index.md index e4a07e8..e6310d2 100644 --- a/static/index.md +++ b/static/index.md @@ -1,59 +1,34 @@ - - - - - -# LILYGO® LILYGOT-Watch S3 ESPHomeESPHome - -> [!NOTE] -> -> ## T-Watch S3 ESPHome -> -> LILYGO® T-Watch S3 full feature implementation for ESPHome +# LILYGO® LILYGOT-Watch S3 ESPHomeESPHome -### Specs +![Watch](images/cover.png "LILYGO® T-Watch S3 ESPHome") -
-Technical details 🧑‍💻 + datasheets 📚 +## T-Watch S3 -> Espressif Systems ESP32-S3 (revision v0.2) dual-core Tensilica LX7 @ up to 240 MHz with vector instructions for AI acceleration -> * Bluetooth: BLE V5.0 -> * Multiprotocol Modules SMD Module, ESP32-S3R8, 3.3V, -> * 8 MB Octal PSRAM Die (OPI) -> * 16 MB Quad SPI Flash, (QIO) Quad I/O 4 pins used for address & data. -> * 512KB SRAM -> * 128-bit data bus and SIMD commands -> * 384 KB ROM -> * 16 KB SRAM in RTC -> * CONNECTOR (OK-22F024-04) - terminal board-to-board connector +
+About the Device + +### Datasheets + +### Technical details +* Espressif Systems ESP32-S3 (revision v0.2) dual-core Tensilica LX7 @ up to 240 MHz with vector instructions for AI acceleration +* * Bluetooth: BLE V5.0 +* * Multiprotocol Modules SMD Module, ESP32-S3R8, 3.3V, +* * 8 MB Octal PSRAM Die (OPI) +* * 16 MB Quad SPI Flash, (QIO) Quad I/O 4 pins used for address & data. +* * 512KB SRAM +* * 128-bit data bus and SIMD commands +* * 384 KB ROM +* * 16 KB SRAM in RTC +* * CONNECTOR (OK-22F024-04) - terminal board-to-board connector ![Watch](images/t-watch-s3-esp32-s3-lora-transparent.png "T-Watch")
-### Result +### ESPHome +> LILYGO® T-Watch S3 full feature implementation for ESPHome @@ -83,27 +58,29 @@ -> [!TIP] -> -> ## Installation -> You can use the button below to install the pre-built firmware directly to your device via USB from the browser. -> -> -> +#### Installation +
+You can use the button below to install the pre-built firmware directly to your device via USB from the browser. -> [!IMPORTANT] -> -> All product names, logos, and brands are property of their respective owners. All company, product and service names used are for identification purposes only. Use of these names, logos, and brands does not imply endorsement. -> -> > To release the full source, I would like to achieve a sponsorship goal. -> > -> > [![uwu](https://img.shields.io/github/sponsors/velijv?logo=githubsponsors&label=sponsor%20🥺%20me&style=flat-square&labelColor=rgba(0,0,0,0)&color=rgba(234,74,170,0.5) "for jsut 1 doolar you can lead a por man to fish")](https://github.com/sponsors/velijv) [![Buy Me a Cofffee](https://img.shields.io/badge/Gift%20a%20Covfefe-red?logo=buymeacoffee&logoColor=fff&labelColor=rgba(0,0,0,0)&color=rgba(128,128,1,0.1)&style=flat-square "help me replace my blown up devices")](https://www.buymeacoffee.com/velijv) [![PayPal](https://img.shields.io/badge/Tip%20my%20jar-red?logo=paypal&logoColor=fff&style=flat-square&labelColor=rgba(0,156,222,0)&color=rgba(1,33,105,0.1) "Purchase new gadgets to hack for you")](https://paypal.me/velijohan) [![About Sponsoring](https://img.shields.io/badge/Veli_🤝-why_sponsor-red?&logoColor=fff&style=flat-square&labelColor=rgba(124,124,124,0)&color=rgba(124,124,124,0.1) "Read about me and more ways to Sponsor")](https://veli.ee/sponsor) -> +
+ + +
+ +
*** -[![LILYGO® T-Watch S3 ESPHome © 2024 by Veli-Johan Veromann is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International](https://img.shields.io/badge/Licence-CC--BY--NC--ND%204.0-rgba%280%2C0%2C0%2C0%29?logo=CreativeCommons&logoColor=rgba(231,53,44,1)&labelColor=rgba(231,53,44,0)&style=flat-square&color=rgba(231,53,44,0.1))](https://creativecommons.org/licenses/by-nc/4.0/ "LILYGO® T-Watch S3 ESPHome © 2024 by Veli-Johan Veromann is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International") [![LILYGO®](https://img.shields.io/badge/LILYGO-f5a012.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KICAgIDxwYXRoIGZpbGw9IiNGNUEwMTIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTE3LjYuMy0uNi42YzAgLjMtLjMuNC0xIC40LTEgLjEtMS41LjUtMS44IDEuMi0uMi40LS4zLjUtLjYuNGgtMS4xYy0uNiAwLTEtLjEtMS0uMy0uNS0uNS0xLjctLjItMi41LjctLjQuNS0xLjEgMS41LTEuMSAxLjdsLjQuMmMuNC4xLjQuMS4yLjYtLjMuNC0uNC41LTEgLjUtMS4zIDAtMS40IDEtLjIgMSAuNi4xLjYuMS42LjggMCAuNi42IDIuNC45IDIuNGwuNy4zYy42LjUgMS44LjggMi4zLjcuMy0uMS4zIDAgLjMgMXMwIDEtLjQgMWMtLjYgMC0xLjYuNS0yLjIgMUw5IDE1bC0xLjQtLjRhMTEgMTEgMCAwIDAtMi0uNWwtMS44LS4zYy0xLS4yLTEuMi0uNC0xLjMtLjdsLS4yLTIuNi0uMS0yLjljMC0uNiAwLS42LjQtLjguNS0uMS41LS4yLjYtLjcgMC0uNiAwLS42LS41LS44QzIgNSAyIDQuOSAyLjMgMy44Yy4zLTEgLjQtMS45IDAtMS45LS4yIDAtLjQuNS0uNCAxLjJzLS4yLjQtLjYtLjhDLjcuNCAwIC4xIDAgMS43YzAgMSAuNCAyLjMuOSAyLjhsLjQuNS0uNi4zYy0uNS4yLS42LjItLjUuOCAwIC41LjEuNi42LjcuNi4yLjYuMy43IDQgLjEgMy4zIDAgMy4zIDIgMy44LjkuMiAxLjYuNSAxLjcuNmwxLjMuNGMxLjMuMiAyIC40IDEuOC42bC0uMiAxYy0uNCAxLjYuNCAzIDIgMy44bC45LjR2Mi4zaDMuNWwtLjItLjdjLS4zLTEuNC0uMi0xLjUuNy0yYTQgNCAwIDAgMCAyLjEtMi4ybC4yLTFzLjQuMSAxIC42bDEgLjggMS44IDEgMiAxLjNjLjQgMCAuOS0uMy45LS42IDAtLjItMS0xLjItMi4yLTIuNC0yLTItMi41LTIuNS0xLjctMi4xLjYuMy44LjIgMS4yLS41LjYtLjkgMi43LTUuNCAyLjctNS44IDAtLjEtLjItLjQtLjUtLjZsLTQuNC0yYy0uMiAwLS41LjQtLjcuOC0uNiAxLTIuNSA1LjMtMi41IDUuOHMwIC40LS42LjFsLTEuNC0uNC0uOC0uMnYtMWwtLjItMS4xYzAtLjIgMS4yLTEuMiAxLjktMS41LjctLjQgMi0zLjEgMi00LjMtLjEtLjctLjEtLjguNC0xIC4zIDAgLjYtLjIuOC0uNGEyIDIgMCAwIDAgMC0xLjdjLS4xLS4zIDAtLjQuNS0uNy44LS41IDEuMi0xLjEuNy0xLjYtLjMtLjQtMS0uNC0xLjYgMFpNMTIgNS4xdjEuM2MwIDItLjggMi44LTIgMi4zLS44LS4zLTEtLjYtMS0xLjUgMC0xLjMuNy0yLjEgMS4zLTEuNS4zLjMuMyAxLjYgMCAyLjItLjIuNCAwIC43LjQuNi41LS4yLjgtMSAuOC0ydi0xaC0xLjNsLTEtLjEtLjUuN2E0IDQgMCAwIDAtLjMgMi44Yy4yLjcuNC44IDEgLjUuMy0uMS4zLS4xIDAgLjMtLjMuNS0uMy41IDAgLjcgMS4zIDEgMyAuOSA0LjUtLjNsLjUtLjQtLjgtMS41TDEyIDV2LjFabS0xMC43LjcuMy4yYy4xIDAgLjIgMCAuMi4yIDAgLjEtLjEuMi0uMi4xbC0uMi4xLjYuMmMuNSAwIC42IDAgLjYtLjRzLS41LS43LTEtLjdjLS40IDAtLjUgMC0uMy4zWm01LjYuOWMtLjIuMiAwIC40LjYuNC40IDAgLjYtLjEuNi0uMyAwLS4xLS4yLS4yLS42LS4ySDdsLS4xLjFaTTE4LjUgOWMtLjcgMS4zLTIuMiA0LjgtMi4yIDUgMCAuMi4zLjQuOC42IDEgLjQgMSAuNC44LjEgMCAwLS4yLS4yLS4zLS4xLS4yIDAtLjIgMCAwLS40bC4yLS42LS4yLjRjLS4yLjUtLjYuNi0uOC4zIDAtLjIuMy0xLjEuNS0xLjF2LjJjLS4xLjIgMCAuMS43LS4xbC42LS4yLS40LS4xYy0uMyAwLS41LS4yLS41LS4zIDAtLjQuNy0xLjYgMS0xLjYgMCAwIC4yLS4xLjItLjMuMS0uMi4zLS4zLjQtLjIuMi4xLjIuMiAwIC42LS4zLjYtLjQuOS0uMi45bC43LTEuM2MuNC0xIC42LTEuMy44LTEuMi4yIDAgLjMgMCAuNC0uMy4xLS4yLjMtLjIuNC0uMS4yIDAgMCAuNC0uNSAxLjdhMjYgMjYgMCAwIDAtLjggMS43bC4zLjFjLjIgMCAuMiAwIC4xLjNsLS4yLjZjMCAuMy0uMS4zLS42IDBsLS42LS4yLjQuOGMuMSAwIC4yLjEuMS4yIDAgLjUgMCAuNi4zLjMuMS0uMy4yLS40LjMtLjJ2LjVjLS4yLjEtLjIuMy0uMi40bC4yLS4zYy4zLS41LjYtLjYuNi0uM2wtLjMuN2MtLjIuNC0uMy40LS41LjMgMC0uMi0uMi0uMi0uMiAwbC42LjMuMy0uNmMuMS0uMy4zLS41LjQtLjVsLS4yLjYtLjIuN2MuMiAwIDMtNi4xIDMtNi4zbC00LTEuOC0uNy0uMy0uNSAxVjlabTEuNyAxLjN2LjJjLjIgMCAuMy0uMS4zLS4ybC0uMS0uMi0uMi4yWk0yMCAxM2MwIC4xIDAgLjIuMS4xbC4yLS4yaC0uMmMtLjIgMC0uMSAwLS4xLjFabS0zLjQuN2MtLjIuMy0uMi41IDAgLjRsLjItLjctLjIuM1ptLS4xIDEuNC42IDFjLjIuNS40LjggMS4zIDEuM2wyLjMgMS40Yy4yLS4yLTEuNC0xLjgtMS45LTJhLjkuOSAwIDAgMS0uNS0uN2MtLjEtLjQtLjMtLjYtMS0xbC0xLjEtLjVzMCAuMy4zLjVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+Cg==&logoColor=fff&labelColor=rgba(0,0,0,0)&color=rgba(245,160,18,0.1)&style=flat-square + +## Disclaimer +> All product names, logos, and brands are property of their respective owners. All company, product and service names used are for identification purposes only. Use of these names, logos, and brands does not imply endorsement. +> +> To release the full source, I would like to achieve a sponsorship goal. +> +> [![uwu](https://img.shields.io/github/sponsors/velijv?logo=githubsponsors&label=sponsor%20🥺%20me&style=flat-square&labelColor=rgba(0,0,0,0)&color=rgba(234,74,170,0.5) "for jsut 1 doolar you can lead a por man to fish")](https://github.com/sponsors/velijv) [![Buy Me a Cofffee](https://img.shields.io/badge/Gift%20a%20Covfefe-red?logo=buymeacoffee&logoColor=fff&labelColor=rgba(0,0,0,0)&color=rgba(128,128,1,0.1)&style=flat-square "help me replace my blown up devices")](https://www.buymeacoffee.com/velijv) [![PayPal](https://img.shields.io/badge/Tip%20my%20jar-red?logo=paypal&logoColor=fff&style=flat-square&labelColor=rgba(0,156,222,0)&color=rgba(1,33,105,0.1) "Purchase new gadgets to hack for you")](https://paypal.me/velijohan) [![About Sponsoring](https://img.shields.io/badge/Veli_🤝-why_sponsor-red?&logoColor=fff&style=flat-square&labelColor=rgba(124,124,124,0)&color=rgba(124,124,124,0.1) "Read about me and more ways to Sponsor")](https://veli.ee/sponsor) +> +> [![LILYGO® T-Watch S3 ESPHome © 2024 by Veli-Johan Veromann is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International](https://img.shields.io/badge/Licence-CC--BY--NC--ND%204.0-rgba%280%2C0%2C0%2C0%29?logo=CreativeCommons&logoColor=rgba(231,53,44,1)&labelColor=rgba(231,53,44,0)&style=flat-square&color=rgba(231,53,44,0.1))](https://creativecommons.org/licenses/by-nc/4.0/ "LILYGO® T-Watch S3 ESPHome © 2024 by Veli-Johan Veromann is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International") [![LILYGO®](https://img.shields.io/badge/LILYGO-f5a012.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KICAgIDxwYXRoIGZpbGw9IiNGNUEwMTIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTE3LjYuMy0uNi42YzAgLjMtLjMuNC0xIC40LTEgLjEtMS41LjUtMS44IDEuMi0uMi40LS4zLjUtLjYuNGgtMS4xYy0uNiAwLTEtLjEtMS0uMy0uNS0uNS0xLjctLjItMi41LjctLjQuNS0xLjEgMS41LTEuMSAxLjdsLjQuMmMuNC4xLjQuMS4yLjYtLjMuNC0uNC41LTEgLjUtMS4zIDAtMS40IDEtLjIgMSAuNi4xLjYuMS42LjggMCAuNi42IDIuNC45IDIuNGwuNy4zYy42LjUgMS44LjggMi4zLjcuMy0uMS4zIDAgLjMgMXMwIDEtLjQgMWMtLjYgMC0xLjYuNS0yLjIgMUw5IDE1bC0xLjQtLjRhMTEgMTEgMCAwIDAtMi0uNWwtMS44LS4zYy0xLS4yLTEuMi0uNC0xLjMtLjdsLS4yLTIuNi0uMS0yLjljMC0uNiAwLS42LjQtLjguNS0uMS41LS4yLjYtLjcgMC0uNiAwLS42LS41LS44QzIgNSAyIDQuOSAyLjMgMy44Yy4zLTEgLjQtMS45IDAtMS45LS4yIDAtLjQuNS0uNCAxLjJzLS4yLjQtLjYtLjhDLjcuNCAwIC4xIDAgMS43YzAgMSAuNCAyLjMuOSAyLjhsLjQuNS0uNi4zYy0uNS4yLS42LjItLjUuOCAwIC41LjEuNi42LjcuNi4yLjYuMy43IDQgLjEgMy4zIDAgMy4zIDIgMy44LjkuMiAxLjYuNSAxLjcuNmwxLjMuNGMxLjMuMiAyIC40IDEuOC42bC0uMiAxYy0uNCAxLjYuNCAzIDIgMy44bC45LjR2Mi4zaDMuNWwtLjItLjdjLS4zLTEuNC0uMi0xLjUuNy0yYTQgNCAwIDAgMCAyLjEtMi4ybC4yLTFzLjQuMSAxIC42bDEgLjggMS44IDEgMiAxLjNjLjQgMCAuOS0uMy45LS42IDAtLjItMS0xLjItMi4yLTIuNC0yLTItMi41LTIuNS0xLjctMi4xLjYuMy44LjIgMS4yLS41LjYtLjkgMi43LTUuNCAyLjctNS44IDAtLjEtLjItLjQtLjUtLjZsLTQuNC0yYy0uMiAwLS41LjQtLjcuOC0uNiAxLTIuNSA1LjMtMi41IDUuOHMwIC40LS42LjFsLTEuNC0uNC0uOC0uMnYtMWwtLjItMS4xYzAtLjIgMS4yLTEuMiAxLjktMS41LjctLjQgMi0zLjEgMi00LjMtLjEtLjctLjEtLjguNC0xIC4zIDAgLjYtLjIuOC0uNGEyIDIgMCAwIDAgMC0xLjdjLS4xLS4zIDAtLjQuNS0uNy44LS41IDEuMi0xLjEuNy0xLjYtLjMtLjQtMS0uNC0xLjYgMFpNMTIgNS4xdjEuM2MwIDItLjggMi44LTIgMi4zLS44LS4zLTEtLjYtMS0xLjUgMC0xLjMuNy0yLjEgMS4zLTEuNS4zLjMuMyAxLjYgMCAyLjItLjIuNCAwIC43LjQuNi41LS4yLjgtMSAuOC0ydi0xaC0xLjNsLTEtLjEtLjUuN2E0IDQgMCAwIDAtLjMgMi44Yy4yLjcuNC44IDEgLjUuMy0uMS4zLS4xIDAgLjMtLjMuNS0uMy41IDAgLjcgMS4zIDEgMyAuOSA0LjUtLjNsLjUtLjQtLjgtMS41TDEyIDV2LjFabS0xMC43LjcuMy4yYy4xIDAgLjIgMCAuMi4yIDAgLjEtLjEuMi0uMi4xbC0uMi4xLjYuMmMuNSAwIC42IDAgLjYtLjRzLS41LS43LTEtLjdjLS40IDAtLjUgMC0uMy4zWm01LjYuOWMtLjIuMiAwIC40LjYuNC40IDAgLjYtLjEuNi0uMyAwLS4xLS4yLS4yLS42LS4ySDdsLS4xLjFaTTE4LjUgOWMtLjcgMS4zLTIuMiA0LjgtMi4yIDUgMCAuMi4zLjQuOC42IDEgLjQgMSAuNC44LjEgMCAwLS4yLS4yLS4zLS4xLS4yIDAtLjIgMCAwLS40bC4yLS42LS4yLjRjLS4yLjUtLjYuNi0uOC4zIDAtLjIuMy0xLjEuNS0xLjF2LjJjLS4xLjIgMCAuMS43LS4xbC42LS4yLS40LS4xYy0uMyAwLS41LS4yLS41LS4zIDAtLjQuNy0xLjYgMS0xLjYgMCAwIC4yLS4xLjItLjMuMS0uMi4zLS4zLjQtLjIuMi4xLjIuMiAwIC42LS4zLjYtLjQuOS0uMi45bC43LTEuM2MuNC0xIC42LTEuMy44LTEuMi4yIDAgLjMgMCAuNC0uMy4xLS4yLjMtLjIuNC0uMS4yIDAgMCAuNC0uNSAxLjdhMjYgMjYgMCAwIDAtLjggMS43bC4zLjFjLjIgMCAuMiAwIC4xLjNsLS4yLjZjMCAuMy0uMS4zLS42IDBsLS42LS4yLjQuOGMuMSAwIC4yLjEuMS4yIDAgLjUgMCAuNi4zLjMuMS0uMy4yLS40LjMtLjJ2LjVjLS4yLjEtLjIuMy0uMi40bC4yLS4zYy4zLS41LjYtLjYuNi0uM2wtLjMuN2MtLjIuNC0uMy40LS41LjMgMC0uMi0uMi0uMi0uMiAwbC42LjMuMy0uNmMuMS0uMy4zLS41LjQtLjVsLS4yLjYtLjIuN2MuMiAwIDMtNi4xIDMtNi4zbC00LTEuOC0uNy0uMy0uNSAxVjlabTEuNyAxLjN2LjJjLjIgMCAuMy0uMS4zLS4ybC0uMS0uMi0uMi4yWk0yMCAxM2MwIC4xIDAgLjIuMS4xbC4yLS4yaC0uMmMtLjIgMC0uMSAwLS4xLjFabS0zLjQuN2MtLjIuMy0uMi41IDAgLjRsLjItLjctLjIuM1ptLS4xIDEuNC42IDFjLjIuNS40LjggMS4zIDEuM2wyLjMgMS40Yy4yLS4yLTEuNC0xLjgtMS45LTJhLjkuOSAwIDAgMS0uNS0uN2MtLjEtLjQtLjMtLjYtMS0xbC0xLjEtLjVzMCAuMy4zLjVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+Cg==&logoColor=fff&labelColor=rgba(0,0,0,0)&color=rgba(245,160,18,0.1)&style=flat-square )](https://github.com/search?q=lilygo) [![Espressif](https://img.shields.io/badge/ESP32S3%20N16R8V-e7352c.svg?logo=Espressif&logoColor=e7352c&labelColor=rgba(0,0,0,0)&color=rgba(231,53,44,0.1)&style=flat-square )](https://github.com/espressif/) [![ESPHome](https://img.shields.io/badge/ESPHome-000?logo=Esphome&logoColor=808080&labelColor=rgba(0,0,0,0)&color=rgba(33,33,33,0.1)&style=flat-square)](https://github.com/esphome/esphome) [![Home Assistant](https://img.shields.io/badge/Home%20Assistant-03A9F4?logo=HomeAssistant&logoColor=1abcf2&labelColor=rgba(0,0,0,0)&color=rgba(26,188,242,0.1)&style=flat-square)](https://my.home-assistant.io/redirect/config_flow_start/?domain=esphome)