Archive

Posts Tagged ‘review’

Raiscube Prusa I3 3D Printer Review – Part 1: Assembly, First Prints, and Configuration

May 26th, 2017 No comments

Karl here. Today we are going to start looking a Raiscube Prusa I3 3D printer kit sent for review by GearBest. It’s very similar to most low cost 3D printer kits with one exception. The parts cooler is not like any similar kits that I have seen. In my short time researching these kits the parts cooler is one of the first upgrades I see people do. Typically the parts coolers are inadequate or nonexistent. We will find out that it is actually too good. In this review we are first going to outline the basic components and a mini build guide. Then we will look and see how it prints.

Prusa I3 Desktop LCD 3D Printer Specs

Main Features:

  • Mainboard: Melzi V2.0
  • 210 x 210 x 210mm build volume
  • 12864 LCD screen shows your printing information directly and easy for you to manipulate
  • 8mm-thick laser cut acrylic frame for rigidity and long life
  • 3 cooling fans, strong air flow to enhance cooling performance
  • Hot bed temperature up to 120 Deg.C, great for ABS material
  • Click here to know the installation details

Specification:

  • Main board: Melzi V2.0
  • Build volume: 210 x 210 x 210mm
  • Filament diameter: 1.75mm
  • Z axis precision: 0.004mm, XY axis precision: 0.012mm
  • Printing precision: 0.1 – 0.2mm
  • Layer thickness: 0.1 – 0.4mm
  • Nozzle diameter: 0.4mm
  • Extruder temperature: 260 Deg.C ( max. )
  • Hot bed temperature: 120 Deg.C ( max. )
  • Printing format: STL, OBJ, G-code
  • Support system: Windows XP, Win7, Win 8, Linux, Mac
  • Support language: English, Chinese
  • The color of the 0.5kg PLA material we send is sent at random

3D Printer Basics

When putting a kit printer together it is really good to understand the basics on how they operate and the basic components. At the most fundamental level, plastic is heated up to a point where it is molten. Layer by layer, from the bottom up, the printer lays down the plastic to form the object. There are 3 directions X (left and right), Y (forward and back) and Z (up and down).

The basic motion pieces are:

  1. Stepper motors
  2. End stops
  3. Rods
  4. Belts
  5. Bearings
  6. Frame
  7. Hot end (This is melting chamber, cooling fans, etc)
  8. Build plate

On this style printer the hot end and nozzle ride on 2 rods in the X direction. It is moved right and left by a belt that runs between a stepper motor with gears on the shaft and a bearing on the opposite side. On the top X rod is an end stop. End stops are used so the printer knows where in a 3 dimensional space the end of the nozzle is. When a printer is first turned on, it doesn’t know exactly where the nozzle is. The home process that is ran before every print, gives the printer a point of reference for all axis. The Y axis is very similar to the X axis. Instead of the hot end the build plate moves from the front to the back. Again the stepper motor in the back moves the plate forward and back with a belt, gears, and a bearing. Finally the Z axis is controlled by 2 stepper motors that work together to move the hot end up and down. It is guided by 2 rods but instead of a belt a threaded rod turns to move the hot end up and down.

At this point we can move our 3 directions X,Y, and Z. X and Y move with belts. Z moves with a threaded rod. Precision is the name of the game with 3D printers. Everything needs to be tight and not sloppy.

Before Starting to Print

Before you even turn the machine on be sure to move all your axis, and make sure nothing binds or rubs and everything is tight.

  1. The belts must be tight in order to not slip during fast moves. Make sure it isn’t rubbing anything so check alignment visually.
  2. Special consideration has to be made for the Z axis because 2 stepper motors have to work together. The X axis has to be parallel with the build plate. I have read using a ruler but I just used my glue stick to get set. I place the gluestick between stepper motor and Z rod bracket and set height on both sides.
  3. Place the 3 end stops close to the correct positions. Move your axis by hand and make sure the x is at the left edge of the build plate. The Y axis puts the hot end at the front of the build plate. And the Z axis is just above slightly above the build plate.
  4. Check to make sure none of the wires get in a bind especially the build plate and X stepper motor.

During this process I found that my rods that the X axis slid on seemed too short. I contacted GearBest and they were correct. During assembly I initially put the wrong length rods in and tried to force so I might have damaged something. I ended up having to make some spacers about 22mm long to make up the difference. This was completely my fault. I didn’t pay attention enough to the rod lengths in the instructions. I initially cut some bolts but eventually just printed some slightly longer and trimmed them to take up the slack. My trim job on red slugs wasn’t perfect so I wedged a drywall screw a couple treads and has worked well since. As an afterthought I might have been able to do without the red filler pieces and used screws from the beginning.

After turning on navigate the menus and preheat for PLA, load the filament, and home the nozzle. Use the menus, and move the nozzle all around on all axis and extrude some filament. I had to adjust the potentiometer on the stepper motor drivers on both the Z and extruder up. The stepper motors weren’t getting enough juice, and they were clicking and not moving. If you hear clicking that is likely the cause or maybe a binding issue.

Now we need to level the bed. I never printed directly on the bed. I cut a piece of glass that I had that was leftover from CR-10 review. The glass came in a 6 pack of 12” squares for about $10. I had such good luck I went directly to it. Glass is nearly perfectly flat. If it wasn’t you would see these variances in the reflection. I have a tile cutter from where I tiled my bathrooms and used it to cut the mirror down to size. Home the printer again then disable the stepper motors. In the CR-10 review I found leveling by eye was the best but because of the huge cooling fans I wasn’t able to get the right angle. I took a different approach this time. I moved to each corner and just barely tapped the build plate up until I couldn’t hear the glass tapping the nozzle.Then I backed it up just to hear it tapping again. I went around the 4 corners 4 or 5 times to get it adjusted.

Building Prusa i3

I had about 10-11 hours with building, troubleshooting, and managing the wires. I read people doing these kits in about 8 hours but I don’t see how unless they didn’t manage wires. I recommend velcro and not zipties. I think it looks much neater and you can adjust without fear of cutting tiny wires. I downloaded instructions from GearBest page. I found them adequate but not great. All the necessary tools were included with the exception of a pliers or wrench to tighten the big bolts. It came with some cool looking green pla. Below are some of the more notable components. There is no settings with this kit nor software. It does come with an 8 GB SD card but it is blank. I did end up with spare nuts and bolts which is nice.

Kit in package – Click to Enlarge

RepRap Melzi v2.0 Board – Click to Enlarge

LCD Board – Click to Enlarge

Some Cable Management – Click to Enlarge

I made just a couple changes to the stock build. I already mentioned that I installed a mirror for the build plate. I also added a fan to keep the board cool. The stepper motor drivers seemed really hot so I added the fan to keep them cool. When I first found out about reviewing this printer I thought ohh boy I was going to have to do a lot of mods. Adding a MOSFET, bracing etc… to make it print well. I am glad I didn’t buy the MOSFET ahead of time because I don’t think it is needed. A MOSFET is used to to take the burden of supplying power to heat the bed from the board and pull it directly from the power supply. There have been cases of really cheap boards/connectors causing fires.

The instructions show setting up the Z axis stepper motors in some series way but I couldn’t get it to work. I did some research and found out you can also run them parallel and I connected them this way.

I got 1 jam so I took a picture while the fan was off. I tried to print the cat that came with the CR-10, and it has big retractions in it. I believe it pulled back too far too many times and pulled molten filament and it got in the gears. Very simple design.

Final build pictures below.

Click to Enlarge

First Print

The printer did not come with any pre-sliced files with it. So I opted for a print I have printed several times and knew. I just guessed on temperature and it turned out good. I hate to take these pictures with flash but I didn’t have choice with the lighting while it was on the bed. The picture without the flash is more indicative of what this filament looks like in person. The benchy looks like it missed a layer on the hull but it feels smooth.

Click to Enlarge

With this translucent filament I found I needed more top and bottom layers and my initial print was too hot and caused stringing.(Nope too cool)

Craftware, Octoprint, and dialing in settings

I use Craftware to slice my objects for printing. I started out with the settings that I dialed previously for CR-10 review. Which was basically stock settings with some slight tweaks. After printing and testing, I found that the fan needs to be set to 75% or less or it cools too well, and causes some curling in extreme overhangs. One reviewer of the printer on GearBest thankfully mentioned this or I might not have tried this. While troubleshooting, I could not override the fan settings with the menu during testing. I would set the fan slower, then a short while later it was back at the percentage I set in the slicer. I looked at the gcode and at every layer change I see an M106. M106 is the gcode to change fan speed. Gcode is the language for 3D printers, CNC machines, and laser engravers are programmed with. In the future I will remove all of these, when wanting to test on the fly. I tested with Cura, and it is set only once at the beginning so it should not be an issue. Another odd thing is that I found that the green filament strings more at lower temperatures.

Octoprint worked as expected at 250,000 baud rate. Octoprint allows you to start stop prints through a web page, do time lapse videos, etc…

If you would like more info on Octoprint or Craftware, check the second part of CR-10 review. Here are the presets that I used for the green PLA that came with the printer for Craftware.

All of the prints below are printed at suboptimal temperature and fan speed and still turned out well. The lattice cube was the only one with fan and temperature calibrated.

Click to Enlarge

Click to Enlarge

  • Unicorn first failed print. I added some additional custom supports to the head in Craftware and it printed fine. Didn’t get a picture of final before daughter gave to friend. I was very surprised all these little supports made it but one. https://www.thingiverse.com/thing:182335

Click to Enlarge

  • CR-10 left vs Prusa I3 right. I broke part off CR-10. More stringing but I think with retraction and temp calibration I can dial in. The CR-10 is just slightly better. This was printer before I figured out to turn the fan down – https://www.thingiverse.com/thing:127683

Click to Enlarge

Click to Enlarge

Final Thoughts

Good

  1. The bed and the nozzle heat up fast
  2. Relatively quiet
  3. Prints accurately
  4. No modifications needed to print well. Only one recommendation is a mirror print plate.
  5. All the bearings and parts are tight and not sloppy.
  6. Wiring is properly sized for the loads.

Not so good

  1. Needs better instructions. Might not be easiest to put together for a beginner.
  2. Better springs for build plate and thicker build plate H bracket. (I have to re-level every print. I think this would help)
  3. Beeper/buzzer is too loud so I removed it.
  4. Add fan to keep Arduino board cool.

