ZP-0187
N07 Minitower NVMe NAS Kit for Raspberry Pi 5
Description
The Raspberry Pi 5 Minitower case is a specially designed enclosure for the Raspberry Pi 5, offering a sleek and compact housing solution. It features an integrated low-profile Ice Tower for efficient cooling and an N07 M.2 NVMe SSD M-key expansion board, which accommodates a variety of SSD sizes including 2230, 2242, 2260, and 2280. This expansion board connects to the Raspberry Pi 5 via the PCIe interface, supporting PCIe x1, and is designed to work seamlessly with the official Raspberry Pi OS once the PCIe is enabled for disk access.
Features
- Custom-fit Minitower case for Raspberry Pi 5
- Low-profile Ice Tower for enhanced cooling performance
- N07 M.2 NVMe SSD M-key expansion board
- Supports M.2 NVMe SSD sizes: 2230, 2242, 2260, 2280
- PCIe interface connection for SSD expansion
- Compatibility with official Raspberry Pi OS and PCIe configuration
- Bootable from the connected PCIe disk for faster startup
- Integrated SSD1306-driven OLED display with a resolution of 128x64 pixels
- Python library and code support for custom display configurations
- Real-time system monitoring of load, memory, disk space, and network information
Specifications
- Case Design: Minitower form factor, tailored for Raspberry Pi 5
- Cooling Solution: Integrated low-profile Ice Tower for optimal thermal management
- SSD Support: M.2 NVMe SSD with M-key, compatible with 2230, 2242, 2260, 2280 sizes
- Interface: PCIe x1 for SSD expansion board connection
- Operating System: Requires official Raspberry Pi OS with PCIe disk access configuration
- Boot Capability: System can boot from the PCIe-connected disk
- Display: OLED screen with 128x64 pixel resolution, driven by SSD1306
- Programming: Requires Python library and custom Python code for display functionality
- Monitoring Capabilities: Displays current system load, memory usage, disk capacity, and network status
- Customization: Users can modify Python scripts to display additional information as desired
Gallery
- Product Outlook
- Heat sink details
- Product features
- Easy to access all ports
- Easy to access MicroSD Card
- Application scenario
- Application scenario
- Components Wiring Diagram
- 40Pin GPIO expansion
- The screen holder adoptsa quick release design
- Installation details
- Bench test 30 minutes CPU temperature figure
How to assemble it?
- Please follow the steps to assemble your devices.
Package Includes
- Raspberry Pi 5 dose not include in the package, additional purchase required.
How to configure it?
How to enable PCIe function on Raspberry Pi 5?
To enable the PCIe function on the Raspberry Pi 5, follow these steps:
- Enable the PCIe Interface: Add dtparam=pciex1 to the /boot/firmware/config.txt file to enable the PCIe interface. If you want to use PCIe Gen 3.0 speeds (which is not officially supported), add dtparam=pciex1_gen=3.
dtparam=pciex1 dtparam=pciex1_gen=3
- Use a PCIe Expansion Card: Use an adapter board to connect an M.2 SSD to the Raspberry Pi 5's PCIe interface. Ensure that your SSD is compatible with the Raspberry Pi 5 and that you have the appropriate firmware and OS image installed.
- Configure Boot Order: If you wish to boot from an NVMe drive connected to the PCIe interface, you may need to change the bootloader's BOOT_ORDER configuration. This can be done by editing the EEPROM configuration with the command sudo rpi-eeprom-config -e and setting options
sudo raspi-config
Navigate to Boot Order and select boot from NVME or USB device, please check following figures
Do remember restart raspberry pi 5 to take effect
- Check Compatibility: Note that not all M.2 SSDs are compatible with the Raspberry Pi 5. Certain models, such as those in the Western Digital SN series, may not be bootable or may have performance issues.
- Hardware Connection: Ensure that your PCIe expansion or adapter board is correctly connected to the Raspberry Pi 5's FPC connector and that your SSD is installed on the expansion board.
- Software Configuration: Add the necessary configuration lines to the config.txt file on the boot device (whether it's an SD card or SSD) to enable the PCIe interface and ensure the system knows how to boot from the PCIe device.
- Test and Verify: After completing the above steps, restart your Raspberry Pi 5 and verify that the PCIe device is recognized and functioning correctly.
How to enable OLED display on the case?
Step 1. Enable I2C function
- Enabling the I2C function on a Raspberry Pi typically involves a few steps, which include enabling the I2C interface in the Raspberry Pi's configuration, installing necessary software packages, and then using the I2C interface with your applications. Here's a general guide on how to do it.
- Enable the I2C Interface: You can enable the I2C interface using the Raspberry Pi Configuration tool. Open a terminal and type:
sudo raspi-config
Navigate to "Interfacing Options" and then select "I2C" to enable it.
- Update the System: After enabling I2C, it's a good practice to update your system. Run:
sudo apt-get update sudo apt-get upgrade
To ensure all packages are up to date.
- Install I2C Tools: Install the I2C tools package by running:
sudo apt-get -y install i2c-tools
- Check I2C Devices: You can check if the I2C interface is working correctly by running:
sudo i2cdetect -y 1
which will scan for I2C devices on bus 1.
- Install Additional Libraries: Depending on your project, you may need to install additional libraries for Python or other programming languages to interact with I2C devices.
Step 2. Install dependencies packages and libraries
- [Optional] Install virtualenv package.
sudo apt -y install virtualenv
- Create virtualenv environments
virtualenv -p python3 venv cd venv/ source bin/activate pip install luma
- Install dependencies packages
sudo apt -y install python3-dev python3-pip python3-pil libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev
- Grant permission to current user, please replace pi with your current user.
sudo usermod -aG gpio,i2c pi
- Clone luma.examples demo code from GitHub.
git clone https://github.com/rm-hull/luma.examples.git cd luma.examples/ pip3 install -e . --break-system-packages
See following figure:
- Test Demo code in examples folder
cd examples/ ls python3 runner.py
- Display system information on OLED
At first, install dependencies library
pip3 install psutil
Second, execute the program.
python3 sys_info.py
and then press "Ctrl+C" to quit the program.
How to create systemd service file?
- Create a shell script to run the program
vim.tiny /home/pi/start_oled.sh
Filling the file with following parameters:
#!/bin/bash # cd /home/pi/venv source ./bin/activate cd /home/pi/venv/luma.examples/examples/ python3 sys_info.py
- Grant execution permission.
chmod +x start_oled.sh
- Create systemd file on system.
sudo vim.tiny /etc/systemd/system/minitower_oled.service
Copy and paste following parameters into the file.
[Unit] Description=Minitower OLED service on RPi5 DefaultDependencies=no StartLimitIntervalSec=60 StartLimitBurst=5 [Service] Type=simple ExecStart=/bin/bash -c "bash /home/pi/start_oled.sh" RemainAfterExit=yes [Install] WantedBy=multi-user.target
Save it and reload the daemon and enbale service.
sudo systemctl daemon-reload sudo systemctl disable minitower_oled.service sudo systemctl enable minitower_oled.service sudo systemctl start minitower_oled.service sudo systemctl status minitower_oled.service
Please make sure the service is active and running, and then you can see the information of your system will display on OLED screen. if you want to modify display information, please edit sys_info.py file and adding your own script.
Keywords
- Minitower case, Minitower case for Raspberry Pi 5, ice tower cooler for Raspberry Pi 5, N07 M.2 NVMe SSD adapter board for Raspberry Pi 5.