<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <author>
    <name>Ryan Kulp</name>
    <uri>https://trmnl.com</uri>
  </author>
  <author>
    <name>Mario Lurig</name>
    <uri>https://trmnl.com</uri>
  </author>
  <category term="trmnl"
    label="TRMNL"/>
  <generator uri="https://trmnl.com"
    version="0.0.0">TRMNL</generator>
  <icon>https://trmnl.com/favicon.ico</icon>
  <id>https://trmnl.com/blog</id>
  <link href="https://trmnl.com/blog"
    rel="alternate"
    type="text/html"
    title="TRMNL: Blog (web)"/>
  <link href="https://trmnl.com/feeds/blog.xml"
    rel="self"
    type="application/atom+xml"
    title="TRMNL: Blog (feed)"/>
  <logo>https://trmnl.com/images/brand/icons/icon--brand.png</logo>
  <rights>Copyright 2026</rights>
  <subtitle>The latest site news and information.</subtitle>
  <title>TRMNL: Blog</title>
  <updated>2026-09-09T00:00:00+00:00</updated>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;for more context see the &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;Creator Fund announcement&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;our 11th payout recognizes community contributions between August 7, 2026 and September 4, 2026.&lt;/p&gt;&lt;h2&gt;source of funds&lt;/h2&gt;&lt;p&gt;each payout period, a portion of developer-specific revenue goes directly to creators.&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;revenue&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;share&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;amount&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Stripe&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;BYOD&lt;br&gt;TRMNL+&lt;/p&gt;&lt;p&gt;Shopify&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;Clarity Kit (X)&lt;br&gt;Clarity Kit (OG)&lt;br&gt;BYOD&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$4,400&lt;br&gt;$2,940&lt;br&gt;$525&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$283.85&lt;br&gt;$12,570.02&lt;br&gt;$15,029.80&lt;br&gt;$9,075.57&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;15%&lt;br&gt;80%&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;10%&lt;br&gt;10%&lt;br&gt;15%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$660&lt;br&gt;$441&lt;br&gt;$420&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$42.58&lt;br&gt;$1,257&lt;br&gt;$1,502.98&lt;br&gt;$1,361.34&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;$44,824.24&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;mark&gt;$5,684.90&lt;/mark&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h2&gt;by the numbers&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;total payout: $5,684.90&lt;/li&gt;&lt;li&gt;plugin author share: $3,979.43 (70% of base total)&lt;/li&gt;&lt;li&gt;strategic contributors share: $1,705.47 (30% of base total)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;plugin author&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;earnouts are calculated automatically by a collection of factors including a plugin&#39;s age (on live playlists), presence (by % dominance on playlists), and impressions (times displayed on device), relative to all other community plugins. there is a minimum threshold of 50 total connections (installs + forks) to qualify for monthly payouts.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;strategic contributors&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;are those who contribute to&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl&quot;&gt;TRMNL open source projects&lt;/a&gt;. these earnouts are calculated with a mix of automation + human touch. relative to the funding available, below are allocations by category:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Firmware, 0%&lt;/li&gt;&lt;li&gt;3D Models, 0%&lt;/li&gt;&lt;li&gt;BYOS, 40%&lt;/li&gt;&lt;li&gt;Localizations, 2%&lt;/li&gt;&lt;li&gt;BYOD, 55%&lt;/li&gt;&lt;li&gt;Documentation/Resources, 0%&lt;/li&gt;&lt;li&gt;Tooling, 3%&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;note: these allocations change monthly based on contributions by category.&lt;/p&gt;&lt;h2&gt;algorithm?&lt;/h2&gt;&lt;p&gt;see the algorithm in action &lt;a href=&quot;https://www.youtube.com/watch?v=FJA_tOYcMbI&quot;&gt;here&lt;/a&gt;. over time the above weights, revenue share percentages, and minimum thresholds may change.&lt;/p&gt;&lt;p&gt;candid feedback is welcome, email&amp;nbsp;&lt;a href=&quot;mailto:team@trmnl.com&quot;&gt;team@trmnl.com&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/creator-fund-08-2026</id>
    <link href="https://trmnl.com/blog/creator-fund-08-2026"/>
    <published>2026-09-09T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Creator Fund - August 2026</title>
    <updated>2026-09-09T00:00:00+00:00</updated>
    <dc:date>2026-09-09T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;&lt;p&gt;&lt;i&gt;&lt;em&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/em&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/353457&quot;&gt;Buienradar&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member &lt;a href=&quot;https://doeken.org/&quot;&gt;Doeke&lt;/a&gt; (Discord: &lt;code&gt;doekenorg&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/353457&quot;&gt;Buienradar&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I&#39;ve tried a few of the other weather plugins, but their accuracy for The Netherlands was not that great. Not that weather apps are often right... but I figured using a Dutch service, would have more accuracy overall.&lt;/p&gt;&lt;h3&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I&#39;m a software developer, with &lt;i&gt;&lt;em&gt;some&lt;/em&gt;&lt;/i&gt; sense of proper design. Not that I&#39;m a designer at all, but I know what looks and works well. So I keep at it, making it suck less, until it looks good.&lt;/p&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;Yes, since I&#39;ve been using other plugins; I&#39;ve been biased to their designs, of course. But also by other plugins that were way too crowded and cramped a lot of info in a small window.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;In this case, design was slightly more important. Functionality is of course: making the weather information available. But design drives how easy it is to absorb that information. Visual hierarchy is very important there. I also wanted to make the plugin feel native to the TRMNL platform, as well as to users familiar with Buienradar. So I reused their iconography.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;First I read the API and figured out what information would be good to use on the screens. Then I used a combination of Claude and my JetBrains IDE to design every step. I also used the TRMNL local dev server to test the plugin on various screens. Lastly, I created a proper git repo for the plugin, using the GitHub actions to quickly be able to release new features and updates.&lt;/p&gt;&lt;h3&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;The data is limited to a 5-day forecast (today + 4 days). This meant that the design needed to include or exclude information based on the screen size. Sometimes that meant including something only on portrait mode, but not on portrait mode of another screen size. This meant testing and retesting every screen on OG and X a lot. I also missed some leading tools to increase the line-height of larger and longer texts. I mentioned this to the team, and they responded very positive on the idea.&lt;/p&gt;&lt;h3&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;I created an AGENTS.md file to let AI agents use the correct best practices, as well as the appropriate helper classes. This meant that changes would always use the framework, making the change automatically work on light/dark mode. And the shared template is a great way to set up re-usable template parts. Having a single place to change classes across pages has been a great timesaver.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;As always, first, RTFM. That is very extensive. It would be great to have those docs as markdown files for LLM&#39;s. Or even as an MCP server (&lt;b&gt;&lt;strong&gt;Editor&lt;/strong&gt;&lt;/b&gt;: We do!). For now I just pulled to my local memory. But definitely test your plugin on multiple screens using the local dev server.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-buienradar</id>
    <link href="https://trmnl.com/blog/featured-plugin-buienradar"/>
    <published>2026-09-08T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Buienradar</title>
    <updated>2026-09-08T00:00:00+00:00</updated>
    <dc:date>2026-09-08T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/336231&quot;&gt;This Week in Videogames&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Martin Rapavý (Discord: &lt;code&gt;martin2097&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/336231&quot;&gt;This Week in Videogames&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;What I love the most about TRMNL is the emphasis on slowing down. Every day, we are bombarded with all sorts of news, and most of it is pure fluff. I also love following gaming news, which also suffers from low-quality, clickbaity, ad-filled content. So it was like a revelation for me when This Week in Videogames came into existence—curated, ad-free, and written by actual humans. From there, it seemed like a perfect match to bring this content to TRMNL.&lt;/p&gt;&lt;h3&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I have followed TWIV since its beginnings, and it has been my main source of gaming news, so I think that made this choice so obvious for me.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;My daily job is in the AI field, but I work in a bank, so I don&#39;t have many opportunities to try AI agents in an unconstrained environment. Because of that, I wanted to try Claude Code&#39;s current capabilities enhanced by the TRMNL MCP server. In the end, it did some of the rough work for me. For the backend and data transformations, it&#39;s really great, but when it comes to visuals, it really struggles with creating &quot;beautiful&quot; stuff. So in the end, I spent most of my time in the Visual Editor, tuning every parameter to get the best look.&lt;/p&gt;&lt;h3&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;Crafting a beautiful layout for landscape OG and landscape/portrait X means 12 layouts you have to take care of. And that is... a lot of layouts! 😅 But I hope I got the best out of every screen size, and no matter if you own a TRMNL OG or a TRMNL X, you&#39;ll enjoy the most beautiful display!&lt;/p&gt;&lt;h3&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;&lt;code&gt;gap--auto&lt;/code&gt; and &lt;code&gt;gap--distribute&lt;/code&gt; can save you a lot of tinkering when the length of the content varies.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;I have 2 tips:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The look of the plugin matters. Show it to your wife, kids, mum, dad, or neighbours. Do they understand what they&#39;re seeing? Do they like it? Most of us programmers feel that if it works and has super sophisticated code behind it, we&#39;ve done a great job. But presentation is equally important, if not even more important.&lt;/li&gt;&lt;li&gt;Don&#39;t forget that some TRMNL users are not programmers or even tech people at all. It&#39;s great to give users a ton of room for customization. But what&#39;s even better for most users is when it&#39;s already beautiful out of the box! Choosing what looks best is a hard decision, but trust me—it will push you forward and make your plugin better.&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;What part of the TRMNL Framework, Liquid filters, or other documentation was most helpful?&lt;/h3&gt;&lt;p&gt;Don&#39;t underestimate the &lt;a href=&quot;https://trmnl.com/framework/docs/&quot;&gt;TRMNL Framework&lt;/a&gt;. It looks really great, and knowing all of its capabilities gives you much more freedom to imagine what you can build. 100% of my plugin&#39;s look is made using TRMNL Framework components, and I really love it. Working within meaningful constraints can be really beneficial.&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;As you&#39;ve probably figured out by now, I&#39;m naturally drawn toward the visual side of things. &lt;a href=&quot;https://trmnl.com/recipes/181200&quot;&gt;Weather Glance&lt;/a&gt;, &lt;a href=&quot;https://trmnl.com/recipes/251959&quot;&gt;Formula 1 – Race and Standings&lt;/a&gt;, and &lt;a href=&quot;https://trmnl.com/recipes/174854&quot;&gt;Flip Clock&lt;/a&gt; are all really beautiful plugins that I admire.&lt;/p&gt;&lt;h3&gt;What was your biggest enemy?&lt;/h3&gt;&lt;p&gt;Off-by-one pixels.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-this-week-in-videogames</id>
    <link href="https://trmnl.com/blog/featured-plugin-this-week-in-videogames"/>
    <published>2026-08-25T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - This Week in Videogames</title>
    <updated>2026-08-25T00:00:00+00:00</updated>
    <dc:date>2026-08-25T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;we started with an 800x480, 1-bit display. it didn&#39;t take long to realize: designing for low resolution ePaper panels is tricky. thus Framework was born:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/framework&quot;&gt;https://trmnl.com/framework&lt;/a&gt;&lt;/p&gt;&lt;p&gt;fast forward a few years, today we host 93,108 private plugins delivering 281,872 instances to 10s of thousands of devices around the world every 5-15 minutes.&lt;/p&gt;&lt;p&gt;which is why i&#39;m thrilled to announce that our entire design system is now open source.&lt;br&gt;&lt;a href=&quot;https://github.com/usetrmnl/trmnl-framework&quot;&gt;https://github.com/usetrmnl/trmnl-framework&lt;/a&gt;&lt;/p&gt;&lt;p&gt;after thousands of iterations, here are a few things it can do.&lt;/p&gt;&lt;h2&gt;Components&lt;/h2&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgzNjk3OTk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d0296b0e0921f44f79c42f7d5a5e64bf798b6b27&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNjk3OTksInB1ciI6ImJsb2JfaWQifX0=--c78d5cf750f37ac92ab86f4e608f538518d9a629/framework-open-source-components.png&quot; filename=&quot;framework-open-source-components.png&quot; filesize=&quot;39512&quot; width=&quot;1600&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNjk3OTksInB1ciI6ImJsb2JfaWQifX0=--c78d5cf750f37ac92ab86f4e608f538518d9a629/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framework-open-source-components.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;nobody wants to reinvent a table, label, or stat widget.&lt;/p&gt;&lt;p&gt;Framework components provide device-aware markup that looks great on your computer screen or ePaper display. charting is powered by &lt;a href=&quot;https://www.highcharts.com/?gad_source=1&amp;amp;gad_campaignid=22994297277&amp;amp;gbraid=0AAAAAo4v_Ovo1lO2eDETR56dG1Mdyy0xN&amp;amp;gclid=CjwKCAjw1vXTBhB-EiwAEKr_k0XLWolI0sFUp9OkEMZwV4aT7Pcpimvtzy5YirU16zPQQ3FT45CxEhoC7BoQAvD_BwE&quot;&gt;Highcharts&lt;/a&gt; under the hood, with theme overrides to account for hardware limitations.&lt;/p&gt;&lt;p&gt;speaking of hardware...&lt;/p&gt;&lt;h2&gt;Hardware&lt;/h2&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgzNzAyNzE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d7b5bbcdb80e1a2727b46957dd6c882261c9908e&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNzAyNzEsInB1ciI6ImJsb2JfaWQifX0=--326763ca73394aaa5269b63755a0bbdf5d98ff19/framework-open-source-hardware.png&quot; filename=&quot;framework-open-source-hardware.png&quot; filesize=&quot;702773&quot; width=&quot;1600&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNzAyNzEsInB1ciI6ImJsb2JfaWQifX0=--326763ca73394aaa5269b63755a0bbdf5d98ff19/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framework-open-source-hardware.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;as our device model library grows, your work should Just Work on different display sizes and resolutions.&lt;/p&gt;&lt;p&gt;the &lt;a href=&quot;https://github.com/usetrmnl/trmnl-picker&quot;&gt;model picker&lt;/a&gt; reads from the &lt;a href=&quot;https://trmnl.com/api/models&quot;&gt;Model API&lt;/a&gt; to inject dimensions, colors, and other capabilities of a given device directly into the web based markup editor or your local dev tooling with &lt;a href=&quot;https://github.com/usetrmnl/trmnlp&quot;&gt;trmnlp&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;try changing parameters in the top-right dropdown in &lt;a href=&quot;https://trmnl.com/framework/docs/3.2/background&quot;&gt;our docs&lt;/a&gt; to see how it works:&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg0ODgwMDE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--4ce18206e7ceefdf02759b6119890301db442274&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0ODgwMDEsInB1ciI6ImJsb2JfaWQifX0=--1ac5498cbfc9e428ee43e8fe665255dd29de3b84/TRMNL-framework-hardware-picker.png&quot; filename=&quot;TRMNL-framework-hardware-picker.png&quot; filesize=&quot;19034&quot; width=&quot;256&quot; height=&quot;278&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0ODgwMDEsInB1ciI6ImJsb2JfaWQifX0=--1ac5498cbfc9e428ee43e8fe665255dd29de3b84/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/TRMNL-framework-hardware-picker.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Framework is even compatible with &lt;a href=&quot;https://trmnl.com/blog/trmnl-for-apple-tv&quot;&gt;televisions&lt;/a&gt;, &lt;a href=&quot;https://help.trmnl.com/en/articles/11647499-trmnl-for-android&quot;&gt;tablets&lt;/a&gt;, &lt;a href=&quot;https://help.trmnl.com/en/articles/11647459-trmnl-for-ipad&quot;&gt;iPads&lt;/a&gt;, and &lt;a href=&quot;https://trmnl.com/byod&quot;&gt;beyond&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;Legibility&lt;/h2&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgzNzA1MTY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--683ae7fcb02bd4005d7b7ba5f283e74e3fcfee9c&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNzA1MTYsInB1ciI6ImJsb2JfaWQifX0=--27b975460d9546660653037aebbc186a06aa601d/image-1786497163723.png&quot; filename=&quot;image-1786497163723.png&quot; filesize=&quot;92849&quot; width=&quot;1600&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzNzA1MTYsInB1ciI6ImJsb2JfaWQifX0=--27b975460d9546660653037aebbc186a06aa601d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/image-1786497163723.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;perfect vision is wasted on the youth. we created &lt;a href=&quot;https://trmnl.com/blog/introducing-typography&quot;&gt;our own font&lt;/a&gt; from scratch, and now it&#39;s yours. for everything else there&#39;s Inter.&lt;/p&gt;&lt;p&gt;whether you want small type, large graphics, serifs or sans, Framework lets you scope typography on a per element basis.&lt;/p&gt;&lt;h2&gt;Magic (JavaScript)&lt;/h2&gt;&lt;p&gt;tying together many of the above elements is a &lt;a href=&quot;https://trmnl.com/framework/docs/3.2/framework_runtime&quot;&gt;JS runtime&lt;/a&gt;, &lt;code&gt;terminalize()&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;this lets you scale text, adhere to cultural or regional formatting, truncate big values, and more.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg0ODg0ODA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--fbae63778e9212c725c837863cff9165bf77d1da&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0ODg0ODAsInB1ciI6ImJsb2JfaWQifX0=--8630e864527e3478621e56d5d6747626d0b94909/trmnl-framework-value-formatting.png&quot; filename=&quot;trmnl-framework-value-formatting.png&quot; filesize=&quot;88644&quot; width=&quot;794&quot; height=&quot;477&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Value Formatting&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0ODg0ODAsInB1ciI6ImJsb2JfaWQifX0=--8630e864527e3478621e56d5d6747626d0b94909/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-framework-value-formatting.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Value Formatting
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;if you&#39;re wondering why this matters, it&#39;s because TRMNL is designed for arbitrary content. the value of &lt;code&gt;{{ some_variable }}&lt;/code&gt; should never break your markup.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg0ODg0Mjc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c58a2cda5b8571da88234c82bced14f9f8bd2ca5&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0ODg0MjcsInB1ciI6ImJsb2JfaWQifX0=--bef8c97714cae19028a54a7b13fd91e7dfde52f8/trmnl-framework-fit-value.png&quot; filename=&quot;trmnl-framework-fit-value.png&quot; filesize=&quot;38023&quot; width=&quot;800&quot; height=&quot;480&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Fit Value&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0ODg0MjcsInB1ciI6ImJsb2JfaWQifX0=--bef8c97714cae19028a54a7b13fd91e7dfde52f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-framework-fit-value.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Fit Value
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;the Framework Runtime even solves for fixed display heights, check out &lt;a href=&quot;https://trmnl.com/framework/docs/3.2/table_overflow&quot;&gt;Table Overflow&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;what&#39;s next&lt;/h2&gt;&lt;p&gt;if you&#39;re just getting started, check out &lt;a href=&quot;https://trmnl.com/framework/docs/3.2&quot;&gt;the docs&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/framework/examples&quot;&gt;examples&lt;/a&gt;. if you&#39;ve been with us awhile, skim the &lt;a href=&quot;https://trmnl.com/framework/docs/3.2/v3_overview&quot;&gt;v3 overview&amp;nbsp;guide&lt;/a&gt; for the latest features.&lt;/p&gt;&lt;p&gt;to report an issue or contribute new features, visit the source code:&lt;br&gt;&lt;a href=&quot;https://github.com/usetrmnl/trmnl-framework&quot;&gt;https://github.com/usetrmnl/trmnl-framework&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/framework-design-system</id>
    <link href="https://trmnl.com/blog/framework-design-system"/>
    <published>2026-08-13T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Framework is now Open Source</title>
    <updated>2026-08-13T00:00:00+00:00</updated>
    <dc:date>2026-08-13T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;We &lt;a href=&quot;https://usetrmnl.com/blog/introducing-trmnl-x&quot;&gt;introduced X&lt;/a&gt; on July 30, 2025. We began assembly + fulfillment on March 18, 2026.&lt;/p&gt;&lt;p&gt;To see your live spot in the order queue, go here:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/order-tracker&quot;&gt;https://trmnl.com/order-tracker&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here&#39;s our per-warehouse queue as of September 5, 2026:&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkwNDY5NDM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--a8cea5fbaf8bfeb27cf1fbf4a93ce7cb6030d88b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkwNDY5NDMsInB1ciI6ImJsb2JfaWQifX0=--3b154c1dae190b61235b85470bcec0c24d820559/trmnl-x-queue-sep-5-2026.png&quot; filename=&quot;trmnl-x-queue-sep-5-2026.png&quot; filesize=&quot;23650&quot; width=&quot;608&quot; height=&quot;290&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkwNDY5NDMsInB1ciI6ImJsb2JfaWQifX0=--3b154c1dae190b61235b85470bcec0c24d820559/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-x-queue-sep-5-2026.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;For detailed updates over time, see below.&lt;/p&gt;&lt;h3&gt;When will I receive my TRMNL X?&lt;/h3&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;Live in USA, Canada, India, Mexico, or Australia?&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Your TRMNL will ship from our USA warehouse. See chronological updates below for the latest availability.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;Live in Europe, Asia, Africa, South America, etc?&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Your TRMNL will ship from our Berlin warehouse. Due to Customs issues and supplier theft, this warehouse is moving slower through their queue than the USA. See chronological updates below for the latest availability.&lt;/p&gt;&lt;h3&gt;Tech Specs&lt;/h3&gt;&lt;p&gt;Highlights below, or see everything &lt;a href=&quot;https://trmnl.com/products/x/spec-sheet&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;10.3&quot; 1872x1404 EPD resolution with 16 shades of gray&lt;/li&gt;&lt;li&gt;Dust and basic waterproofing with a hacker-friendly enclosure&lt;/li&gt;&lt;li&gt;ESP32-S3 with 16MB of flash and 8MB of PSRAM as a core processor with fallback 2.4GHz WiFi&lt;/li&gt;&lt;li&gt;5GHz WiFi support via ESP32-C5 as a modem (external antenna)&lt;/li&gt;&lt;li&gt;Support up to 2x 6000mAh 3.8V LiPo batteries with automatic detection&lt;/li&gt;&lt;li&gt;Battery gas gauge from TI for battery SOC/SOH/capacity tracking&lt;/li&gt;&lt;li&gt;Bosch accelerometer for portrait/landscape orientation&lt;/li&gt;&lt;li&gt;Gesture touch-bar based on Azotech IC&lt;/li&gt;&lt;li&gt;Magnetic pogo pin-based mount for charging and accessories (Coming 2026)&lt;/li&gt;&lt;li&gt;OTG support with 5V 2A output&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Dimensions&lt;/h3&gt;&lt;p&gt;These values may change as we scale production. last updated December 15, 2025.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY2MzIxMjU_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--afd8df5339ded2d0dbc6f0a9c022b8a90db3d452&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY2MzIxMjUsInB1ciI6ImJsb2JfaWQifX0=--4fe9bcea7ce6f5b07810b792a3e4769bd9b3ec05/TRMNL-X-dimensions-2025-12-15.jpg&quot; filename=&quot;TRMNL-X-dimensions-2025-12-15.jpg&quot; filesize=&quot;40897&quot; width=&quot;1278&quot; height=&quot;832&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;X enclosure dimensions (mm)&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY2MzIxMjUsInB1ciI6ImJsb2JfaWQifX0=--4fe9bcea7ce6f5b07810b792a3e4769bd9b3ec05/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/TRMNL-X-dimensions-2025-12-15.jpg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          X enclosure dimensions (mm)
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Weight (device only, no attachments)&lt;/p&gt;&lt;p&gt;1 battery - 362 grams&lt;br&gt;2 batteries - 448 grams&lt;/p&gt;&lt;h3&gt;&lt;b&gt;&lt;strong&gt;August 2025&lt;/strong&gt;&lt;/b&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Multiple boards and controllers support touch gestures, battery charging, and 5ghz WiFi&lt;/li&gt;&lt;li&gt;The circular area interfaces with a waterproof &quot;puck&quot; shaped charging connector, and several test points on the motherboard&#39;s bottom will let us build a QA jig for our warehouse&lt;/li&gt;&lt;li&gt;Prior to release we&#39;ll prototypes to your favorite creators for first-look reviews&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;September 2025&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY0Njk4MDc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--e65fee844581cfc51ea6b1464022c1afb0ca026c&quot; content-type=&quot;image/png&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0Njk4MDcsInB1ciI6ImJsb2JfaWQifX0=--3848d7bc1ccc9b3f6dbae3f418cdc08223198ba7/trmnl-x-board-preview.png&quot; filename=&quot;trmnl-x-board-preview.png&quot; filesize=&quot;187997&quot; width=&quot;2636&quot; height=&quot;2066&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;PCB preview&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0Njk4MDcsInB1ciI6ImJsb2JfaWQifX0=--3848d7bc1ccc9b3f6dbae3f418cdc08223198ba7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-x-board-preview.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          PCB preview
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;ol&gt;&lt;li&gt;We ordered 50x more prototypes with stronger magnets so devices can attach directly to a surface (e.g. refrigerator) without&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl/mounts&quot;&gt;mounts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Dual band WiFi will be powered by the ESP32-C5 and we&#39;ve benchmarked faster speeds + better range with custom modem firmware&lt;/li&gt;&lt;li&gt;Orders with the Battery Upgrade (or Clarity Kit) will now enjoy 10,000mAh versus the announced 7,000mAh variant&lt;/li&gt;&lt;li&gt;Our &quot;charging puck&quot; (name TBD) now has a universal connector for kickstands and other peripheral accessories that will debut in 2026&lt;/li&gt;&lt;li&gt;The same firmware that runs all OG + BYOD devices has&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl/trmnl-firmware/tree/trmnl_x_alpha&quot;&gt;been extended&lt;/a&gt;&amp;nbsp;and is already running my own X prototype, &lt;a href=&quot;https://x.com/useTRMNL/status/1979637211412017281&quot;&gt;preview here&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;October 2025&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY0ODQyMzM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--a5a50e0b90ef76e5acdf6beea3f046c57655527b&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0ODQyMzMsInB1ciI6ImJsb2JfaWQifX0=--11ea7b6379735e1dea6bf5387f6192ba4adb2b2b/TRMNL-X-robin-williams-test.jpeg&quot; filename=&quot;TRMNL-X-robin-williams-test.jpeg&quot; filesize=&quot;265844&quot; width=&quot;960&quot; height=&quot;1280&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Grayscale testing with a GOAT&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0ODQyMzMsInB1ciI6ImJsb2JfaWQifX0=--11ea7b6379735e1dea6bf5387f6192ba4adb2b2b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-robin-williams-test.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Grayscale testing with a GOAT
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;ol&gt;&lt;li&gt;The first batch of screens arrived at our USA warehouse, more en route to our &lt;a href=&quot;https://usetrmnl.com/blog/slashing-postage-rates-again&quot;&gt;Berlin warehouse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Gesture bar + charging pucks are in small batch production&lt;/li&gt;&lt;li&gt;Received and approved packaging samples. Model X packaging will be more premium and protective than OG packaging.&lt;/li&gt;&lt;li&gt;Consolidating WiFi antennas (2.4 + 5gh) to a single component&lt;/li&gt;&lt;li&gt;Added 3 angle options (degrees) to the kickstand&lt;/li&gt;&lt;li&gt;[Work in progress] battery options may grow another 20% to 6000/12000mAh variants pending more testing&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;November 2025&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY1MTg1ODA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d8a89686dba4f4b04bc16dcb136c95eab525f0bd&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTg1ODAsInB1ciI6ImJsb2JfaWQifX0=--c1477124c066c9bfa66b9ccd6f09cb176c30b9d9/TRMNL-X-assembly.jpeg&quot; filename=&quot;TRMNL-X-assembly.jpeg&quot; filesize=&quot;296326&quot; width=&quot;1280&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Full assembly (3D printed parts, not final)&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTg1ODAsInB1ciI6ImJsb2JfaWQifX0=--c1477124c066c9bfa66b9ccd6f09cb176c30b9d9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-assembly.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Full assembly (3D printed parts, not final)
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY1MTc0OTY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--824732486c8578547d16075875d06a33df483cc4&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTYsInB1ciI6ImJsb2JfaWQifX0=--74089f2a8c4c8b2d415181e16336639c0fca35f4/TRMNL-X-prototype-back.jpeg&quot; filename=&quot;TRMNL-X-prototype-back.jpeg&quot; filesize=&quot;173771&quot; width=&quot;1280&quot; height=&quot;674&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Fully functional prototype (3D printed case, non-branded silicone pads)&quot;&gt;  &lt;/action-text-attachment&gt;&lt;/p&gt;&lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTYsInB1ciI6ImJsb2JfaWQifX0=--74089f2a8c4c8b2d415181e16336639c0fca35f4/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-prototype-back.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Fully functional prototype (3D printed case, non-branded silicone pads)
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY1MTc0OTc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--3cf5cb7b951505b570349e23af70950eec7fd0cd&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTcsInB1ciI6ImJsb2JfaWQifX0=--aaf5c4631331eaf1ee4fbc0f8b97cab4cdc71593/TRMNL-X-prototype-front.jpeg&quot; filename=&quot;TRMNL-X-prototype-front.jpeg&quot; filesize=&quot;238857&quot; width=&quot;1280&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Prototype running latest (public) firmware release&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTcsInB1ciI6ImJsb2JfaWQifX0=--aaf5c4631331eaf1ee4fbc0f8b97cab4cdc71593/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-prototype-front.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Prototype running latest (public) firmware release
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Added extra reset buttons to S3 and C5 MCUs for hacker friendliness, board design is final&lt;/li&gt;&lt;li&gt;Batteries are in production and we can confirm the improved 6k / 12kmAh sizing (announced size: 5k / 7k)&amp;nbsp;&lt;/li&gt;&lt;li&gt;Enclosure injection molds are in production, purchase order placed for thousands of cases in different colors&lt;/li&gt;&lt;li&gt;Magnet deliveries from Chinese factories have been delayed due to recent&amp;nbsp;&lt;a href=&quot;https://www.cnbc.com/2025/11/10/china-suspends-some-critical-mineral-export-curbs-to-the-us-as-trade-truce-takes-hold.html&quot;&gt;Critical Mineral Export Bans&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;December 2025&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Battery production complete, shipping to our warehouses next week&lt;/li&gt;&lt;li&gt;EC licenses underway at testing facilities&lt;/li&gt;&lt;li&gt;Packaging in mass production&lt;/li&gt;&lt;li&gt;Magnets in mass production&lt;/li&gt;&lt;li&gt;[New] OTG functionality - power other devices from your TRMNL&#39;s charging puck&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;January 2026&lt;/h3&gt;&lt;p&gt;From my desk to yours, a &lt;a href=&quot;https://www.youtube.com/watch?v=LNcoAZJP3hk&quot;&gt;video update&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY3NTYyNDE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--ff980753fe59bd5c1d900042c94b672cb7df22bd&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY3NTYyNDEsInB1ciI6ImJsb2JfaWQifX0=--4a9e8b1d8020df4a822132b47790326a0e899297/trmnl-x-fulfillment-update-jan-2026.jpg&quot; filename=&quot;trmnl-x-fulfillment-update-jan-2026.jpg&quot; filesize=&quot;102241&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY3NTYyNDEsInB1ciI6ImJsb2JfaWQifX0=--4a9e8b1d8020df4a822132b47790326a0e899297/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/trmnl-x-fulfillment-update-jan-2026.jpg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3&gt;February 2026&lt;/h3&gt;&lt;p&gt;From our warehouse to your desk, a &lt;a href=&quot;https://www.youtube.com/watch?v=hiUiWCy93kg&quot;&gt;video update&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY4MDMzNzA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--552e5837128e6639a6a9fcb2642fef5ad103b626&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY4MDMzNzAsInB1ciI6ImJsb2JfaWQifX0=--8d3563708b4c2953b5f4e0585a21d05396a8fbe9/model-x-fulfillment-update-2.jpeg&quot; filename=&quot;model-x-fulfillment-update-2.jpeg&quot; filesize=&quot;227933&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY4MDMzNzAsInB1ciI6ImJsb2JfaWQifX0=--8d3563708b4c2953b5f4e0585a21d05396a8fbe9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/model-x-fulfillment-update-2.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3&gt;March 2026&lt;/h3&gt;&lt;p&gt;From my desk to yours, a &lt;a href=&quot;https://www.youtube.com/watch?v=TVSFlB5-ldk&quot;&gt;video update&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY5MDQ5NjM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--871782b71aa9639d525d2c027127dc00c01ca445&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY5MDQ5NjMsInB1ciI6ImJsb2JfaWQifX0=--e75e94298c78b2288a20d9f90d48226ddd589d1f/trmnl-x-now-shipping-video-update.jpg&quot; filename=&quot;trmnl-x-now-shipping-video-update.jpg&quot; filesize=&quot;184157&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY5MDQ5NjMsInB1ciI6ImJsb2JfaWQifX0=--e75e94298c78b2288a20d9f90d48226ddd589d1f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/trmnl-x-now-shipping-video-update.jpg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;If you prefer not to watch the video, in summary we&#39;re shipping single-battery devices only from our USA warehouse because our magnet supplier ripped us off and sent thousands of weak magnets, following multiple sample shipments with the correct (strong) magnets.&lt;/p&gt;&lt;p&gt;As of Wednesday, March 18:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Berlin warehouse has all 3 types of PCBs&lt;/li&gt;&lt;li&gt;Berlin warehouse should receive device enclosures in 1-2 weeks&lt;/li&gt;&lt;li&gt;USA warehouse has everything and has begun assembly + fulfillment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To check your place in the queue go here:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/order-tracker&quot;&gt;https://trmnl.com/order-tracker&lt;/a&gt;&lt;/p&gt;&lt;p&gt;If you already have a TRMNL, install the Order Tracker plugin to stay up to date:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/recipes/260817&quot;&gt;https://trmnl.com/recipes/260817&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;How can I estimate the time it will take to receive mine?&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Devices will be shipped in the order they were purchased and we intend to scale to 100s of fulfillments per day, as we have done for past releases and back-in-stock periods.&lt;/p&gt;&lt;p&gt;Our 2x warehouses have trained 15+ individuals to flash, assemble, and ship devices. We do not outsource to 3rd party logistics companies. You can learn more about our end to end philosophy and technology &lt;a href=&quot;https://trmnl.com/blog/in-house-fulfillment&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/blog/logistics-tech&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;April 2026&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTcwMzQ3NzA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--67bc3d1334c8268ecdb70e1f782f074bf1d264b6&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMzQ3NzAsInB1ciI6ImJsb2JfaWQifX0=--4cfe457627cf9aeecbf3fd623d1ecbe4ccb149ab/trmnl-x-magnet-performance.jpeg&quot; filename=&quot;trmnl-x-magnet-performance.jpeg&quot; filesize=&quot;122001&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMzQ3NzAsInB1ciI6ImJsb2JfaWQifX0=--4cfe457627cf9aeecbf3fd623d1ecbe4ccb149ab/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-x-magnet-performance.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;See a live demonstration of strong, N52 grade magnets on various refrigerator surfaces in &lt;a href=&quot;https://youtu.be/_0_XQ63_Hf0&quot;&gt;this video update&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;On April 26, &lt;a href=&quot;https://www.reddit.com/r/trmnl/s/niT6hBdSUT&quot;&gt;N52 magnets arrived&lt;/a&gt; at our USA warehouse and assembly/fulfillment pace will increase dramatically beginning Monday, April 27.&lt;/p&gt;&lt;p&gt;On April 27, white + gray cases arrived at our Berlin warehouse and they are building half-assemblies (docks, kickstands) as they await N52 magnets.&lt;/p&gt;&lt;h3&gt;May 2026&lt;/h3&gt;&lt;p&gt;Between May 2-6th the USA warehouse was out of stock of charging docks for several colors due to a supplier mistake. To mitigate we assembled devices of all colors, but only fulfilled in-stock (charging dock) orders, some of which may sequentially be &lt;a href=&quot;https://trmnl.com/order-tracker&quot;&gt;behind yours&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;May 7 - black and sage charging docks arrived, allowing us to mostly ship in sequential order. This ensures the highest throughput overall, as punishing later orders with in-stock colors does not increase the speed of out-of-stock colors arriving&lt;b&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;May 19 - USA warehouse is still awaiting white + gray docks and cannot ship those colors, despite having the other parts. They were lost in transit and a new batch is on the way.&lt;/p&gt;&lt;p&gt;May 21 - Berlin, Germany warehouse received a batch of N52 magnets. They are now shipping black, sage, clear.&lt;/p&gt;&lt;p&gt;May 27 - Berlin, Germany warehouse received white u-mounts and is now able to ship white devices.&lt;/p&gt;&lt;p&gt;May 29 - USA warehouse received missing white charging docks and is finally shipping white devices.&lt;/p&gt;&lt;p&gt;May 31 - USA warehouse ran out of Clear enclosures and sage wall mounts. Black running very low. New shipment (full refresh) expected within a week.&lt;/p&gt;&lt;h3&gt;June 2026&lt;/h3&gt;&lt;p&gt;June 1 - USA warehouse received missing gray charging docks (sent/lost by UPS on April 7).&lt;/p&gt;&lt;p&gt;June 4 - Berlin, Germany warehouse received gray enclosures.&lt;/p&gt;&lt;p&gt;June 5 - Berlin, Germany warehouse received wood enclosures. Berlin is now able to ship all colors.&lt;/p&gt;&lt;p&gt;June 9 - USA warehouse only has inventory to ship white and gray X devices. More of every color arrive Thursday, June 11.&lt;/p&gt;&lt;p&gt;June 11 - USA warehouse received more inventory of every color and is fully in stock, shipping all X combinations.&lt;/p&gt;&lt;p&gt;June 21 - USA warehouse ran out of clear enclosures; affected customers have been emailed the option to change colors and not experience further delays.&lt;/p&gt;&lt;p&gt;June 24 - USA ran out of sage docks + kickstands, as FedEx lost this package (1 of 42 in our latest freight shipment) in May and is still looking for it. An extra set of components has been ordered (via air express) from our injection mold supplier.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc1NjY2NzI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--0cf21c00b65aeebe45b9082885da76fe1e8276f3&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc1NjY2NzIsInB1ciI6ImJsb2JfaWQifX0=--99cfb40ae2d8684b799a4f3885d58d7a6499983c/trmnl-sage-freight-missing.png&quot; filename=&quot;trmnl-sage-freight-missing.png&quot; filesize=&quot;65979&quot; width=&quot;965&quot; height=&quot;665&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Sage components lost by FedEx&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc1NjY2NzIsInB1ciI6ImJsb2JfaWQifX0=--99cfb40ae2d8684b799a4f3885d58d7a6499983c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-sage-freight-missing.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Sage components lost by FedEx
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;June 29 - Berlin, Germany warehouse ran out of branded packaging. A rush order is en route. The team is still assembling devices to minimize delays.&lt;/p&gt;&lt;h3&gt;July 2026&lt;/h3&gt;&lt;p&gt;July 3 - USA warehouse received missing Sage docks + kickstands, along with Clear cases. Clear kickstands + docks are still en rout, but the remaining 300+ on-hold Sage orders will be shipped by end of Monday, July 6.&lt;/p&gt;&lt;p&gt;July 7 - Berlin, Germany warehouse received X packaging. Foam should arrive within 24 hours and then shipping will resume.&lt;/p&gt;&lt;p&gt;July 13 - Berlin, Germany warehouse continues experiencing delays in receiving X packaging foam. As of today, 3 of 5 pallets have arrived at BER airport and are still processing through Customs. They have been stuck elsewhere in Europe for 7 days.&lt;/p&gt;&lt;p&gt;July 15 - Berlin, Germany warehouse finally received packaging foam and is resuming shipments of assembled devices.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc3OTQ5Nzk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c4138da8ab20618bcb007314237c1f5cbaad6acf&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc3OTQ5NzksInB1ciI6ImJsb2JfaWQifX0=--871c7a31096c3960ab3564ae7ccce941766e5f90/TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot; filename=&quot;TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot; filesize=&quot;98753&quot; width=&quot;640&quot; height=&quot;625&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Die-cut packing foam&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc3OTQ5NzksInB1ciI6ImJsb2JfaWQifX0=--871c7a31096c3960ab3564ae7ccce941766e5f90/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Die-cut packing foam
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;July 23 - Berlin, Germany is down to their last ~150 devices and awaiting a new shipment of PCBs, ordered on May 6 but with long lead times. USA warehouse is expecting missing Clear kickstands / docks / u-mounts next Monday, then its queue will be zero&#39;d out.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgwNzE3MDA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--78ae814f91e21aeabbabe4a8192081aef07ddd87&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgwNzE3MDAsInB1ciI6ImJsb2JfaWQifX0=--405e415d7e8367f5a2206e96f788c6fdec4b866a/TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot; filename=&quot;TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot; filesize=&quot;322704&quot; width=&quot;1280&quot; height=&quot;762&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgwNzE3MDAsInB1ciI6ImJsb2JfaWQifX0=--405e415d7e8367f5a2206e96f788c6fdec4b866a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;July 27 - Berlin, Germany received new packaging and is expecting more PCBs tomorrow.&lt;/p&gt;&lt;p&gt;July 30 - Berlin, Germany PCBA are stuck in-country but stuck at Customs. A new batch of PCBA were shipped to USA warehouse and should arrive on August 5th.&lt;/p&gt;&lt;h3&gt;August 2026&lt;/h3&gt;&lt;p&gt;August 3 - Berlin, Germany received a new batch of PCBA following a week of being stuck in Customs. Shipping resumed today. Incoming USA batch of PCBA cleared Customs last night and arrive on Wednesday.&lt;/p&gt;&lt;p&gt;August 12 - USA warehouse PCBA have cleared Customs, then put on hold, back and forth a few times. We got in touch with courier (DHL) and they don&#39;t have more information. As of this morning the freight has again &quot;cleared&quot; Customs.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgzOTU1ODQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--84615f38db5fe17922ef3f6edab4e5e0c28091a8&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzOTU1ODQsInB1ciI6ImJsb2JfaWQifX0=--ce71038797465459c480006263c20937cd69f10c/TRMNL-X-PCBA-clearance-august-2026.png&quot; filename=&quot;TRMNL-X-PCBA-clearance-august-2026.png&quot; filesize=&quot;14660&quot; width=&quot;374&quot; height=&quot;185&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzOTU1ODQsInB1ciI6ImJsb2JfaWQifX0=--ce71038797465459c480006263c20937cd69f10c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/TRMNL-X-PCBA-clearance-august-2026.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;August 18 - I (Ryan) visited the ATL airport cargo facilities to check on our PCBA freight, which continues to post &quot;Clearance&quot; events, followed by &quot;On Hold&quot; notifications, multiple times per day since early August.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg2MTc5NjI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--b69631d2968b3ab060a2bf500283d5fed88a58d6&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg2MTc5NjIsInB1ciI6ImJsb2JfaWQifX0=--559eb331e3fafefaf006f271588211c4a39c601c/ATL-DHL-visit-August-18-2026.jpeg&quot; filename=&quot;ATL-DHL-visit-August-18-2026.jpeg&quot; filesize=&quot;191352&quot; width=&quot;1280&quot; height=&quot;666&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Visiting DHL &lt;&gt; Customs&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg2MTc5NjIsInB1ciI6ImJsb2JfaWQifX0=--559eb331e3fafefaf006f271588211c4a39c601c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/ATL-DHL-visit-August-18-2026.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Visiting DHL &amp;lt;&amp;gt; Customs
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Unfortunately the assigned CBP agent was not in office, so we left our information with a request to expedite clearance. The DHL team claims we will receive a phone call update within 24 hours.&lt;/p&gt;&lt;p&gt;August 24 - The USA warehouse received a response to our support ticket with DHL / Customs. At this point, our next shipment of PCBA may arrive sooner than the batch that has been in the States since July.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg3NTg2NTc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--799f07f3209a80c3dd9c944cdc2110f4213d594b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg3NTg2NTcsInB1ciI6ImJsb2JfaWQifX0=--cc09fa3b04f31274d01a7c173e81756163e92623/TRMNL-X-PCBA-DHL-delay.png&quot; filename=&quot;TRMNL-X-PCBA-DHL-delay.png&quot; filesize=&quot;121774&quot; width=&quot;1468&quot; height=&quot;672&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg3NTg2NTcsInB1ciI6ImJsb2JfaWQifX0=--cc09fa3b04f31274d01a7c173e81756163e92623/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/TRMNL-X-PCBA-DHL-delay.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;September 2 - The USA warehouse still has no update from DHL or the Customs agent assigned to our case (inbound PCBA). Once this shipment arrives, we need just 4-5 days to clear our entire queue and resume same-day X shipping.&lt;/p&gt;&lt;p&gt;September 9 - The USA warehouse received an update from DHL&#39;s customer service team, alleging customs will be completed within 3 days:&lt;/p&gt;&lt;img&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/model-x-progress</id>
    <link href="https://trmnl.com/blog/model-x-progress"/>
    <published>2026-08-12T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Model X Progress Report</title>
    <updated>2026-08-12T00:00:00+00:00</updated>
    <dc:date>2026-08-12T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/336671&quot;&gt;Jenkins CI/CD&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Stephen Yeargin (Discord: &lt;code&gt;stephenyeargin&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/336671&quot;&gt;Jenkins CI/CD&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I&#39;ve used Jenkins at various jobs for a rather long time, and decided a few years ago to start using it to orchestrate personal projects. I had a scheduled build fail and didn&#39;t get the notification, so I thought it would be nice to keep up with it on the TRMNL near my desk.&lt;/p&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;There are a handful of great plugins that monitor GitHub Actions workflows. I looked through those to understand the different ways to present the data.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;I lean into the Framework components to make most of the harder UI decisions for me so that I can focus more on making sure the data is timely and accurate. I tend to lean into function first, and improve the design through iteration.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;I have a GitHub &lt;a href=&quot;https://github.com/stephenyeargin/template-trmnl-plugin/&quot;&gt;repository template&lt;/a&gt; that I used as the base of it. From there, I read through the REST documentation for Jenkins and tested a few of the calls with Postman. I stuck to the general Job list in Jenkins to decide what was important. The &lt;a href=&quot;https://github.com/usetrmnl/trmnlp&quot;&gt;TRMNLP&lt;/a&gt; application is indispensable for developing plugins.&lt;/p&gt;&lt;h3&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;Jenkins uses weather icons to quickly identify the health of your builds. I needed to find SVG icons for each, and to make sure the logic picked the right one. From there, the next challenge was getting the JSON payload under the limit with the sandbox runtime. I also knew I wanted to let the user see either all jobs, or builds from a specific job, so I needed to work out the logic for that.&lt;/p&gt;&lt;h3&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;Using conditionals and assignments in the &lt;code&gt;polling_url&lt;/code&gt; setting. It makes managing the data flow a bit easier and prevents unnecessary requests.&lt;/p&gt;&lt;pre&gt;polling_url: |&lt;br&gt;  {%- if my_setting_value -%}&lt;br&gt;  https://example.org/api/endpoint_1?q={ my_setting_value }&lt;br&gt;  {%- else %}&lt;br&gt;  https://example.org/api/endpoint_2&lt;br&gt;  {%- endif %}&lt;/pre&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;Follow the blog for new features and join the Discord server. Also, &lt;code&gt;shared.liquid&lt;/code&gt; is your friend for not repeating a ton of markup for all four views.&lt;/p&gt;&lt;h3&gt;What part of the TRMNL Framework, Liquid filters, or other documentation was most helpful?&lt;/h3&gt;&lt;p&gt;Table Overflow is really useful to ensure the data fills the screen, but doesn&#39;t break the layout.&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://trmnl.com/recipes/152705&quot;&gt;Paperboy&lt;/a&gt; is solid. It immediately reminded me of Freedom Forum&#39;s &quot;&lt;a href=&quot;https://frontpages.freedomforum.org/gallery&quot;&gt;Today&#39;s Front Pages&lt;/a&gt;&quot; site, which I had bookmarked from when I worked for a newspaper.&lt;/p&gt;&lt;h3&gt;What might you improve about the plugin in the future?&lt;/h3&gt;&lt;p&gt;Not everyone has a dozen Jenkins Jobs, so I probably would come up with another view that showed them as cards in a grid.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-jenkins-ci-cd</id>
    <link href="https://trmnl.com/blog/featured-plugin-jenkins-ci-cd"/>
    <published>2026-08-11T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Jenkins CI/CD</title>
    <updated>2026-08-11T00:00:00+00:00</updated>
    <dc:date>2026-08-11T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;for more context see the &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;Creator Fund announcement&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;our 10th payout recognizes community contributions between July 6, 2026 and August 6, 2026.&lt;/p&gt;&lt;h2&gt;source of funds&lt;/h2&gt;&lt;p&gt;each payout period, a portion of developer-specific revenue goes directly to creators.&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;revenue&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;share&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;amount&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Stripe&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;BYOD&lt;br&gt;TRMNL+&lt;/p&gt;&lt;p&gt;Shopify&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;Clarity Kit (X)&lt;br&gt;Clarity Kit (OG)&lt;br&gt;BYOD&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$4,660&lt;br&gt;$2,900&lt;br&gt;$535&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$398.73&lt;br&gt;$12,664.41&lt;br&gt;$16,977.77&lt;br&gt;$8,818.39&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;15%&lt;br&gt;80%&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;10%&lt;br&gt;10%&lt;br&gt;15%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$699&lt;br&gt;$435&lt;br&gt;$428&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$59.81&lt;br&gt;$1,266.44&lt;br&gt;$1,697.78&lt;br&gt;$1,322.76&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;$46,954.30&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;mark&gt;$5,908.79&lt;/mark&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h2&gt;by the numbers&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;total payout: $5,908.79&lt;/li&gt;&lt;li&gt;plugin author share: $4,136.15 (70% of base total)&lt;/li&gt;&lt;li&gt;strategic contributors share: $1,772.64 (30% of base total)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;plugin author&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;earnouts are calculated automatically by a collection of factors including a plugin&#39;s age (on live playlists), presence (by % dominance on playlists), and impressions (times displayed on device), relative to all other community plugins. there is a minimum threshold of 50 total connections (installs + forks) to qualify for monthly payouts.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;strategic contributors&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;are those who contribute to&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl&quot;&gt;TRMNL open source projects&lt;/a&gt;. these earnouts are calculated with a mix of automation + human touch. relative to the funding available, below are allocations by category:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Firmware, 25%&lt;/li&gt;&lt;li&gt;3D Models, 0%&lt;/li&gt;&lt;li&gt;BYOS, 66%&lt;/li&gt;&lt;li&gt;Localizations, 2%&lt;/li&gt;&lt;li&gt;BYOD, 5%&lt;/li&gt;&lt;li&gt;Documentation/Resources, 0%&lt;/li&gt;&lt;li&gt;Tooling, 2%&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;note: these allocations change monthly based on contributions by category.&lt;/p&gt;&lt;h2&gt;algorithm?&lt;/h2&gt;&lt;p&gt;see the algorithm in action &lt;a href=&quot;https://www.youtube.com/watch?v=FJA_tOYcMbI&quot;&gt;here&lt;/a&gt;. over time the above weights, revenue share percentages, and minimum thresholds may change.&lt;/p&gt;&lt;p&gt;candid feedback is welcome, email&amp;nbsp;&lt;a href=&quot;mailto:team@trmnl.com&quot;&gt;team@trmnl.com&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/creator-fund-07-2026</id>
    <link href="https://trmnl.com/blog/creator-fund-07-2026"/>
    <published>2026-08-07T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Creator Fund - July 2026</title>
    <updated>2026-08-07T00:00:00+00:00</updated>
    <dc:date>2026-08-07T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/324600&quot;&gt;Ham Radio Solar Weather&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Leo Herzog (Discord: &lt;code&gt;leoherzog&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/324600&quot;&gt;Ham Radio Solar Weather&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;Ham radio (amateur radio) is a hobby where licensed operators talk to each other over the airwaves — sometimes across town, sometimes across the planet — without any internet or cell network involved. Because the Earth is curved, to make the long-distance part work, radio signals must be bounced off the ionosphere and come back down. The ionosphere&#39;s &quot;bounciness&quot; changes constantly based on what the sun is doing: solar flares, sunspots, and streams of charged particles can make worldwide contacts easy one day and impossible the next. Hams check &quot;space weather&quot; the way surfers check the surf report. Hams loooooove themselves an old looking, information dense, hard-to-parse web design. I saw TRMNL as a nice opportunity to make the current solar weather conditions pretty and parse-able.&lt;/p&gt;&lt;h3&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I&#39;m a licensed ham (&lt;b&gt;&lt;strong&gt;K9ZOG&lt;/strong&gt;&lt;/b&gt;). I don&#39;t do a lot of &quot;contesting&quot; (long-range radio contact)... I mostly use my local radio net for severe weather spotting, but it&#39;s a hobby I keep an eye on. I&#39;m also a web developer and have already built several TRMNL plugins, including one for &lt;a href=&quot;https://trmnl.com/recipes/46722&quot;&gt;National Weather Service severe weather alerts&lt;/a&gt;, so I had the muscle memory for how the platform fetches data and renders it. Space weather turned out to be a natural sequel to regular weather: same idea, different layer of the atmosphere. There&#39;s a wonderful free current conditions data feed maintained by a fellow ham (&lt;i&gt;&lt;b&gt;&lt;strong&gt;N0NBH&lt;/strong&gt;&lt;/b&gt;&lt;/i&gt;) that condenses all the solar readings and band-by-band forecasts into a simple XML format, so it was a natural fit.&lt;/p&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;I&#39;ve kept up with TRMNL since the Kickstarter. I&#39;m an eInk enthusiast, and TRMNL is doing everything right; BYOD, BYOS, open-sourcing everything, their approach to server-side rendering and client polling... I had two other homegrown dashboard projects that used similar approaches, but way clunkier implementations, that I&#39;ve now discontinued in favor of TRMNL. I&#39;m inspired by that. As far as the design of this plugin specifically, I was inspired by other information-dense-yet-readable-and-pretty dashboards such as &lt;a href=&quot;https://trmnl.com/recipes/214872&quot;&gt;Extended Weather Dashboard&lt;/a&gt; by Bastronautik.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;I prioritized look for this one. The raw data is a wall of cryptic numbers—solar flux, A-index, K-index, proton flux—and the whole point was to make conditions legible in a half-second glance from across the room. The band conditions table won the prime real estate, because &quot;is 20m open right now?&quot; is the question a ham actually asks; The raw solar numbers became supporting detail for people who want to know why.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;Right before I started making this plugin, TRMNL released their &lt;a href=&quot;https://trmnl.com/news/1222&quot;&gt;Agent Skill for AI Agents&lt;/a&gt;. I threw away my homegrown skill and installed theirs. I described the layout I was imagining, curl&#39;d a local copy of the data XML, described the look layout I wanted and file structure I preferred (minimal template files in the four layouts + everything possible contained in &lt;code&gt;shared.liquid&lt;/code&gt;), and within a few back-and-forth prompts in Claude Code, the plugin was done.&lt;/p&gt;&lt;h3&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;When laying out a TRMNL plugin, remember the root &lt;code&gt;.layout&lt;/code&gt; clips instead of scrolling — and crops the top when content overflows — so design to fit the fixed screen rather than forcing height with &lt;code&gt;h--full&lt;/code&gt;. Use the real &lt;code&gt;stretch&lt;/code&gt; class (not a Tailwind-style &lt;code&gt;min-h--0&lt;/code&gt;) when you need an element to grow and shrink into leftover space. Keep &lt;code&gt;grid grid--cols-N&lt;/code&gt; as a direct child of &lt;code&gt;.layout&lt;/code&gt;; nesting it inside a &lt;code&gt;col--span&lt;/code&gt; cell collapses it, so build sub-columns from side-by-side &lt;code&gt;flex flex--col&lt;/code&gt; stacks instead — which also align cleaner, since &lt;code&gt;flex--row&lt;/code&gt; items with &lt;code&gt;grow&lt;/code&gt; center their contents and visually zig-zag. &lt;/p&gt;&lt;p&gt;Make sure your &lt;code&gt;col--span&lt;/code&gt; values add up to 12, and know that &lt;code&gt;flex--center-x&lt;/code&gt;/&lt;code&gt;flex--center-y&lt;/code&gt; are direction-aware (they resolve to justify vs align based on a sibling &lt;code&gt;flex--row&lt;/code&gt;/&lt;code&gt;flex--col&lt;/code&gt;), so pair them accordingly or centering lands on the wrong axis. Above all, verify that all class names against the actual framework CSS rather than assuming a familiar Tailwind name exists — the design guide shows intent, but the compiled CSS is ground truth.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;Think about things that you glance at often on another device: Smartphone homescreen widget, persistent notification, pinned desktop browser tab, etc. Then, consider if that app/site/data has an API. If you create something you&#39;re interested in and fills an actual need, it&#39;ll be more fun to make and more useful when complete!&lt;/p&gt;&lt;h3&gt;What part of the TRMNL Framework, Liquid filters, or other documentation was most helpful?&lt;/h3&gt;&lt;p&gt;The new TRMNL agent skill and published Framework v3.1.1 CSS files, for sure.&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;I have had a Weatherflow &lt;a href=&quot;https://trmnl.com/integrations/tempest-weather-station&quot;&gt;Tempest weather station&lt;/a&gt; for a few years, and I love that TRMNL selected them as their main weather provider. I was going to have to build something custom if they hadn&#39;t!&lt;/p&gt;&lt;h3&gt;How could TRMNL plugin sharing be improved?&lt;/h3&gt;&lt;p&gt;The recipe system is already one of TRMNL&#39;s best ideas, but right now the catalog is the only path to distribution, which makes the TRMNL team the bottleneck for every niche idea that wants an audience. I&#39;d love to see a model closer to what Home Assistant has with HACS: let a recipe live in any public git repo with a small manifest, and let users install it by pasting a URL. The official catalog stays as the curated, quality-reviewed storefront, but the long tail of weird, wonderful, six-user plugins gets a frictionless path that doesn&#39;t require anyone&#39;s time or approval.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-ham-radio-solar-weather</id>
    <link href="https://trmnl.com/blog/featured-plugin-ham-radio-solar-weather"/>
    <published>2026-07-28T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Ham Radio Solar Weather</title>
    <updated>2026-07-28T00:00:00+00:00</updated>
    <dc:date>2026-07-28T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;faster refresh &lt;/strong&gt;&lt;/b&gt;has been a top feature request since Day 1.&lt;/p&gt;&lt;p&gt;because we don&#39;t require a subscription, we have to be careful with infrastructure costs. this ensures your devices can use our cloud service forever without paying a penny.&lt;/p&gt;&lt;p&gt;so we drew a line in the sand: a max speed of 15 minutes per plugin. and for most of you this is fine. unless of course you need transit times and meeting room availability... &lt;i&gt;&lt;em&gt;more on this in an upcoming announcement&lt;/em&gt;&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;anyway, the current fast refresh solution is &lt;a href=&quot;https://help.trmnl.com/en/articles/11861887-trmnl-faq&quot;&gt;TRMNL+&lt;/a&gt;, a $5 /month subscription launched &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;exactly&lt;/a&gt; one year ago. but let&#39;s face it, nobody wants to subscribe to anything, ever.&lt;/p&gt;&lt;p&gt;which is why today i&#39;m thrilled to offer a new approach.&lt;/p&gt;&lt;h3&gt;introducing TRMNL+ for $0&lt;/h3&gt;&lt;p&gt;note i didn&#39;t say &quot;free.&quot; it&#39;s not free. just instead of spending your hard earned cash, how about a little bit of social capital instead?&lt;/p&gt;&lt;p&gt;in exchange for sharing honest feedback, publicly, you can unlock 5 minute refresh rates forever.&lt;/p&gt;&lt;p&gt;get started here:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/plus/earn&quot;&gt;https://trmnl.com/plus/earn&lt;/a&gt; (requires login)&lt;/p&gt;&lt;p&gt;and yes, the $5 /month option is still available.&lt;/p&gt;&lt;h3&gt;how it works&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;share TRMNL&lt;/li&gt;&lt;li&gt;our team confirms&lt;/li&gt;&lt;li&gt;TRMNL+ is activated on your account&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;no payment method is necessary, you&#39;ll never be auto billed, and we can optionally send you a reminder to participate again in the future when your credit expires.&lt;/p&gt;&lt;h3&gt;everyone has influence&lt;/h3&gt;&lt;p&gt;we don&#39;t advertise on Google or Facebook or TikTok or anything like that. sometimes we gift devices to creators, but mostly we exist thanks to word of mouth.&lt;/p&gt;&lt;p&gt;if this deal isn&#39;t your jam, no sweat. if we never earn another referral we&#39;ll &lt;a href=&quot;https://trmnl.com/blog/the-unbrickable-pledge&quot;&gt;open source our platform&lt;/a&gt;. but i hope you&#39;ll help us hack on it together for a long, long time to come.&lt;/p&gt;&lt;p&gt;consider sharing TRMNL today.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/fast-refresh</id>
    <link href="https://trmnl.com/blog/fast-refresh"/>
    <published>2026-07-22T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Fast refresh for $0</title>
    <updated>2026-07-22T00:00:00+00:00</updated>
    <dc:date>2026-07-22T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/306354&quot;&gt;RetroWall&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member JetSharkLambo (Discord: &lt;code&gt;jetsharklambo&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/306354&quot;&gt;RetroWall&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;My wife likes to get me surprises every now and then, but was always tipping it off by asking me what I was playing. I made Retrowall to share with folks what I&#39;m playing without them having to ask! Now you can just take a look at my TRMNL and see a collage my most recently played games.&lt;/p&gt;&lt;h3&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I&#39;m a huge retro gamer and retroachievements has motivated me to play and replay a lot of classics just for these incentives. Likewise, this plugin has me playing a lot of my faves just so the collage looks perfect around gift-giving season!&lt;/p&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;Big fan of jvdmeij&#39;s &lt;a href=&quot;https://trmnl.com/recipes/152705?ref=search&quot;&gt;Paperboy&lt;/a&gt;, it really shows you that art is the relevant info that people want sometimes so you need to put it front and center.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;The look was certainly more important for this plugin. We have so many options to alter the look for this reason. For functionality, we just had to make sure the number 1 game rendered somewhere near the center of the grid so that each look you designed was functional.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;It&#39;s actually a very simple plugin. Claude code made the first draft in minutes and then we added a ton of customization features on top of that so that each user could have a unique view even if they played the same games. Did some testing to remove some options that were more likely to break your view than enhance it and it was done!&lt;/p&gt;&lt;h3&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;Design wise: don&#39;t waste words on stories that can be told entirely with images. Not every story can be told with images only, but if it can, that&#39;s the most efficient way to tell the story.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;Use the &lt;a href=&quot;https://help.trmnl.com/en/articles/14726819-visual-editor-ide&quot;&gt;visual editor&lt;/a&gt;! It shows you all views at the same time so you can diagnose issues that are persisting across multiple views, its great!&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://trmnl.com/recipes/79118/&quot;&gt;Advanced RSS&lt;/a&gt; is the first plugin that brought the promise of TRMNL to life. It has dramatically reduced the amount of times I pull out my phone and scroll. I simply walk past my TRMNL when I&#39;m in the kitchen, glance at the latest pull from the RSS&#39;s I follow, and rest easy knowing that nothing new has happened since I last checked!&lt;/p&gt;&lt;h3&gt;&lt;br&gt;&lt;/h3&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-retrowall</id>
    <link href="https://trmnl.com/blog/featured-plugin-retrowall"/>
    <published>2026-07-15T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - RetroWall</title>
    <updated>2026-07-15T00:00:00+00:00</updated>
    <dc:date>2026-07-15T00:00:00+00:00</dc:date>
  </entry>
  <dc:date>2026-09-09T00:00:00+00:00</dc:date>
</feed>