Archive

Author Archive

Karl’s Home Automation Project – Part 4: MQTT Bridge Updated to Use YS-IRTM IR Receiver & Transmitter with NodeMCU

April 20th, 2017 1 comment

In a previous article, I wrote about an MQTT bridge by 1technophile. I added a DHT temperature and humidity sensor as well as a light sensor. Previously it included a software decoder to decode the IR signal. I never did test the IR transmitter on the gateway, as I didn’t have the parts. But thanks to IC Station, who sent me over a small YS-IRTM hardware based decoder and NodeMCU that I am writing about today. I have replaced the software based version with the YS-IRTM module in the latest update.

Click to Enlarge

Click to Enlarge

I found this project challenging. I admit I am a little weak in my programming skills. It was difficult to find documentation but I found a forum talking about this device and basics of how it works. When an IR code is recognized it sends 3 hex codes via serial connection on the transmit pin. To transmit, it expects 5 hex codes: A1,F1,xx,xx,xx. A1,F1 tells it to send the following codes. You can also set the baud rate but I left default 9600.

It is simple wiring wise. It only takes 4 dupont wires. It took a bit of coding to get it working but I finally got it to communicate via software serial. I started on a Arduino Uno with the code and then migrated it over to the ESP8266 board. I did have a little trouble when I first moved to the ESP board. I initially thought I might need a level shifter but that didn’t help. I am a little surprised I didn’t need a level shifter because the ESP needs only 3.3 volts. I was getting some weird responses and finally figured out I had to put in a slight delay. Maybe the ESP’s speed comes into play.

The way to use this is fill out your SSID and password and your MQTT server with credentials. Flash the device. You will need to add the necessary libraries. 1technophile has good documentation in his wiki.

Once flashed and ready to find your IR codes you will need to subscribe to the topics with the Windows command below. Give the gateway a moment to connect and point your IR remote at the sensor and press a button to find out code.

In your window, you will get something like this “home/sensors/ir 4,fb,8,” which is my power button for my TV. To test the code:

With this code, the TV will toggle on and off.

Click to Enlarge

After this you can use your favorite home automation project and control your IR devices with automations. You can omit any sensors that you don’t need. You will get some erroneous MQTT data if not all sensors are used. Below are the bits of Arduino code added for the IR module, and here’s the link to the github code:

I plan on 3D printing an enclosure with CR-10 I am reviewing, and I will remove the IR LED, and move it to a more suitable position, as both facing the same way isn’t ideal for my setup.

I would like to thank IC Station for sending the NodeMCU ($5.81 shipped) and IR transmitter and receiver ($3.39 shipped) for review. You can get 15% discount with coupon Karics. I finally have a complete gateway.

Creality CR-10 3D Printer Review – Part 1: Unboxing, Setup, and First Prints

April 4th, 2017 8 comments

Today we are going to take a first look at the Creality CR-10 3D printer. This is a multipart series with the first part being unboxing and initial setup. I have no experience with 3D printing, and when I found out I would be doing this review I was ecstatic. It took a while to get shipped because of the wild popularity at Gearbest. I believe supply has caught up with demand. While waiting I read as much as I could about 3D printing. and I am glad I did.

Creality CR-10 3D Printer Specifications

  • 300 x 300 x 400mm build volume
  • Nozzle diameter: 0.4mm
  • Memory card offline print: SD card
  • Prints up to 80mm/s (but slower is better)
  • File format: G-code, JPG, OBJ, STL (I have only done g-code)
  • 1.75mm
  • Software – Cura; octoprint compatible

CR-10 3D Printer Unboxing and Setup

Click to Enlarge

Click to Enlarge

Click to Enlarge

I had the CR-10 assembled and printing in about an hour. I had a completed successful cat a couple hours later. There is one file of a cat on the sdcard pre-sliced. It was just a handful of bolts and some electrical connections. I read a couple other reviews and some beds were loose and wobbly. I didn’t have that issue. I did go over and tighten them after a week when I noticed a couple were not making good contact.The printed instructions were not complete but detailed instructions were on the sdcard. I loaded the assembly instructions on my cell phone and worked off of it. All the tools to work on the printer are included including some extra parts. Really the only thing I had to do is level the bed. To do this, I turned on the unit and told the printer to “autohome”. X and Y were good but Z wasn’t. Z was not triggering its limit switch, which I installed. I turned the controller off and adjusted the Z limit switch. Then told it to home again. In the settings, I disabled the stepper motors and took a regular sheet of paper and I leveled the bed. This is done by moving the print head around to the 4 corners and turning the thumb wheels until friction is felt. I went around 4 times to make sure it was level and I felt the same friction at each point.