I like this printer and had good success with it. There are just a few minor gripes. I was apprehensive over the acrylic but it serves its purpose to keep costs down. I’m relatively new to 3D printing but I believe this is a good kit. The parts cooling fan is fantastic. I am currently printing a baby groot in kcamel wood PLA that I purchased from GearBest. I will include more prints in 2nd part. In the second part we will also look to see if adding an E3D clone improves quality.

I would like to thank Gearbest for the Prusa I3 clone for review, and if interested, you can purchase it for $179.9 including free worldwide shipping using CNXPrusa coupon.

Using GPIOs on NanoPi NEO 2 Board with BakeBit Starter Kit

May 21st, 2017 10 comments

NanoPi NEO 2 is a tiny 64-bit ARM development board powered by Allwinner H5 processor. FriendlyELEC sent me a couple of NEO 2 samples together with their BakeBit Start Kit with a NanoHat and various modules via GPIOs, analog input or I2C. I’ve already tested both Armbian with Linux 4.11 and Ubuntu Core Qt with Linux 3.10, and ran a few benchmarks on NanoPi NEO 2. You would normally prefer to use the Armbian image with Linux mainline since it provided better performance, but at the time I was told GPIO support was not there.

Configuring NanoPi NEO 2 board with BakeBit library

So this week-end, when I decided to test GPIO support and BakeBit Starter Kit, I decided to follow this advice, especially nanopi-neo2-ubuntu-core-qte-sd4g-20170329.img.zip image is still the recommended one in the Wiki. So I went with that image.

I’ll use Python examples from Bakebit library, but if you prefer something similar to WiringPi, you may consider using WiringNP library directly instead of using Bakebit. Since NanoHat Hub comes with header with digital I/O (including 2 PWM), analog input, I2C and UART interfaces, I’ll make sure I try samples for all interfaces I have hardware for. FriendlyELEC did not include a module with a UART interface, so I’ll skip that one.

I followed instructions in BakeBit wiki from a terminal which you can access from the serial console or SSH. First, we need to retrieve the source code:

Then we can start the installation:

The last line will install the following dependencies:

  • python2.7           python2.7
  • python-pip         alternative Python package installer
  • git                        fast, scalable, distributed revision control system
  • libi2c-dev           userspace I2C programming library development files
  • python-serial     pyserial – module encapsulating access for the serial port
  • i2c-tools              This Python module allows SMBus access through the I2C /dv
  • python-smbus   Python bindings for Linux SMBus access through i2c-dev
  • minicom             friendly menu driven serial communication program
  • psutil                   a cross-platform process and system utilities module for n
  • WiringNP           a GPIO access library for NanoPi NEO

This will take a while, and after it’s done, the board will automatically reboot.

We can check if everything is properly running, but try out one of the Python scripts:

hmm, python-smbus was supposed to be installed via the installation script. Let’s try to install it manually:

Running the command again with verbose option shows the download URL is not valid:

So I went to https://pypi.python.org/simple/ looking for another python-smbus library in case the name has changed, and I finally installed the pysmbus:

I could go further, but the I2C bus was not detected:

So maybe the driver needs to be loaded. But running sudo modprobe i2c_sunxi it does nothing, and I could notice the .ko file is missing from the image…

So let’s try to build the source code for the board following the Wiki intructions:

We also need to install required build packages…

… download gcc-linaro-aarch64.tar.xz toolchain, and copy it to lichee/brandy/toolchain directory (do not extract it, it will be done by the build script).

Now we can try to build the kernel for NanoPi NEO 2 (and other Allwinner H5 boards).

and it failed with more errors possible related to CROSS_COMPILE flag. There must be a better solution… FriendlyELEC guys might not work on Saturday afternoon, and while I did contact them, I decided to try one of their more recent images with Linux 4.11 available here.

Let’s pick nanopi-neo2_ubuntu-core-xenial_4.11.0_20170518.img.zip since it has a similar name, and is much newer (released 3 days ago). I repeated the installation procedure above, and …

Success! Albeit after 4 to 5 hours of work… Let’s connect hardware to ind out whether it actually works, and not just runs.

Analog Input and Digital Output – Sound Sensor Demo

The simplest demo would be to use the LED module, but let’s do something more fun with the Sound Sensor demo I found in BakerBit Starter Kit printed user’s manual, and which will allow us to use both digital output with the LED module connected to D5 header, and analog input with the Sound sensor module connected to A0 header. Just remember the long LED pin is the positive one.

You can run the code as follows:

I changed the source a bit including the detection threshold, and timing to make it more responsive:

The LED will turn on each time the the sound level (actually analog voltage) is above 1.46V.

PWM and Analog Input – Servo and Rotary Angle Sensor Demo

We can test PWM output using the Servo module connected to D5 header, and control it using the rotary angle sensor module connected the A0 analog input header .

Click to Enlarge

The sample for the demo runs fine, and use the potentiometer is detected:

However, the servo is not moving at all. Raspberry Pi relies on rpi-config to enable things like I2C and other I/Os, and I noticed npi-config in the Wiki for NEO 2. So I ran it, and sure enough PWM was disabled.

So I enabled it, and answered Yes when I was asked to reboot. The only problem is that it would not boot anymore, with the system blocked at:

So maybe something went wrong during the process, so I re-flashed the Ubuntu image, reinstalled BakeBit, and re-enabled PWM0. But before rebooting, I checked the boot directory, and noticed boot.cmd, boot.scr, and the device tree file (sun50i-h5-nanopi-neo2.dtb) had been modified. The DTB looks fine, as I could decode it, and find the pwm section:

Let’s reboot the board. Exact same problem with the boot stuck at “Starting kernel…”. So there’s something wrong with the way npi-config modifies one or more of the files. With hindsight, I should have made a backup of those three files before enabling PWM the second time… I’ll give up on PWM for now, and ask FriendlyELEC to look into it.

I2C and Analog Input – OLED UI controlled with Joystick

The final test I’ll use the I2C OLED display module connected to one of the I2C headers, together with the analog joystick module connected to A0 header.

Click to Enlarge

Let’s run the sample for the demo:

It works, but there’s a bit of a lag, and the sample may have to be improved to better detect various states. I’ll show what I mean in the video below.

The bad parts are that documentation is not up-to-date, enabling PWM will crash the image, and while the Python sample do demonstrate IO capabilities, they should probably be improved to be more responsive. The good part is that we’re getting there, the hardware kit is a really nice, and I think the documentation and software should become much better in June, as FriendlyELEC has shown to be responsive to the community issues.

What? Python sucks? You can use C language with GPIOs too

If Python is not your favorite language, FriendlyELEC also provided some C languages samples in the C directory:

As we’ve seen above, Bakebit library appears to rely on WiringNP, and you’d normally be able to list the GPIOs as follows:

The utility is not too happy about seeing an Allwinner H5 board. But maybe the library in the board is not up-to-date, so I have built it from source:

and run the gpio sample again:

Excellent! It’s not quite a work-out-of-box experience, but NanoPi NEO 2 can be used with (most) GPIOs.

My adventures with NanoPi NEO 2 board are not quite done, as I still have to play with NanoHat PCM5102A audio add-on board, which I may end up combining with a USB microphone to play with Google Assistant SDK, and I’m expecting NanoPi NAS Kit v1.2 shortly. I’ll also update this post once PWM is working.

Sen5 Amlogic S905D TV Box Review – Part 2: Android Firmware, Kodi 17, and DVB-T2 & S2 App

May 19th, 2017 5 comments

Sen5 is one of the first Android TV boxes powered by Amlogic S905D processor, and comes with two tuners (DVB-C/T/T2 and DVB-T/T2) with two demodulators that should allow for recording on one tuner, while watching the other, or recording two channels at the same time. We’ve already check out the hardware in the first part of the review, and seen a glimpse of the neat user interface, so today I’ll report about my experience with the device.

Sen5 Android Set-Top Box First Boot, Setup Wizard, & First Impressions

The STB comes with two USB ports so I used one for the hard drive, a necessity if you plan to use the PVR function, and connected a USB hub to the other with RF dongles for an air mouse and a gamepad, as well as a USB keyboard to take screenshots. I also connected Ethernet and HDMI cables, as well as my terrestrial antenna to the coaxial “DVB-T2” input, and my satellite dish to the DVB-S2 F-connector.

Click to Enlarge

Finally I connected the power, after a several seconds after the “Amlogic S905D” and “MBOX” boot logo I go to  a setup wizard asking me to select the language…

The next step is the output resolution, and the system auto-detected 4K2K-60Hz maximum resolution from LG 42UB820T 4K UHD TV.Screen adjust is used for overscan, but if you have a recent TV, you should not really need to use since you can always understand with settings like “just scan”.Step 4 is the selection between Ethernet and WiFi.This is followed by Date & Time configuration.Finally, you’ll be asked to select between “Scan TV channel”, “Login to Google Play Store”, and “Go to Home page”.

I selected the later at this stage, and the beautiful “NesTV” launcher appeared. A typical boot takes around 35 seconds with this box.

Click for Original Size

You’ll get date, time, and weather on the top left, 6 main icons in the center for TV (DVB) app, IPTV & VOD (both required a login I did not have), YouTube, Kodi, and the list of app. The bottom include an “Add/Remove” button to organize favorites.

The top right row includes some convenient shortcuts showing (from left to right):

  • Free memory – Clicking on it will cleaned up memory
  • USB status – Redirects to File Browser
  • Network Status (Ethernet or WiFi) – Redirects to Network settings
  • Bluetooth Status – Redirects to Bluetooth settings
  • Download – Shortcut for easy access to Download direction
  • Notifications – Will display notifications on the left of the screen (See screenshot below)
  • Backup & Restore & Update button
  • Ookla – Measures your Internet connection performance
  • Settings – Redirect to Amlogic’s Settings app

The preview zone is black until your scan channel after which it will show a preview of the last selected channel (with audio).

Click to Enlarge

The pre-installed apps can be found below.

The Setting app is about the same as on other Amlogic Android 6.0 TV boxes, but it’s still worth noting HDMI CEC, HDR and Playback settings (for HDMI self-adaptation) options are there. The only new menu is MediaScan which lets you decided whether to automatically scan USB drives in the background (disabled by default).

Going to Android settings, we can see 5.27 GB is already used out of 8 GB storage, and that is before I installed any app. The flash was almost full by the end of the review.

NTFS and exFAT file systems are supported, but not EXT-4, nor BTRFS.

The About section indicates the model is called SH8B7AV_SF001 and runs Android 6.0.1 on top of Linux 3.14.29, the same as most other Amlogic S9xx boxes.. Android security patch is date August 1, 2016. The firmware is not rooted. OTA firmware update appears to be implemented, with the Update app communicating with the firmware update server, but I did not get any updates since March 29th.

