Archive

Posts Tagged ‘esp8266’

Need to Program Many ESP8266 Modules? This Wemos D1 mini based Pogo Jig Programming Board Could Be Useful

March 8th, 2017 5 comments

If you have many ESP8266 modules to flash with your own firmware this may be time-consuming, but Wing Tang Wong’s ESP8266 Pogo Jig Programming Board could greatly streamline the process, as it just hold ESP-12F module in place using pogopins, so you can go through boards quite quickly.

Wemos-ESP-Pogo V1.0 Board – Click to Enlarge

You’ll just need to a Wemos D1 mini board without ESP-12F module to the programming board, and then place your ESP-12F module (or compatible) between the pogopin to program it through Wemos D1 mini’s micro USB port.

The board is not for sale (yet?), but the EAGLE design files can be found on Github, and it should not be difficult to find a company to manufacture a few if you need it.

Via OSH Park’s Blog.

Categories: Espressif, Hardware Tags: esp8266, open source, wemos

Secure IoT Connectivity with NodeMCU ESP8266 Board, ATECC508A Crypto Chip, Mongoose OS, and AWS IoT

March 7th, 2017 16 comments

There are many examples of Internet of Things projects, but more often than not the implementation is not secure, either because the device is exposed to the Internet with minimum or no security (worst case), or a gateway (hopefully) provides secure connection to the Internet, but the communication between sensor nodes and the gateway in the local network is not secure, due to memory limitation of the nodes, for example it might be challenging to implement security on ESP8266. Mongoose OS is an open source operating system for the Internet of Things developed by Cesanta working on ESP32, ESP8266, STM32, and TI CC3200, and the developers have demonstrated a secure solution with Mongoose OS running on ESP8266 connecting over a TLS connection to AWS IoT (Amazon Web Service IoT) and using TLS credentials stored in Microchip ATECC508A CryptoAuthentication Device.

NodeMCU with ATCRYPTOAUTH-XPRO (Left) or barebone ATECC508A (Right)

The addition of ATECC508 chip either using “XplainedPro extension board for crypto products” (ATCRYPTOAUTH-XPRO) or ATECC508A chip itself, is to avoid storing private TLS credentials in NodeMCU’s flash memory, as anybody with physical access to the device could steal private keys and get access to the cloud. ATECC508A is connected via the I2C interface of the target board.

So I guess the crypto chip truly makes sense if you have sensor nodes on the field with information important enough that third parties may be interested in getting access to your sensor to try read your private key from ESP8266’s flash. It costs less than $1, so you may consider it anyway, although you can still get a secure TLS connection between NodeMCU and AWS IoT without it, but it adds another level of security.

Once you are done with the hardware connections, you’ll need to install Mongoose OS on the board, and follow the MQTT + AWS IoT tutorial to get started. Nothing complicated need to be done to leverage the crypto chip, as the command mgos aws-iot-setup should automatically detect ATECC508A chip and use it.

$12 AI Light ESP8266 based WiFi RGB Light Bulb Supports MQTT via ESPurna Open Source Firmware

March 3rd, 2017 20 comments

AI-Thinker is famous in the maker world for their ESP8266 modules, but they’ve also recently launched a WiFi RGB light bulb that sells for about $12.5 and up on Ebay and Aliexpress (here and there). Some people noticed, and bought samples online, including Xose Pérez (aka Tinkerman), ESPurna open source firmware developer, who could confirm ESP8266 was used in the light bulb, did some investigations, and eventually added the light bulb into ESPurna, which means it can be managed using MQTT or a web interface.

AI Light looks very similar to Philips Hue, but comes with WiFi instead of Zigbee. AI Light “M1636” key features:

  • RGBW LED E27 bulb with 16.7M colors
  • Connectivity – 802.11 b/g/n WiFi
  • Encryption – AES
  • Voltage Range – 110-240V
  • LED Power – 5 watts
  • WiFi Power Consumption – ≤0.3W
  • Temperature Range – -5~45degree
  • Humidity – ≤80%
  • Certifications – FCC, CE, ROHS