I don’t have a good place to print that is ventilated. I do want to try abs so a warm ventilated box is necessary, so I built this box and is the final resting place for the CR-10.

Click to Enlarge

Inside the Control Box

It’s neat and orderly inside the control box. Wires seemed adequately sized. I read reviews of some lower cost printers not using proper gauge wire and rated connectors and wires charring. These pictures are after 2 weeks and I didn’t notice any visual indication of issues. There is also a mosfet included which was one of the upgrades on the more intense DIY kits.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

First prints on CR-10 3D Printer

The supplied cat already sliced and ready to print was perfect. The next night I loaded I wanted to get my kids involved so I pulled in Thingiverse. Thingiverse is a website where people upload 3D files that you can download for free. I had my kids each pick out something to print. Daughter picked out an owl. Son picked a pirate ship. So one print down I was confident to start slicing my own. Loaded latest Cura from their website, because it was newer than the one supplied on the SD card. Cura has profiles to tweak settings and I found a profile on the Facebook user group page. Loaded it sliced the owl first and started printing. It was looking good so I went to bed. The next morning I woke up to a mess. About a quarter of the way up broke loose, and first failed print. I didn’t think too much about it. Started again and it kept on coming loose. I tried new tape that was provided. No go. During my research I read hair spray works. It didn’t for me. Then I found a purple glue stick from kids stash which I read works. Boom stuck hard. Works the best and every time for me. I only use a very light and sticks very well. I also didn’t want to use hairspray because it is messy. I was afraid it would gum up the printer with over spray. I could take the bed off bet then have to level every time.

After getting sticking issue resolved I went on to print to print everything successfully​ with the supplied filament.

Click to Enlarge

Slicer

When you have a 3D object that you want to print it needs to be sliced. Slicing takes the 3D object and puts it in a file format the printer uses called Gcode. There are many slicers out there. The printer comes with an older version of Cura. I opted for a newer version to get more features. More features is better? There are a ton of tweaks you can change to adjust the print quality as well as dialing in filament. Not all filament is the same. I will go more in depth later.

Facebook Group

Although I wish it was a real forum I have found the CR-10 Facebook group helpful. I really recommend joining and reading through the posts. It helps to see what other people are doing. As of the last couple days, the firmware is starting to be modded to the latest. This is a really good sign. It’s a pretty large group with 1,800 members and overall I found it very helpful. It is kinda hard to tame all the variables in the slicers.

Final Thoughts

I have some red, black, and wood filament I have been printing with for a couple days now. I am sticking with small prints to gain confidence and conserve filament. I have run into some blobs and zits on the filament that I purchased. I will go more in depth when I find out how to overcome this. I will also go deeper into the slicer and settings and troubleshooting once I figure it out. I know it can print well with this white PLA provided. I feel like 3D printing is an art form and need to be able to tame these settings. I have been watching it print trying to become one with the printer.

So far I am really happy with the results. I am calling these prints with the white PLA perfect . The printer is extremely easy to use. Big build volume. Unlike some other kits where it takes 8-9 hours to put together and you have to print some modifications to print good quality prints. This one is pretty much plug and play so far.

I would like to thank GearBest for sending the CR-10 3D printer to review, and if you are interested in the printer you could purchase it from their website for $405.99 plus shipping. [Update: using coupon 3DCR10 will bring the price down to $401.99]

Categories: Hardware, Testing Tags: 3d printing, creality, review

Karl’s Home Automation Project – Part 3: Adding Light Detection to a Motion Sensor

March 27th, 2017 No comments

This is the 3rd part of my Home Automation light project. In the first part, I wrote about basic setup with basic Sonoff Wifi MQTT switches and setting them up. In the second one, we added some 433 MHz motion sensors and a 433 MHz to MQTT bridge. And finally in part 3, we are going to modify the 433 MHz motion sensors to only work when it is dark in the room.

Motion Sensor

Click to Enlarge

The motion sensor I linked in part 2 is run by a common chip called a BISS0001. We are interested in pin 9. If voltage is below .2v it will not trigger a motion. This solves the problem discussed in part 2, when we have a gloomy day or if blinds are closed etc.

By adding an GL5537 LDR (Light Dependent Resistor) shown as R3 in the diagram above, you will achieve the desired effect. Extend the LDR with some wires and solder between ground and pin 9.

The GL5537 is extremely sensitive. You can adjust your sensitivity by placement. I put mine right next to the PIR sensor so it sees outside the window. It works perfectly. If you wanted it to get a little darker you can use the mounting hole on the back or make a new on the top or sides. Direct access to the outside light would mean it would need to be darker in the room for it to trigger. You have to be careful with the motion sensor placement or your light being triggered might cause the motion sensor not to trigger because there is too much light. I get this if the motion sensor is too close to the lamps I am triggering.

