The "Way Home Meter" is a project that displays the time a user will be home using their live GPS location and taking into consideration live traffic conditions. It is built using an ESP8266. There is a guide for making your own in issue 12 of Hackspace magazine. In this blog post I thought it might be interesting to go into a bit of the background and behind scenes of the project.
It is a project that I have been playing around with for months, I'm not sure exactly when, but I know I had an early version to demo at Hackaday's Unconference in Dublin, and that was in April so at least since then. Nobody got to see the project that day due to some WiFi issues, to be honest it was an embarrassing moment that I'd rather forget, but my brain likes to remind me of from time to time.
You can find the code from the Unconference demo here, it was originally a show case of a lot of the arduino libraries I wrote, but I thought the most interesting aspect of it was the part where it used Telegram to share your live location and use google maps to calculate the travel time, so I decided to spin this out to what would become the Way Home Meter. I used a few of my live streams to work on the project around that time and functionally got in a pretty good place:
But like a lot more projects than I'd like to mention, it got put up on a dusty shelf for a while, I always find the last 10% of a projects the hardest to motivate myself to do.
Fast forwards a few months, we are now at September 6th, roughly 9 months after I had gotten his email address off Becky Stern, I emailed Ben from Hackspace about writing an article for them. I pitched a few ideas for projects that I could potentially write up, and Ben liked the sound of the Way Home Meter.
Honestly, I can't really tell you why it took so long to send off that email, maybe a subconscious fear of rejection? Rightly or wrongly, I consider writing an article is very different than writing an Instructable or a Hackster write up. Content wise they may be similar, put it is way more permanent! The stupid, silly mistakes that I'm very prone to making can not be fixed in a magazine!
Ben asked could I have it submitted by October 3rd, almost a full month away and I already had this thing functionally working, that seemed very doable right?
Never underestimate the last 10%...
Honestly, I struggled with this deadline a bit. I'm sure it would have been fine if I missed it, but I had made a commitment and I was determined to keep it. I had some real life stuff going on the time that didn't help time wise but it the main problem time wise was an unexpected one.
Normally the last 10% almost always showcases how weak I am at the crafting aspect of making. It involves making an enclosure of some description and I'm not afraid to admit I find that side of things pretty challenging!
This time I decided to apply the KISS (Keep it simple stupid) principles for my enclosure and it actually went OK! It may not look the best but it did the job. It was mainly an Ikea Ribbia frame and some foam board.
But something I had not counted on happened, I ran into huge stability problems with using both cores of the ESP32 when using the LED Matrix libraries that had nice animations. I spent way too long on this and it put the deadline under a lot pressure!
At the 11th hour I decided to scrap the dual-core aspect of it. It was only there so you could animate the screen at the same time as fetching data, which really wasn't necessary. And now that I wasn't using the dual core of the ESP32, why did I need to use the ESP32 at all? The ESP8266 is cheaper and was perfectly capable of running the project. It also has proper support for analog write so it's easier to control the buzzer and the servos. OK cool, I guess we are an ESP8266 project now!
Moving to the ESP8266 meant I could also use my D1 Mini Breakout board, which is a PCB I designed with each of the GPIO pins of a Wemos D1 mini broken out to screw terminals. I really like using screw terminals for these kind of projects where there is components physically away from your micro controller and this boards just speeds it up.
Then all that was left was the write-up, something I don't really enjoy that much if I'm being honest. English comprehension was never a strong subject for me, and I don't think that will ever change! I'm OK with writing instructions, but introduction pages are my krypotnite. (And this article was no different, and I hope I'm not revealing any secret sauce here, but the printed article had some changes to my intro page that made it read WAY better, both sorry and thanks for whoever had to do that!)
Another element I found strange is not fully having control over the layout of the article. Sometimes you can see if step has too much text or not enough when you layout a write up yourself, but the article as submitted as plain text so you don't really get to see that. They obviously know what their doing though!
I did really like ability to do the box-out sections though. Sometimes there are things that are not really part of the article, but would be useful to add in and I found these worked perfectly for it. I just hope I didn't go overboard!
There was a few late nights, there was even some blood (I somehow managed to cut myself on the pins of the display...), but I managed to submit on time, a couple of days early even! There was a great relief to get it sent off, followed almost immediately by self doubt. "What if they don't like it", "what if its too long", "what if the picture aren't good enough" were all going through my head after submitting but it all went fine, maybe I should trust myself more often..
This is something I'm really proud of, a project I designed and built, written up in a physical magazine. Can check that one off the to-do list for the year, now to check off the 100 other things on that list.