My life sometimes seems to consist of long periods of intense effort to help me save seconds or minutes from my day. This latest project must be the most extreme example of that.
I store my tea in identical metal tins. Years ago I went down a rabbit hole of designing custom labels for each one, which I would apply to a flexible magnet. A bought two label makers, calculated the perfect size, and made a template. The result was great, but making the labels was just one or two steps too annoying for me. I couldn’t type in the information directly on the label maker, so I had to find it, plug it into my computer, load up the template, change the data, and print.
Then I had to precisely lay the label on top of the magnet. I always felt bad about wasting old magnets, so usually I would peel the old label off and reuse it.

But because this process was a bit cumbersome, half of my tea just stayed in bags. This was especially true if I had some tea that I knew I probably wouldn’t restock, and even more so if it was a small amount. So the little counter in my tea room was always littered with bags of tea.
Then one day I thought— this is exactly what e-ink is for. There must be some way to make e-ink labels. Around the same time I was partitioning half of the space I used for tea for a pinball arcade. What if I put in a bookcase that held all of my tea, had e-ink labels, and was also the secret door into the pinball arcade?
The door itself was much easier than I expected. I bought an IKEA bookcase, some lift-off hinges, some casters to support the weight, and it basically worked the first try thanks to very careful measuring. I trimmed out the bookcase and it looked like it was just part of the wall.
Now for the hard part.
After a lot of frustrating conversations with commercial eink vendors, I found a project called Openepaperlink which repurposes old e-ink price tags from stores. I bought a hub and just enough tags to make the project work, and brought them on a month-long cruise with me. By the time the cruise was over I had designed nice labels, made software to manage them, and had the hub sending them to the labels. I also designed some 3D printed mounts to put the labels in front of each tea tin on the shelf.

Project done, right? It could have been, but I realized that if I ever accidentally swapped two tins, or took two down and brought them to the tea table, I would have no idea which is which and wouldn’t know where to put them back. I needed to have a way to have the labels follow the tea tins. I tried to think of some clever way to do it without putting a sensor in every single space, but couldn’t come up with anything that made sense.
So I bought some pn532 NFC sensors, and designed a little “mount” for each tea tin to slot into. Metal interferes with NFC, but luckily I had some “on metal” NFC tags from a previous project, and after 4 or five revisions to get the tags the exact right distance from the sensor they worked.

My shelf could comfortably hold three rows of eight tags, so I did a small run of 4 to test and they worked perfectly. I didn’t have any software written yet, but if I hooked an ESP32 up to the NFC sensors (and a multiplexer), I could read each tag reliably. I ordered more tags to make more tins, since I only had a few from my previous project.
And… none of the new tags worked consistently. They would sometimes read, but not usually. I ordered 5 other similar ones from different companies and they didn’t work either. I found my 5+ year old order and reached out to the company where I bought the original tags and they told me they sold “very similar ones”. I bought them and they also didn’t work. When I peeled off the backing and held the tags up to the light I could see that none had the exact same antenna layout as the original ones.
After an infuriating stretch of weeks trying to fix this, I finally came across a solution. I could 3D print an insert that fits into the recess under each tea tin and put the tag on it. That gave me just enough separation from the metal that some of the new ones worked. I probably printed 10 different thicknesses as well as 5+ new mounts for the tins to get the positioning to where it would work every time.
I printed out another four mounts and completed my first row of automatic tea tin scanning. It worked most of the time. If I left it running overnight it often wouldn’t scan properly the next day, but rebooting it would work. I switched to a raspberry pi zero and then to a full sized raspberry pi, and I that finally fixed it. I made new fronts out of black plastic for the e-ink labels (so that they didn’t look like price tags), made mounts for different angles depending on the height of the shelf, and assembled the whole thing.

