ESP8266 and ESP32: Interview with Sergey Lyubka from Mongoose OS

Hi Sergey, thank you so much much for agreeing to this interview! Can you tell us a bit about your role at Mongoose OS? I am a technical cofounder and CTO of a company behind Mongoose OS, and set the  overall technical direction for the project.   For my readers who don’t know Mongoose OS.....

ESP8266 PlaneSpotter Color

After many hours of work I’m very happy to finally publish all the sources for the ESP8266 PlaneSpotter project. It is not yet really in a V1.0.0 state but I’m sure with the help of the community it will quickly get better. While this post is more a “making-of” you can find build instructions on Github: https://github.com/squix78/esp8266-plane-spotter-color &nbs.....

ESP8266 WeatherStation Kit finally in US Amazon Store

More than two months ago I started the process to have my ESP8266 WeatherStation listed on Amazon. The big online platform offers a service called Fulfilled by Amazon or short FBA which allows you to send your items directly to their warehouse. Your product will then be shipped to your buyers with the usual speed and quality as if it was a product sold directly by Amazon. .....

Font Creator Now Creates Adafruit GFX Fonts

As first task for the upcoming Weather Station Color project I wanted to adapt my online font generator. Easily creating fonts in various sizes will make work on the Weather Station code a lot easier. Since my own display library doesn’t support the color TFT screen I switched to Adafruit’s library. They provide a converter but it needs to be compiled and I wanted to have this feature available on my web based font converter. So I analyzed the Adafruit font files and the converter.....

ESP8266 Weather Station: Getting Started Guide available for Kindle

Once in a while I like to try out new ways to reach the audience. I’m happy to present the ESP8266 Weather Station: Getting Started Guide is now available for Kindle. If you are a frequent reader of this blog you might recognise some content of the guide from older posts. But I hope you still enjoy reading it on another device and in a revised form with additional information for beginners. .....

ESP8266 Weather Station on the “Big Screen”

The 0.96″ OLED displays I usually use for the WeatherStation are gorgeous but they could be bigger, right? Recently a bigger version of the SSD1306 based display became available on my favourite channels. Thanks to great work of the community (especially Fabrice Weinberg) the OLED library on Github  as been extended to support those 1.3″.....

ESP8266: Turn a $9 Body Scale into a Smart Scale – Part 1

