qsbc

A single board computer based on the i.MX8M Mini

qsbc

Specs:

  • i.MX8M Mini 4x 1.8GHz ARM Cortex-A53
  • 4GB LPDDR4
  • 4MB QSPI Flash
  • 64GB eMMC
  • M.2 2230 Slot
  • MicroSD card slot
  • 2x USB Type-C DRP
  • USB Type-C Power in
  • USB Type-C debug port
  • 10/100/1000 Ethernet
  • Displayport output (needs some driver work)

Sources: https://gitlab.com/quentin-z80/qsbc

Linux / U-Boot Porting

Getting u-boot up and running on the board was fairly straight forward. My usual strategy is to start by copying the eval board files and renaming to my board name then writing the device tree for my board and running nxp's ddr tool to generate the calibration coefficients.

The only tricky part was getting the ethernet phy working. I made this board during the worst parts of the chip shortage and the only half-decent gigabit ethernet phy I could get my hands on was the RTL8211FD-VX-CG. I assumed that it was basically the same as the RTL8211FD but I had no data sheet for it to confirm.

Linux and u-boot would just not recognize the PHY and the realtek phy driver would never register it. After poking around at the PHY registers for a bit and comparing them to the non-vx part's datasheet I noticed that the PHY ID was different! and none of the PHY's supported by realtek.c supported any chip with that ID. I wrote a simple patch for linux and u-boot to let the driver detect the part as a RTL8211F and luckily the VX part is close enough to the non-vx for everything to work.

The main goal of this project was to build a fully custom docker swarm cluster. I currently have 5 boards setup running some of my internal services. I also built a simple USB-C power distribution board to power all the SBCs

Here is what I'm currently running on the cluster:

currently just some of my media centre stuff and some gitlab runners (that can also run x86 tasks thanks to binfmt_misc)

Costs

PCBs: ~$500 CAD for 6x boards and 2 stencils shipped from ourpcb

BOM: about ~$125 CAD per board excluding the i.MX8MM

Time: About 6 months to finish the design and another 6 to get the motivation to build the last 4 boards.

Obviously much cheaper to just by some RPIs but this is a lot more interesting.