PI4B Mini Tower Acce

From Waveshare Wiki
Jump to: navigation, search
PI4B Mini Tower Acce
PI4B Mini Tower Acce





Mini Raspberry Pi 4B Desktop,With ICE Tower Cooler and OLED Display


Dedicated Mini Tower Kit for Raspberry Pi 4B, including ICE Tower Cooler, Mini Tower Case, 0.96inch OLED, and GPIO Edge Extension header. It can perfectly match your Raspberry Pi 4B and can be assembled into a mini and good looking Desktop with an excellent cooling system, OLED screen, cool RGB LED lights, speed-adjustable PWM fan, and 40PIN GPIO extension header.


  • Only compatible with Raspberry Pi 4B
  • ABS material case and two sides of the transparent acrylic baffle
  • RGB three-color programmable LED moonlights on the screen driver board, and you can adjust the color of the light according to your own preferences
  • Super Heat Dissipation with 5mm copper tubes, 28 aluminum cooling fins, and a 40mm cooling fan. The RGB lights on the fan will change with the lights on the driver board
  • With a 0.96inch OLED screen display, easy to assemble or disassemble, can display Raspberry Pi's IP address, CPU temperature, Memory Status, Network Card Traffic, and other system information by programming.
specific driver is required for the RGB lights on the fan and mood lights on the OLED screen driver board.
The OLED display needs to be enabled to display information. Please read the manual carefully and follow the steps to enable it.

Front Side


More details


User Guide

How to Assemble the Case

Package content


Installation steps


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 a 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

  • Clone this Repository
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.


  • 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 for assembling steps.
  2. please check if you have installed the driver and made it run at booting time?
  3. Could you please try to set up 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, and make sure the cable is connected to raspberry pi's GPIO in the right postion and direction.
  2. Please make sure you have enabled I2C by using 'raspi-config' tool.
  3. Please type 'i2cdetect -y 1' in a terminal and check if there is '3c' mark in the address table.
  4. Please download the demo examples code from:https://github.com/rm-hull/luma.examples.git and set it up according to wiki instructions.


Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)