Home Assistant

Before modifying we had 2 automations one for before sunrise and one for after sunset:

Now that we’ve added the logic for light and dark at the motion sensor itself, we can simplify these 2 down to one automation, and only specify the time. The rest of the home assistant configuration can be found in 2nd article here.

That is all I have for now. If you have an idea or a product that you feel that meets the cheap and DIY criteria leave a comment below. I will test it out. I know you can do a ton of things with Home Assistant and a lot seem over the top. I want to focus on mundane things like turning off lights. I am also going to get some 433 MHz moisture sensors for my house to place in crawl spaces, and under the sink but that is pretty basic.

Continue reading “Part 4: MQTT Bridge Updated to Use YS-IRTM IR Receiver & Transmitter with NodeMCU“.

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

Continue reading “Part 3: Adding Light Detection to a Motion Sensor“.

Karl’s Home Automation Project – Part 1: Home Assistant & YAML, MQTT, Sonoff, and Xmas Lights

February 27th, 2017 24 comments

Karl here. I am here to write about my home automation project. First thing I want to say is that I am very cost conscious and I don’t mind putting in extra effort into the setup of things to keep costs down. I did invest a lot of time and had to do a lot of reading to get my project going. It took while and I received a lot of groans from my wife while testing. I am still in the process of tweaking things.

I started watching a series of videos on YouTube from Bruh Automation. He introduced me to Home Assistant. It got me really excited. He uses a Raspberry Pi as a server but I already had a Wintel Pro CX-W8 Smart TV Box which I use as a server. I run 3 Minecraft Servers, Emby Server, iSpyConnect DVR (2 IP Cameras), Unifi wifi controller, and now MQTT Server, and Home Assistant. Below is screenshot of mostly idle.

If it weren’t for iSpy it would be around 5-10% most of the time. Emby transcoding is the only thing that is stressful and it is not used much. The reason I mention this is because after purchasing a Raspberry Pi with power supply and case, you are not far off from getting a z8300 box. Only downfall is dreaded Windows update auto reboot. I finally looked into it and disabled it. If you decide to use a Windows box, I would make sure you are running 64bit windows. One advantage to using a Raspberry Pi is there is an image on Home assistant with the basics pre-configured and just need to write it to an SD card.

Server side Setup

I won’t go into too much detail on server side, as I installed Python, Mosquitto, and Home Assitant (I followed the guide on their site for Windows)

Python was a breeze to install and just ran the executable and went with defaults. I already had it installed for something else and I am running 3.5.2 64-bit. There are newer versions now. Mosquitto was the most difficult. I followed this guide but substituted Win32OpenSSL_Light-1_0_2j.exe approx 2MB. A k version is available now. Home assistant was easy and used pip.

Christmas Lights

It was a little before Christmas when I started researching home automation. I had been reading about these inexpensive Sonoff devices here on CNX and I found a project on Github for some custom firmware by arendst that enabled them to be controlled by MQTT. (While getting the link it looks like a new project has started with some additional features here). My wife really likes decorating for Xmas and we have 3 trees and lots of lights. She mentioned getting some timers and boom I had my opportunity and ordered them the same night. After receiving It took me a couple nights and I had a simple automation turning Xmas lights on and off at specific times and life was good. I got an extra one to play with until Xmas was over. I redeployed the rest  around the house after Xmas.

MQTT

I really had no idea what this was and it took me a while to grasp. You can use a cloud based MQTT if you would like, but I prefer to run my own. MQTT is a service that relays messages between devices. There are 2 main items topics and payloads. To be able to tell a switch to turn on you send payload “on” to a topic, for example, “cmnd/testbench/power”. The light turns on and it replys back to a topic “stat/testbench/POWER” confirming that the light is on and the message is received. Because we are sending “on” to the topic each device using MQTT will need its own topic. Topics are case sensitive. I made a batch file to subscribe to all topics for troubleshooting so I could monitor the messages. The # indicates all sub topics.

Sonoff

I picked the Sonoff basic but there are also different varieties that add additional features which are supported by arendst software.

