RoadTest: Adafruit Feather HUZZAH Dev Bd
Author: rkoppen
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: Wemos D1 with a LiPo charger shield.
What were the biggest problems encountered?: It is tricky to remove the LiPo connector from the board.
Detailed Review:
When the HUZZAH Feather arrived at my home, the first thing that I noticed was its weight. It is just under 10 grams. And the form factor is very nice too, only 51 by 21 mm. I mostly use nodeMCU for my projects, and the small size helps putting the project in a small box.
The first step I took was to first investigate what this small board contains. So I dove into the specs on adafruit.com/product/2821.
There I found out that this board is quite loaded.
Some of the features I really liked;
One of the main features is that you can connect a 3.7V LiPo battery can be connected to run this board. It can also charge the battery when you cannot it using USB.
On the specs page it is also stated that board features an auto-reset, so it should not be necessary to press any buttons while flashing. Something I will found out when we start programming this board.
It also feature 9 GPIO pins (more than I usually need).
I plan to do the following things;
First steps using the board with the serial console;
I started following the steps described in the provided documentation; https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-nodemcu-lua
I connected the board to my Laptop, and noticed no drivers needed to be installed, the board connected plug and play. I then used Putty (as described) but I got no response from the board as output. Then I switched to the Arduino IDE, where I could check the COMport that was opened for the board, which was COM7. But still no response, until I read the instructions a bit closer and noticed that I had forgotten to press the reset button. After pressing this the board greeted me;
After entering the instructions
The red led turned on, the board is working.
The next step is to upload a program using the Arduino IDE. First step is to select the right board in the Tools (Hulpmiddelen for me) -> Board dropdown.
Then I selected the simplest example ‘Blink’. Then I uloaded this, and it worked instantly. The onboard red led started blinking. Since I already hooked a LiPo 2000 MAh 3.7V to the Feather, I then tried to disconnect the USB, to see it the binking continued, and … it did ! One of the other features of this board is that you can program it using 921600 baud, so I switched to this and uploaded the same program again, and this time it was a lot faster. Just under 7 seconds vs just under 20 seconds on 115200 baud.
The basics are working, but now to connect this little board to my domotica platform of choice, domoticz.
I have quite a number of ESP8266 (NodeMCU) in my home. Most of them have sensors to measure temperature, humidity or brightness levels. One even runs my hotwater tap, and makes sure I can always shower by turning the heating on when tapwater temperature has been low for too long. I run have loaded ESPEasy on all of these ESP's because of its easy of use. A lot of sensors are supported out of the box, and are very easy to connect to the ESP.
So I downloaded the latest firmware of ESPEasy and loaded this on the Huzzah Feather.
I now had a battery operated ESP8266 running in my home. It connected it to my domoticz, which is a matter of configuration. But it was not reporting anything to domoticz yet, since nothing was hooked up yet. So I dove into how to have it report it's battery status to domoticz. This way I could see how long it would run continously on battery.
I had no knowledge on how to measure the battery on a ESP8266, and using some google I found I had to create a voltage divider circuit.
I placed a resistor of size 220K Ohm over pinouts GND and ADC (ADC is the analog input pin)
And I placed a resistor of size 1M Ohm over pinout ADC and BAT.
This circuit acts as a translation for the battery level (which can be between around 4.2 volts and 3.3 volts) and a decimal value between 1 and 0 which the analog input pin can read.
Then, with a fully charged battery I added "Analog input" sensor to ESPEasy.
With a fully charged battery the Huzzah Feather showed me what the value equivalent was for a 100% battery charge. I could then wait until the battery was completely depleted to see what the 0% charge value was. Once I found these values, I could make a mapping, by entering these points in the sensor definition. Then the Huzzah Feather will report its battery percentage to a sensor in my domoticz Controller. Below you can see what that looks like.
As you can see the dropoff from 40% to 0% is quite steep, and is typical for a LiPo battery. The Huzzah Feather will shutdown at a safe voltage as to not damage the LiPo battery, which should not be discharged too low.
I had a runtime of around 28 hours on a fully charged 2000mAh LiPo Battery. pretty impressive, especially considering it is running on WiFi constantly, and sending an update every 60 seconds.
I planned one last task in this Roadtest, in that I wanted to build a ultra low power mailbox notifier with this board, and I had sourced the components, but due to Corona Crisis they have not arrived yet, so that part cannot be done now.
My conclusion is however that I'm really impressed with this small board. It's easy to use, and fast in programming. And I really like that I don't have a button to press when reprogramming it. Also the battery option is giving me a new horizon of sensors which I can add to my domoticz controller.