The IR remote control works well up to 10 meters, and I also appreciate shortcuts key to app list, Play Store, YouTube, etc.. The remote control is also absolutely necessary to use with the TV app, which relies color button (red/green/yellow.blue) and special keys like EPG. Since an air mouse or wireless keyboard with touchpad is necessary in many Android apps, I ended switching between the remote control, and MINIX NEO A2 Lite air mouse depending on which app I used. I wishes such Android Set-top boxes would come with an optional air mouse that also support the TV app.

Google Play and Amazon Underground worked just fine, and I could install all apps I needed for the review.

The set-top box supports standby and power off mode. That’s the theory, because in practice, the box will reboot maybe 95% of the time when I try to turn it off (long press on remote control power key). Standby is working fine. The power button on the unit itself does not work at all for me. Maybe it’s just a problem with the sample.

I tested power consumption with or without the USB hard drive:

  • Standby – 0.3 Watt
  • Idle – 4.4 to 5.0 Watss
  • Standby + HDD – 0.3 to 0.4 Watt
  • Idle + HDD – 6.0 to 6.3 Watts

A reliably working power off would be nice though. I gave up on measuring power off, since it was so difficult to enter in this mode. At least power consumption is sufficiently low in standby mode, and there are reasons (scheduling) to prefer standby over power off, as we’ll see below.

Sen5 does get a little hot over time.After playing a 2-hour H.264 1080p movie in Kodi, max. top and bottom temperatures were 51 and 61 °C respectively, and as I went to CPU-Z to check the CPU temperature, soc_thermal was 84 °C. The movie frame rate did not feel “optimal” at the end either. Riptide GP2 game frame rate also suffered over time, and temperature after playing 15 minutes were 48°C (top) , 56°C (bottom) and 79°C (CPU-Z).  The idle temperature reported in CPU-Z is also a not-so-cool 73 °C. Hopefully, the company will find a solution before selling the box retail.

An Amlogic S905D TV box is very much like other Amlogic S905(X) TV boxes with a fairly stable and responsive firmware. But Sen5 box stands out thanks to NesTV launcher which looks really nice, and comes with some useful features and shortcuts. The remote control is also well designed, although I’d like it to have air mouse and keyboard functions. The two main issues I encountered were overheating, and the inability to power off the box reliably.

Video & Audio Tests with TV Center (Kodi), and DRM Info

Sen5 comes with Kodi 17 pre-installed.

Click for Original Size

After enabling “Adjust display refresh rate” in Kodi settings, and  HDMI self-adaptation, I played 4K videos over Gigabit Ethernet /SAMBA:

  • HD.Club-4K-Chimei-inn-60mbps.mp4 – Choppy at the end of the video
  • sintel-2010-4k.mkv – OK
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) –  OK
  • Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
  • Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts (H.265) – OK
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC, 24 fps) – OK
  • phfx_4KHD_VP9TestFootage.webm (VP9) – OK
  • BT.2020.20140602.ts (Rec.2020 compliant video) – OK
  • big_buck_bunny_4k_H264_30fps.mp4 – OK
  • big_buck_bunny_4k_H264_60fps.mp4 – The video plays in slow motion and audio delays (As expected, as 4K H.264 @ 60 fps is not supported by S905D VPU)
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – OK
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – OK
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) – OK
  • 暗流涌动-4K.mp4 (10-bit H.264; 120 Mbps) – Plays at around 1 to 2 fps (expected since it relies software decode)
  • Ducks Take Off [2160p a 243 Mbps].mkv (4K H.264 @ 29.97 fps; 243 Mbps; no audio) – USB hard drive playback: Not smooth
  • tara-no9-vp9.webm (4K VP9 YouTube video @ 60 fps, Vorbis audio) – OK
  • The.Curvature.of.Earth.4K.60FPS-YT-UceRgEyfSsc.VP9.3840×2160.OPUS.160K.webm (4K VP9 @ 60 fps + opus audio) – Plays, but could be smoother

My experience with 4K video playback was inline with other Amlogic S912/S905X TV boxes, except possibly with HD.Club-4K-Chimei-inn-60mbps.mp4.Automatic Another common state of affair is that automatic frame rate switching is not working, and  MINIX NEO U9-H is the only exception to this rule for recent Amlogic TV boxes (that I tested).

I enabled HDMI Passthrough in Android settings…and in Kodi. Some whatever reasons, there are no option to select AC3/ DTS, TrueHD, or DTS HD like in other devices. You can only enable or disable “Allow passthrough”.

Those are the results with Onkyo TX-NR636 receiver. PCM 2.0 is without pass-through using my TV speakers, and I used both Kodi (which handle audio its own way), and MoviePlayer app.

Video PCM 2.0 Output
(Kodi)
PCM 2.0 Output
(MoviePlayer)
HDMI Pass-through
(Kodi)
HDMI Pass-through
(MoviePlayer)
AC3 / Dolby Digital 5.1 Audio OK, video not smooth No audio Audio OK (Dolby D 5.1), Video not smooth OK (Dolby D 5.1)
E-AC-3 / Dolby Digital+ 5.1 OK No audio OK (Dolby D 5.1) OK (Dolby D 5.1)
Dolby Digital+ 7.1 OK No audio PCM 2.0 OK (DD+ 7.1)
TrueHD 5.1 OK No audio PCM 2.0 OK (TrueHD 5.1)
TrueHD 7.1 OK No audio PCM 2.0 OK (TrueHD 7.1)
Dolby Atmos 7.1 OK No audio PCM 2.0 Beep (AC3 audio track)
DTS HD Master OK No audio PCM 2.0 DTS 5.1
DTS HD High Resolution OK No audio PCM 2.0 DTS 5.1
DTS:X OK No audio PCM 2.0 DTS 5.1

Kodi is not usable with your AV receiver, except for Dolby Digital 5.1 / AC3, while MoviePlayer requires you to own an AV receiver if you want to have any audio on videos with only Dolby or DTS audio track(s).

I could play a 2-hour movie over SAMBA, but as mentioned previously the frame rate seemed to drop slightly at the end due to over heating.

Sen5 supports Widevine Level 3 DRM, meaning no HD support on some premium apps like Netflix. YouTube worked well, even while recording live TV in the background.

DTV App for DVB-S/S2 and DVB-T/T2

Let’s get started with the TV app. The first time you’ll go through the “TV First Installation” wizard.

You can select aspect ratio, zap mode (black screen or freeze), subtitle, LCN, and DVB Type between DVBS-DVBT/T2 or DVBS-DVBC. I did not change any of the settings and kept going with DVBS-DVBT/T2.The next window will let you start scan, and load channels from USB, the Internet, and another STB. I just clicked on Start Scan which brought me to the TV menu.

If you’re going to change any “installation” setting for satellite or DVB-T/T2/C, you’ll be asked for a password “0000”.

Going into Dish Settings, I could select Thaicom 5/6 satellite, as I normally do, but I was a little confused since I had to select between C-band and Ku-band. I eventually figured I had to select C-band, as I would not get any channels with Ku-band selection.

Click to Enlarge

The first time I did a “standard scan” as shown above, and I got only 13 channels, far below what I would expect especially I select both free-to-air and paid channels. So I restarted a Blind Scan instead again on Thaicom 5/6 (78.5E C-band).

Click to Enlarge

I ended up with 387 TV channels including premium (marked with $) and free channels.

You can select channels by CAS type using the blue button on the remote control for example to select the Free channels. The paid channels should be accessible via the smart card reader provided you have the right card. But it’s not something I could try.

Click to Enlarge

Next up I had to configure DVB-T2. It took me a couple of minutes to find out I had to use the drawer key (on the left side of the Blue HOME key) in order to bring the TV menu back up.

I selected auto scan, input the country, before running the scan.

It found 25 channels, but no radio channels.I could watch DVB-T2 channels. but some HD channels have low quality sometimes dropping below 25% and the channels freezing. I have not noticed the same issue with SD channels, and sometimes the same HD channels do not have any problem.

The “I” button on the remote shows some of the info about the current channel including channel number abd name, date and time, current and next program name and time, audio, S2/T2, and CAS information, as well as signal strength and quality.

I’ll go through other options in TV menu before checking out the other features of the app. The Edit Channels section allows you to set favorites, and organize channels as you see fit.

The PVR and Timers section will give you access to the list of already recorded program, and current timers / schedules (see further below for details).

The Add-on menu allows you to add favorites, so you can quickly jump from the TV app to whatever other you may want. Not very useful IMHO, as you could do the same by pressing the Home key and selecting shortcuts in the main launcher.

Finally there are various TV settings. The only problem is that none of the options would work for me, as each option would just go back to the main launcher. You can access the program guide by pressing the EPG button on the remote control. Encoding is handled properly with DVB-T2 channels, and there’s a problem with Thai language with satellite channels, probably because the software does not use the right encoding.

Click to Enlarge

Burmese language is barely better.

Click to Enlarge

Anyway, you can still browser channels and the program guide, and add or remove “timers” to record or play videos at any given time.

By default all timers are set to record once, but you can go to the list of timers (drawer button-> PVR and Timers-> Timer), and change the option.

The repeat mode is quite versatile, as you can select daily, weekly, and even select the days to record during the week.

Timers and PVR are working quite well, and I had no troubles recording videos on either DVB-T2 or DVB-S2. Since the box has two demodulators, you can even record on DVB-T2 and watch DVB-S2 channels and vice-versa, as shown in the photo below (ONE HD is a DVB-T2 channel)

Click to Enlarge

Later on, I also discovered that during recording the list of unavailable channels will be grayed out, and you can still watch channels both on DVB-T2 or DVB-S2, as long as the channel on the busy input is one the same stream.

Click to Enlarge

Another thing impossible on VideoStrong set-top boxes is background recording, so as I recorded a channel, I pressed the HOME key, went to browse the web, and then watch a YouTube video. I came back to the TV app and discovered the recording was still taking place, and later on I could verify the video was properly recorded, and I did not notice any stuttering or obvious artifacts. So that’s a big plus compare to existing solutions. In theory, you should be able to record live TV on DVB-T2 and DVB-S2 at the same time, but the timer software detects a conflict if you do so.

I did one last test with schedules. I setup a recording at 16:30, and put the device into standby, waiting for the time… To my surprise, Sen5 STB started automatically at 16:30, but for whatever reason the recording only started 10 minutes later, at 16:40. So it looks like the capability is there, but it’s still buggy.  Timeshifting is working using the play/pause key, and you can also record manually using the record button on the remote control.

