Khadas VIM2 Board Review – Part 1: Unboxing and Dual Tuner Board

Khadas VIM2 board is the successor of Khadas VIM board, replacing Amlogic S905X by a slightly more powerful Amlogic S912, but that’s the connectivity features that really makes it stand apart from the first version with Gigabit Ethernet, 802.11ac WiFi and Bluetooth 4.2. It also exposes a few extra I/Os via pogopins. and among the three variants, two comes with 3GB RAM, and up to 64 GB storage.

The company (Shenzhen Wesion) sent me one of the boards, together with various accessories, and I’ll start the review of the board by checking out the hardware and accessories, before testing the board further in another post.

Click to Enlarge

I received two packages: one book-like with Khadas marked on top, and another one with various other items.

Click to Enlarge

The first package includes the board, a USB to USB type C cable, and a card showing the main specifications, and supported operating systems: Ubuntu 16.04, Android 7.1. Buildroot build system is also another option to generate a minimal or custom image.

The second package comes with an IR remote control, a 12V/1.5A power supply, four stands, and VTV 2.2 tuner board.

Click to Enlarge

The board comes in a multi-layered acrylic case and exposes the same buttons and ports as its predecessor with 3 buttons (reset, function, power), USB type C port for power, HDMI output, Ethernet, and two USB 2.0 ports.

Click to Enlarge

The case has openings for the 40-pin header and VIN header behind the USB type C board. We can see Ampak AP6356S module is used meaning I’ve been sent Khadas VIM2 Basic version with 2GB DDR4 RAM and 16GB eMMC 5.1 flash.

Click to Enlarge

The bottom of the board has the remaining RAM chips, the micro SD card, and some ventilation holes. You’ll also notice some 20-pin and 7-pin pads, with the first one exposing USB, I2C, DVB bus, and I/Os, and the second for the small programmable MCU on the bottom right.

Click to Enlarge

Looking at DTV board we can see two antenna inputs with F connector and coaxial connector, Rafael Micro R848 universal tuner supporting DVB-T/T2/C, ISDB-T/C, DTMB, ATSC,J.83B, and DVB-S/S2, ABS-S, as well as Availink AVL6862TA demodulator. That’s the same chips combination as in KI Plus T2 S2 TV box supporting satellite dish and aerial antenna inputs.

Click to Enlarge

The bottom side of the board has one pogo pin rows to connect to the 20-pin row on the board, and 6 other pogo pins for power. In order to connect the VTV board to Khadas VIM2, we’ll have to disassemble the case, and align the VTV board with the pogo pings and mounting holes on Khadas VIM2.

We can now screw the four stands on the top of VIM2 board to secure both boards together.

Click to Enlarge

We now have an interesting development platform with dual tuner support.

Click to Enlarge

I’d like to thank Shenzhen Wesion for sending the kit for review. Khadas VIM2 Basic board can be purchased for $72.99 shipped on GearBest, and the VTV extension DTV board with power supply, remote control, and stands costs $39.99 extra. For the second part of the review, I’m considering using the board as DVB video server taking live TV input from my antenna / satellite dish, and broadcasting the video over my local network. That’s provided it can be done within one or two days.

[Update: I’ve posted the second part of the review: How to Use Khadas VIM2 Board with VTV Expansion DTV Board as a Live TV Streaming Server]

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