If you’re going to use the stock firmware, you can control the LED with Tuyasmart Android app. You’ll find the user’s manual and more photos on the FCC page for the light bulb. But there are already plenty of Wifi light bulbs on the market,  and what makes this light bulb interesting is that it’s based on ESP8266, and you can have full control over it using open source firmware.

The bulb cap is allegedly very easy to pop out, as it’s not glued to the board.A close up on the board itself reveals it’s indeed powered by Espressif ESP8266EX WiSoC connected to a 1MB Winbond 25Q80BVSIG flash, and MY-Semi MY9291QD LED driver.

Click to Enlarge

If you look from the bottom left to middle left of the inner circle, you’ll see 3V3, GND, RX, TX and IOO pads, which we can use after soldering some wires, and connect a USB to TTL board in order to flash the firmware. Note that IOO must be connected the GND to enter flash mode, you can remove the wire after flashing, in order to check the serial output during a normal boot.

After further investigation, Xose found out that there’s already some software implementation for MY9291 driver in Noduino OpenLight project, made by the developers who designed Noduino ESP8266/ ESP32 boards, and are likely the developers of AI Light. All needed source code can be found in Noduino-SDK released under a GPLv3 license, and includes a driver written in C language for MY9291 LED driver chip. Xose wrote a wrapper to make the driver work with Arduino ESP8266, and released the code on Github.

The code sample below shows how to set the LEDs to RED color at 100% duty cycle:

Ai-Thinker Ai Light / Noduino OpenLight have now been added to ESPurna 1.6.8 firmware, and you can turn the light on and off, select the color from the web interface, and/or control it via MQTT.

ESPurna installed on AI Thinker Light Bulb – Click to Enlarge

Karl’s Home Automation Project – Part 2: 433 MHz / WiFi MQTT Bridge, Door & PIR Motion Sensors

March 2nd, 2017 11 comments

Karl here again for part 2 of my home automation project. We will be looking at how to automate your lights based on time of day and motion. In the first part we setup Home Assistant and uploaded firmware to basic Sonoff Wifi switches. Today we will setup a 433 MHz to MQTT bridge and some sensors.

433 MHz

Depending on your country 433 MHz is an open frequency to use to communicate with. There are hundreds of different types of devices that use 433 MHz to communicate information. We will be focusing on 2 today from Gearbest: WMS07 motion sensor (left) and WDS07 door/window sensor (2 parts, right).

I am not taking the door/window sensor apart, since it is super basic, but I’ve included some photos of the PIR motion detector.

Click to Enlarge

Click to Enlarge

433 MHz Bridge

While contemplating how to get presence on a per room basis I ran across this project. It monitors 433 MHz signals and publishes it to the MQTT server. It is a really an easy project. It also has an IR to MQTT feature. I did have an IR receiver and tested it but have not implemented it. He has some good instructions on his page so I won’t go over too much. You can do the bare bones version and just leave off the unused sensors. I also went an extra step and added a light intensity sensor and DHT sensor to the project. It can be found here. I am not going to add those to this write up because trying to keep costs down.

What you will need is

  1. NodeMCU $5.69
  2. H3V4F Receiver Module $1.21
  3. Prototyping board $2.88

That is all that is needed. For about $10 you have an inexpensive 433 MHz bridge. You can put in a box if you want and hide it in a central location away from interference. I would suggest soldering headers to your board just in case something goes bad. I didn’t at first and made my life a pain. There are a ton of 433 MHz receivers. I purchased all the ones on Gearbest and this is by far the best. I did upgrade to a superheterodyne but I am not sure it is any better. I upgraded because I wanted to put the door sensor on my mailbox and get a notification when the mail was delivered. It is about 200’ away and is a little spotty even with a new 433 MHz receiver. I used this antenna design (see picture on right), as it seemed to work the best