Arendst  has been very active with this project and adding/tweaking daily. When I first flashed the device, I did find a defect and notified him and he had it fixed and uploaded within the hour. He has very detailed instructions on the Wiki. First step before flashing is soldering headers. (I link to bent headers…which I initially thought I made a mistake but turned out it was good. They are easy to straighten) A USB to TTL adapter is also needed to upload from Arduino IDE. I recommend one like this because it provides both 3.3 and 5V.  After downloading and setting Arduino up, I only set my WiFi password and SSID in the sketch. After it boots the first time, it connects to your wireless network. Find the IP address in your router, and pop the IP address in your browser to finish the configuration. Set the MQTT server credentials and topic and your done. I never setup credentials on the MQTT server so it accepts any login. Finally after everything is programmed you need to connect it to mains. Beware do not connect mains while TTL is connected.  I bought some extension cords locally. Cut them in half and stripped back a ¼ inch of the insulation. Extension cords use stranded wire so I tinned them with solder to avoid any stray strands from shorting out. Then I screwed them down on the terminals making sure polarity was correct.

Click to Enlarge

YAML

YAML is unforgiving. It is the formatting that you configure Home Assistant in. A single space will stop Home Assistant from starting. Luckily on this last update if you restart Home Assistant through the browser it will test the configuration file before actually restarting. I purposefully put an extra space on line 54 to show it is easy to find any mistakes.

Click to Enlarge

I also recommend Notepad++ for editing in windows. You can break your configuration down into different files but I like one. Notepad ++ allows you to collapse the parts you aren’t currently working on.

I recommend adding one thing at a time and restarting to make it easier to find errors. And making a copy of the last working config before adding more. In the config below there are 5 sonoff’s and an automation to turn the lights on and off at specific times. This is extremely basic. I also recommend setting up one new device and be conscious of naming. When you get your config working properly on your first new device I copy the config to a new blank text window and do a find/replace.

Below is the screen capture of collapsed parts, and and full config (minus personal info).

Notice the test bench is on later firmware and the MQTT topic is slightly different

Next Steps

So now I have a smart home, right? Not in my opinion. I can turn lights on and off with a schedule or with my smart phone or at the light by pressing the button on the Sonoff. To me this is not smart. Setting a schedule is OK, but then you have the lights on unnecessarily and wasting electricity. Only real option is to press a button on the Sonoff but what difference is that than flipping a switch. Taking your phone out takes way too long, and I feel like it is going backwards. Below are estimated costs so far. By far the Windows Box will be the most expensive part if you choose to go that way. You can re-purpose just about anything that runs Linux to be a server. One other option is to run Linux on an S905x.

Money Spent

Cost of server not included nor shipping.

Item Qty Price Total
Sonoff Basic 5 $4.85 $24.25
Headers 1 $1.50 $1.50
USB to TTL 1 $2.54 $2.54
Total $28.29

If you find this entertaining or want me to go more in depth on a specific aspect let me know in the comments. I have been finding my time setting it up very satisfying. I am able to do some hardware and software work. I hope this might get your interest in home automation going, and find out it is not hard nor expensive. I would like to state none of the products linked were provided by the sites. I purchased with my own money.

The plan right now is to do a 3 part post. In the next post, we will integrate some inexpensive motion sensors and door sensors using 433mhz, then finally modifying the sensors to include a light intensity sensor.

Continue reading “Part 2: 433 MHz / WiFi MQTT Bridge, Door & PIR Motion Sensors“.

Xiaomi Mi Box (US) Android TV TV Box Review

February 12th, 2017 27 comments

Introduction

The Mi Box is the first Xiaomi product I have used. I received it beginning of December and have been using it regularly since then. I have received 3 updates which went through uneventfully. I was very pleased with this box. I ended up getting one for my in-laws and one for my 4 year old sons bedroom. The UI worked as expected. I have an Nvidia Shield Android TV, and the Mi Box complements it very well. Having Plex Server running on the Shield and Plex on the Mi Box is pretty fantastic to easily share content. Not to mention way more cost effective than putting a Shield in every room.

What’s Inside

Click to Enlarge

The build quality is good. The power supply puts out 5.2v which is not typical.

I do wish it had more USB ports. A single USB is inadequate. I found myself swapping USB out frequently during testing. There is optical audio and it has the round form factor. Luckily the cable I had had the adapter attached to the end, and it worked fine. No Ethernet adapter is present either.

Click to Enlarge

Teardown Photos

Click to Enlarge

Click to Enlarge

Android TV UI

For anyone unfamiliar with Android TV UI I took a few screen shots. Across the top in the first screen capture a recently used/suggestion line appears. The top line will update based on your usage games, TV shows, YouTube, news etc.

Click to Enlarge

 

Not all apps populate this. HBO GO, Plex, Netflix, do update. Immediately below there is a MI Box Recommends section which is static.

Click to Enlarge

I was able to disable it under setting > apps to unclutter the main screen. These screenshots were taken when I first plugged in the box. I personally like the UI of Android TV and appreciate that Google ensures all apps to work with remotes and a mouse/touchpad is not necessary.

 

