From 52Pi Wiki
Jump to navigation Jump to search

Mini Tower Kit for NAS



This kit contains an M.2 SATA SSD expansion board which can expand the mass storage for your Raspberry Pi.
The case is made of ABS material,This kit turns your Raspberry Pi into a mobile mini-host.

NOTE: The RGB light in Fan and mood light will not light up unless installed driver, and OLED will not display any information untill you have enabled it !!! Please read the manual carefully and follow the steps to enable it.

Please purchase M.2 SATA SSD 2280 mass storage device, It dose NOT support NVME SSD!!!



  • ABS material High-precision mold making
  • 0.96 inch OLED display, 128x64pixels, default I2C address: 0x3C
  • M.2 SATA SSD 2280/2260/2240 mass storage adapter board
  • Supports up to 2TB M2. SATA SSD solid-state drive
  • Multiple ASMedia Chip Compatibility:
  • ASMedia Technology ASM1051E SATA 6Gb/s bridge,
  • ASM1053E SATA 6Gb/s bridge
  • ASM1153 SATA 3Gb/s bridge
  • ASM1153E SATA 6Gb/s bridge
  • Supports Mass Storage Driver: UAS
  • Supports LED indicator for disk activity status
  • Supports booting up from SSD method.
  • USB3.0 connector (Data Transfer)
  • Ice Tower Heat dissipation system
  • RGB Programmable Fan light and mood light (WS281X)
  • Acrylic Transparent Side Pannel
  • Foolproof power connector for OLED screen and Fan
  • Supports taking power from the GPIO pin of the Raspberry Pi through the Pogopin to supply power to the disk adapter board (5V@3A)
  • Transfer Speed is up to 272MB/s
  • Recommended 5V/3A power supply


  • Product Outlook
  • Product Details

  • How to insert TF card

  • Edge extension board

  • OLED Display system

How to assemble it

  • Please follow the steps to install, beware of the installation details, please take care of the pogopin when isntall the M.2 SATA SSD adapter board.
  • Step 1

  • Step 2

Connection Details

Circuit wiring0128.jpg

Package Includes

  • 1 * Mini Tower Kit For NAS

Download Pre-installed images

Recommand: Just download the pre-installed image which has been installed minitower kit driver and being tested 

How to enable OLED Display

  • We assume you are using Raspberry Pi OS,(32bit/64bit).

1. Turn on `i2c function` by using `sudo raspi-config` -> `interface options` -> `i2c` -> `enable` -> `yes`.
2. Check if the screen has been recognized by Raspberry Pi.

i2cdetect -y 1 

if encount `command not found` error, please install `i2c-tools` by using `sudo apt update && sudo apt -y install i2c-tools`.
3. Install dependencies libraries:

sudo apt -y install python3 python3-pip python3-pil libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5

4. Grant privilleges to user `pi`

sudo usermod -a -G gpio,i2c pi

5. Download sample code from this repo:

git clone https://github.com/rm-hull/luma.examples.git
cd luma.examples/

6. Install the dependencies

sudo -H pip3 install -e .

7. Entering into example folder and test it.

cd examples/
python3 clock.py

8. At this time, the OLED screen is displaying clock.

If there is black screen or have nothing display on the screen, please check whether the cable is connected properly, and then check if you have enable the I2C function, and you can just typing : i2cdetect -y 1 in a terminal and check if there is an address like "3C" on screen. if not, please reconnect the cable and reboot raspberry pi. If you can not download the repository from github, please check the internet connection and please make sure you can access to github.com. If you have issue with using the OLED display, please contact us first.

Minitower clock.jpg

How to enable fan light and mood light

NOTE: The RGB lights in the fan are connected to the ambient lights on the screen driver board. Turn on any one of the lights is equivalent to turn on the entire light group.
  • 1. The lights are connected to GPIO18 which can found by typing: pinout in a terminal.

  • 2. Make sure your Raspberry Pi can access internet.
  • 3. Download demo code projects sources from github.
cd ~
git clone https://github.com/jgarff/rpi_ws281x
  • 4. Build:

Build with SCons

  • Install Scons (on raspbian)
 sudo apt update && sudo apt -y install scons 
  • Make sure to adjust the parameters in main.cto suit your hardware.
  • Signal rate (400kHz to 800kHz). Default 800kHz.
  • ledstring.invert=1 if using a inverting level shifter.
  • Width and height of LED matrix (height=1 for LED string).
  • Type scons from inside the source directory.
cd rpi_ws281x/
sudo scons

Build and install with CMake

  • Install CMake
  • Configure your build:

For example:

mkdir build
cd build

See also for available options in CMakeLists.txt.


cmake --build .

to build

  • To install built binaries and headers into your system:
sudo make install
  • Running:


sudo ./test 

(default uses PWM channel 0).

That's it. You should see a moving rainbow scroll across the display.

