Back to blog

miniJen is alive!

Bruno Verachten
Bruno Verachten
March 3, 2023

The Jenkins multi-architecture CPU instance

miniJen as a FOSDEM display on the booth

What is that contraption?

Nope, it’s not a robot of some sort, it won’t move by itself. It’s not Cerebro from Professor Xavier; no, it can’t fly either. What you’re looking at is a Jenkins instance. It is composed of a controller (the “brain” or conductor) and three agents (the workers or musicians if we continue a little further with the metaphor).

During FOSDEM, we displayed the aarch64 Jenkins controller dashboard on an another computer screen using the same Wi-Fi network.

These boards are not microcontrollers, they are miniature computers running GNU/Linux, like the famous Raspberry Pi.

This Jenkins instance was featured in the Hackaday blog post about FOSDEM.

Hardware

The controller runs on a NanoR5S, sold as a router (thus the three RJ45 connectors).

NanoPi R5S pic from the manufacturer

It’s a 4GB aarch64 (or armv8) 4 cores running friendlyCore, a distribution from the manufacturer (friendlyElec) on a 5.10.x kernel.

The smallest board is a 4 cores arm32 agent with 512MB of RAM running Armbian with a 5.10.x kernel too.

NanoPi Duo2 pic from the manufacturer

It’s also a board coming from the friendlyElec manufacturer, the NanoPi Duo2.

The pink board next to the arm32 board is a RISC-V board running Armbian with just 1 core, 1GB of RAM and a 6.1.x kernel.

MangoPi MQ-Pro pic from the manufacturer

It’s a MangoPi MQ-Pro from MangoPi, one of the first RISC-V boards available.

The latest board just next to the RISC-V board with a slightly different shade of pink is an aarch64 board also from MangoPi.

MangoPi MQ-Quad pic from a taobao store

It is a 4 cores agent with 1GB of RAM running a fork of Armbian with kernel 5.16.x. It’s a MangoPi MQ-Quad.

Don’t try to fool me, there are no cables between the boards!

The boards all have Wi-Fi, and they are all connected to the same Wi-Fi network, provided by a router or my phone, depending on the location. You can spot their small Wi-Fi antennas hanging in the first pic, except for the router which has no integrated Wi-Fi (it uses a USB Wi-Fi dongle you can see in the pic). One day, the R5S controller will also be a router for miniJen, but for now, it’s just a Jenkins controller. How come the controller can contact and control the agents? We’re not using IP addresses, but hostnames ending in .local, thanks to the Avahi daemon.

What is that big box with cables?

PinePower powering very astemious boards picture courtesy of HackaDay’s author https://hackaday.com/author/aryavoronova/[Arya Voronova]

These boards are powered thanks to a Pine64 power supply. Most of the time, you can see they don’t use much current.

3D printed parts

The 3DDesign on the 2nd of February 2023

The frame looks strange, I know. I wanted to use a torus because it’s a cool-looking shape, and tentacles because it’s even more cool-looking than a torus.
It has been designed thanks to openSCAD, an …​ open-source computer-aided design tool & language (yes, there is such a thing as 3D Design as code), and printed at home on a printer running an open-source firmware, Marlin.

Should you want to replicate this at home, you can find the source code on my GitHub.

Genesis and near future

I have made a few live streams during the build of miniJen, and should do some more for the upcoming modifications. I also have a few videos on the same channel about Jenkins and other boards, so don’t hesitate to have a look.

About the author

Bruno Verachten

Bruno Verachten

Bruno is a father of two, husband of one, geek in denial, beekeeper, permie and a Developer Relations for the Jenkins project. He’s been tinkering with continuous integration and continuous deployment since 2013, with various products/tools/platforms (Gitlab CI, Circle CI, Travis CI, Shippable, Github Actions, …​), mostly for mobile and embedded development.
He’s passionate about embedded platforms, the ARM&RISC-V ecosystems, and Edge Computing. His main goal is to add FOSS projects and platforms to the ARM&RISC-V architectures, so that they become as boring as X86_64.
He is also the creator of miniJen, the smallest multi-cpu architectures Jenkins instance known to mankind.