Coverage is the biggest concern.  I have a brick single story ranch style home about 2000 square feet and it covers the inside with ease and a lot of the area around the house. If you have a multi-story house or would need multiple receivers you would need to change the MQTT topics to avoid getting duplicates. Below is the final project. To be honest temperature is really the only thing that is useful to me, but wanted to see what could be done. I purchase the DHT11 and the readings are not good. If you want to do this go with the DHT22. Below is a mostly loaded bridge. I don’t have an infrared transmitter yet. I have a different one coming that does the encoding/decoding on a chip and will follow up when I receive it. I am hoping it will be easier/better than using the Arduino library.

Motion Sensor

The motion sensor itself is really easy to setup with jumpers. I suggest turning the LED off, and the time to 5 min after finished setting up with the jumpers. If you notice there is a micro switch in the top left of this picture. It is meant to be a tamper switch but I use it as a toggle switch to quickly turn off the lights. The motion sensor is meant to be used for a security system but I just have them sitting on night stands and corner tables. It works really well to override or turn a light on when Home Assistant ignores the motion. A little squeeze of the box and the light will toggle states on or off.

After your bridge is set up and connected take the motion sensor out and put some batteries in it. Run your batch file to see what code is being sent. For this one we need 2: motion and tamper. Write these codes down.

Home Assistant

Below is the YAML code that I am using with Home Assistant. I made it find and replace friendly. If you copy and find the 4 items below it should work. I think it is relatively easy to follow. It is the typical timed lamp on motion that is on Home Assistant website with some slight modifications. I had to add the turn off motion script because the motion sensors only sends when it senses motion. I also had to add the tamper toggle switch. When you are adding multiple sensors you can only have one “binary_sensor:” group and one “automation:” group etc.

Find/Replace Explanation
generic use livingroom or masterbedroom etc no spaces
5555555 use the motion number you found earlier
8888888 make up a number around your tamper/motion number
9999999 use the tamper number you found earlier.

 

Door Sensor

For the mailbox sensor here is an example. Same thing on this one run the batch file and find the open and closed codes. I have it send me a notification via pushbullet.

Almost there

We are almost there. Lights are turning on and off magically. Life is good. But there is one situation where it’s not so good. The gloomy day. With the automations above we cannot determine if the blinds are pulled or it is gloomy. We still need the lights to come on under those circumstances to make it really cool. In the next installment we are going to take the motion sensors above and add a light intensity sensor to them. We will be able to do this cheap. We still have a pretty good budget. With the bridge above you open yourself to a bunch of battery operated sensors. You can also control devices, as well, with a transmitter. Any of the transmitters should work on GearBest. You can get the one linked and throw away the receiver. It’s only $1.25.  If you have any questions or concerns feel free to leave a comment.

Item Qty Price Total
Initial Setup Sonoff Basic 5 $4.85 $24.25
Headers 1 $1.50 $1.50
USB to TTL 1 $2.54 $2.54
$28.29
Motion Sensors NodeMCU 1 $5.69 $5.69
H3V4F Receiver 1 $1.21 $1.21
Prototyping board 1 $2.88 $2.88
Motion Sensor 4 $7.03 $28.12
$37.90
Grand Total $66.19

How to use Sonoff POW with ESPurna Firmware and Domoticz Home Automation System

January 21st, 2017 10 comments

Sonoff POW is an ESP8266 based wireless switch with a power meter that comes pre-loaded with a closed-source firmware that works with eWelink app for Android or iOS by default. But we’ve also seen Sonoff POW, and other Sonoff wireless switches from the same family, can be flash with open source firmware supporting MQTT (Message Queuing Telemetry Transport) lightweight messaging protocol such as ESPurna, and I initially sent data from Sonoff POW to ThingSpeak via an MQTT broker (mosquitto) to draw some pretty charts. I did that with the switch connected to a lightbulb, but I’ve since installed Sonoff POW in my office to measure the room’s power consumption minus the ceiling light and aircon as shown below.

Wall Mounted Sonoff POW WiFi Switch – Click to Enlarge

Sonoff cable mechanism is really a pain for hard copper wires, as they are hard to push inside the mechanism, and something come out. I finally managed by it took longer than expected to install. I had to cut the mains cable, and rewire the gang box too. The good thing is that I did not need to drill a hole in my wall, as the device is very light.