Click to Enlarge

Casting

Another thing that I was forced to use because DirecTV Now does not have an Android TV app yet, is the casting feature. I had it on the Shield but never really used it. Between casting my screen from my phone to most video apps I found it very easy to use. My son will navigate YouTube Kids on his tablet and cast to the TV. This is a feature you won’t find on most android boxes and I found it very convenient and easy to use.

Voice Search

During my usage and showing my son how to use the voice search I grew to like it a lot. Voice searching that is able to return YouTube, Netflix and other video apps is really convenient. My son is 4 and doesn’t speak very clearly yet but it does a good job of recognizing his voice allowing him to find the video’s he wants. (minecraft, lego, minecraft, lego, minecraft, lego) 🙂

Passthrough and Auto Framerate

I spent many many hours trying to find a good combination in Kodi/SPMC/TVMC/FTMC and couldn’t get it to work consistently. DTS only worked for me. I hope they resolve this with software in the future.

Benchmarks/Testing

This is not really fair but I performed a side by side comparison of 3DMark: Xiaomi Mi Box vs Nvidia Shield. I thought it would be interesting to see. Fear not, the Mi Box does well with light gaming. I had no problems playing games that didn’t require a controller.

Click to Enlarge

WiFi is fair at about 15Mbps on my busy Unifi 2.4 GHz network. I also have a 5GHz N built into my router and strictly using it for testing. I was able to get about 30 Mbps throughput. I still prefer a wired connection when possible and was able to use a USB to Ethernet adapter on the MI Box. I moved 2 files below one on 2.4ghz and one on 5ghz. I don’t have an AC network to test.

Click to Enlarge

I ran a few other tests and info apps below.

Widevine Level 1 Supported – Click to Enlarge

36,151 points in Antutu – Click to Enlarge

Amlogic @ 2.02 GHz – Click to Enlarge

MIBOX3 board name: once – Click to Enlarge

While reviewing

So not all apps are available due to the restrictions of Android TV and Google necessitating the apps be remote friendly. But you might run into a situation where you want to side load. If you have a air mouse or some other hid device connected it’s not a big deal. In order for to launch them in the past you loaded sideload launcher from the play store, It allows you to see all apps regardless if they are Android TV optimized. It works and is pretty easy. While reviewing I ran across a pretty neat app. TV App Repo. It makes sideloading even better.  What it does is create a small app that is basically a shortcut to your side loaded non Android TV app. Now all the apps can be launched from main screen without navigating to the sideload launcher sub menu. It worked on the few I tested. On the community addition, there are a few apps that it hosts one of which was Amazon Prime video. But I didn’t have luck getting videos to play other than trailers.

Final Thoughts

I wasn’t going to perform any benchmarking on this box. I don’t think that it is relevant. But I knew it would be crucified. This box was in my opinion built to consume media and I think it does it very well. All the streaming media apps worked great. The only drawback is that HDMI passthrough and auto framerate switching did not work consistently enough in Kodi or Plex. Streaming from HDHomerun works well even over WiFi. Amazon Prime Video is missing from this box. I did try some other methods to watch and only was able to cast from a web browser successfully.

During testing I didn’t use Kodi much and stuck with the main streaming apps that are optimized for Android TV. I hope Koying, the maintainer of SPMC, a fork of Kodi, brings some love to the Mi Box in the near future or even the Kodi team.

If you’re not an audiophile this will make a great box to stream with and hopefully save some money. If you are an Audiophile the Mi Box complements the Nvidia shield on other TV’s where surrounds sound doesn’t matter.

I would like to thank Gearbest for sending a review sample and their patience while I reviewed it. I really like to use the products for a while and get a good feel for them. If you are thinking about getting a Mi Box, it helps CNX by clicking & purchasing through this link.

YokaTV KB2 Review – Amlogic S912 TV Box with 32 GB Flash

December 15th, 2016 16 comments

CNXSoft: This is another review by Karl about Amlogic S912 based YokaTV KB2 TV box.

Introduction

Today we will be looking at Videostrong YokaTV KB2. Below are the specs from Videostrong website.

yokatv-kb2-specifications

This is my first S912 device so I had high expectation. I have been using it for quite some time now with no major issues. I received approximately 6 OTA updates since I started testing and some welcome updates have come.

yokatv-kb2-package

yokatv-kb2-remote-control-power-supply

Click to Enlarge

Click to Enlarge

Build

When I receive a box first thing I do is take it apart and check out the inside. I was excited when I found out it had 32 gig of storage. It is not too common.

yokatv-kb2-bottom-case

