Difference between revisions of ""Model B" Acrylic Open Enclosure"

From PINE64
Jump to navigation Jump to search
(Add photo from the store)
(→‎3D-Printable Top With Fan Cutout: Add my jank Arduino fan controller stuff, correct some info)
Line 14: Line 14:
 
[[User:CounterPillow]] has created an alternate 3D-printable top plate which allows for the mounting of a 40mmx40mmx10mm fan. The STL and STEP files [[Media:Model_B_acrylic_case_top_plate_with_fan_cutout.zip|are available free of charge, licensed as CC-BY 4.0]].
 
[[User:CounterPillow]] has created an alternate 3D-printable top plate which allows for the mounting of a 40mmx40mmx10mm fan. The STL and STEP files [[Media:Model_B_acrylic_case_top_plate_with_fan_cutout.zip|are available free of charge, licensed as CC-BY 4.0]].
  
A fan is mounted to it using self-tapping fan screws usually shipped with computer fans; put the fan on the underside of the plate, and screw in the self-tapping screws from the top side. Make sure that you have the fan oriented the right way, though this being an open enclosure, there isn't really a wrong way.
+
A fan is mounted to it using self-tapping fan screws usually shipped with computer fans; put the fan on the underside of the plate, and screw in the self-tapping screws from the top side. You can either have the fan exhaust air through the top, or blow it onto the SoC's heatsink. The latter configuration appears to work better, but precise measurements haven't been made yet.
  
 
Recommended printing material is PETG for its structural rigidity. However, PLA will likely work fine as well, and is easier to print. A 0.6mm nozzle was used for test prints, but any nozzle should work. Depending on the layer height you choose, your print may come out slightly thicker or thinner; this is no problem though. It's recommended to enable the advanced "Detect Thin Walls" option in slic3r to get a cleaner g-code result around the fan holes.
 
Recommended printing material is PETG for its structural rigidity. However, PLA will likely work fine as well, and is easier to print. A 0.6mm nozzle was used for test prints, but any nozzle should work. Depending on the layer height you choose, your print may come out slightly thicker or thinner; this is no problem though. It's recommended to enable the advanced "Detect Thin Walls" option in slic3r to get a cleaner g-code result around the fan holes.
Line 20: Line 20:
 
The print will take approximately 7.8 metres of filament, and take in the order of one hour, though this depends on slicer settings and printer model.
 
The print will take approximately 7.8 metres of filament, and take in the order of one hour, though this depends on slicer settings and printer model.
  
An unfortunate side effect of perfectly centreing the fan mount is that the SoC of the ROCK64 will be right below the fan's centre, where there is little airflow. However, the spread out nature of the heatsink and the distance between fan and SoC still allow it to cool down effectively. Its cooling performance with a Noctua NF-A4x10 5V PWM is enough to no longer throttle after a few minutes of cpuburn, but comfortably sitting at below 75°C instead. The memory has no temperature sensor, but will likely be getting a much bigger benefit due to being off-centre.
+
The cooling performance with a Noctua NF-A4x10 5V PWM is enough to no longer throttle after a few minutes of cpuburn, but comfortably sitting at below 75°C instead. The memory has no temperature sensor, but will likely be cooled quite a bit as well.
 +
 
 +
Since the [[ROCK64]] has no PWM pins available to control the fan, a slight workaround can be done; with the <code>gpio-fan</code> device tree binding, an Arduino can be controlled to soft-PWM a suitable 25 kHz signal for the fan. The ROCK64 uses 3.3V on the GPIO pins, so you'll need to logic level convert it to 5V if you're using a 5V Arduino, and if you're using a 3.3V microcontroller, you'll need to logic level shift the output PWM signal as the 5V fan will be expecting 5V PWM on the PWM pin.
 +
 
 +
The [https://gist.github.com/CounterPillow/34cd7355eb625093e4350c349d2618ea device tree changes and the Arduino sketch] which [[User:CounterPillow]] created for this can be used for any purpose by anyone. It is recommended to play around with the device tree though, to add more trip points for better control over when the fan actually ramps up, and adding more hysteresis as the temperature reading from the ROCK64 is quite jumpy.

Revision as of 21:56, 17 June 2021

A ROCK64 mounted in the case, the correct way.

The "Model B" Acrylic Open Enclosure is a case for "Model B" sized single-board computers sold by Pine64, available from the official store.

Installation

To install the SBC inside the case, stick the long screws into the SBC mounting holes from below, place the board such that the screws sit in its mounting holes, and screw on the brass fasteners on top of the SBC.

Mods

3D-Printable Top With Fan Cutout

Top view of the plate
The assembled modified case with a Noctua NF-A4x10 5V PWM mounted to it. SBC is mounted all wrong here.

User:CounterPillow has created an alternate 3D-printable top plate which allows for the mounting of a 40mmx40mmx10mm fan. The STL and STEP files are available free of charge, licensed as CC-BY 4.0.

A fan is mounted to it using self-tapping fan screws usually shipped with computer fans; put the fan on the underside of the plate, and screw in the self-tapping screws from the top side. You can either have the fan exhaust air through the top, or blow it onto the SoC's heatsink. The latter configuration appears to work better, but precise measurements haven't been made yet.

Recommended printing material is PETG for its structural rigidity. However, PLA will likely work fine as well, and is easier to print. A 0.6mm nozzle was used for test prints, but any nozzle should work. Depending on the layer height you choose, your print may come out slightly thicker or thinner; this is no problem though. It's recommended to enable the advanced "Detect Thin Walls" option in slic3r to get a cleaner g-code result around the fan holes.

The print will take approximately 7.8 metres of filament, and take in the order of one hour, though this depends on slicer settings and printer model.

The cooling performance with a Noctua NF-A4x10 5V PWM is enough to no longer throttle after a few minutes of cpuburn, but comfortably sitting at below 75°C instead. The memory has no temperature sensor, but will likely be cooled quite a bit as well.

Since the ROCK64 has no PWM pins available to control the fan, a slight workaround can be done; with the gpio-fan device tree binding, an Arduino can be controlled to soft-PWM a suitable 25 kHz signal for the fan. The ROCK64 uses 3.3V on the GPIO pins, so you'll need to logic level convert it to 5V if you're using a 5V Arduino, and if you're using a 3.3V microcontroller, you'll need to logic level shift the output PWM signal as the 5V fan will be expecting 5V PWM on the PWM pin.

The device tree changes and the Arduino sketch which User:CounterPillow created for this can be used for any purpose by anyone. It is recommended to play around with the device tree though, to add more trip points for better control over when the fan actually ramps up, and adding more hysteresis as the temperature reading from the ROCK64 is quite jumpy.