You can play the recordings in the TV app, but if you prefer to use another player, you’ll find the files in the DVBRecordFiles directory on your hard drive with a subdirectory for each recording.

The TV app will split large files into 2GB files probably because of hard drives still using FAT32, and despite mine using NTFS file system. info.amri is a binary file with some details about the recording, but it also contains some visible strings like the program name and TV channel name.

You can find some SD and HD recordings from DVB-T2 or DVB-S2, as well as info.amri file in MEGA. I had no troubles playing the DVB-T2 recording in my computer, but I had neither Totem, nor VLC could play the DVB-S2 recording, and I had to use

You’ll find a demo with the TV app in the video below.

Networking (WiFi & Ethernet)

WiFi performance was first tested by transferring a 278 MB file between a SAMBA share and the internal flash (and vice versa) using ES File Explorer. The box only support 2.4 GHz WiFi, and the transfer rate was 1.5 MB/s on average.

Throughput in MB/s – Click to Enlarge

The performance is not very good, but similar to other Amlogic TV box due to the poor SAMBA performance. However, during testing I had other problems, with the first transfer failing after about 60%, which I could complete by clicking on Retry, and another transfer failing to start completely.

I also ran iperf for 60 seconds on both direction to get a raw benchmark value:

WiFi upload:

WiFi download:

Gigabit Ethernet is however working pretty well as least with iperf.

Iperf upload:

iperf download:

iperf full duplex:

A SAMBA to flash copy was limited by the write speed of the flash, and occurred at about 9.8 MB/s. Flash to SAMBA performance was worse because of the poor SAMBA implementation in Amlogic Android 6.0 SDK @ 5.9 MB/s.

Storage

FAT32, NTFS, and exFAT file systems are support, but as is often the case not EXT-4 and BTRFS. As usual USB storage benchmarks show that exFAT should be avoided as slow write speed may impact recorded videos. NTFS performance is however OK, and the eMMC flash used in the box does not have the best performance on the market, but I have not noticed any specific slowdowns, it may just take a little longer to install some apps.

Click to Enlarge

I’ve drawn a red line on exFAT – USB 2.0 and internal memory read results because they were cached read, and the internal memory can clearly NOT be read @ ~629 MB/s.

Bluetooth

I could pair Vernee Apollo Lite Android smartphone to the box and transfer several photos without any problem, but there was not a direct and easy way to click to see the files after the transfer, so I had to go to the FileBrowser app and into the bluetooth directory to check the files. I also watched a YouTube video after easily pairing X1T earbuds, and the box also detected the SimpleBLE demo I had running on a ESP32 board, so Bluetooth LE should also work.

Sen5 and Amlogic S905D Benchmarks

That’s my first Amlogic S905D device, so let’s run CPU-Z first. It’s impossible to distinguish S905D to  S905/S905X as they are all shown to be quad core Cortex A53 processors @ up to 1.51 GHz with a Mali-450 MP GPU.

Click to Enlarge

Antutu would just crash each time I start it, so I ran Vellamo instead to check the performance.
1,540 for Multicore, 919 for Metal, and 1,887 for Browser are comparable to the results I got on Amlogic S905X boxes (1,491 / 910 / 1,855).

Conclusion

Sen5 device is the first true dual tuner Android set-top box I have reviewed, as I was able to record one channel, and watch another at the same time. It also supports background recording, and wakeup from standby to start recording a video, both of which are impossible in all other Android STBs I have reviewed. NesTV launcher is also eye-pleasing, and includes really convenient shortcuts.  The box is not perfect however, as it still has some serious bugs like DVB-T2 channels freezing from time to time, WiFi failures (at least with SAMBA), and overheating issues. There are also various smaller bugs which hopefully will be fixed once the box is sold to end users.

PROS

  • Dual independent DVB-S/S2 and DVB-C/T/T2 tuner allowing for recording and watching live TV at the same time;
  • EPG, Timeshitfing, and PVR function working reasonably well
  • Exclusive Tuner Features (for an Android TV box) – Support for recording from standby mode (with caveat), and background recording (e.g. you can watch YouTube, browse the web, or play games while recording)
  • Beautiful & user-friendly NesTV launcher (I also found out after the review that there’s a mobile app for it)
  • Good 4K video playback in Kodi 17 works well
  • Dolby Digital 5.1 works in all apps including Kodi, TrueHD and DTS HDMI audio pass-through works with MoviePlayer app (and likely most other apps including the TV app, but not Kodi)
  • Excellent Ethernet performance
  • Bluetooth is working well for file transfer, audio headset, and BLE
  • Support for smartcards (not tested)

CONS

  • DTV app issues and shortcomings
    • DVB-T2 channels may freeze from time to time
    • Encoding problems with data from satellite channel, at least for Burmese and Thai languages
    • It’s not possible to record two videos (one in DVB-S2 / one in DVB-T2) at the same time as the app reports a scheduling conflict
    • When the box is in standby and a program is schedule, the box will wake up, but recording will only start a few minutes later (10 minutes in my case)
  • The box may overheat potentially leading to video become choppy over time, and games less smooth
  • Power off mode does not work reliably (will reboot most of the time), and the unit power did not work for me at all
  • SAMBA + WiFi performance is poor, and connection can be unreliable
  • Kodi issues: automatic frame rate switching does not work, pass-through is limited to AC3/ Dolby Digital 5.1
  • DTS/Dolby audio down-mixing does not work in Android apps like MoviePlayer or Video Player; DTS-HD pass-through does not work (DTS 5.1 only) in such apps.

I’d like to thanks Shenzhen Sen5 for providing a sample for review. AS previously mentioned, the product is not available for retail yet, but interested resellers and distributors may contact the company via their website.

Getting Started with ESP32-Bit Module and ESP32-T Development Board using Arduino core for ESP32

May 7th, 2017 16 comments

Espressif ESP32 may have launched last year, but prices have only dropped to attractive levels very recently, and Espressif has recently released released ESP-IDF 2.0 SDK with various improvements, so the platform has become  much more interesting than just a few weeks ago. ICStation also sent me ESP32-T development board with ESP32-bit module, so I’ll first see what I got, before trying out Arduino for ESP32 on the board.

ESP32-T development board with ESP-bit Module – Unboxing & Soldering

One thing I missed when I asked for the board is that it was not soldered, and it comes in kit with ESP32-bit module in one package, and ESP32-T breakout board with headers in another package.

Click to Enlarge

The 21.5x15mm module is based on ESP32-DOWNQ6 processor with 32 Mbit (4MB) of flash, a chip antenna, and a u.FL connector.

Click to Enlarge

The module is apparently made by eBox, and also used in Widora board with all information (allegedly) available on eboxmaker.com website, but more on that later.

Click to Enlarge

ESP32-T breakout board comes with a micro USB port for power and programming/debugging via Silabs CP2102 USB to TTL brige, a power LED, a user LED (LED1), a reset button, and a user button named “KEY”. It has two rows of 19-pin headers, and a footprint for ESP32-Bit module.

Click to Enlarge

The back of the board has a footprint for ESP-32S and ESP-WROOM-32 module, which gives the board some more flexibility, as you could try it with various ESP32 modules.

Time to solder the kit. I placed ESP32-Bit on ESP32-T, and kept it in place with some black tape to solder three to four pins on each side first.


I then removed the tape, completed soldering the module, and added the headers.

Click to Enlarge

The final step is to cut the excess pin on the headers, and now we can test the board which I could insert in a breadboard after pushing with some tools…

I connected a micro USB to USB between the board and my computer, and quickly I could see the PWR LED with a solid green, and LED1 blinking.

I could also see a new ESSID on my network: ESP32_eBox, and I could just input the… wait, what is the password? No idea. So I went to the board’s website, and everything is in Chinese with very limited hardware and software information on the ESP32 page. So it was basically useless, and I did not find the password, and other people neither. I asked ICStation who provided the sample, but they were unable to provide an answer before the review.

I could see the serial ouput via /dev/ttyUSB0 (115200 8N1) in Ubuntu 16.04:

Arduino core for ESP32 on ESP32-T (and Other ESP32 Boards)

But nothing really useful. Since the website mentions Arduino, I just decided to go with Arduino core for ESP32 chip released by Espressif, which explains how to use Arduino or PlatformIO IDEs. I opted to go with the Arduino IDE. The first thing is to download and install the latest Arduino IDE.

I’m running Ubuntu on my computer, so I downloaded and installed the Linux 64-bit version:

The next commands install the Arduino ESP32 support and dependencies:

We can now launch the Arduino IDE:

There are several ESP32 to choose from, but nothing about ESP32-T, ESP32-Bit, or Widora. However, I’ve noticed the board’s pinout looks exactly the same as ESP32Dev board shown below.

Click to Enlarge

So I selected ESP32 Dev Module, and set /dev/ttyUSB0 upload speed to 115200.

Click to Enlarge

The next step is to find an easy example to check if everything works, and there are bunch of those in File->Examples, Examples for ESP32 Dev Module section.

Click to Enlarge

I selected GetCHIPID sample, as it just retrieve the Chip ID from the board, and as we’ll see later the Chip ID is actually the MAC Address. I could upload the code, and it indeed returned the Chip ID:

The next sample I tried – WiFi->SimpleWiFiServer – will allow you to test both WiFi connectivity and GPIOs. I modified the sketch to use pin 2 instead of pin 5  in order to control LED1 on the board connected to GPIO2. You’ll also need to set the SSID and password to connect to your WiFi network. Once you’ve compiled and uploaded the sketch to the board, you’ll need to find the board’s IP address. You can do so in your router DHCP list with the board named “espressif” by default, and the MAC address will be the same as the CHIP ID, 24-0A-C4-01-A4-24 in my case. Now you can open the web interface in a web browser to turn on and off LED1 green LED on the board.

You could also use directly http://IP_ADDRESS/H or http://IP_ADDRESS/L to pull the pin high or low. It worked beautifully, but so far, we have not done anything that does not work on the much cheaper ESP8266 boards, and I can see one Bluetooth LE code sample for ESP32 called simpleBLEDevice in Arduino IDE, so let’s try it. It will just broadcast advertise the name of the device, and change it on button press, which could be used to broadcast message to a BLE gateway.

That’s the output from the serial terminal.

The initial name is ESP32 SimpleBLE, and as I press the KEY button on the board, the name will change to “BLE32 at: xxx”. I could detect a Bluetooth ESP32 device with the various names with my Android smartphone.

