$50 ODROID-C4 Raspberry Pi 4 Competitor Combines Amlogic S905X3 SoC with 4GB RAM

Hardkernel has just launched an update to its ODROID-C2 board, with ODROID-C4 SBC equipped with a 2.0 GHz Amlogic S905X3 quad-core Cortex-A55 processor combined with up to 4GB RAM, four USB 3.0 ports, Gigabit Ethernet, HDMI 2.0 video output, and the usual 40-pin I/O header.

That makes it a worthy competitor to Raspberry Pi 4 with 4GB RAM, especially since it supports Ubuntu 20.04, CoreELEC, Android 9, and LineageOS operating systems, and comes with a proper heatsink for cooling for just $50 plus shipping.

ODROID-C4
Click to Enlarge

ODROID-C4 specifications:

  • SoC – Amlogic S905X3 quad-core Cortex-A55 processor @ 2.0GHz with Arm Mali-G31MP2 GPU supporting OpenGL ES 3.2, Vulkan 1.0 and OpenCL 2.0
  • System Memory – 4GB DDR4
  • Storage
    • 1x eMMC connector (8/16/32/64GB modules available)
    • 1x Micro SD slot with support for DS/HS mode up to UHS-I SDR104
  • Video & Output – HDMI 2.0 port up to 4K@60Hz with HDR, CEC, EDID
  • Audio – Digital audio via HDMI, optional SPDIF optical output, audio expansion header (See below)
  • Video
    • UHD 4K H.265 75fps 10-bit video decoder & low latency 1080p H.265/H.264 60fps encoder
    • Support multi-video decoder up to 4Kx2K@60fps+1x1080P@60fps
    • HDR support
  • Connectivity – Gigabit Ethernet port via Realtek RTL8211F; optional WiFi with USB dongle
  • USB – 4x USB 3.0 host ports, 1x USB 2.0 OTG port for host or device mode (not for power input)
  • Expansion
    • 40-pin I/O header with up to 25x GPIO, 6x PWM, 2x ADC (12-bit, 1.8V max), 2x I2C, 1x SPI, 1x UART, and 5V, 3.3V, 1.8V, GND power signals.
    • 7-pin audio expansion header with I2C  S/PDIF output, 5V DC
    • Note all I/Os are 3.3V, except ADC @ 1.8V max
  • Debugging – Debug serial console (UART)
  • Misc – IR receiver, system LEDs for power (Red) and kernel status (Blue)
  • Power Supply – 5.5V to 17V via 5.5/2.1mm DC jack; DC 12V/2A power adaptor is recommended
  • Power consumption – Idle: ~1.8W; CPU stress: ~3.64W with Performance governor; power off: ~0.14W
  • Dimensions – 85 x 56mm
  • Weight – 59 grams with heatsink
Amlogic S905X3 SBC
Click to Enlarge

You’ll find documentation in the Wiki.

Compared to ODROID-C2, the new ODROID-C4 is significantly more efficient, while delivering a 40% boost to multi-core CPU performance, and 50% higher DRAM bandwidth which may be especially useful for graphics and video playback, or other applications moving lots of data.

The Cortex-A55 core used in Amlogic S905X3 is supposed to be a power-efficient processor that’s not quite as powerful as the Cortex-A72 core found in Raspberry Pi 4. But this is mostly compensated by a higher default CPU frequency (1.5 GHz vs 2.0 GHz) as shown in some benchmarks shared by Hardkernel in the announcement post.

Raspberry Pi 4 vs ODROID-C4
Click to Enlarge

Both boards have about the same performance with the real-life 7-zip benchmark, but we can see a much higher RAM bandwidth for ODROID-C4. I assume they added a heatsink to the Raspberry Pi 4 board or that would not be a fair comparison since it tends to overheat under load.  It should also be noted Raspberry Pi 4 can be overclocked to 2.0+ GHz with proper cooling, which in that case would be quite faster than ODROID-C4 in most workloads.

ODROID-C4 Crypto Benchmark
Click to Enlarge

One exemption being applications making heavy use of crypto functions, since Broadcom BCM2711 processor found in Raspberry Pi 4 does not come with Armv8 crypto extension, and for example, ODROID-C4 is around 7 times faster with SHA256 8KB hash. ODROID-C4 consumes quite a lot less power as well.