I could see the power value updated in ESPurna web interface, depending on the load on my computer, and whether I turned on or off other devices. That’s all good, but instead of using ThingSpeak, whose open source implementation is not updated, I decided to try Domoticz, and already wrote a short guide showing how install Domoticz in NanoPi NEO ARM Linux development board. I had not gone through the setup yet, as I had to study a little more, and upgrade Sonoff POW firmware first. I also planned to use vThings CO2 monitor with Domoticz, but canceled since it can’t be configured remotely, and a USB connection is needed.

ESPurna OTA Firmware Update

So I’ll focus only on Sonoff POW in this post, and first we need to update the firmware since Domoticz support is only recent. I’ll assume you have already followed the post entitled How to Build and Flash ESPurna Open Source Firmware to Sonoff POW Wireless Switch.

First we need to update platformio and ESP8266 development platform to the latest version otherwise we’ll get some build issues:

I updated the source code with git pull, but for whatever reasons the build failed, even after cleaning the code. So I did what any developer with enough experience would do in that case: start with a fresh check out ;), and rebuild the OTA firmware from there:

In order to update the firmware over the network, you’ll need to change sonoff-pow-debug-ota section in platformio.ini with your own IP address (upload_port) and password (in upload_flags) used in ESPurna web interface:

Once it’s done, you can upgrade the firmware, and then the file system as follows:

The Sonoff POW will reboot, and cut the power for about 2 seconds after both updates. My Sonoff POW is controlling my computer power, but that’s OK since I’m behind a UPS. Now I can access the web interface, and one of the improvement is that you’re being asked to setup a new password right after the update.

Click to Enlarge

I was then redirected to the Status page showing power, voltage (a bit low?), current, and power factor.

Click to Enlarge

I then jumped to MQTT menu to set the IP address to my NanoPi NEO board, and clicked Update.

Click to Enlarge

There’s a new DOMOTICZ menu which we’ll check out a little later.

Installing and Configuring MQTT in Domoticz

ESPurna communicates with Domoticz via MQTT, so the first task was to follow and adapt Domoticz MQTT wiki.

First login to your Domoticz server (NanoPi NEO) and access a terminal window to update the packages, install npm, node.js, Node RED, and mosquitto:

We then need to go to the Hardware page in Domoticz and configure a new “MQTT Client Gateway with LAN Interface” as shown in the screenshot below.

Click to Enlarge

We can test whether it works or not by creating a new Dummy device in the same Hardware section

Then click on Create Virtual Sensors, to add a new Temperature sensor which we’ll call Fictive Temp.

Now go to the list of Devices (Setup->Devices) to check the idx value (1 in our case), and a publish a MQTT message to update the temperature value of our virtual sensor:

The temperature switch from 0 to 25°C. Our installation is working. Great!

Using Sonoff POW with Domoticz

In theory, we should be able to get two type of data for Sonoff POW: relay status and power levels. However, after looking at ESPurna source code, domoticz.ino only seems to handle the relay status that can be changed from Domoticz web interface, but the power values are only send in pow.ino to the MQTT server, with data not directly compatible with Domoticz. Maybe I missed something as Tinkerman – ESPurna developer – can use Sonoff SC to send temperature data to Domoticz. Alternatively, it might be possible to convert that data somehow with Node RED, but that’s something I’ll try later. So today, I’ll only try to control the switch from Domoticz.

To do so, I created another Dummy device called Sonoff POW Switch, and from there, another Virtual Sensor of Switch type.

Click to Enlarge

Click to Enlarge

We’ve already configured MQTT in ESPurna web interface, and from the screenshot above,we can see that “Sonoff POW Switch” Idx is 3, a value we need to update in the DOMOTICZ section of ESPurna web interface.

Now I can go Domoticz interface in my phone, and not my computer since my office’s Ethernet switch will be turned off, click on the Switch tab, and turn on and off Sonoff POW by clicking on the lightbulb as shown below.

Click to Enlarge