Since, it’s just advertising the name, there’s no pairing. But that’s a start. To have more insights into Bluetooth, you may also want to check out WiFiBlueToothSwitch.ino sample which shows show to use various mode such as Bluetooth only, Bluetooth + WiFi, WiFi STA, etc… For a more practical use of Bluetooth on ESP32, Experiments with Bluetooth and IBM Watson article may be worth a read. But a faster dual core processor and Bluetooth support are not the only extra features of ESP32 compared to ESP8266, as you also get more GPIOs, hardware PWM, better ADC, a touch interface, a CAN bus, Ethernet, etc…, so there’s more to explore, although I’m not sure all features are fully supported in ESP-IDF SDK and Arduino.

Final Words about ESP32-T and ESP32-Bit

After some initial difficulties, and confusions, I managed to make ESP32-T development kit work, but it’s difficult to recommend it. First, documentation is really poor right now, and while I found out you can use the exact same instructions than for ESP32Dev board, it does not reflect well on the company. Second, the board is sold as a kit that needs to be soldered, which may be a hassle for many, and possibly a fun learning experience for a few. Finally, ESP32-T + ESP32-Bit sells for $15 to $20 on various website, which compares to competitors fully assembled development boards – such as Wemos LoLin32 – now going for less than $10 shipped, and which basically the same features set (ESP32 + 4MB flash) minus the user LED and button, and a u.FL connector for an external antenna.

I’d still like to thank ICStation for giving me the opportunity to test the board. They are now selling it for $14.99 shipped with 15% extra discount possible with Jeanics  coupon (for single order). You’ll also find ESP32-T board on Aliexpress, but pay close attention if you are going to buy there, as it may be sold without ESP32-Bit module. Usually, all prices well below $10 are without the module.

Creality CR-10 3D Printer Review – Part 2: Tips & Tricks, Octoprint, and Craftware

May 5th, 2017 No comments

Hey Karl again with part 2 of my 3D printing experience with the CR-10, after the first part describing CR-10 3D printer setup and first prints. The intent is to share my experiences with the CR-10 with the perspective from a noob. I have to say if you are hard heading like I am, and do a lot of research but don’t fully listen to what you are reading, you are going to waste a lot of filament and time. I spent a couple hours a day for weeks with trial and error and watching the printer and how it works adjusting about a billion settings and testing. I am hoping this will help any current or future CR-10 owner speed up the learning curve.

Measuring Filament Diameter

The single biggest thing to improve my print quality I found was measuring the filament. I read about this several times but just didn’t do it. On some prints it didn’t matter they came out great. On others I had terrible zits and under and over extrusion. Depending on the model the effects are more pronounced.

Click to Enlarge

I purchased a cheap plastic caliper that only goes down to tenths right now so I have to do some trial and error. I plan on getting a metal one in the very near future to cut down that time that goes to the thousandths.

Before vs After – Still trying to figure out why gaps are in the print…suspect z rod issue maybe need to increase driver potentiometer. This print was done before zrod mod and I haven’t printed enough since to be conclusive)

The Batman on the left is before and batman on the right is after. It really hard to show in pictures but the one on the right is 200% better. You can see it really well on his face. Overhangs on both are a little rough. Overhangs are places in the print where you’re printing in mid air with no supports. Eventually I will look at changing the parts cooler to help with this. A different parts cooler can cool the filament faster and it will sag far less. For now on these, I can do some post print cleanup.

Here is a seem on the round part of the batman head that is just barely noticeable.

To measure unroll about 3m of filament and measure at 10 points. At each of those points measure then rotate caliper around 90 degrees. Average the 20 points and set it in your slicer filament diameter. I purchased 3 different brands and none seem close to 1.75. I been running between 1.65 and 1.69. My caliper bounces between 1.6 and 1.7. I will probably pick this one up for $27.

Extruding Temperature

The nozzle temperature calibration is the second most important procedure I found to affect prints. This one is pretty easy to do. I downloaded a customizable temperature tower. I set mine up from 225-170 at 5 deg increments with highest temp at the bottom. Then set Craftware nozzle temperature to 225 then used set this code in the layer script box to adjust the temperature at different heights. Craftware didn’t like the the STL generated by Thingiverse for this particular object. I imported into MeshMixer and exported to an OBJ to fix.

Depending on the filament you are using you can adjust the temperatures. I highly suggest testing outside the manufactured suggested temperature. The wood filament that I purchased from GearBest works best for me 10 degrees cooler than the suggested lowest temperature.

Click to Enlarge

At first I printed with trial and error. After doing a temperature tower I was way off, and noticed a difference in quality. Although this particular temperature tower doesn’t seem perfect. On the red PLA, I ended up going slightly higher than the one that looks best. On the picture, below it is really obvious with the wood filament which is better. The red and black are not as obvious. I will try some different temperature towers in the future.

Click to Enlarge

CR-10 Hardware Upgrades:  Mirror and Spacer

I made 2 modifications. I replaced the glass printbed that came with the printer with a mirror. I read mirrors have to be extremely level in order to not cause distortion. I purchased a 10 pack from a local hardware store for about 10 dollars. This gave me a good flat surface and as a benefit I didn’t have to use paper to level. I didn’t realize this for a long time, so I tweaked all kinds of settings trying to get the first layers looking better.

After trying to get a perfect first layers, I did a bunch of reading on bed leveling. I ended up purchasing some feeler gauges (ended up being a waste). It is really for me hard to level while sliding something between 2 slick surfaces. I had read a really long post in a forum about just eye it if you have a mirror. This worked really well for me. It is surprising how well you can level with the naked eye. I set the level as close to the bed as possible without touching. When I move the nozzle to the 4 corners above the glass if there is any pressure on the filament it will leave just the slightest line.This is something that you just have to do and experience to perfect.

The second thing I did was insert a washer between z axis servo and frame. After reading a few posts on the Facebook forum I decided to take a look at mine. Sure enough z axis rod was in a bind. I didn’t even realize this. But one symptom is that before this I was only able to push the z axis down. Now I am mostly able to move up and down with the stepper motors disabled.

OctoPrint

My SD card slot on the control box stopped working. I was able to get it working by bending in the outside of the reader inside the box to force the card to make contact with the pins. I knew this solution wouldn’t be a permanent solution. I can solder a new one but haven’t got to it yet. Luckily I had a Raspberry Pi my brother gave me. I never found a good use until now. There is no way I would trust a Windows box for this task. I would cry if I was in a long print and windows decided to update or some other Windows thing. I loaded Octoprint with Win32DiskImager on an SD card. Set my network settings in a text file, SSH’ed over and expanded the partition to the SD card size. I set a static IP address through my router and now back in business. I kinda wish that I started with Octoprint. It is very handy. It is much easier than constantly swapping SD cards around. One other benefit is I hooked up a webcam and I can see progress in any browser while at home… If I wanted to check from anywhere I could VPN to the house as well. It is really straight forward and easy to use. I also setup a pushbullet notification to send me a picture when a print is complete. I just started doing time lapses in Octoprint which is really a cool feature. I did have a few issues where prints would fail randomly and get a communications issue. It is a known issue on the Octoprint wiki. There were a few causes so I covered them all, and haven’t had an issue since. I did end up charging my phone with the USB cable that I was using to power the Raspberry Pi with, and I definitely attribute it to the cause of the issue. Phone charged much slower over this cable on a charger I know typically charges much faster. More on this issue in previous article here. I also replaced the long USB cable that came with the printer with a very short 4” one. While it was turned off I also installed a heat sink.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Craftware

Let’s talk about slicers. Slicers take the 3D object and makes a file that the 3D printer reads, and it tells the printer how exactly to print the object. Every single move, temperature change, etc… is controlled. After much trial and error I found that Craftware works best for me as a slicer. I have not tried Simplify 3D because it costs $150. The single biggest reason IMHO is the automatic placement of the seams. Seams practically disappear in turns. Craftware will choose the seam placement in the corner over a flat surface on its own. I have some really clean prints. Right now, I am focusing on finish with as little post print cleanup. Another feature is in the slicer settings there is window that visually shows how the settings are affecting the print. One final noteworthy feature is the ability to manually place supports. Automatic works as well but I believe automatic puts too many.

I started out with default settings and did some test prints. I only tweaked very few settings.

Below are some screenshots.

Main Screen with a benchy – Click to Enlarge


There is a bug. When installing the first time, load the second to last version, and set your build volume. Then upgrade to the latest. Otherwise the size will have to be set every time it is launched.

Click to Enlarge

After placing and scaling your parts, press the slice button and change all your settings.

Click to Enlarge

Now you can inspect the print, and see how each layer is printed. Press Save to save your gcode.

I find myself changing settings for every print after dialing it in. There is no one size fits all. I look at these every print:

  • Layer height
  • Draw speed
  • Infill
  • Top and bottom layer count

Gotta have LED’s

I have a couple feet left…will probably stick a few to the nozzle frame and power by a fan.

More 3D Print Samples

Here are just some of the prints that I have done.

Click to Enlarge

Cortana Chip. One of first prints for buddy of mine for CosPlay. I was still tweaking settings but turned out OK.

Click to Enlarge

Box I designed in Tinkercad, so friend can mount his NEO TV to bottom of his wall mounted TV. This was before I measured filament and still had bad zits.

Vase. Printed after started measuring filament. Flawless and is water tight.Printed in vase mode.

One of many Baby Groots printed. My buddies went wild over this one. I have printed it several times. About a 30 hours print at .1 layer, and slow.

Designed this in Fusion 360 to fix my ice dispenser in my Fridge. Printed really fast because I didn’t care if it looked bad. 6 outer layers for strength with 20% infill. Really surprised this is holding up in freezer. I was a little off on center hole measurement and enlarged with a drill. Dumb cheap calipers.

Click to Enlarge

First print with supports. Auto-generated in Craftware. Second is after bulk cleanup. Need to take tweezers to get remaining bits. Keep in mind this thing is tiny. .2 layer height.

Final thoughts

The only complaint that I really have are the noisy fans but they could be replaced, and the faulty micro SD card reader. This is my first printer, but I still think they could be less noisy. Other then that, I have enjoyed my time with the CR-10. I would like to thank Gearbest for sending the CR-10 to review, and if you are interested in the printer you could purchase it from their website for $309.99 plus shipping using GBCR10 coupon. I plan on 1 more article. Some bigger prints and some mods I would like to try (but running out of filament). If you have any questions or comments feel free to post below.

Yundoo Y8 Rockchip RK3399 mini PC Review – Part 2: Android Firmware, Audio & Video Playback in Kodi

