If you have done any ESP8266 projects, by now you must have come across Daniel Eichhorn’s work. He has a great ESP8266 Project focused website blog.squix.org and his Github can be found here: https://github.com/squix78
I have followed and made several of his projects myself, and my favorite sits on my desk right now: SQUIX ESP8266 Weather Station Color
His projects have been instrumental in helping me get more familiar with the ESP8266 while having fun at the same time! I asked Daniel if he would be willing to do an interview and he quickly replied Yes!
Daniel Eichhorn lives in Zurich, Switzerland and works as a professional Software Engineer. He is a Husband and a Father who likes to play Western Guitar and enjoys singing with it in his spare time. He frequently goes jogging when he’s not creating new ESP8266 Projects. By day he is a Technical Project Manager, Architect & Java Dev. But at night, he becomes an IoT Batman working on ESP8266 projects, Blogging, DIY Projects, 3D Printing and he is also a conference speaker!
The following is our Interview:
Geeks: Your Blog is called blog.squix.org, what does Squix stand for?
Daniel: That name comes from my early internet days when I desperately wanted a unique Email address. My last name Eichhorn in German is very close to the word of squirrel (Eichhörnchen). Squirrel was too long, so I shortened it to Squix. And since I never came up with a better and available (domain) name I stuck to it.
Geeks: Eichhörnchen -> Squirrel -> SQUIX, Got it! Do you remember your first IoT Project? What was it?
Daniel: In the time before the ESP8266 it was either complicated, expensive or both to connect a microcontroller to the internet. A WiFi shield for the Arduino did cost more than $60! So I was looking for cheaper alternatives and I found it: it was a TL-MR3020 from TP-Link. Sold as a 3G/4G access point you could replace the stock firmware with OpenWRT and have a mini Linux machine running for around $30. I attached my Arduino to it over USB and started collecting temperature and humidity data by sending it over the Serial line to the MR3020. There I had a script that would upload the data to another server running Munin to visualize the values.
The first ESP8266 project was exactly two years ago in December 2014. My daughter at the time was two years old and I wanted to give her a gadget to know when it was nighttime and when it was daytime with the hope she would let us sleep longer in the morning. I printed out a symbol for the sun and one for the moon, scavenged a plastic box we got with food delivery and put a LED behind each of the symbols. The ESP8266 was then programmed to fetch the current time from a time server and light the proper LED according to adjustable threshold times, I think nighttime was after 8pm and daytime after 7am. Someone had told me that he had bought a similar product for almost $100 so my goal was to build one for $10… Here is the original blog post: https://blog.squix.org/2014/12/esp8266-internet-connected-baby.html
Geeks: That is pretty clever what you did with the TL-MT3020 and Arduino! What led you to focus on the ESP8266 vs. other hardware such Arduino or Raspberry Pi?
Daniel: I had also experimented with other hardware but the price of the ESP8266 and its features amazed me. Compared to the ESP a Raspberry Pi plays in a totally different league: it has a lot more processing power but it also costs ten times more. So if you want to have sensors all over your house a bunch of Raspberry Pis would just be a waste of money. When the first integrated developer modules like the NodeMCU appeared it also got a lot easier to program them; no more switching jumpers to get the ESP8266 into programming mode – the module does all that automagically for you. But the ESP8266 also has its limitations. Power consumption is still pretty high for a battery-driven device. I ran a test with an ESP8266 for almost 3 months from three AA batteries and transmitting temperature and humidity every 10 minutes to Thingspeak. You might say that this is a pretty decent duration but who wants to replace batteries for dozens of devices every 3 months? The other limitation is the number of GPIO and ADC pins. In my current project, I am using pretty much every available pin and I could use even more.
Geeks: The ESP2866 is definitely a great platform to build on with its low cost, built-in WiFi and Arduino IDE compatibility. How many ESP8266s do you currently own?
Daniel: Good question. I guess if you only count the ones in my house there must be around 40. This includes 15 Weather Station Kits I keep here for gifts and courses. If you also include all the unsold WeatherStation Kits waiting in Amazon warehouses for a happy tinkerer then the number is a lot higher!
Geeks: Ok, we’ll say that you have at least 25 then! I only have about 5(so far). One controls a Garage Door and also sends Temperature & Humidity data to my openHAB installation. What is your favorite project to date?
Daniel: There are so many but I guess a special place in my heart has the laundry machine notification. It uses a non-invasive current sensor (Ampère clamp) to measure the power consumption of my laundry machine in the basement. When the system detects that the laundry machine comes to an end it sends a push notification to my iPhone. I hacked this together in the pre-ESP8266 era with an Arduino and the MR3020 I mentioned earlier. It is such a nice example since I had to learn a lot about hardware, especially about my laundry machine. I had this naïve idea of a laundry machine using constantly a lot of energy and only at the end it would go back to almost no consumption. Turns out that the machine chills out a bit in the middle which caused some false notifications in the beginning. The project is also nice because I made a pre-IoT device smarter without opening it at all. I modified an extension cable between the machine and the wall plug and since the measurement was non-invasive it was fairly easy and safe to handle the 240V.
Geeks: 240V always sounds scary to us Americans 😉 Where do you get your project ideas from?
Daniel: Scratch where it itches! I think I became a programmer because I’m kind of lazy and I don’t like repetitive work. So when I see a chance to automate or facilitate something then I try to put that into a project. The laundry machine notificator saved me from going to the basement just to find out that the machine was still running. The ESP8266 Weather Station helps me to pick appropriate clothes for my daughter without checking the iPhone for the forecast. And honestly, sometimes it’s also about the challenge to build something myself, with fewer costs for hardware than a comparable off-the-shelf product.
Geeks: What project do you most look forward to completing in 2017?
Daniel: I’m in the last stages of publishing I just published the ESP8266 PlaneSpotter Color code! The PlaneSpotter shows airplanes on a map and updates their location, speed, heading etc every few seconds. It uses the same TFT display as the color WeatherStation. In many aspects I did things here for the first time: I developed a PCB myself with KiCad, I designed a case for the 3D printer and also the code has some nice features which are pretty cool for an ESP8266 project. By default you don’t have to enter your coordinates manually, the ESP8266 scans the visible WiFi SSIDs and sends this fingerprint to a web service which returns your current coordinates. The maps are downloaded from MapQuest as JPGs and then decoded and displayed on the TFT display. And I’m also drawing the last 20 waypoints of each plane which looks quite pretty if you live around an airport and the planes are turning quickly. The hardware I picked has even a resistive touch screen but I didn’t manage to use it yet. Selecting an airplane on the map for detail information or zooming in or out on the map would be nice features to add.
Geeks: I am definitely going to get another TFT screen and setup this new PlaneSpotter code! I currently have your ESP8266 Weather Color sitting on my desk on a breadboard. Are there any cases to give these two great projects a more permanent home?
Daniel: I know of two options: the hardware you used for the color weather station is probably identical to the one I’m using for the plane spotter. I will publish the OpenScad and .stl files for the enclosure in the next days so you can print out one if you own a 3D printer. The OpenScad files are parametrized which means that it should be relatively simple to adapt it to your hardware.
I also want to mention another case which looks even better. The Ruiz Brothers did a very nice project around my WeatherStation and posted it on Adafruit: https://learn.adafruit.com/wifi-weather-station-with-tft-display/overview I always get excited when one of my projects is mentioned by sites like Adafruit, Hackaday or Lifehacker, so I was very happy to see the WeatherStation there…
Geeks: Hopefully I’ll get a 3D Printer in 2017! Any plans to start working with the ESP32? Any specific project in mind for it?
Daniel: Yes, I already have two ESP32 modules on my workbench, but didn’t have the time yet to use them on a project. The ESP32 has some advantages over the ESP8266: more processing power, potentially lower power consumption, more RAM and a lot more options for input/output. So all the projects I had to put back in the box because of these limitations will now be reconsidered. One problem that has bothered me with the color Weather Station is the flickering after an update. The problem here is that the ESP8266 doesn’t have enough RAM to keep a double buffer. With a double buffer, you would first do all drawing operations in the buffer and then write the whole buffer at once to the display. With this, you can avoid the flickering to some degree. Now with more RAM you could keep the frame buffer in memory. But the graphics library would have to be adapted to draw to the frame buffer, so a lot of work ahead;-)
Geeks: Many people might not know about your Font Creator, can you tell us a little about that?
Daniel: You can find it at http://oleddisplay.squix.ch/ I wanted to create a tool which is as easy to use as possible to create fonts for my SSD1306 OLED library. So it was an obvious choice to create a web application. This way the users don’t have to install a toolchain just to create new fonts. The web application is written in Java (my “mother tongue”) and Javascript. First, the tool only supported one format but then Fabrice Weinberg came up with a more efficient font format for the OLED library and I adapted the tool to also create font files for the new format. When I got involved with the color TFT modules I started using Adafruit’s GFX library and I was missing a similarly easy to use tool. Hence I reverse engineered their format and adapted the font creator. Now the tool can create three different formats. I’m seeing a lot of interest in my blog post about converting images to XBM format and I am thinking of extending the tool to convert also image files. Maybe it will become the Swiss Knife of micro controller formats;-)
Geeks: Recently you started selling your ESP8266 IoT Starter Kits on Amazon. Was that hard to get setup and how is that going?
Daniel: That is my biggest adventure yet! Before selling the kit on Amazon I was already selling it in my own shop. But there I have limited options to customize the product. I basically ship the components separately from my supplier in China to my buyers all over the world. When I get an order I forward it to my supplier and just pay him for the units he has to ship. So there is only little risk involved, I don’t have to invest a lot of capital. Then a friend of mine told me he was selling products on the Amazon platform and I thought that my WeatherStation was the ideal product for that platform. I read several books about Fulfilment by Amazon (FBA) and started looking for a company in China who would create the product according to my specifications. They sent me a sample and everything looked fine. But I didn’t test it thoroughly enough and I didn’t see that they had sold me a charging cable which was no good for programming the ESP8266. I only discovered this when all the boxes were already in Amazon warehouses in the US. Now I had a big problem: Amazon only lets you remove items from their warehouses if you send them to a US address. Sending the items to Switzerland wasn’t an option. Thankfully a college friend of mine had moved to the US and she agreed to help me out and her sons replaced the bad cables with new ones.
In December, my first batch had almost sold out and my supplier in China didn’t have the ESP8266 modules in stock anymore. So I had to raise the price on Amazon to avoid running out of stock. On December 23rd finally, my second batch arrived at the Amazon warehouses which was too late for the holiday season. With the second batch, I did some improvements: the initial instructions are now in the box and you get a DHT11 sensor to measure humidity and temperature. Apparently, it also wasn’t clear that you had to subscribe to my newsletter to get the Getting Started Guide so I changed that as well: the instructions now tell you clearly where to download the guide and you don’t need to sign up to the newsletter anymore. Ratings on Amazon or very important and you constantly have to improve your products to get happy customers.
Geeks: Do you miss Boxee? What do you use now?
Daniel: Actually, the Boxee is still standing beside the projector and I am using it to play videos from time to time. But most of the time we are watching movies and series from Netflix and stream them to a first generation Chromecast dongle attached to the projector. Just a few days ago I discovered that it is possible to put Kodi (formerly known as XBMC) on the Boxee. I am considering to do that but maybe I’d just do it for the challenge and I wouldn’t actually use it so much.
Geeks: I am a bit of a Craft Beer Enthusiast and besides BFM Abbaye de Saint Bon-Chien are there any other Swiss beers I should try?
Daniel: You might know Switzerland for a lot of things but probably not for beer. I didn’t know about the BFM beer but the description sounds very interesting. Most of our industrial beer companies have been bought by multi-nationals but in recent years many smaller companies have come up. Here in Zurich, I would mention two beers, the Turbinenbräu and the Chopfab beer. But I guess the Saint Bon-Chien is one of a kind…
Geeks: Let me know what you think once you try the Saint Bon-Chien. I will definitely keep an eye out for those other beers! Anything else you might want to add?
Daniel: No, nothing at the moment. Thank you very much for your interesting questions!
Once again, if you are working with ESP8266s or looking to start playing with them, it is well worth your time to visit Daniel’s blog:
https://blog.squix.org/ and follow him on Twitter for Project Updates: https://twitter.com/squix78