In this project I will show you how you can build yourself a fancy Withings-like body scale. I divided the article into two parts: Part 1 describes the hardware hack and Part 2 the software. In this project I used a cheap scale I bought in the local super market for 9 Swiss Francs (which is currently about USD $9.-) and I am optimistic that other digital scales will work for you as well. This project was a lot of fun since I had to do reverse-engineering, soldering, programming and (optiona.....

ESP8266 based Plane Spotter – How To

When I sit at my living room table I can see wonderful big airplanes in the final approach to Zurich (ZRH) airport or ascending to a far destination: Airbus A380 or Boeing B777 are ingenious proof of what we are capable to design and build. Quite often when I have visitors I start flightradar24 to get more information about the airplanes we see. But wouldn’t it be nice if this information would just be there, anytime I’m curious – without starting an app on my smart phone.....

ESP8266: Continuous Delivery Pipeline – Push To Production

The integration of the ESP8266 framework into the Arduino IDE brought ease of use for development. This was further improved when firmwares could be pushed over the local network to the test devices with the direct over-the-air feature. But what if your ESP8266 devices are no longer in your own network? How can you then update all the devices which are running an older version of your firmware? .....

ESP8266 Peripherals: Indoor Positioning with IR Camera

DF Robot IR Camera Sensor
The sensor I’m going to talk about here is a very powerful one. And you actually might have a very similar one in your home somewhere. The DF Robot Positioning IR Camera uses the same or similar module that is built into the Nintendo Wiimote controller. The sensor module is capable of simultaneously detect up to four sources of IR light and make them accessible through a I2C interface. .....

ESP8266 Peripherals: KY-040 Rotary Encoder

The ESP8266 took the hearts of the IoT and Do-It-Yourself community by storm, due the very attractive price, its internet connectivity and due to the relatively rich amount of available GPIO pins. But an internet connected device is not worth much without means to interact with the real world. Thanks to standardised communication protocols like I2C, SPI and serial interface and the work of the Arduino community there are many sensors and actors available for a really good price. But do they.....

ESP8266: Offline Debugging with the Platformio Environment

Having tools is great but you also need to know how to use them. Being a native Java speaker using a debugger is a very natural and easy thing. With the ESP8266 on the other hand this looks a bit different. I struggled now for a half day to figure out how to use the debugger to resolve a nasty crash that was happening if I would use a NFC card reader several times in a row. Most of the time I tried to use life debugging as I was used from the Java world a.....

WeatherStation & 3D Printing: striving for seamless integration

As you might know already I am now a proud owner of a 3D printer, a Printrbot Play. In the last few weeks I have tried to master the printer and I have learned a lot in this time. It was only a matter of time to bring my two passions together and use the 3D printer to create a case for the WeatherStation. This is my first result. It is not as perfect as I want it to be but it is presentable. With the next version I’ll have to make the w.....

ESP8266 Arduino IDE Alternative: Platformio

The Arduino IDE is a good choice for a beginner to get into the world of small embedded devices. Feedback that I got from Weather Station Users indicates that the ESP8266 attracts many hobbyists to the IoT field that before had little experience with programming small devices. For me as a (professional) Java programmer the Arduino IDE lacks many features that I would expect from a modern development tool. The two that I miss most are Auto-.....

Weather Station in an Old Nokia Phone

Today I got a wonderful email from Jens Lochmüller from Germany which shows that necessity is truly the mother of invention. He wanted to build a case for the Weather Station with a picture frame but since he didn’t have an unused one at home and the shops were closed today he just put it into the case of an old Nokia phone. If I had to guess I would say it is a Nokia 1110 or.....

ESP8266 WeatherStation with a Magic Mirror

Just had a little time to test my latest idea. I took an IKEA picture frame, mirrored car tint and the Weather station, put everything together and it works! It only took about 30 minutes… Next time I’ll have to be more careful with the mirror tint, this thing scratches easily. But in the linked tint you get about 3 meters you’ll have enough material to get it perfect! .....

ESP8266 Weather Station: New Version Released

While I have a few days off I found some time to finally get a consistent set of libraries for the WeatherStation together and fix a few things. Here is a summary of the changes… Weather Station as a library Most important change from my point of view is that you can now install the Weather Station with the Arduino IDE library manager (or at least you will be able once this request has been .....

ESP8266 Oled Display library: How to customize fonts

Many people were asking me to publish the code that creates the font files used in the SSD1306 OLED library. Well, I was hesitating since the code was a bit hacky. So I sat down and created an online tool which is now open for Beta testing. It allows you to select a font from a list of integrated Apache licensed files, choose font size and style (plain, italic, bold) and then create the C file which you can copy paste into your Arduino IDE. A.....

ESP8266 Project Preview: FairyBox – The Kid & Parent Friendly Wifi Controllable MP3 Player

This is a quick preview of my next ESP8266 project in the pipeline: The FairyBox. Planned features: (Planned) Features Simple song selection with big buttons: button 1 selects folder one, first song, press button 1 again and it jumps to second song in folder 1. Web interface where parents can  control volume (limit) to protect hearing,  skip super a.....

ESP32 unboxing!

Santa came early this year! Espressif has sent me one of the early test boards of the new kid in IoT town, the ESP32. Compared to the ESP8266 which kind of dominated the hacker space in the last 12 months the ESP32 is very powerful! Coming Dual Core 32-bit L108 MCU, Wifi AND Bluetooth LE it might be yet another milestone in affordable IoT devices for DIY hackers and industry all together. Check out the unboxing pictures. Looks like I wi.....

ESP8266: Fixing extended ASCII issues in SSD1306 OLED library

I got a few complaints that the esp8266-oled-ssd1306 library does not handle special characters such as Umlauts properly. It turns out that the Arduino IDE does handle characters in the extended ASCII range (from 128-256) as UTF8 characters which means that Strings containing such characters can take more space than the bare number of symbols in it. For instance the degree character (°) will be represented as two chars with values 0xC2 .....

ESP8266 OLED display library release

Recently I released a new version of the esp8266-oled-ssd1306 library. This library allows you to control these wonderful little displays from a ESP8266 with little effort. When I first wrote the library for the WeatherStation I had the problem that 128×64 pixels never seemed enough space to display all the information. Then I added a feature set which allows you to describe the information in an number of frames which will then be .....

ESP8266 Feature Preview: More Fonts for the Weather Station!

I’m working on a new version of the Weather Station code. The first shot was the jason-streaming-parser library which allows me to fetch bigger objects directly from the source without the need of an proxy PHP script. The next step is to add more features to the display library. One is to allow more fonts and sizes. The current version only has one font and two sizes. For this I wrote a little Java program which converts any given.....

ESP8266/Arduino: processing huge JSON objects directly on the ESP

For a while now I wanted to improve my weather station project by adding more sources of information that can be displayed. But these sources I had in mind either used SSL (https) or delivered huge JSON responses. SSL is not yet supported on the ESP8266/Arduino platform (and from what I hear also broken on Nodemcu/Lua). Big JSON objects are a problem because all the existing libraries I tried are DOM based which consumes a lot of memory since.....

ESP8266: NodeMCU Motor Shield Review

If you want to engage with your ESP8266 into robotics there is now an almost ready-to-go solution: the NodeMCU Motor Shield. If my research is correct then it was the Doctors of Intelligence & Technology (http://doit.am/) who created it and also are offering some LUA code to get started. This post shares my experience with the motorshield and also with a two engine “Smart Car” kit that nicely combines with the.....

ESP8266/Arduino: Playing around with the upcoming filesystem feature

I recently stumbled on a feature that hopefully soon will be integrated into the stable release of the ESP8266/Arduino environment: a file system interface. Low-Level: EEPROM Up until now and currently your best bet for data persistence in the stable release you could use the EEPROM interface to write and read your data so it would be available between reboots of the device. This persistence interface is pretty lo.....

ESP8266, ThirsDee: 3D printed casing arrived

This was my first take ever at designing something for a 3D printer. Since I didn’t have a 3D printer available with a big enough printing area I ordered it online at Sculpteo.com. And only a few days after my order I received a nice little package from France today. Tada, the cover for Thirsdee, the intelligent plant helper! As you can see from the.....

WeatherStation Kit ready for your order

Great news! My supplier in China has finally sourced all the components that come with the WeatherStation Kit and I’m ready to take your orders. For a limited time it will cost only USD $19.95 and shipping is available for more than 70 countries. The kit is a good entry to get started with the ESP8266 since it requires only minimal wiring from you. Extend the source code found at github to display even.....

ESP8266: Wifi data logger already running for more than 2 months on batteries!

More than 1440 hours or in other words 60 days ago I put 3 AA batteries from IKEA in the battery box of the ESP8266 test board and started a program that would send temperature and humidity every 10 minutes to Thingspeak through its Wifi interface. I removed all unnecessary power consumers from the board such as LEDs and light resistor but there would have been more potential to improve longevity of the batteries. By setting a fixed IP .....

ESP8266: Meet Thirsdee, the Intelligent Plant Helper!

It’s amazing what you can do with just a few components: a load cell, a high gain analog-to-digtal converter and a NodeMCU module. You can for instance measure the water consumption of your dear plants. If you combine the previous mentioned components with a OLED display you can even visualize the current water level in the plant pot. And if the level reaches a critical low yo.....

ESP8266: Calibrating the Wifi Scale With Temperature Compensation

In my last post I talked about my self made scale. There are plenty of applications for a sensor that can sense the weight of things. But I guess the scale should not be tared (or set to zero) every time the ESP8266 wakes up from sleep. The load cell is basically a resistor that reacts to tearing and pushing of the metal bar. But like all resistors, they are prone to temperature drift. Thi.....

Register now: The WeatherStation Kit is coming!

I’m very happy to announce that I could find a supplier who will ship all the parts that you need to get started with the WeatherStation. No more worries to find the right components. The WeatherStation Kit will contain: the new improved NodeMCU V1.0 with 4MB flash one SSD1306 based OLED display with a resolution of 128×64 pixels 40x 20cm female-female connectors USB.....

#ESP8266: Open-Source Designer Advice wanted for the weather station!

So, all the major technical challenges have been resolved. But now the fine tuning begins. Anyone with a graphical eye in the audience to give advice? How to arrange the different elements most efficiently so that it is pleasant to eye and brain and uses the space most efficiently? Please step forward… Your “playground” is 128×64 pixels, 1-bit depth… All result.....

ESP8266: 3D printed case for the weather station project

You just got to love open source! Some guys wrote a firmware for an exciting little chip (ESP8266), based on an open sourced SDK: the NodeMCU lua firmware was born. Then another guy (me;-)) writes a little LUA program to fetch weather data from an open API and displays the data on a OLED display. Then yet another guy (smiley77) creates a wonderful case for the project and makes it available as well: .....

ESP8266, NodeMCU: how to create xbm images for displaying on OLED 128×64 I2C Displays

Do you know these wonderfully cheap SSD1306 based OLED displays with the crispy display? For a while now the NodeMCU Lua firmware for the ESP8266 supports them and has a rich feature set to draw lines, circles and even bitmaps. One way to draw bitmaps is in the XBM format, which is originally a text based format and they can be directly included into C code: #define clouds_width 60 #define clouds_height 60 static.....

ESP8266: NodeMCU V1.0 part created for Fritzing

Fritzing is a nice tool to quickly draw up your breadboard circuits. From there you can easily and for a competitive price order PCBs. But Fritzing is only fun when you have all the parts that you use in your project. For me the NodeMCU V1.0 that I recently acquired was missing. Since I always wanted to create a Fritzing part my self I sat down and made one and I will share it with you… .....

ESP8266: NodeMCU Custom Build

My colleague Marcel recently developed a web based tool that lets you choose the modules which will be compiled into the NodeMCU build. This saves you the trouble to setup your own build server with tool chain and can save you a lot of space on the LUA heap, depending on how many modules you need to run your code: http://frightanic.com/nodemcu-custom-build/ .....

ESP8266: Flight-O-Matic

Preview for my augmented reality project: A RaspberryPi with SDR-RTL dongle picks up signals from airplanes in my relative neighbourhood. When an airplane becomes visible from by living room window it sends detailed flight information to 6 modules of 8×8 Led Matrix elements such as connection details, airplane type, airline, etc. I hope to deliver a detailed documentation soon, the video is just a teaser;-) .....

ESP8266/Arduino: MAX7219 8×8 Led Matrix Library

Twice a year the company I work for (Netcetera) organizes a retreat for programmers, usually in the mountains. In the Spring issue this year we went to a resort in a beautiful mountain region. Inspired by the wonderful landscape I managed to write a library for the recently published Arduino IDE for ESP8266 which allows you to manipulate pixels and write animated.....

ESP8266 module comparison: ESP-01, ESP-05, ESP-12, ESP-201, Test Board and NodeMCU

In this post I will guide you through the jungle of available modules based on the ESP8266. This is not a complete list of available modules but a selection of the ones I could test and review. If you think that I have been missing out on one important module please let me know.Every module here as some advantages and disadvantages, depending on the targeted application. If you are planning to to use a module as Wifi shield for an Arduino you might pi.....

ESP8266: How to get started – What hardware you’ll need

In this post I want to show you what hardware you’ll need in order to get started with the ESP8266. In the post I assume that you have no hardware yet at all. I also assume, that you’re mostly interested in programming the ESP8266 directly, rather than using it as a pure Wifi board for an Arduino. USB-To-Serial Adapter In order to talk to the ESP module you need a serial-to-usb adapter.....

ESP8266: using Docker to setup the build tool chain the easy way

When you get started with wonderful world of the ESP8266 your first step might have been to play around with the AT command firmware. Then you might have chosen one of the pre-built multi purpose firmwares, such as the NodeMCU or the NodeLua image. Then, the next logical step is to build a firmware yourself. But honestly, I was a bit afraid of this one, since it seemed all very Linux oriented and I wanted to run it on my Mac. Until I found zo.....

ESP8266 with web update: NodeLua, a Spark.io like ESP8266 firmware

The ESP8266 chip is really something: cheap and with its Wifi interface capable for Internet-of-Things tasks. You can get boards on Aliexpress for as little as $3, shipping to Europe or US included! OK, so you ordered one, waited (possibly) a few weeks and then it arrived! What do you do with it? How do you program it? I covered a few possibilities in my previous posts: you can use your Arduino and talk with AT commands to the ESP8266, thus s.....

ESP8266: trying out frankenstein firmware

I just gotten into the mood of trying out firmwares for the ESP8266. There is one that behaves similar to a busybox command line tool. Download the binary from here, flash it to the ESP8266 and connect to it over the serial channel: https://github.com/nekromant/esp8266-frankenstein So far I’ve used the serial console built into the Arduino IDE. But that’s .....

ESP8266: Using a seeeduino to talk to the ESP8266 module directly

I recently received two of these shiny new Wifi modules from China and had to test them out. In many posts around the web they say you should use a serial-to-usb adapter to send some AT commands to the module and set it up with your local access point. My problem was: I didn’t have such an adapter, or so I thought. It turns out you can use some types of Arduino’s for the job just fine. I had a Seeeduino V3.0 laying around and that.....