May 2nd, 2017 10 comments

Yundoo Y8 is one of the first Android TV boxes / mini PCs powered by Rockchip RK3399 hexa-core processor to be launched. GearBest sent me a review sample, and since I’ve already taken it apart in the first part of the review, I’ll report my experience with the firmware in terms of stability and performance, as well as audio & video capabilities with TVMC (Kodi fork), and more.

First Boot, Setup, and First Impressions

I’ve first connected a few peripherals Seagate USB 3.0 drive to the USB port, a USB keyboard to one of the USB 2.0 port, and a USB hub to the other one with two USB RF dongles for MINIX NEO A2 Lite air mouse, and Tronsmart Mars G01 gamepad.

After adding Ethernet and HDMI cable, I pressed the power button on the unit to start it up. Please note that the remote control cannot turn on the box, so if you are comfortably seated in your sofa or lying down on your bed, you’d need to get to turn it on. The remote control can still be used to enter and get out of standby mode. A typical boot takes just around 20 seconds, and it’s one of the fastest boot I’ve seen on TV boxes.

Click for Original Size (1920×1080)

The launcher shows the time, networking and USB status icon, and weather forecast on the very top, and includes 5 sections with Home, Recommend, Online, Local, And Settings. The Home section has eight icon: TVMC media center (for of Kodi), YouTube (TV version), File Manager, Browser, TV store, K-Addons, Netflix, and Apps. The other three sections lists some pre-installed apps.

I’ve quickly tried the TV Store, and beside apps that can be found in Google Play, it also comes with some other extra apps, notably some IPTV apps that may or may not be legal in your country.

Click to Enlarge

I clicked on the Video icon to get a list of 44 apps as shown below.

The Settings section in the launcher gives access to four icons: “Settings”, “Weather” allowing you to input your city name, “Others” to change the “Theme ” (launcher colors) / enable touch sound, and Systeminfo.

The latter shows YUNDOO-Y8 model runs Android 6.0.1, and comes with 4GB memory, 32GB storage. The MAC address starts with “ac:83:f3” which looks up to “AMPAK Technology, Inc.”, so that’s the WiFi module MAC address….
The Settings menu looks familiar, as it’s just a colorized version of the Settings app found in Amlogic TV boxes.

Click to Enlarge

Some of the settings include:

  • Network – WiFi or Ethernet configuration
  • Bluetooth
  • Display – Day Dream, Calibration, and More Settings. Not that none of those allow you to change video output resolution.
  • System sounds – On/Off
  • Date & Time
  • Language
  • More Settings – Access to Android Marshmallow

Apart from Network to configure Ethernet or WiFi, Date & Time, and potentially Language, the rest of the settings are not really useful, or redirect to Android Marshmallow Settings.

Click to Enlarge

Notably, you’ll to select Display Output option there to change the HDMI resolution. My box was setup to 720p60 by default, but I had no problems changing it to 3840x2160p-60 (YCbCr420).

Click to Enlarge

Here’s the full list of options per resolution:

  • Auto
  • 4096x2160p 60 (YCbCr420)/ 50 (YCbCr420) / 30 / 25 / 24
  • 3840x2160p 60 (YCbCr420)/ 50 (YCbCr420) / 30 / 25 / 24
  • 1920x1080p 60/50/25/24
  • 1920x1080i 60/50
  • 1360x768p 60
  • 1280x720p 60/50
  • 1024x768p-60
  • 800x600p-60
  • 720x576p-50, 720x576i-50
  • 720x480p-60

My TV does not support YCrCr444 @ 50/60 using 4K resolutions, but if your TV does, you may have a few extra options (TBC).

PCM audio output, and HDMI / optical S/PDIF audio pass-through can be configured by going to Sound & notifications, and scrolling down there until Sound Devices Manager.

But I would not even bother since it does not work at all, as we’ll see in the audio & video section of the review.

Other options found in most other recent TV boxes but missing in Yundoo Y8 are “HDR” (normal as not supported by hardware), automatic frame rate switching, and Printing.

Click to Enlarge

The TV box has plenty of storage with 27.50 GB partition. The system could only recognize the NTFS partition in my hardware, no exFAT, no EXT-4 support.

The About section shows the Android firmware relies on Linux 4.4.16, and the Android security patch level is dated August 5, 2016. The firmware is rooted by default. Wireless Update app appears to connect to an update server, but I could not verify if it is working, as the company did not provide an update to “yundoo_y8-userdebug 6.0.1 MXC89L user:arron.20170328.133704 test-keys” firmware I’ve been using for the review. The “firmware update” crashes several times again while running in the background, which pops up a window from time to time.

I tested the IR remote control up to 10 meters away, and it worked without issues. I also no trouble using the IR learning function to register my TV remote control’s power button. The big downside has mentioned previously is that you can’t turn on the box with the remote control, only with the power button.

I could install all apps I needed for review via Google Play and Amazon Underground stores.

Beside not being able to turn on the device with the remote control, power handling is implemented properly. You can go into and out of standby with a short press of the remote control’s power key, and a long press will show a menu with Power off and reboot options. I measured power consumption with or without a USB hard drive attached in power off, standby, and idle modes:

  • Power off – 0.0 Watt
  • Standby – 3.0 Watts
  • Idle – 4 to 4.3 Watts
  • Power off + USB HDD – 0.0 Watt
  • Standby + USB HDD – 5.2 Watts with HDD LED on.
  • Idle + USB HDD – 6.0 Watts

I did not notice any obvious throttling during use, and after playing a 2-hour video in TVMC, I measured maximum temperatures of 52 and 51°C on the top and bottom of the case respectively with an IR thermometer. After playing Riptide GP2 for 15 minutes, the temperatures were 49 and 55°C. CPU-Z did not report a realistic value for the thermal sensor (26 °C).

Overall Yundoo Y8 left me with a positive impression at first with very good performance, fast boot times, and good stability. The main disappointment was the inability to turn on the box with the remote control, and to a lesser extend, I found the firmware update app crashing a few times a day a bit annoying, and the settings are not user-friendly, and missing a few parts that you’d normally take for granted like Printing support, and automatic frame rate switching.

Audio & Video Playback in TVMC (Kodi fork), DRM Info

TVMC media center is a fork of Kodi 16.1.

Click for Original Size

I played all videos from a SAMBA share over Gigabit Ethernet, unless otherwise noted.

Starting with some Linaro media samples and Elecard H.265 samples :

  • H.264 codec / MP4 container (Big Buck Bunny) – 480p/720p/1080p – OK
  • MPEG2 codec / MPG container –  480p/720p/1080p – OK
  • MPEG4 codec, AVI container 480p/720p/1080p – OK
  • VC1 codec (WMV) – 1080p – 480p/720p/1080p – OK
  • Real Media (RMVB), 720p / 5Mbps – OK
  • WebM / VP8 480p/720p/1080p – OK
  • H.265 codec / MPEG TS container  – OK

Not bad, and all videos were played with RKCodec, meaning hardware video decoding. Automatic frame rate switching is not working, so you can’t expect perfectly fluid videos for 24 fps videos unless you manually change the resolution.

I tested videos with various bitrates:

  • ED_HD.avi (MSMPEG4vs – 10 Mbps) – OK (software decode)
  • big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – OK
  • h264_1080p_hp_4.1_40mbps_birds.mkv (40 Mbps) – OK
  • hddvd_demo_17.5Mbps_1080p_VC1.mkv (17.5Mbps) – Not perfectly smooth
  • Jellyfish-120-Mbps.mkv (120 Mbps video without audio) – OK

Audio supports looks promising when we look at Audio output settings in TVMC with TrueHD and DTS-HD part of the options.

Click for Original Size

However, the actual results clearly show the mini PC is not capable of leveraging any AV receiver or amplifier you may have, and now it’s only suitable for stereo audio.

Video PCM 2.0 Output
(TVMC)
PCM 2.0 Output
(Video & Video Player app)
HDMI Pass-through
(Kodi)
HDMI Pass-through
(Video & Video Player app)
AC3 / Dolby Digital 5.1 Audio OK, video 1:1 aspect ratio Audio OK, video 1:1 aspect ratio No audio, video 1:1 aspect ratio. No audio, video 1:1 aspect ratio.
E-AC-3 / Dolby Digital+ 5.1 OK OK No audio No audio
Dolby Digital+ 7.1 OK OK No audio Loud noise (like helicopter)
TrueHD 5.1 OK OK No audio Loud noise
TrueHD 7.1 OK OK No audio Loud noise
Dolby Atmos 7.1 OK No audio No audio Loud noise
DTS HD Master OK OK No audio Loud noise
DTS HD High Resolution OK OK No audio No audio
DTS:X OK OK No audio Loud noise (never ending flatulence)

4K videos fare better, although more work is needed:

  • HD.Club-4K-Chimei-inn-60mbps.mp4 – Watchable, but not perfectly smooth
  • sintel-2010-4k.mkv – OK, but could be a little smoother
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) –  OK
  • Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
  • Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts (H.265) – OK
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC, 24 fps) – Plays, but not that smooth
  • phfx_4KHD_VP9TestFootage.webm (VP9) – Very low frame rate (software decode)
  • BT.2020.20140602.ts (Rec.2020 compliant video) – OK
  • big_buck_bunny_4k_H264_30fps.mp4 – OK
  • big_buck_bunny_4k_H264_60fps.mp4 – The video somewhat plays but with a large audio delay  (4K H.264 @ 60 fps is not supported by RK3399 VPU)
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – OK
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – OK
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) – OK
  • 暗流涌动-4K.mp4 (10-bit H.264; 120 Mbps) – OK (hardware decode)
  • Ducks Take Off [2160p a 243 Mbps].mkv (4K H.264 @ 29.97 fps; 243 Mbps; no audio) – SAMBA: Not 100% smooth; USB hard drive playback: OK
  • tara-no9-vp9.webm (4K VP9 YouTube video @ 60 fps, Vorbis audio) – Not smooth at all, massive artifacts
  • The.Curvature.of.Earth.4K.60FPS-YT-UceRgEyfSsc.VP9.3840×2160.OPUS.160K.webm (4K VP9 @ 60 fps + opus audio) – Not smooth at all, massive artifacts

