From 52Pi Wiki
Jump to navigation Jump to search

Mini Tower Kit For Raspberry Pi 3B



Mini Tower Case is made of ABS material, with very high precision, and the 45-degree OLED screen display angle is more convenient to observe system information. The screen holder adopts a quick-release design, and the interior of the shell includes a design for arranging cables, which is convenient for arranging cables.

The interface adopts With a fool-proof design to avoid problems caused by wrong wiring, the installation is simpler and more convenient.

The screen driver board contains RGB three-color programmable LED ambient light, which can better render the light color according to your own needs.
The ice tower radiator included in the kit can not only provide good heat dissipation, but also increase the appearance.
A non-slip rubber strip is added at the bottom to prevent it from being more stable and firm on a smooth desktop. 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.


  • ABS Material and Acrylic
  • Colorful mood lights
  • Adjustable fan light
  • 0.96 inch OLED Display (I2C protocol)
  • OLED bracket adopts quick release design for easy installation and removal
  • Precise positioning of holes
  • Ice tower radiator strong heat dissipation
  • Inside the housing contains a cable management rack
  • Easy wiring and easy cable management


  • Product outlook
  • Features

  • OLED Display system information
 NOTE: need to install driver and programming...

  • Good Heat Dissipation with Ice Tower Cooler

  • Port Definitions

  • ABS case with anti-slipper robber pad and flat heat screws.
 Easy to tidy up wires.

  • How to assemble


Package Includes

  • 1 * Mini Tower Kit For Raspberry Pi 3B/3B+.
 NOTE: Raspberry Pi 3B/3B+ mainboard is not included, Additional purchase required

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 Do remember add the "." in command line, it means current directory, you will encount error if lost it.

sudo -H pip3 install -e .

If you get this message,

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

please try to fix it according to following steps:

However if you really want to install packages that way, then there are a couple of solutions:

  • use pip's argument --break-system-packages,
  • add following lines to ~/.config/pip/pip.conf:
break-system-packages = true

and then execute "sudo -H pip3 install -e ." again.

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

Connection Details

Circuit wiring0128.jpg

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 type:
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.

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

YouTuber Feedback


  • Mini tower case, mini tower kit for Raspberry Pi 3B/3B+ case, abs case for Raspberry Pi


  • 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.