Click to Enlarge

Click to Enlarge

Then when I opened the box I was really happy to see an antenna that wasn’t soldered on. Makes it easy to add a different one. +1 for KB2. Then I noticed the heat sink. It seemed a little small. I was right, it runs warm.

Click to Enalrge

Click to Enlarge

Simple Mod

First thing to do: get this baby running cooler. When stressing the box, the temperature got over 80+°C a couple times. It ran between 70 and 75 °C on average before the mod. The case is mostly plastic except the bottom cover. Bingo! A couple squares of 5mm thermal pads between the board and the bottom of the case and thermal issues are gone.

yokatv-kb2-thermal-hack

I started SetCPU and ran the built-in stress test, it tops out around 72 °C, and quickly cools after stopping the test. I put a square approximately where the CPU is and while I had it open, where the memory is although I don’t think it is necessary. After the mod, the box runs about 60 deg Celsius.

Antutu

For this test I use SetCPU to set the Min and Max frequency for the CPU to 1.5 GHz which is the max for this processor. It will give the best score.

yokatv-kb2-antutu

Network Test

I am not sure why my WiFi was slow on the tests below. I don’t have an AC access point yet. The best I have is N, maybe that is the cause. Some friends over on Freaktab are getting some really good speeds on AC with this box. I might have damaged something when I opened the box.

Below are the results but take them with a grain of salt. I do a simple file transfer test of a large movie with optimum conditions for WiFi then one in more real world scenario.  

5ghz 3ft from NAS to internal SD

kb2-5ghz-wifi-nas-to-flash

2.4ghz 3ft from NAS to internal SD

kb2-2-4ghz-wifi-nas-to-flash

Gigabit Ethernet from NAS to internal SD (This is as fast as my NAS can transfer)

kb2-gbe-nas-to-flash

Next is more real world where AP’s have more obstruction.

5ghz 30ft from NAS to internal SD

kb2-5ghz-wifi-nas-to-flash-30feet2.4ghz 30ft from NAS to internal SD

kb2-2-4ghz-wifi-nas-to-flash-30feetSome More Benchmarks and Info

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Apps

I’ve used several apps and only Netflix and Direct Now had some issues:

  • Sling TV
  • Netflix (SD) – Stopped working after updating the app
  • Kodi
  • Chrome – Chrome works really well. I open a bunch of heavy URL’s and it performs excellent. Nothing scientific here. Go to several sites that I visit daily and I felt no lag.
  • Plex
  • Emby
  • HDHomeRun
  • Crackle
  • DirectTV Now – Worked with some hacking
  • Player-MediaCenter App – I will admit it has been a while since I tested out this app. It acts as a DLNA receiver and Airplay receiver. I didn’t have much luck in the past but I tested on my one Apple device the screen mirroring worked.

At some point Netflix stopped working. Keep getting few seconds of video then error 0013 “Sorry, we could not reach the Netflix service….” Not sure if it is Netflix update or box update that caused the issue. I went back and did some more testing to narrow the issue down. If I reverted back to the Netflix that came pre-installed I had no issue.

DirectTV Now is a new service in the US. With some persistence I was able to get it running. Video wasn’t perfect but neither was it on any devices I tested. It was surprising that it plays better on KB2 then Nvidia Shield. It is mostly watchable but stutters some. It is new so hopefully ATT will get this fixed soon. I had to do a couple things to get it working. After Googleing and a lot of experimenting I used 2 apps from play store: Hide My Root and Fake GPS. I also had to make 2 build.prop changes: ro.build.type=userdebug to ro.build.type=user and ro.build.tags=test-keys to ro.build.tags=release-keys. I tried on a couple different boxes after figuring this out and seems to work universally.

Remote Control

The remote is big but there is a built in app that is pretty convenient. There are 4 color coded buttons on the remote that you can customize to launch the apps that you want through an app on the box. There is also a dedicated app button that brings up a listing of all the apps. Everything else is pretty standard. You can also program the remote to turn your TV on and off through a learning feature. But alas I still prefer either an air mouse or touchpad with full keyboard.

yokatv-kb2-remote-control-configuration

Status Bar

Thank the gods…there is an option to turn the navigation buttons at the bottom of the screen off and on in Android settings…It is about a 50/50 split for people that like them and those that don’t. This was the first box that I have tested that gives the user an option.

Click to Enlarge

Click to Enlarge

Audio Passthrough

All the below tests worked. I set Android to SPDIF. I tested with latest SPMC 16.4.2 and Kodi 16.1. Turned on pass-through DTS and AC3 and all the videos below worked with no clipping. I have a 5.1 system. If I didn’t have the AC3 ticked I would get no audio on some. First box with 100% working that I have tested on stock firmware.