Several videos are not quite as fluid as they could be, but a good point if 4K H.264 Hi10p video support, that the vast majority of other hardware platforms cannot handle. TVMC does not support VP9 hardware decoding, so I played the videos in Video Player instead:

  • phfx_4KHD_VP9TestFootage.webm (VP9) – OK
  • tara-no9-vp9.webm (4K VP9 YouTube video @ 60 fps, Vorbis audio) – OK
  • The.Curvature.of.Earth.4K.60FPS-YT-UceRgEyfSsc.VP9.3840×2160.OPUS.160K.webm (4K VP9 @ 60 fps + opus audio) – OK, and one of the best playback experience I’ve had with that video, although I’ve still noticed a few tiny slowdowns at times.

Sintel Blu-Ray ISO file could play fairly well. AMAT ISO blu-ray file started in the menu, and I could start playing the video, but for whatever reason audio switches quickly and repeatedly between the AC3 and TrueHD audio track, so I did not get any audio at all. Other videos with multiple audio tracks did not have this issue.

Two 1080i MPEG-2 video could play just fine. Since I was pleasantly surprised to see 4K 10-bit H.264 video playback working, I was hopefully with lower resolution videos, but I did not turn out that way.

  • Commie] Steins;Gate – NCED [BD 720p AAC] [10bit] [C706859E].mkv – OK for video, audio and subtitles
  • [1080p][16_REF_L5.1][mp3_2.0]Suzumiya Haruhi no Shoushitsu BD OP.mkv – Crashes TVMC app (tried 3 times).

I’m assuming RK3399 VPU does not like “16 ref” in the 1080p video.  I tried to disable hardware acceleration in the settings, but RKcodec seems to be hard-coded in the app, so it did not change anything. If I play Suzumiya Haruhi no Shoushitsu video with “Video Player” app, all I get is a still image with the audio playing in the background for a while. I installed MX Player to work around the issue. I enabled the SW decoder in the app, and Rockchip RK3399 CPU was powerful enough to play the 1080p hi10p video smoothly with video, audio, and subtitles. In an ideal world, TVMC should detect if a video has a problem, and automatically fallback to software decoding…

I played some stereoscopic 3D videos to find out if they could be decoded as LG 42UB820T – the TV I use for review – does not support 3D:

  • bbb_sunflower_1080p_60fps_stereo_abl.mp4 (1080p Over/Under) – OK
  • bbb_sunflower_2160p_60fps_stereo_abl.mp4 (2160p Over/Under) – Playing with lots of artifact (No dual 4K decoder required for 3D 4K in RK3399).
  • Turbo_Film-DreamWorks_trailer_VO_3D.mp4 (1080p SBS) – OK

I completed TVMC/Kodi testing by playing full length movies with various container/codec combinations such as VOB, IFO, MKV, AVI, MP4, and DivX, and all played. The 2-hour video test also completed with any issues. You’ll find all samples mentioned above in the video samples post.

Both YouTube TV and YouTube Mobile apps are installed, and both work very well, as long as you close your eyes. If you happen to open your eyes by mistake, you’ll find out videos are all played at around 10 to 15 fps. So YouTube is not really usable to play videos with the current firmware..

DRM Info shows no DRM is supported whatsoever.

Click to Enlarge

Network Performance (Wi-Fi and Ethernet)

I’ve already tested Gigabit Ethernet in RK3399 benchmarks post with iperf, and performance is excellent (881 Mbps upload, 939 Mbps download). But I’ve repeated the test to copy a 885 MB file from SAMBA to the flash and vice versa. The average file copy transfer rate is 11.57 MB/s, but there’s a big difference between download speed (18.06 MB/s) and upload speed (8.5 MB/s). So I guess there may be a problem with SAMBA in Android 6.0 since it happens with other boxes with this operating system too.

Throughput in MB/S – Click to Enlarge

I repeated the test with a a 278MB file using ES File Explorer to test 802.11ac WiFi performance. Average: 1.6 MB/s; download:  3.2 MB/s; upload: 1.09 MB/s.

Throughput in MB/s – Click to Enlarge

It does not look too good on the chart, but the main problem here appears to be related to SAMBA performance, and iperf shows about the same 802.11 WiFi performance in either direction.

WiFi download:

WiFi upload:

Miscellaneous Tests

Bluetooth

I manage to pair Yundoo Y8, shown as “TV Box”, with my Vernee Apollo Lite Android smartphone, but only from the smartphone, as originating pairing from  the TV box would lead to an “Invalid key” error. Once pairing was successful, I could transfer three photos from my phone to the box over Bluetooth. I used  X1T bluetooth earbuds to listen to audio while watching some YouTube videos (@ 10 fps), and managed to get my PS3 Bluetooth gamepad clone working with Sixaxis app.

Storage

As we’ve previously seen, file systems support is limited to NTFS, and FAT32.

File System Read Write
NTFS OK OK
EXT-4 Not mounted Not mounted
exFAT Not mounted Not mounted
BTRFS Not mounted Not mounted
FAT32 OK OK

Storage performance was tested with A1 SD bench app, and performance on the NTFS partition of my USB 3.0 hard drive was very good @ about 95 MB/s for sequential reads, and 54 MB/s for sequential writes.

Read and Write Speeds in MB/s – Click to Enlarge

The internal storage did not work so well because of a cache read, but for reference the values were: 147.17 MB/s for seq. read, and 49.32 MB/s for seq. write. Nevertheless, the 32GB used in the TV box has pretty good performance  – despite being the lowest end 32GB eMMC flash from Samsung -, and I did not notice any slowdowns and the dreaded “app is not responding” window during use. If you purchase Yundoo Y8 with a 16GB flash expect lower storage performance, but I’m not convinced it would lower the performance much.

Read & Write Speed in MB/s – Click to Enlarge

I still included the device in the chart above, but keep in mind that the blue (Read) should be shorter than on the chart.

Gaming

Beside getting two fast ARM Cortex A72 cores, Rockchip RK3399 SoC also comes with Mali-T760MP4 GPU that’s almost twice as fast as the most popular TV box solutions such as Amlogic S912. I’ve started with easy game to check there was no bug in that early hardware, and Candy Crush Saga & Beach Buggy Racing easily passed the test, with the latter playing very smoothly even with maximum graphics settings. But even other platforms can manage that. So I switched to Riptide GP2, and to my surprise performance, in terms of frame per second, did not feel any better than on lower end TV boxes, although I could see a few more details, like crowds, in the game. That’s a different result compared to Xiaomi Mi Box 3 Enhanced with Mediatek MT8693 Cortex A72/A53 processor + PowerVR GX6250 GPU, where I experienced both better quality/more details, and a much higher frame rate. 3DMark Ice Storm Extreme benchmark results are quite similar in both platforms (9,xxx points), so I wonder if this could be software problems, or possibly to game added too many details on that processor. I also switched video output from 4K to 1080p, but it did not make any difference.

I played Riptide GP2 for over 15 minutes, and performance was stable and constant throughout.

Yundoo Y8 Benchmarks

I’ve already run several benchmarks, and invite you to read “Yundoo Y8 Rockchip RK3399 TV Box System Info and Benchmarks” for details.

Conclusion

Yundoo Y8 mini PC works reasonably well, and you’ll get a boost in performance while doing tasks like web browsing. 3D graphics performance looks very good in benchmark, but somehow it did not translate into better performance in the games I’ve tried. Storage (both USB 3.0 + internal), and networking performance (WiFi + Gigabit Ethernet) are all very good, so we have a good hardware base here. People mostly wanting a TV box to play videos may be disappointed, as it may not be worth to pay extra, as while most videos are playing in TVMC (Kodi 16.1 fork), features like automatic frame rate switching and audio pass-through are not working at all, and the hardware does not come with HDR support.

PROS

  • Powerful hardware with firmware relatively stable and responsive at this early stage
  • Video Output – HDMI 2.0 up to 4096x2160p 60Hz; 24/25/30/50/60 Hz refresh rates supported
  • 10-bit H.265 and 10-bit H.264 (hi10p) video supported in TVMC up to 4K resolutions. 4K VP9 well supported in Video Player app.
  • Excellent networking performance for Gigabit Ethernet, and good 802.11ac WiFi performance
  • USB 3.0 storage delivers the expected performance
  • Fast internal storage (32GB version) lead to fast boot and app loading times
  • Good 3D graphics performance as reported in benchmarks
  • Power implementation is OK: 0 watt in power off mode; off/reboot/standby selection possible.
  • OTA firmware update appears to have been implemented (but not used in the first released of the firmware on March 28th)

CONS (and bugs)

  • TVMC/Kodi issues
    • no support for automatic frame rate switching
    • audio pass-through does not work at all
    • VP9 HW decode is not supported
    • Some videos are not as smooth as usual
    • no zoom option while playing videos.
  • Audio pass-through does not work in other video apps either (after enabling HDMI bitstream)
  • YouTube (TV & Mobile) apps can not play any video smoothly (maybe ~10 fps)
  • The remote control cannot be used to turn on the TV box
  • 3D graphics performance in games not as good as expected (compared to Mi Box 3 Enhanced).
  • System Update app crashes several times a time
  • Settings – Settings App lacks options, so we need to go to Android Settings to set HDMI output, Audio device, etc… Printing option is also gone.
  • Some potential issues with SAMBA performance, especially upload.

I’d like to thank GearBest for sending a sample for review, and you could purchase the mini PC on their website for $109.99 with coupon GBYDY8, or $90 with coupon GBYDY816 for the 2GB/16GB version. I could not find other websites with the device.

Yundoo Y8 Rockchip RK3399 TV Box System Info and Benchmarks

April 24th, 2017 6 comments

Most 64-bit ARM processors found in TV boxes and mini PC features ARM Cortex A53 cores which are good enough to watch most videos, since video decoding is usually handled by the video processing unit. But if you want some more performance for games and web browsing, SoCs based on Cortex A72 or similar high performance ARMv8 cores would deliver much a much better experience in Android. The problem is that there aren’t many options with products such as NVIDIA Shield Android TV, and Xiaomi Mi Box 3 Enhanced. The former is potentially expensive depending where you live, and the later is targeted at the Chinese market and lacks an Ethernet port. Rockchip RK3399 SoC should fill the market void for people wanting to do more than just watching videos on their TV box, and since I’ve just received Yundoo Y8 TV box based on the processor, I’ve run some apps to check out system information, and benchmark the system.

Yundoo Y8 / Rockchip RK3399 System Info with CPU-Z

CPU-Z appears to have improved since it can now detect clusters, and could detect a processor with two clusters: 2x Cortex A72 @ up to 1.99 GHz and4x Cortex A53 @ up to 1.51 GHz, as well as a Mali-T860 (actually T860MP4).

Click to Enlarge

Yundoo Y8 runs Android 6.0.1 on top of Linux 4.4.16, but I’ve read that other upcoming models based on RK3399 will run Android 7.1 instead.

