The C-Sky SBC: Pi in the Sky? // Review
An SBC that’s not really an SBC. Based on the NationalChip GX6605S, it can run a tiny Linux with a very small component count, but is it too cool to be usable?
Unboxing the C-Sky
This SBC was pretty cheap when I originally purchased it on AliExpress. You could pick them up for around US$9.
So, what do you get on this not-really-an-SBC? Starting from the top right, working clockwise…
- User controllable GPIOs.
- STM32F103 - Which handles all the JTAG control over the SoC via micro USB port.
- User accessible buttons.
- HDMI - Capable of 1080p @ 25Hz, but the frame buffer is actually 720p that is up-scaled to 1080p.
- More user accessible buttons.
- Two USB 2.0 ports.
- DC buck converter and regulators supplying 3.3, 1.8 and 1.1 volts to the SoC.
- Serial console over micro USB. This connects to the CH340G USB to serial bridge, which then connects to the SoC.
- 32 Mbit SPI flash - W25Q32FVSSIG
- JTAG USB port, which connects directly into the STM32.
- Reset button.
- And the really tiny NationalChip GX6605S. This has 64MB RAM, and will boot from SPI flash. You can also boot from USB, which is good, as 4Mbits isn’t a heck of a lot of space for an O/S.
The only thing of note on the underside is the large copper area acting as a heatsink.
It also has an AMBA bus, which is very much an ARM thing.
Unfortunately, the datasheet, (for want of a better word), is missing a whole lot of stuff. So, I can’t really see what the pinouts are.
So far, there’s nothing really flash about this board apart from the fact that they’ve gone to all this effort to make it part of mainline Linux.
It is a weird chip and I’m surprised they’ve bothered with all this effort, considering that most manufacturers are just using ARM based SoCs.
Booting the C-Sky
On to booting. The C-Sky will boot up into this screen as default.
GPIO testing.
As mentioned before, there’s a small handful of GPIOs available. Unfortunately, no hardware I2C or SPI.
C-Sky buildroot.
Moving on to building my own custom Linux image, which is important as I wanted to build up some Phoronix tests to see what this SoC could do.
Download from GitHub.
git clone https://github.com/c-sky/buildroot.git
cd buildroot
Create the .config file ready for building.
make csky_gx6605s_fbcon_br_defconfig
Then build everything.
make
It should take a while, but once completed you end up with an output directory, which holds:
- Cross-compile build environment.
- Host binaries and utilities.
- Final USB flash image.
- Rootfs target.All you need to do now is take the usb.img.xz file and burn it to flash using your favorite flash burny tool thingy.
Re-building buildroot.
Now that I had a proper default image that could boot, time to customize. I made a number of changes to allow the Phoronix Test Suite to function properly.
You can fetch the updated config file from here or do this.
Fetch my buildroot config file.
wget -O configs/csky_gx6605s_mickmake_fbcon_defconfig /2018/12/20/csky_gx6605s_mickmake_fbcon_defconfig.txt
Create the .config file ready for building.
make csky_gx6605s_mickmake_fbcon_defconfig
Then build everything.
make
Once the build completed, I burnt to flash, and rebooted the C-Sky. Ta da!
I also made some changes to the root filesystem, so that networking would start automatically using a USB to Ethernet adaptor.
This is one of the other problems with this SoC - it has no Ethernet capability.
Phoronix tests.
Now that I had my custom Linux image made, I had to rebuild all the Phoronix tests.
I eventually settled on CacheBench, Himeno, PHPBench, and TSCP. Not a great turn out of tests, but enough to give me a rough idea of what the SoC is like.
So, what did I find out? Ah, well…
C-Sky summary
Well… I don’t know what to think of this board.
If the manufacturers would only release more documentation on the hardware side of things we might have a bit more to go on.
Sure there’s support for open source software, it’s cool, it’s new, but heck I can’t find any redeeming feature for this board… If you are wanting a very cheap SBC, then I’d suggest looking at something else.
I’m guessing that it is considered as some sort of “developer evaluation board”, for those who want to use the GX6605S within their own products.
However, there are more capable chips around with much more support within this price bracket.