Projects »

5 Node Cluster of Orange Pi Plus 2Es

Building a 5-node cluster for under £75 (£250 including five Orange Pi Plus2Es)

After the interest in my cluster of Raspberry Pi 3s in April, I was keen to try building a cluster with some of the other excellent SBCs now on the market. Xunlong Software CO in China generously sent me 5 of their latest Orange Pi Plus2E ARM boards, each with an quad core ARM A7 SoC running at 1.3GHz, gigabit Ethernet and 16GB of eMMC flash storage onboard.

Finished Plus2E Cluster (front) Finished Plus2E Cluster (rear)

The completed cluster measures 146.4 (w) × 151 (h) × 216mm (d) and weighs 1.6kg (5.6 × 5.9 × 8.3", 55oz), including the AC-DC power supply.

Orange Pi Plus2E vs Raspberry Pi 3

The Orange Pi Plus2E board is a small but useful upgrade over the Raspberry Pi 3 both in terms of performance and features, and at an almost identical price:

ModelOrange Pi Plus2ERaspberry Pi 3
SoC4-core ARM A7
1.3GHz2
4-core ARM A53
1.2GHz
Memory2GB DDR31GB DDR2
Network1000Mbps100Mbps
WiFi802.11bgn802.11bgn
Bluetoothno4.1 + BLE
Infraredyesno
Storage16GB eMMC onboard
microSD card
microSD card
USB spare3 fitted
1 microUSB
4 fitted
VideoHDMI HDCP/CEC, composite (CVBS)HDMI, DSI
Camera portsCSICSI
Audio3.5mm3.5mm
Microphoneonboardno
Size94 × 60mm85 × 56mm
Power1.0 → 2.5W
3A max, DC 4/1.7mm
1.2 → 2.1W
2.5A max, microUSB
LaunchedQ2 2016Q1 2016
Price (UK)£33.251£33.59

1US$35 Plus2E + $4.16 shipping + 20% VAT + 0% import duty = £33.25

2The maximum speed of the Orange Pi Plus2E is advertised as being “1.6GHz”, but Armbian Linux limits this to 1.3GHz, which enables a single board to be run without a fan and is far more reliable for long-term use.

Orange Pi Plus2E (to scale) Raspberry Pi 3 (to scale)

Which are MOST important if you bought/made a cluster?
Speed! (yeah baby)
Cost
Looks cool :$ (man)
Speed per watt (energy efficiency)
Modern Linux kernel
Education materials for cluster computing

3D design in SketchUp

I modified my original Raspberry Pi cluster design using the free version of SketchUp and built rough 3D templates of the Orange Pi Plus2Es, network switch, sockets, etc. I didn't bother to include ventilation slots/grids in the 3D model.

Case 3D model (front) Case 3D model (rear)

2D design in Inkscape

I used the free Inkscape application for 2D design, ready for exporting to the laser cutter. Each colour is a different pass of the laser, at different power/speed levels, so the green lines are cut first to make holes for ports/screws/ventilation, pink are extra cuts to help extract delicate parts, orange is text/lines that are etched and finally blue cuts the outside of each panel.

2D design of case panels

Download files for laser cutting on one 600×400×3mm sheet:

  1. SVG format Sheet or
  2. DXF format Sheet
Read more about the laser cutting and the screwless case-clipping system in my original article. I probably went a little overboard with so many ventilation holes, which meant the laser-cutting took 45 minutes to complete.

Design Changes from the Raspberry Pi 3 cluster

Although very similar to my cluster of Raspberry Pi 3s, I made a number of changes and improvements: Read about some of the design choices on the original Pi cluster.

Power, temperature & cooling

At idle, the entire system of five Plus2Es, network switch & 7V fan sips a mere 9W, and at 100% load (1.3GHz) it still only uses 18W in total. There is the possibility of further reducing the power requirements by disabling GPU/HDMI, USB and WiFi?

1.3GHz or 1.6GHz? The maximum speed of the Orange Pi Plus2E is advertised as being “1.6GHz” but Armbian Linux limits this to 1.3GHz. The fastest I managed to run the boards was 1.536GHz, which requires driving the SoCs at 1.5V instead of 1.32V – this uses 60% more power (4.0W vs. 2.5W per board) and needs more cooling to get rid of that added heat. Even with a 12V fan running full speed (which is noisy), heatsinks on each board and plenty of ventilation, my cluster of 5 boards at 1.536GHz would reach throttling temperatures after only 1 minute, so I gave up on the overclocking.

Is a heatsink worth it? the Plus2E SoC does generate a bit more heat than the Pi3, so a heatsink is probably a good idea. Xunlong sell a strange “heatsink” product that appears to be nothing more than a thin piece of 3M heat conduction tape? Instead I used third party aluminium heatsinks that come with (3M!) adhesive tape. These do reduce the temperature by a few degrees, but they aren’t nearly as effective as the jumbo clip-on heatsinks that the NanoPC-T3 board uses.

The power adaptor can supply up to 50W (2A per Plus2E), which is more than enough for a couple of power-hungry external devices to be plugged into the USB ports. Using:

armbianmonitor -m
to measure the SoC core temperature, the cluster idles at 25°C (77°F) with cooling from the 7V fan.

At 100% load and the 7V fan, using:

sysbench --test=cpu --cpu-max-prime=200000 --num-threads=4 run &
the SoC core temperatures reached a stable 54°C (129°F). If you don't provide at least some active cooling, the SoCs will reach 70°C within a minute and then automatically throttle down their clock speed, to avoid overheating. They can safely run long-term at that temperature, but you don’t get maximum performance.

Silent cooling:

To cool down the cluster I fitted a single 92mm fan inside the rear of the case. I used a (effectively) silent fan recommended by Quietpc.com, the Gelid Silent 9 (£5.53).

At 5V I have to get my ear within 50-75mm (2-3") to hear even the slightest whisper from the fan, and the supplied rubber gromets definitely do a good job of isolating the case from any small vibrations. However at 12V the fan is quite audible in an otherwise silent room, so I was looking for the voltage that would provide enough cooling, while keeping the fan silent.

For a single Plus2E you might not need a fan at all, or perhaps a small 40-60mm one.

descriptionheatsinks?idle100% load  performance   
Case, no fan, 1.3GHzno38°C74°Cthrottles
Case, 5V fan, 1.3GHzno31°C68°Cthrottles (just)
Case, 7V fan, 1.3GHzyes25°C54°COK
Case, 12V fan, 1.534GHz    yes17°C70°Cthrottles (just)

Unlike PC motherboards, a Plus2E doesn't have a standard 3 or 4-pin fan header, but it is quite easy to power the fan using the GPIO 5V power rail instead. Note that unlike on the Raspberry Pi, the power rail is wired directly to the board DC input, so there should be no problem using it to drive even power-hungry add-ons.

Most fans won't work (or will spin very slowly) at 5V, but you can use a small boost-convertor to ramp up that voltage to anywhere between 5V and 12V. This takes the 5V output from the Plus2E, and boost it to between 5V and 12V to set a different fan speed. There is a tiny screw on the board to adjust the output voltage, but use a multimeter to check the output voltage before connecting to the fan, as this particular converter can output up to 28V which would burn out the fan :$. It only costs £2.04.

Building the Plus2E Cluster

  1. Remove network switch case (2 small screws)
    Attach the network switch to case base, using 4× 6mm brass spacers + 4× 14mm bolts + nuts. This only fits one way around
  2. Cut off only 5 (of the 6) plugs on the DC power splitter cable, and solder on 5 new 4.0/1.7mm right angled plugs
    Bolt DC socket port to case back
    Cut off the combined end of the splitter cable, and solder onto the DC screw mount socket.

    Building Plus2E Cluster case 2

  3. Screw 2 external LAN ports to inside of the case back (has “DC5V 10A” etched on the outside)
    Fit the 92mm case fan to inside of the case back using the supplied rubber grommets. The fan logo should face inwards if you want the fan to blow cold air into the case. The Gelid rubber grommets are a VERY tight fit and might need to be pushed into place with a small screwdriver/pen as well as pulling quite hard!
    Clip case back to case base (marked C+D)
    Plug external LAN into network switch ports 1+3 (no room to use 1+2)

    Building Plus2E Cluster case 3

  4. Stick a heatsink onto the SoC chip of each Plus2E
    Slide 5 Plus2Es onto 4 threaded rods using 48 nuts to secure. This might be faster with the rod in an electric screwdriver? Leave 30mm space at left end, space each Plus2E 25mm apart. The LAN+USB side of the Plus2Es point towards the front of the case, with the HDMI and SD card slot pointing upwards
    Attach case sides to Plus2E rods (EF+AB), secure with 8 metal nuts.

    Building Plus2E Cluster case 4

  5. Cut the fan cable in half, and solder the red & black wires to the boost-convertor circuit. (The VIN pins go to a Plus2E, and the VOUT pins continue to the fan.) The yellow wire isn’t used.

    Fit the 3-pin fan plug into the GPIO pins of one of the Plus2Es, so that black (ground) connects to pin 6, red (power 5-12V) to pin 2, and yellow (fan speed) is unconnected. To remove the individual wires from the plug, depress the tiny metal tabs (e.g., with a small screwdriver), and the wires will slide out. I cut off the yellow wire which I wasn't interested in, and slid the wires back into the plug so that red was on the left, the middle was empty, and black was on the right:

    Building Plus2E Cluster case 5

  6. Plug Plus2E LAN cables into network switch ports 4-8 (be very careful if removing these – it is easy to break tiny plastic clips on the switch ports)
    Clip case sides to case bottom (E+F, A+B)

    Building Plus2E Cluster case 6

  7. Route HDMI cable through case
    Screw external twin USB to front case
    Screw external HDMI to front case
    Plug 2 external USBs into any Plus2E (or 2 separate Plus2Es)
    Plug LAN cables into Plus2Es
    Plug DC power cables into Plus2Es
    Plug HDMI cable + right-angle adaptor into any Plus2E

    Building Plus2E Cluster case 7

  8. Clip case front to case bottom (G+H)
    Clip case lid to case sides, front & back (M+N+O+P+Q+R+S+T)
    Attach self-adhesive rubber feet to underside of base

Bill of materials

Most of these parts were sourced from individual sellers on Amazon or eBay, which of course racks up the postage charges. If there were enough demand, it would be cheaper to bulk buy the parts and have a kit with everything you need to build the cluster.

Edimax ES-5800G V3 Gigabit Ethernet Switch£13.49
12cm Cat5e LAN cables (5 pack)£4.75
5V 10A AC-DC external power supply, 5.5/2.5mm plug£12.99
5.5/2.5mm chassis mount DC socket (1 from a 2 pack)£1.95
6-way DC power splitter cable£2.05
DC plug right angled 4/1.7mm (5 pack)£3.49
M3 steel screws 8mm (4 from a 10 pack)£1.10
RJ45 male to female screw mount (2 pack)£1.98
M3 steel hex nuts (4 from a 5 pack)£1.10
M3 steel bolts 14mm (4 from a 5 pack)£1.35
M3 brass female standoff 6mm (4 from a 10 pack)£0.99
M3 steel threaded bar 150mm inc. nuts (4 from a 5 pack)£5.50
0.5m HDMI male to female panel mount (inc. bolts)£2.39
Twin USB female socket to male cable (inc. screws)£2.19
M3 nylon hex nuts (48 from a 100 pack)£1.29
3mm extruded clear perspex 600×400mm£5.32
Laser cutting chargen/a
HDMI 270 degree adaptor£0.99
Gelid Silent 9 92mm case fan£5.53
Mini 5V-to-12V step-up/boost converter£2.04
Polyurethane rubber feet (4 from a 12 pack)£2.99
Subtotal inc P&P£73.48
Orange Pi Plus2E at US$35/each (5 pack)1£161.65
Raspberry Pi aftermarket heat sinks 5mm (5 pack)£1.09
Total inc P&P£236.22

1The Orange Pi Plus2E is duty free to import into the UK, costs US$15.43 to ship 5 boards from China, and there is UK VAT at 20% bringing the total to £161.65.

The cluster of Plus2Es is overall slightly cheaper to build than the Pi3s: you don't need a USB hub, separate microUSB cables, SD cards for each board, etc. However it is a shame they used 4/1.7mm DC power connectors, rather than the far more common 5.5/2.5mm or 5.5/2.1mm sizes.

Show me the Benchmarks!!

I'm writing a separate article benchmarking this Orange Pi Plus2E cluster against my original Raspberry Pi 3 cluster, as well as detailed benchmarks comparing the individual boards. Watch this space...

Clusters of other Single Board Computers

So far I’ve built clusters using the following ARM boards: The NanoPC-T3, Orange Pi Plus 2e and PINE A64+ clusters mostly share the same components, including the acrylic case panels – only the 2 side panels are unique because the boards are different sizes. I'm planning to revise my original Raspberry Pi cluster design so it will share most of these same case/components.

I’d like to build a small cluster of all the current crop of sub-$100 ARM SBCs, comparing the different features, and with detailed benchmarks. e.g., Odroid C2/XU4 and the Banana Pi M3. Please email me if you'd like to send boards for review.

Software to run on a cluster?

or... What is it for??

Education, training, blah, blah... well personally I’m just running Armbian (Debian Linux) on each Plus2E for now, and I’m going to experiment with things like load-balanced web/database servers.

Running Docker on ARM on each node looks like an excellent way of controlling the cluster.


Fb Share this on Facebook
Nick Smith, July 2016.