It works fine, however note that the initial switch status was wrong (off instead on on), despite the switch sending regular updates to the MQTT server.

NanoPi NEO Power Adjustments and Installation

Normally, at this stage, it should be easy simply install NanoPi NEO outside the office close to my router in the living room. But I’ve come across a few issues doing so, which I’m going to report.

First I decided to make a very short Ethernet cable to connect NanoPi NEO directly to my router. I have done a couple of Ethernet cables in the past a few meters long, and they all work. I tested my ultra short straight Ethernet cable connections with a multimeter, and the 8 wires were properly connected, however, when I connected NanoPi NEO to the router with that cable it failed to get a link. Maybe there was aonther issue with the cable, so I made another one just as short… Another fail. It turns out very short Ethernet cables may cause issues, which are normally solved by twister pairs, but with such short cables the length of the twisted pairs is also extremely short, maybe 2 to 3 cm which may not be sufficient. So I ended up using a “normal” 1.5 meter cable, not as neat but it works.

The power strip close to my router was full, and since I did not want to add another, I decided to use the spare USB port on my modem router in order to power NanoPi NEO board. A USB 2.0 port can only deliver 2.5W max, so I was clearly looking for problems here. In order to avoid an issues, I made use of h3consumption script to adjust the behavior of CPU cores and disable unused peripherals.

Let’s check NanoPi NEO current settings in a terminal:

h3consumption allows us to change the following settings:

So I decided to disable USB, and use two CPU cores at most in order to limit the board’s power consumption, and avoid random reboots:

The changes were properly applied after a reboot.

I powered the board with my modem router, and could use it without issue. I’ll monitor NanoPi NEO’s uptime to check if this works.

How to Install Domoticz Home Automation System in NanoPi NEO and Other ARM Linux Boards

January 19th, 2017 7 comments

I’ve recently started experimenting with IoT projects, and the first hurdle is to select the hardware and software for your projects are there are simply so many options. For the hardware your first have to choose the communication protocols for your sensors and actuators, and if you are going to go with WiFi, ESP8266 is the obvious solution, used together with your favorite low cost Linux development board such as Raspberry Pi or Orange Pi to run some IoT server software locally or leveraging the cloud. But the most difficult & confusing part for me was to select the server software / cloud services as there are just so many options. I prefer having a local server than something running only in the cloud, as my Internet goes a few hours a month, so I started with a solution combining ThingSpeak with MQTT gathering data from Sonoff power switches running ESPurna firmware and vThings CO2 monitor. This works OK, but while ThingSpeak.com cloud service is continuously update, its open source version has not been updated since mid 2015. Among the many service and software framework available, one seems to have come more often than other, is supported by vThings air monitoring platforms, and recently been added to ESPurna. I’m talking about Domoticz described as:

a Home Automation system that lets you monitor and configure various device like lights, switches, various sensors/meters like temperature, rain, wind, UV, Electra, gas, water and much more. Notifications/Alerts can be sent to any mobile device.

The system can run on Linux, Mac OS, Windows on x86 platform, but also on 32-bit and 64-bit ARM Linux boards such as Raspberry Pi and Cubieboard with just 256MB memory recommended, and 200MB free hard disk space. It can also generate charts from the data like the ones below.

Click to Enlarge

On top of that, the forums appear to be very active, and the last stable version was released in November 2016, and the last beta release yesterday according the download page.

I’m going to take it slow, so today I’ve just tried to install it on NanoPi NEO since it’s compact and runs Linux. However, it does not appear to be officially supported by Domoticz, so we’ll have to see whether it’s possible to install it on the board.

Domoticz is not a Linux distributions but a framework, so first we need to install a Linux distributions on the board, and the obvious choice for NanoPi NEO is to use the latest Armbian release either Debian Jessie or Ubuntu Xenial.

I downloaded Debian, extracted the image, and flashed it to a micro SD card on a Ubuntu computer:

Replace /dev/sdX with your own SD card device, which you can find with lsblk command.  If you are a Windows user, you can flash the firmware like you’d do for a Raspberry Pi using Win32DiskImager after uncompress Armbian firmware.