Besides benchmarks and power consumption, the boards also differ in terms of features. For example, Raspberry Pi 4 offers dual HDMI output and built-in WiFi and Bluetooth, while ODROID-C4 comes with a single HDMI port, and WiFi/Bt is optional via a USB dongle. On the other hand, ODROID-C4 comes with four USB 3.0 ports, and offers support for eMMC flash module, while RPi 4 features 2x USB 3.0 + 2x USB 2.0 ports, and does not offer an eMMC option.

ODROID-C4 should have similar performance to Khadas VIM3L SBC which comes with Amlogic S905D3 processor, but is offered at a higher price ($70+) due to extra built-in features such on-chip NPU, STM8 control MCU, built-in WiFI and Bluetooth, eMMC flash soldered on the board and so on.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

107 Replies to “$50 ODROID-C4 Raspberry Pi 4 Competitor Combines Amlogic S905X3 SoC with 4GB RAM”

  1. Would be interested to know how high this might OC given Pi4’s are regularly reaching 2.0-2.1 GHz and for emulation CPU performance might be useful for Gamecube/Wii/Dreamcast

  2. That’s a great news. I think it will be appealing to many who look for lots of RAM and a stable platform. My VIM3L remains cool to the touch, I expect this one to be the same and never to throttle at all. The A55 is reasonably beefy for day-to-day operations so that could be a really cool general-purpose board. One point to keep in mind however is the shipping cost+taxes which tend to be a bit on the high side from HK.

    Also what’s cool with HardKernel is that they didn’t want to be trapped twice and this time they measured the performance linearity with reported frequency to verify that it was real 🙂 They were kind enough not to do it on the competing board 😉

    1. This board could be a killer proposition if only Panfrost supported bifrost already. Hopefully sooner than later.

    1. > Can anybody do some nice benchmarks

      Why? Why not ‘use case first’ and skipping kitchen-sink benchmarks entirely?

      The whole benchmark sh*t show is called ‘Marketing’ and as such Hardkernel has to participate. Running Unixbench these days is close to stupid since it’s mostly a compiler benchmark for single-threaded workloads/systems and you can’t compare different results. But since everybody does it, Hardkernel does it too. The mbw numbers are close to irrelevant if you’re interested in performance but higher numbers indicate that the overall system can cope with higher graphics and video resolutions / bit depths.

      If your use case is not (un)compressing all day long or you plan to you use an SBC as some sort of server then the 7-zip scores are also close to useless to you.

      So why looking at kitchen-sink benchmark results at all instead of defining use cases and looking whether the board in question fits or not?

      1. > So why looking at kitchen-sink benchmark results at all instead of defining use cases and looking whether the board in question fits or not?

        Wise words, Performance can’t be reduced to a small number of results (and what is frightening is that even deciders of technical companies don’t get it).

        The problem is that you’d need someone to run those workloads on the various platforms you are considering. Or make sure those workloads somehow enter the pool of benchmarks in widespread use, in which case they will turn into marketing tools 🙂

      2. Note that I found in the past that compiler performance directly follows the memory performance. And unsurprizingly my RPi4 at 2GHz is 1.5 times slower at this than the NanoPi-M4 or MacchiatoBin at the same frequencies, which show much higher memory performance. I haven’t benched my VIM3L but I’d expect a significant improvement there. However I agree that it’s only *one* use case and that it could equally be run directly!

  3. $33 postage to the UK making this $88. That is insane. Is there anywhere with sensible postage costs?

    1. Try waiting a bit more to order from Ameridroid. You can also use CNXSFWSUPPORTER2 coupon to lower the price by $2 on that site.

        1. Looking at ODroid site it’s US$50 excluding any taxes. Assuming you are in the EU you’ll add your local VAT to that (20% in the case of the UK) That takes it to US$60. Add on US$33 shipping (shipping shouldn’t be taxable) and you’re at US$93 – which is around GBP£75. You may have to pay a handling fee on top of this to cover the VAT payment from your courier company or post office.

          Buying it from ODroid.co.uk you are paying £59 inc VAT (US$70) plus £4.28 postage – so you save about £10 by buying locally AND you are covered by an EU sale of goods guarantee – just (which you won’t be if you buy directly from ODroid)

          More expensive than a Pi 4B – but offering different functionality. Still a pretty good buy, though I think you can get S905X3 boxes cased with on-board eMMC (of what quality though) and bundled PSUs for less (but with poorer cooling, less I/O potentially) .

          1. Sorry, can you please elaborate on EU sale of goods guarantee when buying from UK site? What happened to that Brexit thing you did?

            I’m seriously interested, no sarcasm intended.

          2. There are two youtube reviewers of tv boxes that do a spreadsheet of ranking of tested boxes.
            tv box stop and chigz tech reviews. Help you sort weak from good.

          3. Odroid C4 is at 71.99€ plus £4.28 postage on Odroid.co.uk… but you can’t buy it alone !
            You’re forced to buy it with these two mandatory options (forced sales): Black Case (+7.19€) + 12V/1.5A PSU (+7.19€). Total at 86.36€ plus shipping.

          4. They have now adjusted the site to allow more specific options, although despite Hardkernel recommending 12v/2a, Odoid UK are using 12v/1.5a

          5. 12V/2A is 20W for external USB consumers, 12V/1.5A only 14W. Should fit in situations where only 3 USB devices have to be powered by the C4?

          6. Shipping costs are included for the purposes of VAT.
            and Odroid UK only offers a 3 month warranty, so you would have to fight them should the board fail after that.

    2. $22 to New Zealand. Also in Australia and New Zealand (and others I think) if vendors don’t collect taxes then it becomes a pain to import things. I’m going to have to pass on this.

    3. When you take the effort to login or register, the costs go down to a very reasonable 14USD for shipping to Germany. The 33USD are the worst case. I ordered yesterday, so I should know.

      1. You will have to pay 19% separately to shipping company, right? Last time FeDex did this trick to me.

        1. Yes. The 19% apply, what’s even worse is that I have to pick it up at the customs office or pay some more €€ to FedEx or DHL (I think they switched to DHL now). Overall, it’s still a good deal.

  4. ARM vs. x86

    The Celeron J4005 Intel NUC is 120 euros including shipping and taxes in Europe, on German Amazon for example. Why would you want to buy an ARM-based HTPC or SBC or whatever you want to call it compared to an x86 one? I’m seriously asking.

    A few days ago I’ve asked a rather similar question, but then I asked why would you want to buy a “Chinese” PC vs. a “Western” one (https://www.cnx-software.com/2020/04/20/fanless-comet-lake-mini-pc-ships-with-intel-core-i7-quad-or-hexa-core-processor/#comment-572049). Now I’m like there aren’t many worthwhile competitors to NUCs, expect of course if you have very special needs.

    https://stayhipp.com/wp-content/uploads/2018/10/Change-My-Mind.jpg

    1. Lots of people use these boards for media. The C4 does 4K@60 HDR. The J4005 does not. The C4 does HDMI CEC. The J4005 does not. When including RAM (4G), the C4 is less than half the cost of the NUC while offering superior media features.

      There are other reasons, such as the ability to run Android, that are also a factor, so it depends entirely on your needs. There are justifications for both ARM and x86 as proven by the market.

    2. Adds probably fast (general purpose) ADCs and other gpio on expansion header I/O, maybe half idling power compared to most (more capable) x64 platforms and more direct changes on cpu&memory speed from os level?

    3. Another point is sometimes security, for deploy-and-forget use cases, which are common when you start to install an unattended box in your garage. It’s a bit less the case nowadays but for a long time it happened that you’d have tons of x86 shell code and exploits available and almost nothing available for other archs, by lack of interest and skills. For many years my reverse-proxy at home was running the famous remotely-rootable openssh 3.1 on a VAX, and I was saying that I was willing to offer the machine to whoever would root it 🙂 Needless to say that it never happened in 5 years or so!

        1. The whole concept of security through obscurity is flawed when generalized. The original concept applies to hiding *implementation* details. When you disclose all of them and people are not skilled enough to attack the design it’s not security through obscurity as originally conceptualized.

          The best example of this are the passwords and private keys you’re using every day: you stay protected only because someone else isn’t skilled enough to guess them or to factor a large integer. Here it’s not much different when a bug is known and code is available but nobody’s able to produce a working exploit.

    4. 3 reasons,
      1- price. Smaller boards go from $30 (with 1gb of ram, which could be sufficient for some).
      2- power consumption. The entire board (RAM, CPU, networking, emmc,…) can run within a 3 watt power envelope.
      3- Size. A board has a 3 by 3 inch footprint.
      4- bonus: stackability. Due to low price, and build, These boards can easily be stacked, into towers of these for some very reliable servers (if one board fails, another takes over).
      I have a stack of 25 with cooling on a 60W USB hub power supply. With networking it uses a mere 85-95W. That’s 100 full arm cores clocked at 1,8-1,9 Ghz.

  5. I will pass, not a fan of odroid anymore, had both the C1 and C2,the C1 a had broken cec design wich was never fixed or refunded, and the C2 was poorly build, didn’t live verry long.

    1. I have the C1+ and even though Debian support is non existent(at least now), once you go the Ubuntu path, you’ll have a very stable system, mine is running pi-hole 24×7, and so far no issues at all.

    2. I have three Odroid C2, one of them being a preproduction model and they all still function 100%.

      I also have a C1 which indeed has broken CEC and a C1+ that still function fine as well.

    3. HardKernel makes dev boards. If you wanted a turnkey STB, go buy one. The fix for CEC was soldering *one* resistor. They fixed it in the C1+ along with adding a bunch of enhancements and immediately phased out the C1 for the C1+.

    4. They’re among the rare board makers who actually support their boards for a long time, and provide software updates and upgrades. Usually buying a board there is a good investment in my opinion, once you pass beyond the shipping hassle.

  6. After having the c1 and c2 i will not be going for thos due to the lack of mainline support. Niether the c1 or c2 got a full feature set so am not going to was waste money on anymore amlogic powered stuff until proper effort by the vendor is made to kill its stale branches of linux

  7. “Dolby Vision and HDR10, HDR10+, HLG, and PRIME HDR video processing”

    Hope ODROID has the required licenses in place, lest it turn out to be the fiasco the VIM3L was!

    1. Maybe I should remove that part from the specs…
      ODROID-C4 does support HDR, and they have a demo with CoreELEC, but I’m not sure if all standards are supported.

      1. HDR10 should be supported OOB. HLG has been present in AMLogic and Rockchip builds (as has HLG->HDR10 mapping) but as so few people use HLG (BBC iPlayer streaming was one use case it was good for) it may not be flagged often when it breaks. I test it now and again.

        I think we can say it’s very unlikely that Dolby Vision will be supported in Linux and CoreElec on this platform.

        Not sure about HDR10+ – though I read that CoreElec is now playing HDR10+ content in HDR10 with a recent update.

        (Other S905X3 boxes are already supported in CoreElec – I have one in my living room!)

    1. And then buy your TV box and probably have no manufacturer/supplier support or fixes for their devices not functioning properly. Of course some boxes have some community support but that soon fades after a year after new devices enter the market and it is rinse and repeat.

      The amount of ewaste being generated by these one time cheap devices being churned out is just mind boggling.

  8. I’m not a “DIY electronics maker” however I do like and use SBCs for systems that run 24×7 and where low power consumption is a factor. I’m currently working on a small Cassandra cluster of N2 to handle a large set of sensors input. I wanted to know how Pi4B and N2 would compare before choosing one or the other. Using the Cassandra stress tool, I got the following results:

    Odroid N2
    op rate : 360 op/s [insert: 360 op/s]
    partition rate : 9,186 pk/s [insert: 9,186 pk/s]
    row rate : 9,186 row/s [insert: 9,186 row/s] <<<<<
    latency mean : 15.3 ms [insert: 15.3 ms]
    latency median : 10.6 ms [insert: 10.6 ms]
    latency 95th percentile : 41.3 ms [insert: 41.3 ms]
    latency 99th percentile : 61.9 ms [insert: 61.9 ms]
    latency 99.9th percentile : 127.8 ms [insert: 127.8 ms]
    latency max : 1866.5 ms [insert: 1,866.5 ms]

    Raspberry Pi 4B (with active cooling to eliminate thermal throttling!)
    op rate : 114 op/s [insert: 114 op/s]
    partition rate : 2,971 pk/s [insert: 2,971 pk/s]
    row rate : 2,971 row/s [insert: 2,971 row/s] <<<<<
    latency mean : 84.6 ms [insert: 84.6 ms]
    latency median : 26.8 ms [insert: 26.8 ms]
    latency 95th percentile : 136.8 ms [insert: 136.8 ms]
    latency 99th percentile : 1176.5 ms [insert: 1,176.5 ms]
    latency 99.9th percentile : 1436.5 ms [insert: 1,436.5 ms]
    latency max : 1462.8 ms [insert: 1,462.8 ms]

    In both cases DB was running on an SSD via USB3. The N2 at 9,186 row/s trounced the Pi 4B at 2,971 row/s.

    So despite all the Pi 4B killing 3rd party OEMs "facts" and the benchmarks to support the "claims" coming from the Raspberry universe, always test what you are going to actually do with the hardware before settling on a particular model.

    In addition, the fact that I had to install a $20 active heat sink on the Pi 4B to stop it to thermally throttle down when pushed to its limit makes the Pi 4B as expensive as the N2 with passive cooling.

    I welcome the arrival of the C4!

    I'll definitely try one when it appears on Ameridroid.

    1. I’m curious to see an eMMC vs SSD test. eMMC is generally slower than SSD, but doesn’t have to take that extra jump over USBSATA, so may have some better small block performance. I ordered eMMC cards (for C4 and N2) this time. They’ll be the first eMMC I’ll have on an SBC. So, I’ll be in a position to do this test before long.

      1. David, have a look at their page, close to the bottom, there are performance tests for read & write for a USB-attached SSD, eMMC and micro-SD. In short, at 4kB eMMC ~= USB. Above that, USB wins. micro-SD is roughly half the perf of eMMC.

          1. That’s a valid question. But there are other aspects.

            I think it would hold for real world situations but even if it were not it does not matter to me because there is also the question of disk space.

            As far as I can see a reasonable priced eMMC max size is 128GB. I need more than 128GB, with SSD again with reasonable prices I can push to 1TB or 2TB per node, more if I plug in multiple SSDs per node assembling them with LVM2.

            Let me detail the disk space requirement story.

            Cassandra provides extremely fast read and write, especially for immutable data, i.e. input from sensors does not change once recorded (right?) The engine speed makes it ideal to then perform heavy analysis and statistics, i.e. using things such as Apache Spark where the equivalent of a select… group by is performed in a distributed manner on each partition making it fast and efficient.

            Using Cassandra you solve a lot of common DB requirements by simply denormalizing and duplicating the data. The fastest searches are based on the partition key, plus clustering keys if compound key.

            Cassandra is NoSQL so kiss goodbye to indexes, triggers, transactions, joins, select… group by, unique values, referential integrity and so on. You can do these things, but in different manners that have nothing in common with what you get in MySQL, SQL Server, Oracle, etc.

            So why would you use Cassandra if you lose all these things? Because a Cassandra cluster can spread over dozens, hundreds, thousands of nodes across data centers and “gladly” handle PB of data. Clustering and replication is handled by Cassandra, you don’t have to juggle with data sharding like for instance in Mongo DB or in SQL. You don’t care about backups, your data is on many nodes, replicated. When one node dies, you just replace it and Cassandra will sync the new node. You reach Cassandra limits only if your name is Apple or Netflix. Don’t worry about them, Cassandra is open source so they customize the code to bypass these limits.

            Cassandra authorizes the use of indexes but it comes at a cost of multiple nodes access. Bad. Exclusively using partition and clustering keys allows to keep a linear increase of query time no matter the size of the data. With a normally used SQL DB, the server will basically explode under the weight when you’re handling humongous amount of data (i.e. the address tables become unmanageable.) I’m not even talking about concurrent usage. Even with a regular SQL DB you stop using joins if you have hundred or thousands of concurrent users (i.e. in a web app.) With Cassandra, you scale by adding nodes. Voilà!

            With Cassandra, if you want to search rows using three different criteria (columns), one or two or three at a time, the best way to do it is to create three tables (duplicating the same data three times) where each column is the partition key and the two others being clustering key(s).

            In short when using Cassandra, you do NOT care about saving disk space. The more nodes, the more memory, the more disk space, the better as long as the system answers at light speed and does not collapse when constant concurrent access is the rule.

            Conclusion: the bet here is to think that the algorithms they use for core usage, handing thousands of nodes ALSO work adequately to solve the use of rather limited resources as an SBC. So far so good, i.e. on an N2 the DB Engine correctly and fully uses the 4 BIG cores while leaving the 2 little ones to other tasks. We’ll see how it goes. The idea is that if you can use cheap low power consuming SBCs to handle hundreds of millions rows or even a few billions (?) you save significant money compared to renting x86 nodes on the cloud. The same applies if your application is at the edge rather than on the cloud. My gut feeling is that the limit will be imposed by the relatively small amount of memory. To conclude, this study is basically downsizing the original idea of distributed and NoSQL where hundreds of lows cost PCs can replace expensive gigantic servers and as a matter of fact do what the latter can’t do because they collapse under their own weight.

  9. These SBC’s regularly missing the analogue audio port, and as far as I could figure out the few expansion options available to fill this are way too expensive. Any knows possibilities that are priced acceptably for these boards yet?

      1. No, I meant specially the Odroid’s and maybe the Hardkernel’s new gen Amlogic line (the main goal would be the HTPC usage). I have run through their official offerings for analogue audio expansions, but that’s what I meant that seems too overpriced (IMO) and there only just a few options of them. For comparison the Pi line is much more versatile and has a couple of reasonably cheaper options too. I don’t mean an ultra cheap, rubbish DAC board, but neither a very fancy high-end one. Something more in between would be the golden way to go for me…

      1. I’d second that. The reason HK doesn’t sell USB/audio adapters is because they’re readily available everywhere and they all follow the same USB spec, so they don’t need custom drivers. The reason they sell specific USB/WiFi adapters is that those things don’t have a common spec and a different driver is needed for each one. They’d like to support what they sell but may not support every driver under the sun.

        The audio I/O built into the Rpi boards is pretty rubbish if that’s our standard.

        What are you doing with analog audio? If it’s hooking to a home audio setup, then analog audio is the last thing you want to use. HDMI is first choice. S/PDIF is second. Analog audio is a distant third. Not that this board has the first two options.

      2. While I’d personally be fine in principle with USB-audio, some of these devices employ low-quality chips involving a class-D output for the DAC which results in lots of white noise and hissing at certain frequencies. It’s OK for listening to voice, but some music, especially classic, is awful through some of these. But for most use cases I’d still pick them.

        1. True, but supporting audio over USB leaves the quality of the interface up to you. If it’s built in, then you’re stuck with what they put on the board. And for those of us who don’t need it, it’s extra junk we have to pay for that we don’t want. Like WiFi and BT on the Rpi boards. I’ve never turned it on and I never expect I will.

          1. I realize I didn’t express myself clearly, I meant “I’m fine with adding a USB-audio adapter myself”, not about having it onboard 🙂 So we agree here.

  10. I wonder if this one comes with the same pitiful warranty as the N2.

    Once I add on the cost of the PSU and case it doesn’t look quite so good.

  11. Unless Covid 19 ruins launch date this year, i wonder if the S905X4 will be pin compatible with S905X3 ?

    1. Also will Odroid make something like NanoPi R2S with the S905X3/4 but include hdmi for a cheap signage player as possible use?

    1. An sbc-bench -c would be nice though results are pretty predictable due to Khadas VIM3L being more or less the same (the 5% cpufreq increase from 1.9 GHz to 2.0GHz most probably will result in 5% better numbers)

      1. I had to disable the 0.1 load level check on the C4. It was hovering around 0.5 long term. I watched and there really wasn’t anything running.

        C4 results: http://ix.io/2k66
        RPi4 results: http://ix.io/2k65

        I’m curious to know what you determine from that. The C4 had a few of these in the log:
        [ 3918.110529] thermal cooling_device2: Failed to convert 2016000KHz for cpu 0 into a cdev state
        Not sure what that means.

        1. I did not catch that until now. The C4 (Cortex-A55) is ARMv8.2 The older PI4 (Cortex-A72) is only ARMv8(.0).

          1. Yep, that was the reason I was impatient to get the VIM3L with its A55, I wanted to have a look at new atomic instructions that are not present in the A73 of the VIM3 😉

        2. > C4 results: http://ix.io/2k66

          Thank you!

          * As you said there’s something going on generating a higher average load but without background CPU activity (confirmed by looking at the monitoring output). Load averages on Linux are mostly misinterpreted anyway and the same problem affects the similar Khadas VIM3L and also ODROID N2. A bit irritating that Hardkernel didn’t resolve that problem with Amlogic’s BSP kernel in the meantime since this hasn’t changed since 2018.

          * your C4 is limited to 1900 MHz instead of the advertised 2 GHz and as such benchmark results vary. On your C4 the 7->ZIP MIPS score is 5220 while Hardkernel reported 5411 which is 5% higher – 2.0 GHz vs. 1.9 GHz – and also an indication for ‘benchmarking gone wrong’ since you never run a benchmark only once and then rely on the result.

          * rather high GPU memory reservations (only 3.6GB available in Linux) which seems to be common amongst boards of the same family: ODROID N2 or Khadas VIM3L also ‘lack’ 1/10 of the physical RAM. Most probably an Amlogic BSP issue/feature.

          1. > I’m guessing that the kernel uses the 100MHz point when idle

            In case Hardkernel has set CONFIG_CPU_FREQ_STAT=y it should be easy to answer these questions by looking at the cpufreq statistics: find /sys -type f -name time_in_state | sort | grep 'cpufreq'

            If the board really idles at 100MHz I would increase this to maybe 600 MHz (Armbian seems to set 500 MHz min and 1536 MHz max for the C4). With clockspeeds as low as 100 MHz and with certain cpufreq governors a lot of ‘real world’ tasks like accessing storage can be magnitudes slower than necessary.

          2. From looking at that file, it seems to never spend time out of the max clock setting.

          3. > From looking at that file, it seems to never spend time out of the max clock setting.

            Usually Hardkernel ships with cpufreq governor performance which results in slightly higher idle consumption and temperatures (with the C4 though negligible but maybe not on the ‘overclock’ cpufreq any more).

            Depending on the use case and how often/long the thing will be idle I would switch to a different governor but no idea which one since I never touched any of those newer Amlogic thingies.

          4. These results are very good. The memory benchmarks show how A55 was improved vs older cores such as A53. Look at the access times, they’re 1.5 times smaller even in dual-read than the N2’s.

          5. > Here’s max clock increased and GUI off

            GUI or not doesn’t really matter with this type of CPU since many years unless some moronic screen saver running on the CPU kicks in. A different story would be to entirely disable the GPU if possible since sometimes memory bandwidth for CPU tasks increases and as such some numbers get better with headless use cases.

            Your new results are more or less the same as your previous ones I added to sbc-bench results.

            IMO it would be interesting how the board performs with 5.4/mainline instead of Amlogic’s BSP kernel. In case you give it a try with Armbian please check quickly as 1st step performance with armbianmonitor -z. If the reported 7-ZIP MIPS are below 5400 then Armbian settings are not ready yet (it seems performance optimizations aren’t a priority over there since some time).

          6. Trying. Made the mistake of updating it once installed and it wouldn’t reboot. Seems something isn’t quite right for the c4 port. I’ve reimaged the uSD and rebooted. I’ll have results shortly.

          7. > Looks slower. It seems they’re running at 1.5GHz

            First step would be to adjust /etc/default/cpufrequtils and setting MAX_SPEED="2016000" there. And then the boot.ini tweak would be necessary too to achieve ‘overclocking’ as Hardkernel calls it 🙂

            But no idea whether boot.ini is there or not…

          8. Here’s the full run: http://ix.io/2kcM

            looks like Armbian doesn’t have the temp stuff set up in a way that your script can detect it. Assuming it’s even enabled.

          9. > Here’s the full run

            Thank you. More or less same numbers at 1.9 GHz with mainline and Amlogic’s BSP kernel 🙂

            Wrt temperature readings: in Armbian usually /etc/armbianmonitor/datasources/soctemp is a symlink to the sysfs node in question. Seems to not exist here. Same with IRQ/SMP affinity settings that can greatly improve performance with some ‘real world’ use cases. Not that much has happened over at Armbian within the last 18 months at /usr/lib/armbian/armbian-hardware-*.

          10. Looks like thermal reporting isn’t enabled yet.
            /etc/armbianmonitor/datasources/soctemp -> /sys/devices/virtual/thermal/thermal_zone0/temp
            root@odroidc4:~# ls -la /sys/devices/virtual/thermal/thermal_zone0/temp
            -r–r–r– 1 root root 4096 Apr 27 16:50 /sys/devices/virtual/thermal/thermal_zone0/temp
            root@odroidc4:~# cat /sys/devices/virtual/thermal/thermal_zone0/temp
            cat: /sys/devices/virtual/thermal/thermal_zone0/temp: Invalid argument

          11. Just out of curiosity: could you share the output from armbianmonitor -u (will upload system information to ix.io)?

          12. First here’s the ouptut of the benchmark on a nightly ‘Focal’ version of Armbian with a 5.6.y kernel: http://ix.io/2kvA

            Here’s the armbianmonitor -u output: http://ix.io/2kvF

            Oh, great, one of your haters showed up to moronically downvote anything you say.

          13. Thank you for the output. So armbianmonitor -u is still broken but nobody cares and everything runs on cpu0 on newly added boards in Armbian but also nobody cares.

            > one of your haters showed up to moronically downvote anything you say.

            And always at the same time the most stupid comments on this blog get upvoted so I guess it’s a fan of theclownuk.

          14. Could be worse could be the server room bell boy who wrote the hated Orange Pi software, then told people to buy the boards , without declaring his paid interest. The same moron who got booted from Armbian, and now insults them like a spoilt antention seeker.

          15. It’s interesting to see that both 5.4.x and 5.6.x show significantly lower memset performance (5.15 GB/s vs 6.3 GB/s for 4.9.x). So I think that the Odroid kernel features a specific DDR driver or just uses a device tree with different memory timings.

          16. > 5.15 GB/s vs 6.3 GB/s for 4.9.x

            Yeah, that’s a difference not explainable by the 5% CPU clockspeed mismatch between Armbian/mainline and Hardkernel/BSP (I removed Armbian’s limitation to 1.5GHz few days ago in nightly builds so that at least 1.9GHz are now possible).

            > I think that the Odroid kernel features a specific DDR driver or just uses a device tree with different memory timings

            Could also be just a mismatch between bootloader and kernel. Clocking DRAM very low by default, then expecting the kernel to increase this later which a BSP kernel does but mainline not. At least with Rockchip/RK3328 it was this way: https://github.com/armbian/build/issues/1744

        3. > [ 3918.110529] thermal cooling_device2: Failed to convert 2016000KHz for cpu 0 into a cdev state
          Not sure what that means.

          That’s the reason your C4 is limited to 1.9 GHz instead of 2.0 GHz. My result interpretation is awaiting moderation…

    2. If you have an enclosure with it, it might be good to run the test with the board enclosed to check if it throttles or not.

      1. Did you mean a case for the Pi4 or the C4? I won’t have a case for the C4. I’ll do both of them bare on a table. I can try them with various amounts of airflow later–or conversely, I can put them in a small cardboard box.

        1. I meant both, but especially the C4 *if* you had the case. Otherwise it’s no big deal. I can’t get my VIM3L to throttle while running at 1.9 GHz with a tiny heat sink inside a plastic enclosure, but I haven’t run advanced tests.

          1. It happened to me once or twice. I tried to look into it, and Gvectors (comment system developer) claims in some comments its related to conflicts with other plugins such as the cache plugin. Disabling the cache plugin is not really an option, as the server would not cope. I don’t think it happens that often though…

          2. It happens regularly to me if it takes too much time to write a comment (e.g. being distracted in between by work). Then only copy&paste, reloading the page and entering the comment again works.

          3. Sadly, reloading is of no use here. I usually use firefox if have problem with chrome.

          4. Almost always here with chrome. In incognito, I can post sometime. If cannot, I use firefox, barely have problem there.

        1. Maybe it’s about consumption of USB connected consumers? Per USB3 port devices would be allowed to draw 5V/950mA, Hardkernel uses one load switch capable of 2.4A per two ports and recommends the C4 to be powered with 12V/2A.

          Since the board itself barely consumes more than 5W with a 12V/2A PSU it should be possible to connect 4 board powered USB3 consumers without brown outs.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC