• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 1
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 2
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 3
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 4
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 5
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 6
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 7
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 8
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 9
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Image 10
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 1
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 2
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 3
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 4
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 5
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 6
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 7
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 8
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 9
Case for Banana Pi BPI-R4 (Wall-Mounting Option) 3D Printer File Thumbnail 10

Case for Banana Pi BPI-R4 (Wall-Mounting Option)

Betonmischer avatarBetonmischer

April 13, 2025

makerworld-icon
DescriptionCommentsTags

Description

Features

  • Wind tunnel cooling design with 2x40 mm fans.
  • Swappable bottom for shelf-top or wall-mounted installation.
  • Easy access to the devices installed in the bottom M.2 and miniPCIe slots.
  • Cutout for the boot switch.
  • Can accommodate different antenna configurations (or a purely wired version) thanks to the "invisible" SMA cutout plugs.
  • 4x3 and 5x3 antenna arrangements supported, up to 16 antennas total.
  • 2xSFP and 2.5GbE versions of the BPI-R4 supported (see printing guide for caveats).
  • BPI-R4-NIC-BE14, BPI-R4-NIC-BE19 (preliminary) and third-party wireless NICs supported.
  • Grounding strips for the SMA connectors (DXF and bending guides included).
  • Integrated TTL to USB Type-C adapter (see BOM for the specific part).
  • Cable holders for RG178 and RG316 pigtails.
  • Provided as STL, STEP and ready-to-print .3mf files.
  • Scripting and wiring instructions included to drive the fans from the GPIO header and tie PWM to multiple thermal sensors.
  • This model has been extensively prototyped and successfully printed in PLA-CF on the Bambu Lab P1S with a 0.4mm nozzle.

Bill of Materials

  • 2 × Noctua NF-A4x20 5V PWM fans. Other fans haven't been tested and might not fit or work as well. Only 5V fans are supported.
  • 3 or 5 × 20cm Dupont female cables for connecting the fans fans to the GPIO header. Better yet to buy Dupont connectors separately and use a tool to crimp them on thin copper wires (order surplus connectors for practice).
  • 1 × JST PH 2.0mm 3-pin female cable if the fans are to be connected to the SoC PWM header.
  • Small-diameter heat-shrink tubing for insulating solder joints on the cable.
  • Larger-diameter heat-shrink tubing (~3mm after shrinking) for securing a sleeve over the fan cable harness (optional).
  • 3 × iPhone 5 micro-SIM trays. Different trays may not fit as well.
  • 3 × micro-SIM cards (inserting empty SIM trays might damage the connectors).
  • 12 × M2.5 heat set inserts (OD 4mm, h 3mm).
  • 4 × M2.5 5mm pan head screws.
  • If using the shelf-top bottom: 8 × M2.5 screws (h 6mm, 90° head taper).
  • If using the wall-mounted bottom: 4 × M2.5 screws (h 6mm, 90° head taper) +  4 × M2.5 screws (h 16mm, 90° head taper).
  • 15–20cm pigtails (same length for each band is recommended for signal quality) for the Wi-FI NIC, as many as needed. RP-SMA female (for most antennas) to U.FL (for most mini PCIe NICs) connectors. Right-angle SMA connectors are strongly recommended for adjacent corner spots in the 5x3 antenna arrangement. RG178 or RG316 cable (the latter might offer a marginal improvement in signal strength and EMI shielding, but is more difficult to work with due to the extra thickness).
  • Pigtails for the 4G/5G modem, as many as needed and as long as needed, depending on the antenna placement. For most M.2 modems and cellular antennas, 1.13mm coaxial MHF4 to SMA (not RP-SMA) female cables are required.
  • M6 plastic washers if you plan to move antennas around and want to keep the surface clean (optional, printed washers can be used instead).
  • FT232RL-based TTL to USB Type-C adapter (optional). One on the picture is abundant on AliExpress and is confirmed to work with the BPI-R4. For using different adapters, you'll have to make adjustments to the model.
  • 0.2 mm double-sided sticky tape for installing the TTL adapter.
  • 3 × Dupont 10 cm female to female cables for the TTL adapter.
  • SoC heatsink (z-clearance is 22.8mm from the PCB). The stock BPI-R4 cooler can be reused (powered or not). Hole spacing for the heatsink is a non-standard 59.255 mm, but it doesn't have to be a precise match. I used the ATS-CPX050050015-122-C1-R0 heatsink by ATS and borrowed the push pins from the stock cooler.
  • 0.5mm and 1.1mm thermal pads for the SoC heatsink.
  • Heatsinks for the Wi-Fi card ICs (plenty of z-clearance here). Note that the ICs have different height, therefore separate heatsinks are required.
  • Heatsink for the 4G/5G modem (optional) — check clearance for the specific model.
  • 2 × heatsinks for the SFP cages (13.1mm z-clearance) — optional, but recommended for 10GbE copper modules.
  • Thermally conductive sticky tape for various heatsinks.
  • 0.2 mm copper sheet to make the grounding strips out of (optional).

Things to check before printing

  • This model is designed for snug fit. Check the dimensions of the back panel connectors — Sinovoip might use slightly different parts for different batches. If still not sure, print a small part of the back panel to see if it fits and make adjustments in CAD if necessary.
  • Check for bad soldering on the connectors and fix any that are loose or misaligned.

Choosing the right parts for printing

  • Choose the body version (4x3 vs 5x3 antenna arrangement).
  • Choose one of the back panel versions for your antenna arrangement. Both the 2xSFP and 2.5GbE versions have the option to install a TTL to USB Type-C adapter, but the latter can't be used together with the PoE module due to space constraints. Moreover, I didn't have a 2.5GbE-equipped BPI-R4 on hand to verify the dimensions of the connector — check for fit before printing and adjust if needed.
  • Choose the kind of bottom plate you need (shelf-top or wall-mounted). The wall-mounted plate is 232.8mm long, which might not fit on the print bed of a smaller printer.
  • Choose the accessories you need (plugs, bending guides, cable holders). The SMA plugs come in two sets — the longer plugs are matched to the extra thickness added by the grounding strips; the even longer plug marked by "2X" is for connecting the two strips together if there's no SMA connector in that spot.
  • Note that the bending guides for the grounding strips differ between the 4x3 and 5x3 antenna versions.
  • Choose as many washers for SMA connectors as needed (can be printed in TPU or any firm material).

Printing guide

  • The main parts of the enclosure take a long time to print due to the complex geometry, material swaps and small layer hight. You don't want them to fail mid-print or end up with sub-par quality. Therefore, calibrate and fix everything before printing: flow dynamics, flow rate, belt tension, e.t.c. Clean and cold-pull the hotend (very important when switching from a different material, e.g. PETG to PLA). Dry the main filament, even if using PLA, and the support filament.
  • In the .3mf file, material profiles are included for Bambu Lab PLA-CF with flow rate, retraction and nozzle/bed temperature tweaks. PLA-CF is the material of chose owing to the excellent dimensional stability, stiffness and ease of printing. The relatively low glass transition temperature of PLA have proven to be a non-issue in regular use even with a maxed-out BPI-R4 (Wi-Fi, 4G modem, NVMe SSD, 10GbE copper transceivers).
  • Using support material is strongly recommended for port cutouts; regular supports may work too and have been tested (change support settings accordingly), but I suggest you prototype those small areas to be sure.
  • If printing with PLA on an enclosed 3D-printer, print the main body with the door open and glass lifted; extra cooling will help with the quality of overhangs. The center vertical fin can be easily removed after printing.
  • The back panel is printed vertically for higher quality labels. Removable fins are baked into the model to keep it from moving during the print. There might be minor warping due to the small bottom surface. I printed with the door closed, but the glass lifted.
  • Let the plate cool down to room temperature before removing the part from the plate to minimize the chance of warping.

If using your own print setting or material

  • Even if you start from STL or STEP, I'd still recommend checking my .3mf file for tweaks that might be helpful to achieve the best quality.
  • Check if the sprues connecting the supporting fins to the part are rendered in the slicer.
  • If using a filament less forgiving than PLA-CF as the main material, you might have to add supports to the side grills of the main body. Those have 30° overhangs, which have proven to be a challenge even for PLA-CF.
  • The back panel can be printed flat and without supporting fins if surface quality is not a concern.
  • Always prototype tricky parts (text labels, port cutouts, grills) before launching the print.
  • Let me know if you have success with materials other than PLA-CF. I'm curious about ABS/ASA-CF/GF and PETG-CF in particular.

After printing

  • Glue in the cylindrical fan retainers if using the shelf-top bottom.
  • Take your time removing supports from port cutouts. Laying the part flat and punching through the support will make it easier to remove.
  • You might have to do some post-processing with files and small drill bits on port openings (shouldn't be extensive if you replicate my printing setup).
  • When installing heat set inserts, set your soldering iron to the same temperature as used for printing — lower temperature means the part being exposed to heat for longer, which leads to distortion. Apply heat in short bursts, allowing the part to cool in between; alternating between multiple inserts is a good way to do it. After pushing the insert all the way in, quickly press a flat tool agains the surface to remove the tiny lip formed around the insert. Printing small samples to practice on might be a good idea.

Grounding strips

  • The copper grounding strips for SMA connectors may prove to be helpful or superfluous depending on how congested the Wi-Fi environment is.
  • Rather than making the grounding strips by hand, order them to be laser-cut instead — it's likely to cost less than your time spent measuring, drilling and cutting.
  • Note that the grounding strips for the 4x3 and 5x3 antenna arrangements are different.
  • Check the picture to see how the bending guides work. The guide labeled "short" is for the corner close to the overlapping hole. For the rest of the horizontal turns, use the "long" guide.
  • The tabs connecting the strips to the mounting posts on the PCB are meant to go under the Wi-Fi NIC, not above it (see picture in the gallery).
  • Provided the strips are cut and bent correctly and the official BPI-R4-NIC-BE14 card is used, there is no need to insulate the tabs. If in any doubt, do so, but make sure to leave the ends of the tabs exposed.

Wiring

TTL to USB Type-C adapter

  • Use female to female Dupont cables to connect the adapter to the UART header of the BPI-R4. The RX pin on the adapter should be connected to the TX pin on the board and vice versa; GND should be connected to GND.
  • Make sure to set the voltage jumper on the adapter to 3.3V; 5V may damage the board.
  • The recommended adapter doesn't have galvanic isolation on the RX/TX pins. As the result, when the router is powered on before the adapter is connected to the host with a USB cable, the adapter will enter a semi-powered state and will not be recognized by the host. It won't cause any damage, just make sure you follow the power-on sequence for accessing console: the TTL to USB adapter first, then the router.

Fans

Regardless of the chosen method of connecting the fans to the BPI-R4 board, they'll have to be wired in parallel. Rather than using a custom-made Y-splitter to preserve the stock connectors on the fan cables, I suggest cutting them off, then soldering or crimping new connectors of the required type.

Connecting fans to the SoC fan header

  • For driving the fans from the SoC fan header, use a cable with a JST PH 2.0mm 3-pin female connector crimped on. You can try reusing the cable from the stock BPI-R4 cooler.
  • Check the silkscreen on the back of the BPI-R4 board for pinout.
  • On Noctua fans, the black wire is GND, yellow is 5V and blue is PWM. Solder each of those in parallel to the corresponding wire of the JST PH cable. Insulate the solder joints with heat-shrink tubing. You can leave the green wires (RPM reading) disconnected (and insulated) or connect them to the GPIO header for monitoring (see below).

Connecting fans to the 26-pin GPIO header

  • This is the preferred solution, as it allows for flexible speed control in software. 3 or 5 (depending on whether RPM reading is required) cables with 1-pin Dupont female connectors are required. I suggest using thin copper wire and do the crimping yourself instead of buying pre-crimped cables; those are often impossible to solder to.
  • Again, on Noctua fans, the black wire is GND, yellow is 5V and blue is PWM. Solder each of those in parallel to one of the Dupont cables and insulate solder joints with heat-shrink tubing. The green wires can be left disconnected (and insulated) or soldered each to a separate Dupont cable.
  • To make the wire harness look tidier, the stock mesh sleeve from Noctua fans can be reused and secured on both ends with heat-shrink tubing (see picture). Stagger the solder joints 15–20mm apart to make them fit inside the sleeve.
  • On the 26-pin GPIO header, pins 2 and 4 are 5V, pin 6 is GND, and PIN 7 is PWM (see picture). Pin 1 is marked by a dot on the silkscreen. Other pins (except for 3.3V and GND) can be used for reading the fans' individual RPM signals.

Software

Fan control

In the documentation files, a shell script for OpenWrt is provided for auto-adjusting the fan speed. The script will continuously poll all of the temperature sensors in hwmon and change the RPM according to the highest reading.

  1. For transferring the scrip from Linux or macOS to “/opt” (or any other persistent directory) on the router, use the following command: “scp  -O fan_pwm.txt [email protected]:/opt/fan_pwm.sh”. Then go to steps 2 and 7.
  2. ssh into the router.
  3. For creating the script under OpenWrt, first install nano with “apk add nano” or “ipkg install nano”, depending on your OpenWrt release, if not already installed.
  4. Run “nano /opt/fan_pwm.sh”
  5. Copy/paste the script code into the editor; make changes to the temperature threshold values if desired.
  6. Press Ctrl+X, then Y to save.
  7. Make the script executable with “chmod +x /opt/fan_pwm.sh”.
  8. Run “sed -i ‘/^exit/i /opt/fan_pwm.sh &\n’ /etc/rc.local” to make the script run on startup.
  9. Verify by running “cat /etc/rc.local”. You should see the line “/opt/fan_pwm.sh &”.
  10. Run “/opt/fan_pwm.sh &” to launch the script without rebooting; you should hear the fans slow down.

Temperature and fan speed monitoring

  • Install “luci-app-statistics” and “lm-sensors” packages to monitor and log the temperature of various components (in addition to the SoC) in LuCi.
  • Check out the “gpio-fan-rpm” tool by Zerogiven to monitor the speed of the fans if the RPM wires are connected to the GPIO header.

A word on lowering Wi-Fi noise level and improving SNR

The BPI-R4 has a strong internal source of EMI, leading to an abnormally high noise level picked up by the Wi-Fi NIC, which is exacerbated by the stock metal enclosure. Moving the board into a plastic case will substantially reduce the noise. Still, there are further measures that have been proven to work.

  • When routing the pigtails inside the enclosure, try to move them away from the mini PCIe connector of the Wi-FI NIC. This may improve the Wi-Fi noise level drastically.
  • Flare the antennas away from the router.
  • Populate SFP cages with transceivers or DAC cables for additional EMI absorption.
  • Set the ASPM governor to “powersave” by running “echo powersave > /sys/module/pcie_aspm/parameters/policy” every time on boot.
  • Check out a thread on the Banana Pi forums for more info.

Without a metal enclosure, though, the Wi-Fi NIC becomes more susceptible to external EMI. If you're willing to go an extra mile, check out my 3D-printable press dies for DIY manufacturing of EMI shield cans for the BPI-R4-NIC-BE14 card.

Change log

v1.1.0

  • Added back plates for the 2.5GbE version.
  • Corrected an error which made one of the baked-in support fins on the back plate disconnect from the model after slicing.
  • Revised and expanded documentation.

v1.2.0

  • Added part variants for a 5x3 antenna arrangement.
  • Added printable washers for SMA connectors.
  • Restored supports for the back plates, some of which were missing in v1.1.0.

License:

BY-NC-SA

Related Models

FPV-Wing-Racer preview image

FPV-Wing-Racer

Whitespace profile image

Whitespace

2,676

BPI-R4 120mm Fan Top Case Adapter preview image

BPI-R4 120mm Fan Top Case Adapter

Silas Phillips profile image

Silas Phillips

0

Case for Banana Pi BPI-R4 (Wall-Mounting Option) preview image

Case for Banana Pi BPI-R4 (Wall-Mounting Option)

Betonmischer profile image

Betonmischer

30

Banana Pi BPI-R4 - ITX adapter preview image

Banana Pi BPI-R4 - ITX adapter

Sergey74 profile image

Sergey74

6

BPI-R4 Pro Antenna Hole Plugs preview image

BPI-R4 Pro Antenna Hole Plugs

abs1ck profile image

abs1ck

2

Banana Pi BPI-R4 X Case preview image

Banana Pi BPI-R4 X Case

kc_duke profile image

kc_duke

3

Plus 4 Tag preview image

Plus 4 Tag

Chaoswarp profile image

Chaoswarp

0