Now we can insert the micro SD card into the board, and connect the power to start the board. If you have not connected the serial console to your board, please be patient for the first boot as the system may take around 3 to 4 minutes to boot before you can login to it, as it expands the micro SD card to full capacity, and creates a 128MB emergency SWAP file.

Once it’s done we can login through the serial console or SSH using root / 1234 credentials. The first time, you’ll be asked to go through the first setup, changing the root password, and creating a new user with sudo privileges.

So now that we have Linux running on the board, and after login again as the new user, we can follow the instructions for Raspberry Pi board and other ARM boards to install domoticz with a single command line that works on systems running Debian/Ubuntu:

After a minute or two, as the system update the packages, and download domoticz, the setup wizard should start.

At some points we’ll need a fixed IP address, either by configuring Linux with static IP, or setting a permanent IP linked to the board MAC address in the router. The second option is usually my favorite option. Nevertheless, let’s click on OK to proceed.

You’ll be asked whether you want to enabled HTTP or/and HTTPS access. I selected both for now, but it’s probably a good idea to only select HTTPS for better security.Next is the HTTP port number set to 8080 by default, followed by the HTTPS port number to 443 by default (no screenshot), and finally the installation folder which defaults to ~/domoticz. You should now have reached the Installation Complete! window, and you can click Ok to exit the installation wizard.
Wow.. That was easy, and no errors. But does it work? Let’s access https://192.168.0.110:443 from a web browser.

We have a “Your Connection is not secure” error, but it’s expected as Domoticz simply generated a self-certificate, you can safely add exception to your browser to avoid this issue next time. Your data will still be encrypted, but if you plan to access your Domoticz setup from the Internet, you should probably install an other certificate using Let’s Encrypt certificate authority for example.
Once we have added an exception to the web browser we can indeed access Domoticz web interface, so the installation worked, but it will only show “No favorite devices defined…” Again that’s normal, because we need to configure it for example by clicking on the Hardware link.

Adding Hardware to Domoticz – Click to Enlarge

This will allow you to configure the system with MQTT, local I2C sensors, all sort of gateways, and even Kodi Media Center.  I’m pretty sure all devices working over the network or USB should work, but things like “Local I2C Sensors” which may be connected directly to the board may or may not work. Anyway, that looks promising, but I’ll stop here for today, as I have a lot more to study before going further, including upgrading Sonoff firmware, and configuring vThings CO2 monitor for Domoticz.

$10 RTLDuino is an Arduino Compatible WiFi IoT Board based on Realtek RTL8710AF WiSoC

January 4th, 2017 1 comment

Last summer, we discovered a cheap RTL8710AF WiFi module with many of the same function as ESP8266, but with an ARM Cortex M3 core instead. The only problem is that it was not quite as easy to play with as ESP8266 boards, as at the time I started by playing with AT commands with B&T RTL00 RTL8710AF module, and later on, I got a more convenient PADI IoT Stamp with breakout board, but if you wanted to change the firmware you had to play with the SDK and a J-Link SWD debugger. Realtek RTL8710AF did not offer the convenience of Arduino IDE program like its big brother “RTL8195AM” from the same Ameba family. I know mbed is being worked on, but in the meantime things have changed for the better, as kissste informed me that RtlDuino implementation added Arduino support to RTL8710AF and RTL8711AM modules, and an NodeMCU-like board with the same name was also sold for less than $10 including shipping.

rtlduinoRTLduino board specifications:

  • WiSoC – Realtek RTL8710AF ARM Cortex-M3 micro-controller @ 83 MHz
  • Connectivity – 802.11 b/g/n WiFi
  • USB – 1x micro USB port for programming and power
  • Expansion – 2x 16-pin breadboard friendly headers with GPIOs, UART, SPI, I2C, PWM, I2S, power signals….
  • Misc – Reset and test button, RGB LED
  • Power Supply – 5V via micro USB port or Vin pin
  • Dimensions – 49 x 24.5 mm (same as NodeMCU)