More options are available,

./test -h 

should show them:

./test version 1.1.0
Usage: ./test
-h (--help)    - this information
-s (--strip)   - strip type - rgb, grb, gbr, rgbw
-x (--width)   - matrix width (default 8)
-y (--height)  - matrix height (default 8)
-d (--dma)     - dma channel to use (default 10)
-g (--gpio)    - GPIO to use
                 If omitted, default is 18 (PWM0)
-i (--invert)  - invert pin output (pulse LOW)
-c (--clear)   - clear matrix on exit.
-v (--version) - version information

How to Install All Drivers Automatically

git clone https://github.com/geeekpi/absminitowerkit.git 
cd absminitowerkit/
sudo ./install.sh 

How to change display information

 If you want to change the display information, please follow the steps below.
  • Open a terminal and navigate to /lib/systemd/system/ folder.
  • Edit 'minitower_oled.service' file and adding your script.

And the demo codes are located at: /usr/local/luma.examples/examples/, or you can put your own code in the same location and change the parameter of ExecStart variable and restart the service.


For example, Default ExecStart's parameters is called /usr/local/luma.examples/examples/animated_gif.py file, we can just comment it out with # (hash tag) and remove the hast tag before ExecStart=/bin/bash -c 'python3 /usr/local/luma.examples/examples/sysinfo.py &' and save it and quit.


you can also replace the file name with the file names in folder: /usr/local/luma.examples/examples/

  • Reload systemd service and minitower_oled.service
sudo systemctl daemon-reload
sudo systemctl restart minitower_oled.service
  • You will find the content of OLED display has been changed.
Minitower infor.jpg

  • More demo code please access your local folder in: /usr/local/luma.examples/examples/ folder, there are plenty funny code inside the folder.

How to parted disk and mount it

  • Detect the disk which recognized by Raspberry Pi.
sudo lsblk

if you can see there is a device called:"/dev/sda", which is recognized by Raspberry Pi as first hard disk device.

  • Create new partition by using: fdisk command.
 sudo fdisk /dev/sda 

and create a new partion by using following command: press "n" and press "enter", and then input "p" and then press "enter", input "1" and then press "enter", and press "enter" again, means make the whole disk as an partition. finally, press "w" to write the partition table to your disk.

  • Update kernel info for your device.
 sudo partprobe /dev/sda 
  • Format disk to ext4 file system.
 sudo mkfs -t ext4 /dev/sda1 
NOTE: /dev/sda1 means the first partition of the device /dev/sda 
  • Create mounting point.
 mkdir /home/pi/mydata 
  • Grant access permission to the location.
chmod +rwx /home/pi/mydata
chown -R pi:pi /home/pi/mydata
  • Mount the device to mounting point:
sudo mount -t ext4 -o rw -v  /dev/sda1 /home/pi/mydata 
  • Check if the device is mounting properly.
df -Th 

How to enable automount the device when reboot the Raspberry Pi

 NOTE: wrong configure in /etc/fstab will crash your OS, please beware of the operations.
  • If you want to mounting the device automatically, please modify "/etc/fstab" and adding following line.
 /dev/sda1    /home/pi/mydata     ext4     defaults,noatime    0   0  
  • Check if the file is correctly.
sudo mount -a 
df -Th

Package Includes

  • 1 x mini tower NAS kit

YouTuber Feedback


  • Mini Tower Kit, mini tower kit for NAS, mini tower kit, mini tower, case for NAS


  • Why does my fan lights up when I was booting up my Raspberry Pi?
  1. Please check if the cable is connected properly as wiki instructions assembling steps.
  2. please check if you have installed the driver and make it running at booting time?
  3. Could you please try to setup your lights by following this repo: https://github.com/geeekpi/absminitowerkit
  • How to check if the OLED display is dead or not configured well?
  1. Please check the cable's connection, make sure the cable connected to raspberry pi's GPIO in right postion and direction.
  2. Please make sure you have enable I2C by using 'raspi-config' tool.
  3. Please typing 'i2cdetect -y 1' in a terminal and check if there is '3c' mark in the address table.
  4. Please download demo examples code from :https://github.com/rm-hull/luma.examples.git and set it up according to wiki instructions.
  • Why my SSD could not recognized by my Raspberry Pi?
  1. Please make sure you have using M.2 SATA SSD but not M.2 NVME SSD.
  2. Please make sure you have connect the USB adapter to Raspberry Pi and NAS adapter board.
  3. Please try to check the device information by using: "lsblk"  command or "sudo fdisk -l" command.
  • How can I stop the light stream, just make it stay on one status?
  1. open a terminal.
  2. typing: sudo systemctl stop minitower_moodlight.service
  • Why does my mood light stack on one color and does not spinning like a rainbow?
  1. please try to open a terminal.
  2. Typing: sudo systemctl restart minitower_moodlight.service