yokatv-kb2-kodi-audio-pass-through-settings audio-file-list-dts-dolby-truehd4K Video

4k testing went well. I was able to play all videos smoothly with one player or another that it was supposed to play. Below are the test results. This box does not play 4k H.264 video @ 60fps per sec, so stutter is expected. Kodi and derivatives play best with amcodec turned off. The box ships with Kodi 17 beta but since it is beta, it is not very stable. I uninstalled it, and tested with Kodi 16.1 from the Play Store instead. I am not sure why 4k 8bit H.265 works better with amcodec turned on. I found the same results on S905x boxes. For the testing, I wanted to find the best overall solution and that is Kodi with amcodec turned off.

Test File Name With Amcodec Without Amcodec MX Player
23.976fps (in MP4) GoPro Epic Russian Wingsuit in 4K good
24fps (in MP4) SPRING 4K (ULTRA HD) good
25fps (in MP4) Burj Khalifa Pinnacle BASE Jump – 4K good
29.970fps, 51Mbps (hdmkv’s iPhone 6S 4K clip) iphone6s_4k good
59.940fps (in MKV) samsung_seven_wonders_of_the_world_china_uhd-DWEU wont play stutter stutter
60fps (in MP4) COSTA RICA IN 4K 60fps (ULTRA HD) w Freefly Movi wont play good
H264, up to 30fps Sony_Alpha_7R_II_video-test-4K good
H264, 50-60fps linkin_park_ultra-hd wont play stutter stutter
H265 8bit, up to 30fps LG_4K_View-the-Feeling good stutter good
H265 10bit, up to 30fps Samsung_UHD_Dubai good
H265 10bit, 50-60fps Samsung_UHD_7Wonders_of_the_World_Italy good
UltraHD HDR 10bit HEVC, 24fps Exodus_UHD_HDR_Exodus_draft good
VP9 The Curvature of Earth 4K 60FPS good not as good best

Alternate Firmware

Super Celeron has put together a nice modification of the latest stock firmware from 11/23. He cleaned up the firmware and made some adjustments to boot to bring idle down to about 1% and got auto frame rate switch working. See full changelog.

So to get 100% working pass-through and auto frame rate switching after installing the firmware above, as well as SPMC version 16.5.2. Codec acceleration is a little muddy at times. 4K files work best with amcodec off, and anything less work best with amcodec on. Below are my settings.

yokatv-kb2-custom-firmware-automatic-frame-rate-switching yokatv-kb2-custom-firmware-audio-pass-through yokatv-kb2-custom-firmware-video-codecsConclusion

I had this box for a while now and used it as my main box and it has performed really well. Consistent updates from Videostrong is much needed in the box world. I hope it continues. Gigabit Ethernet performed really well. Pass-through working 100% is fantastic and will make a lot of people happy. Video support in Kodi is really good. VP9 support is not 100% but MX player gives everyone an option if they have movies in that format.

I would like to thank Videostrong for sending a review sample. YokaTV KB2 can be purchased on Gearbest, Geekbuying, and Aliexpress for about $68.

Tanix TX5 Pro TV Box Review – Part 2: Modding and Testing

August 29th, 2016 14 comments

Karl here with part 2 of Tanix TX5 Pro TV box. In the first part we peaked inside took a look at the specs and quick look at the UI. In part 2, we will get into the nitty gritty. When I first received the box there were several issues: Play Store incompatibility, issue with language reverting to Chinese, and green screen on YouTube. Tanix quickly followed up with an update and resolved these issues.

Stuck in my ways

So I have to admit that I am pretty stuck in my ways when it comes to the way I use Android. It started long ago with my first stick the MK808 with Rockchip Rk3066. It was basically the phone version of Android on the TV and I really liked it. We have come a long way since then and some changes have occurred in the box market UI, like the absence of the navigation bar and notification bar. It is split both ways some people dislike and some like it. I really like them so I usually do what I can to enable them. This box is no different. It doesn’t come with either. I feel it should be a setting that can be easily switched on and off but that is not the case right now. So here is where the fun begins. Over on Freaktab we put together a pretty nice mod of the original firmware and that is what I will base this review on. I am thankful to those guys that helped test and give feedback.

What we tweaked

