Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: I built an open-source Linux-capable single-board computer with DDR3 (github.com/cheyao)
17 points by Cyao 60 days ago | hide | past | favorite | 8 comments
I've made an ARM based single-board computer that runs Android and Linux, and has the same size as the Raspberry Pi 3!

Why? I was bored during my 2-week high-school vacation and wanted to improve my skills, while adding a bit to the open-source community :P

These were the specs I ended up with: - H3 SoC - Quad-Core Cortex-A7 ARM CPU @ 1.3GHz - Mali400 MP2 GPU @ 600MHz - 512MiB of DDR3 RAM (Can be upgraded to 1GiB) - WiFi, Bluetooth & Ethernet PHY - HDMI display port - 1080p resolution - 5x USB Slots: 2x USB-A, 1x USB-C Host, 1x USB-C Host & OTG, 1x USB-C PD for power (Negotiating up to 25W. No power socket, yay!) - 32 GB of eMMC 5.1 storage (Optional) - 3.5mm audio jack - SD Card slot - Lots of GPIO

I've picked the H3 CPU mainly for its low cost yet powerful capabilities, and it's pretty well supported by the Linux kernel. Plus, I couldn't find any open-source designs with this chip, so I decided to contribute a bit and fill the gap.

A 4-layer PCB was used for its lower price and to make the project more challenging, but if these boards are to be mass-produced, I'd bump it up to 6 and use a solid ground plane as the bottom layer's reference plane. The DDR3 and CPU fanout was truly a challenge in a 4-layer board.

The PCB was designed in KiCAD and open-source on the Github repo with all the custom symbols and footprints (https://github.com/cheyao/icepi-sbc). You can also check it out online with kicanvas: https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2Fchey...

At large quantities, the price can probably reach less than 20$! (exc. taxes, tariffs and other costs)

It has been a wild journey, even making me learn how to use crypto as I needed to pay someone to download some "confidential" files from a baidu drive...

Read about more details on Github! Everything is open-source under the Solderpad license, aka do what you want: sell it, build it, modify it! :-)



It's quite an accomplishment for an individual. You might find the Pine A64 interesting. I got 6 of the 512MB models for $15 each. [1]

I plan on running Kubesolo on them since 1.0 was recently released.[2]

[1] https://pine64.org/devices/pine_a64/

[2] https://github.com/portainer/kubesolo


Do note that you can't cluster those 6 A64's as kubesolo runs... solo. As in: No clustering capabilities.

If you do want a controller/node setup you're better off deploying something lightweight like k0s, k3s or sidero's talos (since the latter also works perfectly fine on clusters based on pi 4 and above)


Very cool!

A few questions:

How was the 696 MHz DDR3 RAM speed determined?

Also, how is the system initialized at startup? Is there boot/startup code, does that exist in a flash chip (or some other ROM or EEPROM or flash type chip) on the system, and can the boot code be inspected/customized/overwritten by the end-user? How does the system boot?

Anyway, looks very cool!


Thanks! I used the orange pi pc fel tester [1] and gradually lowered the clock speed until it became stable. When I got to 696 MHz the test ran for more than 3 hours without problems.

The H3 CPU has a small bootloader inside, that enumerated the SD card and eMMC to look for a user-made bootloader. IIRC it looks for some file inside of the file system, and loads it to 0x70000. Thus you can customize it if you have enough time :)

[1] https://github.com/ssvb/lima-memtester/releases/tag/20151207...


Interesting, and very cool!


Cool, i wish i had the skills. I'm planning to learn PCB design to build a low power low cost PCB based in the SG2002/LicheeRV Nano design with a MAX17043 battery gauge, gpio buttons and a battery controller like TP4057.

Let me know if you are interested ;-)


That's cool as a project, but I don't really see the point. Everything's hungry for memory these days. DDR3 is a relative bargain. Why not put a socket on there so you can add a cheap 8GiB laptop DIMM?


Hey! Not everything needs to have a point. (Or else why would there be 20 AI models competing) I did this mostly for the fun and challenges, because why not! :-P




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: