<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ExplorInk development log</title>
<link>https://explorink.com/development/</link>
<description>Dated development log for ExplorInk: firmware, tooling and hardware notes, newest first.</description>
<language>en</language>
<lastBuildDate>Sun, 13 Sep 2026 00:00:00 GMT</lastBuildDate>
<atom:link href="https://explorink.com/feed.xml" rel="self" type="application/rss+xml"/>
<item>
<title>Points now find their own way onto the card</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-13-points-now-find-their-own-way-onto-the-card</guid>
<pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
<description>Water, shelters, huts and the rest of the nearby layer used to reach a reader only if someone copied the file there by hand. The reader now asks for what it is missing, the phone fetches it from the tile server and pushes it over the same link tiles already use.</description>
</item>
<item>
<title>Ground the map server had not built could get stuck for good</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-13-ground-the-map-server-had-not-built-could-get-stuck-for-good</guid>
<pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
<description>The map server builds a square the first time a reader asks for it, but it gives up asking after a day if nothing ever arrived. Until now that square just sat there marked given up, with no way back short of dropping the whole saved area and asking for it again from scratch.</description>
</item>
<item>
<title>Two readers, one memory of what each one has</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-12-two-readers-one-memory-of-what-each-one-has</guid>
<pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
<description>The phone keeps a note for every map square it has sent a reader: was it received, and does the file on the card match what went out. Until now that note did not say which reader answered. Send a square to one reader, then connect a second one, and the phone said the second reader already had it too, because the same note covered both.</description>
</item>
<item>
<title>We followed our own install guide, and step one was broken</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-10-we-followed-our-own-install-guide-and-step-one-was-broken</guid>
<pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
<description>Yesterday's entry ended by saying nobody had ever written our firmware onto a reader still carrying the factory software. That is no longer true. We put an X4 Pro back to Xteink's own firmware, from a full copy of its flash taken before we ever touched it, and then installed ExplorInk using nothing but what the install page says. Not our build tool, not a command we remembered. The page.</description>
</item>
<item>
<title>A screen that shows you the sky, and admits when there is none</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-10-a-screen-that-shows-you-the-sky-and-admits-when-there-is-none</guid>
<pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
<description>Waiting for a position used to be a blank panel and the word searching. That cannot tell a wait that will finish from one that will not, and on this hardware the difference is real: one ride took 526 seconds to a first fix, and a 15-minute walk got none at all while the receiver was tracking a single satellite the whole time.</description>
</item>
<item>
<title>A download for a third reader, and the first one on a different chip</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-09-a-download-for-a-third-reader-and-the-first-one-on-a-different-chip</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
<description>The Xteink X4 Pro has a firmware build of its own, and it is on the install page next to the one for the X4 and the X3. Until today every image we published was for the ESP32-C3. The X4 Pro is an ESP32-S3, so this is a second binary rather than a wider one: a separate download, four files instead of three, and a cable most people will not have thought about, because the device has no USB socket and puts its data on the pogo pins.</description>
</item>
<item>
<title>A second reader runs our firmware, and the map drew a city on it</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-09-a-second-reader-runs-our-firmware-and-the-map-drew-a-city-on-it</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
<description>We flashed an Xteink X3 for the first time. It boots, recognises which model it is without being told, mounts its card and renders at 528 by 792 pixels. Position came from a stand-in for the phone app over Bluetooth, and the map tiles it was missing arrived the same way, at about 6 kB a second. That rate is worth stating plainly: a detailed tile is half a megabyte, so it takes over a minute and a half to walk across the wire. The map itself reads well, and the old town it drew is dense enough to be a fair test of the style.</description>
</item>
<item>
<title>The map on the device got smaller and nothing about it looks different</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-09-the-map-on-the-device-got-smaller-and-nothing-about-it-looks-different</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
<description>A road in map data is not one road. It arrives in pieces, split wherever the people who mapped it happened to stop and start, and until today we stored every piece as its own record. One bridge over the Danube was twelve records for a line that is straight to the centimetre, and it stayed twelve however far you zoomed out, because the tool that thins a line out is not allowed to throw away the place where one piece ends and the next begins.</description>
</item>
<item>
<title>The device we tell people to buy finally runs our firmware, and its screen chip is not the one printed on it</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-09-the-device-we-tell-people-to-buy-finally-runs-our-firmware-and-its-screen-chip-is-not-the-one-printed-on-it</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
<description>The X4 Pro is the device this site recommends, and until today nothing of ours had ever run on it. The first flash went in cleanly, the board booted, the card mounted, the log looked healthy, and the screen kept showing the bookshelf the factory firmware had left there. E-ink holds its last picture with the power off, so a frozen screen is not evidence that anything is wrong with the old software. It is evidence that nobody repainted it.</description>
</item>
<item>
<title>A fix that was confirmed, then quietly went missing</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-09-a-fix-that-was-confirmed-then-quietly-went-missing</guid>
<pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
<description>The SD card library the firmware builds on lives in its own repository, and the firmware records only which version of it to use. One line. A commit about a frontlight setting moved that line backwards, and for three days the build was missing two of our own fixes, one of them signed off by a hardware test four days earlier. One line in a diff is easy not to see.</description>
</item>
<item>
<title>Pressing the buttons from a laptop</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-08-pressing-the-buttons-from-a-laptop</guid>
<pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
<description>The firmware takes a serial command that injects a real button press, so a whole walk through the interface can be driven from a desk: the home menu, the map, its options, the look-around mode, and a long press that zooms where a short one pans. Every step is read back as a screenshot. It is a development build only, and never reaches a released one. The reason it exists is dull and it matters: a screen nobody can reach without holding the device gets looked at once, and then never again.</description>
</item>
<item>
<title>Two buttons, and one of them had nothing to do</title>
<link>https://explorink.com/development/</link>
<guid isPermaLink="false">explorink-development-2026-09-07-two-buttons-and-one-of-them-had-nothing-to-do</guid>
<pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
<description>The validation board has four switches and only two the firmware can read. One of them, the power button, did nothing on a short press, which meant a screen could be opened and not left without touching the glass. A short press now steps back, and sleep moved to a longer hold so the two gestures can be told apart by a gloved thumb. The other button holds to walk the frontlight through its levels, one step every half second, and it stops where the thumb lets go. The level is a setting, so the light comes back the way it was left.</description>
</item>
</channel>
</rss>