We started with notification and navigation bars taken from the Mini M8S II. It took a while to dial that in and get all the kinks worked out. We changed over the root application to SuperSu from SuperUser because the root worked better for some applications. Cleaned out all the unnecessary apps, and Kodi build that loads on initial boot. Pass-through didn’t work with DTS and it clipped a lot. itsmeedoofer found a way to enable it by doing a small change on every boot. I tried to fix with a script but was unsuccessful and ended up writing a small app to fix on every boot. gtznutz got the last of the boxes up and working. We ended up getting it to work on Tanix TX5 Pro, MINI M8S II, Nexbox A5, Nexbox A95X (All models), and COOLEME MB1 with a few caveats. For example, the only box that the stock remote will turn the box on is the Tanix.

Apps

Working Not Working
Plex Quicksupport
Kodi
Netflix
Google Play Movies
Crackle
Chrome
YouTube(1080)

Kodi

Audio

Kodi works really well. After using the pass-through fix I could play every test audio file I had with digital audio passing through to my receiver over spdif. I had confirmation that it was the same with HDMI pass-through as well. Below are the test videos and formats. I did notice that Kodi didn’t always report the correct format but my receiver always showed a digital input with 5.1 channels.

Audio-HD_File_List

4K

I am keeping my testing to strictly Kodi because I had very good luck. I could play just about every test video that I have with Amcodec disabled. The Amlogic S905X does not supports h.264 60 fps above 1080p so those 2 are expected. For the remaining, I Installed MX Player and added this playercorefactory to my userdata to play the rest. Playercorefactory is a file to allow you to use external players in Kodi. Just copy to the userdata directory. This makes it super easy to stay in Kodi’s interface and a realistic option and not have to jump around using different players for different files. I need to look at my VP9 test file…it might be corrupt. Every player had artifacts at the same point.

Test

File Name

Amcodec disabled

Amcodec Enabled

23.976fps (in MP4)

GoPro Epic Russian Wingsuit in 4K

Good

No Video

24fps (in MP4)

SPRING 4K (ULTRA HD)

Good

No Video

25fps (in MP4)

Burj Khalifa Pinnacle BASE Jump – 4K

Good

No Video

29.970fps, 51Mbps (hdmkv’s iPhone 6S 4K clip)

iphone6s_4k

Small Stutter at one point (MX Player Good)

No Video

59.940fps (in MKV)

samsung_seven_wonders_of_the_world_china_uhd-DWEU

Dropped frames

No Video

60fps (in MP4)

COSTA RICA IN 4K 60fps (ULTRA HD) w Freefly Movi

Good

No Video

H264, up to 30fps

Sony_Alpha_7R_II_video-test-4K

Good

No Video

H264, 50-60fps

linkin_park_ultra-hd

Dropped frames

Dropped frames

H265 8bit, up to 30fps

LG_4K_View-the-Feeling

Stutter

(MX Player Good)

Good

H265 10bit, up to 30fps

Samsung_UHD_Dubai

Good

Good

H265 10bit, 50-60fps

Samsung_UHD_7Wonders_of_the_World_Italy

Good

Good

VP9

Eye of the Storm 4K Ultra HD

Small Stutter and artifacts at one point

(MX Player Stutter and artifacts same point)

No Video

Wifi Test

Setup I have an Ubiquiti Unifi network setup (by the way this is a fantastic product) with 1 AP in my office and 1 AP at the other end of the house. I only have a 2.4GHz network. I performed 2 tests:

  1. Box within 6 feet of AP in office mounted in ceiling
  2. I go into my controller and reboot my office AP and force everything over to the other one and start the copy over. This second test is tough for any device. Lots of obstructions and about 50’ feet.

After the device peaks I took a screenshot.

Case 1

Case 1

Case 2

Case 2

Misc – Benchmarks, DRM Info, and Storage

Tanix TX5 Pro achieved 34,327 points in Antutu 6.x, a typical score for an Amlogic S905X TV box.

Click to Enlarge

Click to Enlarge

Vellamo 3.x results are also within the expect range.

Click to Enlarge

Click to Enlarge

The device supports Widewine Level 3 like most of its peers.

Click to Enlarge

Click to Enlarge

A single 11.40GB partitions is available for apps and data out of the 16GB flash, and external storage is also supported and convertible to device storage (feature of Android 6.0).

Tanix_Pro_TX5_Storage

Closing Random Thoughts

I really like this box after modding and could easily recommend it to anyone. I am really pleased with the UI with the switch to 6.0. Adaptive storage is great. Video playback is really good. Wifi was solid. There is still some work to be done on the video side. Let’s see if Tanix will post some updates.

Unfortunately, I only have a 1080p TV and an older receiver with a single SPDIF only. So I am not able to perform every test I would like. Maybe one day I will talk my wife into a new one.

Thank you GearBest for sending a review sample. You could consider purchase the device from them for $46.35 including shipping. Tanix TX5 Pro can also bought from eBay, GeekBuying, and Banggood among others.