The T95 Mini is an android TV box. Be careful when sourcing one as there are a lot out there that actually use the H616 processor and currently the android tv boxes using this processor don’t have a stable OS image! In addition I have been made away that despite the OS image saying the max T95 max variant is supported multiple people have been unable to make it so.
The T95 Mini with H6 processor linked below has been tried and tested!
The one I got is a neat little unit which features an Allwinner H6 quadcore processor, WiFi and some USB connectivity all inside a neat little box.
Because people are struggling to get hold of Raspberry Pi’s I’ve seen a big demand in alternative cheap SBC sources. Using a TV box might seem like a curve ball but actually on the inside it is no different! I have also seen a lot of questions arising on whether or not it’s possible to install Klipper on it. Well today I’m going to answer that question and take you through the process.
The T95 mini is designed as a TV box but has similar specifications to the lowest model pi4.
- T95 TV Box Aliexpress (Max) Amazon (Mini – Verified – purchased)
- Micro SD card (<=32gb) Aliexpress Amazon
The T95 that I ordered from Amazon came the next day and was packaged in a pretty nice looking box.
First impressions are that the T95 is a neatly packaged device clearly aimed at the consumer market rather than the tinkering market a Raspberry Pi normally appeals to! It comes with a remote (which we will almost certainly never use), power lead and a HDMI cable. It also comes with a manual for it’s intended use as a TV box… Throw that away now because there is no time for TV when 3D printers need modding!
Setting up the OS
A US based company now sell a mini PC based off the same hardware that is inside the board (Inovato) which comes with their Debian based Linux OS pre-installed. We however will have to install their OS onto our T95.
Download the OS from here
To write the OS image to the card I like to use the Raspberry Pi imager. Open the OS image in the Raspberry Pi imager and then select the SD card. Note – The SD card should be formatted with FAT32. Click write and then yes to acknowledge that any existing data on the SD card will be wiped.
Wait for the image to write to the SD card. This can take quite a while so grab a cup of tea or do whatever else you do to pass the time.
Insert the Micro SD card into the board. Make sure not to have a screen connected as this will stop the automatic installation. Plug in the device. the front panel LED (light) will turn red while booting and flashing the internal ROM. This will take about 7-30 minutes. When it is done, the LED will turn blue.
At this point you have 2 options you can connect everything to a screem and keyboard and use the desktop interface to set up the WiFi or you can temporarily plug in an ethernet cable. Either way you need to unplug the TV box, remove the SD card, then plug it back in.
I used the ethernet cable option. To find out the IP address of the device you can use your routers interface or a tool like advanced IP scanner
Use PUTTY to SSH into the device.
Log in with username ‘quadra’ and password ‘1n0v@t0’
Change the password to something secure. enter the command below then follow the instructions.
If you plan on connecting via WiFi use the command below to set it up. Select ‘activate a connection’ then select your WiFi network. Enter the password. The network should now have an * next to it indicating you are connected.
Check what your WiFi IP address is and write it down for later. You should be looking for the inet address under the wlan0 heading.
ip -s -c -h a
We will be using KIAUH to install Klipper and the associated packages.
First off we need to make sure git is installed. Paste and run the following command. It should already be there but there is no harm in checking!
sudo apt-get install git -y
Next install KIAUH. run these command one at a time. You should now have successfully installed KIAUH.
cd ~ git clone https://github.com/th33xitus/kiauh.git
Next launch KIAUH using the command below. You should be greeted with the menu for installing Klipper, Mainsail and Moonraker!
Press 1 and enter to go to the install menu. We are going to work our way through the installed in numerical order. Start with Klipper (1) then Moonraker (2) then Mainsail (3). If you are familiar with this process and know what you want you can start adding extras but otherwise you can add them later. You will likely be prompted for the sudo password during this. Enter it (note no text appears when doing so) and press enter. Installing these will take a while. Choose y for all the options as you go along.
Once complete enter b to go back to the main menu. You should have a status that looks like this. If you do press q and exit.
Paste the IP address you got earlier into a web browser. You will almost certainly have a Klippy error because you haven’t defined a board yet but you should see the mainsail interface appear.
Plug in your controller board of choice and find the serial port using the following command. You should get the serial id you need to paste into your Klipper config.
And that’s it guys! you are ready to move onto setting up your printer controller board.
Follow instructions specific to your board to flash the firmware and then update your printer.cfg file as per any other Klipper install! Hope you liked it and that this helps some people out who are scared of using a non-official Raspberry Pi board!
Support 3DP and ME! Help us keep producing tutorials, content and mods!
44 thoughts on “Tutorial: T95 Mini TV Box Klipper Install”
You mention switching to a new user that you created in an earlier step but it appears that step got left out.
For anyone that needs it you can create a new user with the adduser command. It will walk you through the necessary steps to create one.
You will also likely need to add the new user to the sudoers group which you can do with this command:
usermod -aG sudo username
Replace username with whatever you chose when you ran adduser.
Just finishing the setup, thank you! How do I add my C270 webcam to make it show up?
Use kiauh to install webcam support. Plug in the webcam and then you will probably have to specify the device in the config.
How do I do this? I’m completely new to this sorry
Ssh into the device like in the guide.
Run the kiauh script. (./kiauh/kiauh.sh)
Go to the install menu
Then install webcam support
I installed MJPG Streamer but I can’t get my webcam to pop up
ok, I’m stumped. Got the same TV box as suggested. Insert SD card and no boot, no red LED. Remove the SD card and get the blue LED. Anyone have a suggestion? Insert the SD card in a computer and is visible.
Did you get the exact same or just another T95 box?
Some of them have a different chip and won’t work. I know because I got one of those before!
I have the actual inovato quadra box and i cannot get my printer to communicate with mainsail. even after flashing.
Do you get any devices appearing when listing the usb devices using ‘ ls /dev/serial/by-id/*’
Yes I do. I can reboot the box, I can restart firmware, when the printer is connected it shows that in the ID Dev. I have put it in my printer.cfg in both locations (inside mainsail and in the folder on the box)
I have tried flashing the printer using different names a few times as well.
I would suggest you are either copying the name in wrong to the config or there is an issue with the firmware on the mcu board (printer controller board).
It’s hard to help based just on the comments above in afraid. Google of any errors is definitely your friend as this sounds like it’s probably a common not communicating issue.
For sure a communication issue. I ordered a BTT skr mini v2 to try.
I tried flashing and copying the link for the devID into the MCU in the printer.cfg
Is there any way to recover a password?
As with most Linux things the answer is no. Flash a new blank image onto the device though and you will be good to go just with anything you had before lost.
Awesome tutorial, helped me a lot!
I just have one question: how could I set an static IP so klipper doesn’t change every time I turn on the printer.
Follow standard instructions for doing it on armbian 🙂 https://www.albertogonzalez.net/how-to-set-a-static-ip-on-armbian/#:~:text=Connect%20to%20your%20device%20via%20SSH.&text=Back%20up%20the%20%2Fetc%2Fnetwork,file%20and%20edit%20it%20afterwards.&text=And%20copy%20this%20Ethernet%20configuration,to%20assign%20to%20the%20device.&text=Exit%20by%20pressing%20Crtl%2BX,Y%20to%20save%20the%20file.
This does not work with the T95 Max. Just tested and pulled one apart, it has an H6, but does not have eMMC. It comes with nand flash. Buy the Mini.
This is the second report I’ve had of this so I am going to edit the guide to say that despite the image saying it works with the max no one can make it work!
LikeLiked by 1 person
In response to my post about the T95 Max;
You can boot from the SD card but can not save the OS to the board.
Not an issue if you are ok booting from an SD card. Mind you you need to also have the HDMI plugged in for that to boot.
If you are trying to use this instead of a pi and to run a 3d printer running klipper, the Max won’t work for you.
installed it today on a max, no problems and several restarts (static ip trials). It seems to be working for me.
Can you send / share the exact product link so we can compare what the difference is
I’m afraid that I just bought it through a second hand website, but I can access via ssh and get the information if you want. (Don’t know how to do it though).
@marcos installed on the eMMC or booting from SD card?
You can see the guts of my T95 Max on inovato’s forum….it indeed has a nand, not an eMMC and lots of others with a Max are reporting the same problem.
Mine (documented nonworking T95 Max) is this one.
Just booted from sd card, literally following these steps.
For anyone interested. I got a T95 Mini from Amazon today. This one works. Buy this model.
Thanks for the guide!
Awesome thank you for sharing that!
I’m trying to install this and i keep failing at the sd card flashing step.
If i flash the downloaded Inotavo image and install it to my sd card, i inset it into the t95 mini (i got this one https://www.amazon.co.uk/gp/product/B07THJJTK4/ref=ppx_yo_dt_b_asin_image_o00_s00?ie=UTF8&psc=1) the t95 sits with a red light for several minutes then turns blue as expected, but after that i’m stumped…..
If i plug in an HDMI cable and plug it into my TV, nothing happens/TV never responds with an image on screen. If i reboot the t95 it still doesn’t show an image on my screen.
I don’t see any devices added to my wifi network either.
Please tell me what i’m doing wrong
1. You should unplug it after it turns blue.
2. Take out the SD card.
3. Power it back on. This time with the HDMI and A. a USB mouse and keyboard attached Or option B. an ethernet cable hooked into your router.
4. If using the keyboard/mouse use the login info and then setup wifi connection. If using Putty follow the directions in the guide to setup wifi.
I have an odd problem. The printer board disappears after 10 seconds. In other words if I plug the printer into the T95 ‘ls /dev/serial/by-id/*’ shows the printer. After 10 seconds I get ‘No such file or directory’. It is very consistent. This occurs even before any Kipper stuff is installed.
That is odd. Have you powered the printer board externally? The power over usb from the T95 might be insufficient?
I got the answer from a developer on the Inovato forum. It might be necessary to add this to the instructions. Apparently, there is a built-in background process in Debian for braille displays. It likes to grab USB ports. I ran “sudo apt remove brltty” and rebooted. That fixed the problem.
No way you would have ever figured this out on your own, said my wife.
No way I was working that one out any time soon either! Weird I never experienced that
I am able to setup my T95 mini the first time and mainsail starts right up. On setup I used an ethernet cable and connected to wifi also. I could remove the ethernet cable and mainsail worked over wifi. However, once I unplug the T95 and turn it back on, a red light appears and while it still starts up and I can SSH into it, mainsail does not start up.
I have an update to my comment just earlier. I went to my.mainsail.xyz, type in my ip, and was able to gain access to my printer that way. But, I’d still like to figure out what is going on.
It sounds like it’s just getting a different ip address. Presumably you didn’t do any extra steps to setup a static ip?
Yeah, it changes ip everytime it restarts and I do know it’s ip everytime because I am checking it on my routers info page. So that shouldn’t be why I can’t login.
Try adding a port number to the end of the ip. :80 is normally the one mainsail appears on.
Thank you for your help. That doesn’t do anything, although I can access ip:7125 which shows moonraker stats. I’ve found that if I reinstall mainsail and moonraker I can access the mainsail page via ip, but if I restart the T95 box, it doesnt allow me to access mainsail. So for now, I guess I will keep it plugged in, but I’ll have to figure out what is going on eventually.
To provide an update: I redid everything for the 4th time and figured out with some help that ngnix was the reason mainsail wasn’t starting. For some reason, after I reboot the T95 running armbian, ngnix does not start. Is there a way to make sure this starts on reboot?
Is there any way to wire an accelerometer for resonance compensation on this?
I’d suggest using either the pi pico route (connecting the adxl to the pic and pico via USB to the TV box) or I think its BTT who have released a USB based adxl board that can be directly connected via usb
I used the adxl345 board from triangle labs. It has USB a to USB c so you can just plug it in.