30 Replies to “Khadas VIM2 Board Review – Part 1: Unboxing and Dual Tuner Board”

  1. Oh man…boring DTV-board because of availink demod…
    …no DvbS2x,MIS,VCM,ultra-low symbolrates….today they should better use silicon labs demods

  2. You MUST use a heatsink and fan on both the VIM and VIM 2 products if you wish to use Linux on the board and actually take advantage of the processor. Android will run but will throttle cores almost constantly without any cooling which will result in a sub-optimal but usable experience. Linux will just straight up overheat and freeze if you don’t set it to almost the lowest frequency and try to do anything CPU intensive. The Fan they provide for it can be found at: however, please be aware the fan is LOUD and I mean LOUD. At 36dBm it is hard to keep it running in the same room as you, as the noise will just drive you crazy. I recently ordered several different fans which are to be less noisy and will test and update here if I find one that works well.

    To note: I only have the Vim Pro but all my reading suggests that the VIM2 runs as hot if not hotter than the VIM.

    my 2 cents.


  3. @tkaiser
    One’d assume Amlogic would’ve learned by now, alas.

    Apropos, Allwinnder A64 also maxes out at 1152MHz in the Teres-A64 — apparently that’s a common bl31, erm, trait for AllwinnerA64.

  4. My Alfawise s92 TV box with s912 comes with a large metal plate for cooling ( to which I attached more cooling fins, but it is enclosed in the original TV box case ). You will need cooling unless in a seriously cold climate.

  5. > I’m considering using the board as DVB video server taking live TV input from my antenna / satellite dish, and broadcasting the video over my local network.

    Holy shit, yes. It’s like you can read my mind…

  6. @cnxsoft
    hopefully the 4 month wait has been worth it. Last 2/7/17 I asked Gouwa for typical 802.11n data transfer performance figures in Client mode. On 26 July (#44) he posted a link to performance figures showing iperf 81.5Mbps on 2.4GHz over 7 metres using internal antennae but giving no other information, like was it the ‘Basic’ (AP6356S) or Pro model (AP6359SA). Revisiting the link I see result updated to ‘Basic’ model V12: 86.4Mbps.

    Grateful if you can put it through your usual WiFi test suite to show real world performance, preferably, with the WiFi datastream routed to the Ethernet port, or failing that, to the fastest file storage available. The VIM2 performance link from Gouwa stated “If with external Wi-Fi antenna should be with better Wi-Fi performance.” Although it has been claimed antenna type makes no difference for short range, in your WiFi test of the NanoPi Duo Starter kit, (30/10/17) with distance from Router to SBC under test being only 4 metres+1wall, you stated measured performance doubled when you switched to External Antenna, and reliability should be better. – stability, reliability are crucial if trying to download a huge file.

    Another important factor on throughput, is how fast the SBC can transfer the incoming WiFi stream to preferably external storage via its Ethernet port, or failing that, to fastest file storage available. I note that in your WiFi test of A95X R2 on 26/6/17 you measured on 2.4GHz raw iperf of 52.1Mbit/s, but only 3.2MByte/s avg (over278MB) ~30Mbit/sec into internal Flash – so in the ‘real world’ one might achieve just over half of the iperf rate – a big difference! Is that typical? It would be good if like with your A95X R2 test, you give both the ‘realistic’ rate to Ethernet or best file storage (the eMMC5.1?), and the raw iperf rate. If your iperf test achieves the same 86.4Mbps Khadas got, then perhaps you may measure around 50Mbit/s overall transfer rate to the Ethernet port or the eMMC5.1

    As countless posts on overheating cutting performance, can you let us know the energy consumption at the wall, (2nd best, into the board) both at ‘Idle’, and when 2.4GHz WiFi is transfering at maximum data rate ?

  7. blu :
    Allwinnder A64 also maxes out at 1152MHz in the Teres-A64 — apparently that’s a common bl31

    This is configurable by anyone, with Allwinner SoCs you have full control and the 1152 MHz are just Allwinner’s default that could be changed by you. It just requires understanding how Allwinner’s budget cooling stuff works (that’s where the 1152 MHz limitation originates from) and how DVFS works (that’s where the instabilities will originate from if you allow higher clockspeeds without allowing the PMIC to feed A64 with higher voltage).

    1.5 years ago we looked into increasing the 1152 MHz on A64: (and came to the conclusion that it’s not worth the efforts with Pine64 while on PineBook at least 1.2 GHz should be no problem due to a large metal plate providing more efficient heat dissipation)

  8. Gouwa :
    we thought it would be not too hard for makers to install a heatsink with various sizes

    I hope @cnxsoft will at least shortly have an eye on overheating in his review since the numbers you showed last time were just alarming but also as expected since an ODROID-C2 with a S905, only 4 cores and a pretty massive heatsink can start to overheat/throttle if cramped in a tiny enclosure without airflow. Mounting holes for an appropriate (that means huge) heatsink are also missing so ‘powerusers’ seem to need an annoying fan/fansink anyway?

  9. @tkaiser
    Ok, understood — the issue is potential undervoltage at the absence of proper PMIC control. I’m personally ok with the 1152MHz limit on the A64, but 1344MHz is still among the DVFS options on Teres, just never attainable via cpufreq. Interestingly, though, Allwinner do not claim any sustained frequencies in their datasheet, just a PLL_CPUX of up to 2.1GHz, so apparently it’s all a matter of ‘how much the user can achieve in their respective environment’, which is fair by me.

  10. @blu
    Hmm… a bit off-topic but it’s not missing PMIC control (at least with legacy kernel you’re currently using on your A64 device) but you have to unlock higher cpu frequencies in the cpu_budget_cool node (cooler_table with 32-bit Allwinner thingies) but have also to take care that you adjust values in the dvfs_table correctly (and then do stability testing which is rather pointless with TERES-I anyway since too fast overheating so throttling will jump in and prevent reliability testing with higher clockspeeds anyway).

    Back on-topic (Amlogic/S912). I find it somewhat surprising that we can configure this clockspeed/throttling behaviour on our own on every cheap Allwinner thingie while on other implementations like Amlogic’s or Raspberry Pis there’s some sort of a blob needed acting as ‘cheating engine’ (controlling the real clockspeeds and returning bogus values to the kernel that reports therefore bogus numbers through sysfs).

  11. @blu
    Still off-topic. Just found it again: pinebook_overclock_enabled.dts (that’s 1200 MHz Pinebook settings that are IMO stable — we asked Pinebook users to test half a year ago to collect some feedback. I wanted 20 or at least 10 results but got only 2 from others, so lazy community can be blamed for Pinebook not showing slightly better performance).

    Two problems: To adjust DVFS values you must apply the DT already to u-boot (that’s this procedure) but in this case (1152 MHz vs. 1200 MHz) not needed. And stability testing is running from (though adoption of file paths/names needed)

  12. And they did it again: Everything cpufreq related with S912 is bogus. That’s what the sysbench test tells us:

    So if just a single CPU core is active S912 is running at almost 1.5 GHz (slightly lower) but as soon as 4 or more CPU cores are active frequency capping happens silently (while the kernel still thinks CPU cores would be running at 1512 MHz!). Highest cpufreqs are reported wrong (and can’t be set correctly from userspace), same with the lower ones. If you think you can send your CPU cores to 100 MHz it ignores this which is perfectly OK from an engineering point of you (race to idle concept, running at such low cpufreq OPP is more or less counterproductive anyway). But it’s somewhat annoying that the firmware is cheating on us and reports fantasy values all the time also preventing to control cpufreq behaviour entirely.

    TL;DR: Amlogic’s S912 is an octa-core SoC limited to 1.2GHz with multi-threaded tasks.

  13. Has anyone tried going the other direction and super cooling the s912. If the Cheat on freq is Amlogics algorithm for DVFS, Should not super cooling the CPU produce higher clock speeds? If it does not then is something more devious going on?

    Their claimed high CPU Hz is just a marketing eye catching scam IMHO

  14. @theguyuk
    Amlogic does SoCs for TV boxes and not Linux development boards or ‘PC style’ devices. Their target audience are absolutely clueless people: TV box consumers who choose devices by numbers (CPU cores, DRAM –> always the highest, money to spend on –> the lowest, performance –> irrelevant)

    There’s not only a thermal envelope (the above numbers were made without throttling happening, the VIM2 was running with heatsink and the annoying fan) but also a power envelope for these things. From a technical point of view it makes perfectly sense as soon as… 4 cores involved being busy above 80% to cap cpufreq from 1.5 GHz to 1.2 GHz. That’s due to DVFS (dynamic voltage frequency scaling, you need an awful lot more energy when increasing clockspeeds above 1 GHz than below).

    Same with the thermal envelope. Problem is: the target audience is absolutely clueless. If TV box makers would produce boxes with excellent passive heat dissipation (attaching the SoC directly to a metal enclosure that acts as a giant heatsink) they would soon not sell that much any more since the average TV box consumer touching the box would rate the box on online portals with the lowest value possible and leaving reviews/comments like ‘Don’t touch! Gets hot like hell! Always overheating! Don’t buy!11!!1!’.

    Their market demands that the TV box enclosure stays cool so they put a little laughable heatsink on the SoC and the air around works as insulator keeping the enclosure’s surface cool –> customer happy, performance ruined, SoC needs to throttle down.

    All those TV box vendors cheat in similar ways since that’s how the game is being played. Upper cpufreqs reported by CPU-Z are almost everywhere just virtual and in reality lower. The main difference between eg. Allwinner and Amlogic here is that on Allwinner thingies I can read out (and also set within the thermal limits) the correct cpufreq while with Amlogic’s default bootloader/firmware all numbers are bogus. But it doesn’t change that much as long as we’re talking about their main market: Consumers buy numbers and avoid stuff that would perform well (good heat dissipation –> hot enclosure –> wrong conclusion –> no buy)

  15. You are right tKaiser the main market in TV boxes is a race to the bottom for below £20 TV box, used just to message people, watch a film or TV program, read forums or blogs they do their job. To add value the main selling points seem to be quiet operation, more memory or storage, HDR, but mainly the latest Android version.

    4K and best audio are in the mix but still a more smaller market.

    Roku, Amazon and Android TV sell on user experience and ease of use, allegedly.

    IMHO the rise of micro consoles like Nintendo mini NES or SNES which sell on packaged Games and retro experience are a windows of chance for Android TV boxes if they get their act together, on easy controller compatibility and quality games added to easy offline game addition, ( a more modern plug in USB game cartridge ) but that to raises Piracy issues to combat.

    You need a money incentive for the game experience providers. Watching TV or film don’t need higher speeds, when combined with good quality high speed broadband, present SoC meet that need.

    If you want cheaper higher power SoC you need demanding uses that a large market of people want and desire. What you are looking for is niche, specialized. Not good for driving the prices down, due to lack of volume for sales.

  16. Maybe @cnxsoft or @Gouwa can run the following quick check on a VIM2 without heatsink with an arm64 Ubuntu 16.04 userland (then execution time without throttling should be 3.8 seconds).

    Since obviously the sysfs numbers we get are bogus this is the only way to ‘query’ the S912 firmware when it starts to throttle and how (thermal tresholds and cpufreq lowering). If execution times do not exceed 3.8 seconds within a minute then adding a pillow to the setup (making throttling more likely) would definitely help 🙂

  17. An Armbian user kindly tested with above script for throttling (details in above link to forum) but again to no avail. He tested on a Beelink GT1 Ultimate also featuring S912. Same workload, same performance, 25°C less reported compared to VIM2, the latter with with factory heatsink but fan disabled (which might result in pretty bad heat dissipation — a fansink without the fan making some noise can even be counterproductive)

    Can really no one here with a VIM2 w/o heatsink spend the few minutes on runnning the test so we can learn how Amlogic’s default bl30.bin implements throttling? It’s 10 minutes max on a device with poor heat dissipation 🙂

  18. Note that the DTV board is only supported in Android for now.
    The company (SuperDVB) is working on an IP stream output function in their Android app, so that’s probably what I will be testing.

  19. @cnxsoft
    I can find no Datasheet or sensitivity spec for the Rafael R848 Tuner chip, so when you test the DVB board can you make at least some basic comparison of sensitivity (like how many channels are viewable, compared to a decent conventional TV) ?

    The Rafael R848 is used in the TBS 5520 board, whose Datasheet states Signal level -65 to -10 dBm.
    When I tried the TBS 5520 2 years back, it was less sensitive than a LG TV, requiring a rooftop antenna, whereas the ordinary TV was ok with just an indoor antenna. Cannot find now, but I read few years ago TV sets typically have -75 dBm sensitivity.

    Remember to check the WiFi range on 2.4GHz if you can, re. my earlier post #11. I see that in some recent reviews, you only tested the 5GHz radio.

Leave a Reply

Your email address will not be published.