having access to the android system has made me like this machine a lot more than i already did. we have limits because of our 1 gb of ram and our approximately 1gb of storage area thats shared with our gcode files, but we can still make good use of it and improve this printer quite a bit.
- remote printing and control
- navigating android
- improving security
- managing our limited storage space
- webcam function. Yes, thats right. Webcam function. Your dreams have come true.
- app stores or sideloading apps
if anyone needs detailed guides on how to do anything mentioned I would be glad to provide one upon request.
- remote printing and control:
the first complaint i see from people is remote operation. octoprint works but doesnt work perfectly on this machine. due to the way the filament sensors work i believe octoprint never will have filament runout detection unless someone changed mainboards or connects a switch runout sensor to raspi gpio pins and makes a way for the pi to feed that data to octoprint. recompiling the printer firmware enables some functions that are missing on the official firmware. But even with octoprint we don’t have duplicate mode, or backup mode, or copy mode. Im using octoprint installed on my touch screen currently and will make a writeup on my best practices after some more trial and error.
But why do we need octoprint at all when we have an android unit controlling our machine? We can simply install a vnc server app and have the screen sent to our pc or phone and control it from there, remotely. The vnc server im using is called droidVNC-NG. It is available on fdroid store. To minimize computational load run your client on low resolution. It doesn’t matter very much but makes everything run more smoothly. As for a camera there are inexpensive options like old wyze v 1 cameras that can take custom firmware and run on wifi.
- navigating android
to fix not having navigation buttons or a home app I sideload smartlauncher 3 and virtualsoftkeys. Virtual softkeys replaces the missing navigation buttons at the bottom of the screen and can be set to automatically hide. Smart launcher gives us a good home screen and app menu and can be configured to activate the notification bar with a double tap on the homescreen background.
- improving security
our version of android is 7.1.2 so its not very recent. The security updates on it are from 2018. while it can be run connected to the internet people should think if thats a good idea to do. You have multiple options for controlling this remotely which are
- connecting it only to a dedicated wifi network that isnt connected to the internet. You would have to connect your pc or phone to this wifi whenever you want to send gcode or control the printer.
- connecting it to a pi-hole which is set to have an active firewall (firewall is not active in the normal pihole install). or use a dedicated firewall solution. You can set this to block all traffic except vnc, and your webcam server, whatever port is used to send files frum luban and cura. This allows you to attach your printer to your internet connected wifi and still access functions remotely while being sure that the printers android and everything on it cant reach the internet and the internet cannot reach your printer.
- running a software firewall service on the printer and connecting to your main wifi. This can act like a fake VPN to route all traffic to the firewall, and you can set this to block any connection that you don’t approve of. This method cant always be totally sure to work because some applications or deep android services may disobey the vpn setting anyway, but you wont know unless youre using other software to monitor the network for outgoing connections from the ip address of your printer. Its better than nothing by far.
- managing our limited space.
Its easy for android devices with low storage to run out of free space. Apps save files, make backups, create logfiles, and do other things which can eat our free space over time. In the past the solution was to factory reset android. Do not factory reset the android in your printer. This will delete the applications and settings which are required for your android screen to communicate with the printer.
To manage space we can use two apps. Xplore file manager and sd maid. Xplore file manager will allow you to view a graph showing whats taking all of your free space by folder. You can navigate to them and delete their contents if its not a critical program or setting file of snapmaker. Ill look more into whats safe to remove in the future. Sd maid is a wonderful app that deletes logfiles and compresses databases among other things. Our printer wont tell us when it doesn’t have enough space to receive new gcode files from luban or cura. It will simply fail without an error. Android will also start to malfunction and fail to run properly if it runs out of storage space, and due to the way our android is set up, since its meant to never be seen or interacted with, we normally wouldnt know whats wrong or how to fix the problem. If you install and remove various apps you should always run sdmaid to clean any files left behind by the deleted app.
- webcam function.
There are multiple usb camera viewer apps on the play store. Some of the better ones seem to be otgview and usb camera livestream. Some apps stream the feed over network. Some don’t. If youre running a vnc and watching your printers screen remotely you can choose to use a viewing app on your printer and watch that through vnc on your other device. I havent tested all the options yet. I am presently using uvc camera from fdroid. It allows me to choose resolution, fps, packet size, and etc. ill be testing other software later on to see what uses the elast system resources.
- app stores or sideloading apps
the two app stores that will matter most are fdroid, an open source only store, and aurora which you can find on fdroid. Aurora acts as a alternate store for google play. With it you can spoof other devices to download apps that arent meant for your device and you don’t need googles 10 gigabytes of play services and spyware to get apps.
Xplore file manager allows you to set up a wireless connection between your devices to share files, and can access installed apk files on your phone. Note that apps which are split into multiple apk files may not install on other devices.