As you can see from the picture above,the board is actually based on the B&T RTL-00 module I previously tested. This is obviously quite easier to use since you don’t need to solder any cables to connect a USB to TTL board since RTLduino is equipped with CH340g and a micro USB port.

rtlduino-board-rtl8710af

The Aliexpress page has some claims about 5 function that accordingly to kissste are not quite all correct:

  1. Function 1 – “Mbed debugging mode” over micro USB cable -> you won’t get – this is a different board (at least for now)
  2. Function 2 – “JTAG debugging mode” over micro USB cable -> you won’t get – this is a different board
  3. Function 3 – “Simple & fast by OTA to upgrade debugging” -> you will get partially – no debugging, but you can OTA upload new sketch
  4. Function 4 – “Serial data directly to the network transceiver function” (serial console via UART) -> OK
  5. Function 5 – “Smartconfig mode” -> yes, will work – OTA upload new sketch

If you want to do debugging, I understand you’ll still need a JTAG or SWD programmer. If you want to get started with Arduino on the board:

  • Install Arduino IDE and Ameba SDK
  • Go to Arduino IDE installation directory
  • Clone github.com/pvvx/RtlDuino into hardware/development/rtl87xx directory
  • Restart Arduino

I could not find anything in English where other people tested the implementation, but you’ll find a forum thread (in Russian) on esp8622.ru, and other person mentioned the project on hackaday.io, but has not reported on details about it yet.

Beside Aliexpress, RTLduino board can also be found on ICStation for $9.99, and Amazon US for $10.99.

Ten Most Popular Posts of 2016 on CNX Software and Some Stats

December 31st, 2016 13 comments

The last day of the year is a good time to look back at what the year brought us, and I have to say it has been a fun and interesting year on CNX Software. The TV boxes news cycle has been dominated by Amlogic products, but most products have now switched to 64-bit ARM SoC, with 4K and HDMI 2.0 support, and price have kept going down, so you can now get a 4K TV box for as low as $20, although many people will prefer spending a bit more for extra memory and support. Intel based Bay Trail & Cherry Trail mini PCs have continued to be released with Windows, and in some cases Ubuntu, but the excitement seems to have died off a bit, maybe with the expectation of upcoming Apollo Lake mini PCs that should be more powerful. The year have been especially fruitful in the IoT space with a dramatic reduction in costs and sizes from ESP8266 boards to GPS modules and microwave radar modules, and we’ve also seen LPWAN modules & boards, mostly based on LoRa, but also Sigfox, being brought to market, as well as an alternative to ESP8266 with Realtek RTL8710AF, and of course the launch of Espressif ESP32 SoC with WiFi and Bluetooth LE. We’ve also been spoiled with development boards this year with the launch of 64-bit boards such as Raspberry Pi 3, ODROID-C2, and Pine A64+, as well as more dirt cheap Orange Pi boards, joined by NanoPi boards later in the year, and made all the more useful thanks to armbian community.

