You’ll see in an earlier post a little picture of the Odroid C2 and following on from a previous last blog, I’ve had tremendous fun playing with the Virtual Debian – i.e. DietPi – and I just happened to be looking at the Dietpi site (which is very nice incidentally) and I noted a board I recently acquired – the Odroid C2. I’m getting quite excited about this – read on…
As you click on the various boards you see comparisons of performance of the various boards including the Raspberry Pi, Orange Pi and others – most of which I have – AND the C2 – and the latter appears to out on top by some way and in some cases by a LONG way (and as you’ll see later it is not expensive)!
- Amlogic ARM® Cortex®-A53(ARMv8) 1.5Ghz quad core CPUs
- Mali™-450 GPU (3 Pixel-processors + 2 Vertex shader processors)
- 2Gbyte DDR3 SDRAM
- Gigabit Ethernet
- HDMI 2.0 4K/60Hz display
- H.265 4K/60FPS and H.264 4K/30FPS capable VPU
- 40pin GPIOs + 7pin I2S
- eMMC5.0 HS400 Flash Storage slot / UHS-1 SDR50 MicroSD Card slot
- USB 2.0 Host x 4, USB OTG x 1 (power + data capable)
- Infrared(IR) Receiver
- Ubuntu 16.04 or Android 5.1 Lollipop based on Kernel 3.14LTS (and of course as you’ll see – DIETPI – Debian !!)
Well, I had to give that a shot! They mention it is very fast and part of that will be down to eMMC and fast Ethernet – not to mention the 2GB of RAM – well, I don’t have the eMMC module – but I DO have a new, fast Samsung Ovo+ SD. So – I grabbed the DietPi image.
I ran my new PI script to get the Pi user in there and then the main script – I linked to it in the last post. I can only say the script ran FAST – way faster than a Pi and instead of up to an hour, sometimes more, it was all done in just under 20minutes. Not as fast as the VirtualBox version but faster than my other SBCs.
But I noted – the GPIO routines (WiringOP) didn’t load and I noticed there was no GIT installed – I would not have noticed that in the VirtualBox versions as I didn’t install GPIO.
After the Odroid rebooted – I checked to see if everything worked… and most of it did – VERY quickly.
However – once again – no Webmin, though I’d not noticed any issued – did not load!
I decided to tackle the GPIO first – and installed GIT and tried again.
MAKE not found….
Turns out there was a broken repository – the forum for DietPi had a solution which any time soon should end up on their website.
Then I could not get the time synced - you could not make this off – the main pool servers were out of action…
All of that will be history by the time you read this I would think. I have another way to grab Webmin and that worked – I’ve altered my script accordingly.
So the upshot of this is that everything appears to work with the Odroid C2 and it is FAST even without eMMC. Now, some of the prices I’ve seen on Ebay are a bit OTT but the price seems reasonable if you go directly to HardKernel at $40 plus postage wherever you are.
In the process of doing the install I noted that there is a specific install of WiringPi for the Odroid C2
git clone https://github.com/hardkernel/wiringPi.git
sudo chmod a+s /usr/local/bin/gpio
I’ve included that as an option in my script (I really do need a menu system) and if installed, it is indeed possible for the following to work… taking GPIO 1 as an example
gpio mode 1 out
gpio write 1 1
gpio write 1 0
There are two PWM pins (33 and 19) on the C2 according to this documentation however in the “gpio readall” I’m not actually seeing those numbers appear so at this point – without getting into specific addresses etc. and sticking with the simple GPIO utility you can call from, say, Node-Red, I’m not sure how to access them. Attempts to do any PWM just return “Unsupport function on on ODROD-C2 model”. Looks as if there are a couple of analog inputs as well, yet to be tested. By the look of it, hardware SPI is not supported.
This could still end up as my main Node-Red controller!
Update August 2017
I put the Odroid to one side - so many other boards to test - and today I decided to take another look. I installed the latest Ubuntu and "the script" - and all of that went well, but no I2C support. That's really not good as Raspberry Pi and others have I2c out of the box. However, I followed the instructions on the Odroid site to run apt-get dist-upgrade, that went smoothly then I followed the instructions here. Of course their modprobe instruction failed as they forgot to put SUDO in front of it. That worked...
I did however note that the installed GPIO utility failed to pick up on these additions - so gpio i2cd failed. However, sudo i2cdetect -y -r 1 worked and spotted my SD1306 board.
I followed the instructions from the blog where I set up a while ago for another board... and despite some groans, all of that worked... with my SSD1306 board in place, sudo python sys_info.py worked a treat, displaying info on the SSD1306.
I did notice something odd however.. despite the spec for the Odroid C2 suggesting 2GB - my display showed 1GB - turns out the Python code was rounding this to the nearest GB - a quick rewrite suggested 1,300MB out of 1,800MB available. That's more like it.