Three rows of fully automated tea labels! It seemed like it would crash more with the three rows, but generally if I just set the raspberry pi up to reboot every morning, there wasn’t a problem. I was pretty happy with myself and loved moving tins around to watch the labels change automatically.
Where I sit when I pour tea for people, I face the tea shelf. And one day while we were having tea I looked at my labels and thought, “All of these little e-ink labels run on batteries. They last for years, but at some point I’m going to have to replace them all. The batteries are also most of the thickness. I have power running to the NFC reader behind each tag, why don’t I just power them directly and make a super thin new mount for the label so that it actually looks like paper?”
I had no idea the pain I was signing myself up for. Each NFC reader has four small wires running to it. That’s eight soldering points (not counting the interconnects behind the shelf). I was adding another four to add the two power wires, bringing my total up to 288 soldering points. I actually like soldering, but it’s very awkward doing it inside of a shelf or with wires dangling from behind a bookcase. At one point I unsoldered everything behind the bookcase and crimped on connectors so that I could move sensors around to test whether it was the board or sensor that wasn’t working.

I did my first one as a test and it worked great. I did another few and it worked as well. I finished up the whole row and… nothing worked anymore.

One of the problems I had run into months prior was that one poor soldering joint on a multiplexer seemed to throw off the whole row. I assumed this was the problem again, so I resoldered the whole thing. It still didn’t work.
Then I thought that maybe it was a power issue, so I got a separate power supply for the NFC reader / eink tags instead of running it from the raspberry pi. That worked! I took down the other rows of the old style and put in the new style and… it didn’t work again. Oddly the multiplexers seemed to sometimes randomly disappear or show up empty.
The NFC reader and multiplexers can run off 3.3v or 5v, so I decided to try 5v instead. You might be thinking, “do the eink tags run off 5v?”, which is not at all what I was thinking. It sort of worked, I left it on, and by the next morning I noticed that several of the eink panels were fried.

The guy who sold the panels didn’t have any more, so I started using a heat gun to salvage panels from units with bad boards and putting them on fried ones. This was a very annoying process and got me 1-2 more working panels, but still not enough to finish the project.
I considered a different brand of panels (which would mean I’d have to redesign all of my mounts), but my will to live, let alone continue this project was waning. I finally found someone on discord who, in a very hush-hush way, offered to sell me all the panels I need. I bought way more than I needed.
I got the new panels, installed them, and… I was back where I was before I fried the panels. Then I thought, “I have no idea how much power these are even pulling. Let me put an ammeter on them and check”. I did the math and my power supply was definitely enough. At this point I was really about ready to give up and switch to coffee.
Then on a lark I thought that maybe the wires I was running power with weren’t thick enough to power all 24 tags initializing at once. And sure enough… they weren’t. I ran thicker power lines to each shelf and it immediately solved all of my problems in life. Now the tags can be on for months without every crashing.

I honestly couldn’t believe that I had gotten it working. There were several other home projects I wanted to start, but I wasn’t letting myself start another one until I finished this one. I was free again! I looked through my photos to see how long I had been working on the project and the first photo I had taken of a test rig on my desk was almost exactly a year prior.
In reflection I realize that for some reason my favorite things to do are things where I don’t actually enjoy a single step of the process very much. I don’t really like soldering hundreds of points inside shelves, I hate debugging things when I have almost no insight into what’s going on, waiting hours print new batches of mounts / sensors isn’t very fun, etc. And yet… I’d do the whole thing again. The island is sort of the same… I absolutely love when we’re just sitting around drinking tea or walking through the woods, but I don’t actually enjoy most steps of construction/building. And yet… every day as we’re drinking tea I can’t wait to get to work.
Maybe it’s just that I love the results in the end. It’s hard to resist moving a couple tea tins as I walk past to play pinball, just to see that it still works.
There’s also something very satisfying about knowing that I certainly have the absolute best tea labeling system in the entire world. And that’s not because I’m a genius, it’s because I’m willing to dedicate extraordinary amounts of time and effort into very small things that I care about. The only real way this could exist is by me building it. And as a result I’ve gotten better at a lot of things and learned a lot.
###
Top photo is the tea shelf in the context of the tea room.
In case it’s not clear… I worked on this over a year but in spurts. It wasn’t actually a year of work, obviously.
You can see in the final one that some of the e-ink labels don’t have the best contrast/red color anymore. That’s because some of the “fried” ones still worked. I replaced the worst of them. I may solder in new ones at some point but for now… I need a break.
Leave a Reply