Yundoo Y8 / Rockchip RK3399 Benchmarks

Let’s start with Antutu 6.x.

The 76,819 points achieved by the device is a big improvement compared to – for example – the 41,000 points in Amlogic S912 TV boxes. It also beats the ~71,000 points of Xiaomi Mi Box 3 Enhanced also based on a hexa-core Cortex A72/A53 processor (Mediatek MT8693), but at a lower 1.57 GHz maximal frequency, with a PowerVR GX6250 GPU,. and running Android 5.1 instead of Android 6.0.

Vellamo 2.x confirms the good performance of Rockchip RK3399: 5,275 points for Chrome Browser test, 2,492 points for Multicore test, and 2,332 points the Metal test. Amlogic S912 TV boxes gets about half that, and it’s also significantly better than Mi Box 3 Enhanced except for the metal test (2,392 points).

Click to Enlarge

The most powerful mobile/embedded GPUs will easily max out in 3Dmark Ice Storm Extreme 1.2 test, but the Mali-T860MP4 in RK3399 cannot quite do it, although with 9,906 points it’s a big improvement over the Mali-T820MP3 found in Amlogic S912 (~5,750 points), and slightly better than PowerVR GX6250 GPU in Mediatek MT8693 (9,260 points) using 1920×1080 output resolution.

Since low power processors are gone a long way in recent, I wanted to check out far it was from my main computer based on AMD FX8350 processor (125 Watt TDP) and running Ubuntu 16.04. One way to compare performance across different hardware and operating systems is to run GeekBench cross-platform benchmark.

GeekBench 4 Results for my PC:

Click to Enlarge

GeekBench 4 Android Results for Yundoo Y8:

Click to Enlarge

The single Cortex A72 core performance is about 50% of an FX8350 “Piledriver” core. Not too bad, even though the single core performance of this AMD CPU is not the best in the world. Multi-core performance is another story, as there are less cores/threads (6 vs 8), my computer throttles when all 8 cores are used (Normal score should be 10,000 to 12,000) , and it appears the Cortex A53 cores in RK3399 may not be used at all in GeekBench’s multi-core test. For reference, the latest Samsung Exynos 9 (8850) gets respectively 1,978 and 6,375 points in the same benchmarks. I’m assuming than in 4 to 5 years, we should be able to get AMD FX8350 type of performance in a mobile device.

Ethernet performance should be about the same in all RK3399 devices, and I tested with iperf with the command used in the TV box shown in brackets:

  • Full duplex (iperf -t 60 -c 192.168.0.104 -d):

  • Upload only (iperf -t 60 -c 192.168.104):

  • Download only (iperf -s):

So it’s working pretty well here.

Internal storage will different from box to box, and even Yundoo Y8 with 32GB storage should perform than the same box with 16GB storage, but USB 3.0 performance should remain pretty much the same across devices.

The cached read is for the internal memory (eMMC flash) which we’ll ignore here due to reason explained above. The “SD card” is the NTFS partition of my Seagate USB 3.0 drive, and results are pretty good with 94.34 MB/s sequential read, and 53.50 MB/s sequential write considering I could achieve 107 MB/s and 45 MB/s with that hard drive in my main computer.  The RAM test shows a 9684.47MB/s copy, which compared to the 3301.73 MB/s achieved by Mecool BB2 Pro Amlogic S912 TV box with DDR4 memory.

So overall the platform looks promising, and offers a significant performance boost compared to the Cortex A53 competition at an affordable price, more exactly $90 and up with 2GB RAM, 16GB storage. The downside is that since the SoC is rather new there may be a few firmware bugs at this stage, which I’ll check/report in the full review, but I’m confident they will be ironed out over time, if not in Yundoo Y8, in other RK3399 devices.

Beelink AP42 Apollo Lake mini PC Linux Review with Ubuntu, KDE Neon, Elementary OS….

Beelink’s latest Intel mini PC offerings includes the AP34 and AP42 which are their first models using Intel Apollo Lake processors. The former uses an Intel Apollo Lake Celeron N3450 processor (burst frequency 2.2GHz, Intel HD Graphics 500 with Graphics Burst Frequency 700MHz and 12 Execution Units) while the latter uses the slightly more powerful Pentium N4200 (burst frequency 2.5GHz, Intel HD Graphics 505 with Graphics Burst Frequency 750MHz and 18 Execution Units). Both support Windows 10 (Home) and Beelink’s marketing claim they “support Linux system”. GearBest has given me the chance to review running Linux on the AP42 model so here are my findings.

Spot the difference!

Normally I first make a disk image before booting Windows or installing Linux. However initial attempts at booting a Live USB with a variety of Linux systems failed so both the reseller and manufacturer were contacted for comment. Interestingly there was no immediate reply but early indications that something was amiss was when the reseller’s advert (right) changed compared with the manufacturers advert (left).

As I’d previously had a comment on my website about using rEFInd boot manager when a system wouldn’t boot I gave it a try by manually building an Ubuntu Live USB which successfully booted. Unfortunately the ISO I had used was Ubuntu 16.04.2 and whilst it ran fine on the USB drive, it couldn’t ‘see’ the eMMC of the AP42. Further experimentation with Ubuntu 17.04 Beta 2 and a variety of kernels showed that a minimum 4.10 kernel was required in order to access the eMMC. Anyone wanting to boot an Ubuntu ISO can either manually add the rRFInd boot manager, or use the latest version of ‘isorespin.sh’ to respin the ISO with the rRFInd boot manager and optionally update the kernel.

Then having taken a disk image I booted Windows only to find that Windows was already set up with an ‘Admin’ account. Which of course gave me the opportunity to test a full Windows restore that fortunately worked.

Click to Enlarge

So with a nice clean and activated Windows system and 24 hours later due to all the updates download and installing I was able to run my usual Windows tests to given me a basic comparison with other Intel devices.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

As can be seen there is a performance increment over Cherry Trail devices including better graphics performance and the new Apollo Lake Pentium N4200 processor is overall slightly better than the earlier Celeron N3150 processor.

Click to Enlarge

​Being a passively cooled device I was interested to see whether temperature was an issue. I ran HWiNFO64’s Sensor Status utility before and after each test and rather unscientifically held the box to see how hot it was. Neither indicated that I had any reason to be concerned as whilst the box felt warm the temperature maxed out at around 70 °C and no thermal-throttling was encountered.

Click to Enlarge

Having put the device through its paces under Windows, it was time to look at Linux performance. For a comparison I was going to use the results from my Phoronix ‘mini PC’ test suite run on Intel Compute Sticks. However I initially had problems getting the ‘unpack-linux’ test to install so I decided to download the latest version directly from www.phoronix-test-suite.com rather than use the one provided through ‘apt’. And because comparing results across different versions of test software and different releases of OS is often meaningless I first had to reinstall Ubuntu 17.04 on the comparison hardware and then run the tests in parallel across each device. For those not familiar with the model names they decode as STCK1A32WFC is the Intel Compute Stick (Falls City), STK1AW32SC is the Intel Compute Stick (Sterling City) and STKM3W64CC is the Intel Compute Stick (Cedar City) with the specs listed in the above table. Unfortunately with the Phoronix Test Suite some tests give decidedly strange and confusing results even those they are the average of three runs. However, as per the Windows results there is a noticeable improvement as the power of the processor increases and the AP42 performance is as expected.

Click to Enlarge

I also ran the Octane 2 on Chrome which was also comparable with the Windows result albeit slightly lower which in iteself was slightly unusual given it is typically slightly higher in Ubuntu than with Windows normally. Interestingly Octane 2 has now been retired as it seems too many programs were cheating their scores (all too familiar).

Click to Enlarge

In terms of what works under Ubuntu it was nice to find that all the usual problem areas were fine, with working audio, WiFi, Bluetooth and SD cards (including Sandisk). I did encounter a problem with HDMI audio in that you must first select the audio device under Sound Settings before it works. And in Lubuntu this was impossible to do as only Headphones showed up until I plugged in some external speakers into the headphone jack and then after unplugging them the HDMI output option then appeared. But otherwise the device ran smoothly on Ubuntu.

Some specifics about the hardware.

Click to Enlarge

The memory is single channel and is 2x 2GB DDR3 1600 MHz…

Click to Enlarge

… and the eMMC storage is CJNB4R which is a Samsung 64GB storage chip…

Click to Enlarge

… with WiFi/Bluetooth provided by an Intel Dual Band Wireless-AC 3165 chip with Bluetooth 4.2 as reported by inxi.

Click to Enlarge

Given the kernel limitation, I found running other Linuxes rather limiting. I did get OpenELEC to successfully boot and run from USB but installing would be an issue. I also tried Android-x86 and Chromium OS loaders but they were also impacted and not usable. My initial Remix attempts were unsuccessful and Phoenix took too long to download to be worth waiting for another failure. Other Ubuntu based distro ISOs worked as long as they were respun with a later kernel (I tested LinuxMint, Neon and Elementary with the latest v4.11-rc7 kernel). The only other Linux distro I tried was Debian but this was also unsuccessful due to the kernel issue, however other distros with rolling releases like Tumbleweed and Arch should be okay.

Linux Mint – Click to Enlarge

KDE Neon – Click to Enlarge

Elementary Linux – Click to Enlarge

In terms of support Beelink are somewhat lacking. Despite having released the device for nearly a month, there are still no download links for BIOS or Windows drivers. They have just added a download for the entire Windows OS, but have failed to create a forum for AP42 users. For the Linux issue, they did eventually respond with “Sorry for that we don’t allow the right of Linux now” which is a somewhat unexpected response given their advert.

So for a new device running Linux it is arguably hit and miss. Depending on what you want to run will rule out the device completely at this stage and if you are looking for flexibility it may also be too restrictive. It may be that a BIOS update addresses the current Linux limitations, but equally given Beelink’s response it could restrict Linux even further.

The price is also somewhat questionable given it has a range from US$180 to US$270 which is the current price on Amazon. In comparison a barebones Zotac ZBOX CI323 with Celeron N3150 is currently US $148 on Newegg and a barebones Intel NUC NUC6CAYS with Celeron J3455 is US $149 on Amazon so the value for money given the level of support and current Linux restrictions is worth considering before purchasing. GearBest – who sent Beelink AP42 mini PC for review – somewhat sweetens the deal, as they sell it for $179.99 including shipping with coupon GBAP42. Beside Amazon and GearBest, you can also purchase the mini PC on sites like Aliexpress and Banggood for $185 to $190.