I’ve compiled a list of the most popular posts of 2016 using the page views count from Google Analytics:

  1. Amlogic S905 vs S812 Benchmarks Comparison (January 2016) – Amlogic S905 was probably the most popular SoC for TV boxes in 2016, thanks to a decent set of features, and aggressive pricing from manufacturers. So people wanted to find out if it was worth upgrading from S812 to S905, or maybe had to decide between purchasing a S905 or S812 TV box.
  2. Raspberry Pi 3, ODROID-C2 and Pine A64+ Development Boards Comparison (February 2016) – 2016 was also the year of cheap 64-bit development board with the launch of Raspberry Pi 3, ODROID-C2 and Pine A64+ boards, more or less at the same time, so again people want have wanted to look at which one to buy through this comparison.
  3. This is What a 16 Raspberry Pi Zero Cluster Board Looks Like (January 2016) – What can generated more buzz than the Raspberry Pi Zero? A cluster of Raspberry Pi Zero boards, as this post went viral the day after being posted. There was some talk about a crowdfunding campaign at one point, but it never happened.
  4. Review of K1 Plus Android TV Box with Combo DVB-S2/DVB-T2 Tuner (February 2016) – My review of K1 PLus T2 S2 might not be the most viewed post on CNX Software, but it sure generated a lot of comments, as while the product offers a unique combination of DVB-T2 and DVB-S2 tuners in an Android TV box at an attractive price, the documentation and software may need some improvements. Unofficial OpenELEC firmware images later surfaced from the community.
  5. How to Change Language to English and Install Apps Remotely on Xiaomi Mi Box 3 Enhanced (April 2016) – Xiaomi Mi Box 3 Enhanced is probably the most powerful TV box that can easily be purchased worldwide, but the caveat is that it has only been designed for the Chinese market. That post explains how to work around that limitation.
  6. Amlogic S905 vs Amlogic S912 Benchmarks Comparison (September 2016) – Quad core vs octa core, yeah twice the performance! Well not quite, but people were still curious to find out how the latest octa-core Amlogic S912 SoC would perform against Amlogic S905, and the truth is that the performance difference is rather minor, except for 3D graphics.
  7. NEXBOX A95X (Amlogic S905X) TV Box Review – Part 2: Android 6.0 and Kodi 16.1 (August 2016) – NEXBOX A95X was one of the first TV boxes based on Amlogic S905X processor, and my second review. The device is tiny an relatively cheap, so the review attracted some eyeballs.
  8. Mini M8S II TV Box (Amlogic S905X) Review – Part 2: Android 6.0 Firmware (July 2016) – My first review of an Amlogic S905X TV box nearly had the same number of views as NEXBOX A95X post, and many of the same features, just in a different package.
  9. Getting Started with Wemos D1 mini ESP8266 Board, DHT & Relay Shield (March 2016) – Wemos D1 mini is a great little ESP8266 board. It’s small, cheap ($4), and easy to use. The optional shields, just as cheap, make it a very attractive option for your IoT projects. Other people noticed it too, and then visited my review to get started.
  10. Raspberry Pi 3 Model B Board Features a 64-Bit ARM Processor, Adds WiFi and Bluetooth Connectivity (February 2016) – The last post is the list if a Raspberry Pi 3 leak just one day before the actual announcement.

Stats

Traffic has been rather steady in 2016 over the months.

cnx-software-traffic-2016The blog got around 9.8 millions pageviews in 2016 compared to about 7.2 millions pageviews in 2015, a 36% growth in traffic that was likely helped by my not going on a 3 months trip this year…

“openwrt” and scoop.it, respectively the top keyword and referral in 2015, were replaced by “amlogic s912” and Facebook in 2016.  Google Analytics only shows the last three months for keywords, and the full year for referrals, with referrals excluding search engines such as Google where CNX Software gets most of its traffic.

Top 10 Keywords Top 10 Referrals
amlogic s912 facebook.com
rk3399 flipboard.com
s905 vs s905x scoop.it
s905x vs s912 t.co
mxq box m.facebook.com
amlogic s905 4pda.ru
orange pi vs raspberry pi com.google.android.googlequicksearchbox
s905 vs s912 duckduckgo.com
s912 vs s905x plus.google.com
amlogic freaktab.com

The visitor mix of the blog per country as not changed much, with the top 10 countries of 2015 still there in 2016, and the top five order unchanged with United States, United Kingdom, Germany, Canada, and France.

cnx-software-visitors-2016London still hold the top city spot, but Hong Kong and Moscow dropped of the list to be replaced by New York and Melbourne.

cnx-software-2016-browser-operating-systems

Windows is still the main operating system of CNX Software visitors, but its share, as well as the share of other desktop operating ssystems including Linux and “Macintosh”, keeps dropping, while Android and iOS are having a stronger and stronger presence. In the “browser war”, Chrome lead extended further from 52.93% in 2015 to 59.41% in 2016, and Firefox dropping from 23.54% to 18.90%. Microsoft Edge probably had the best growth going from 0.56% last year to 1.86% this year.

Some of the 2016 review samples and I wish all my readers a very happy, prosperous, and healthy new year 2017.

Click to Enlarge

Click to Enlarge