Although the HEPA + Carbon filter seems to be working just fine, I decided to add an exhaust fan to the printer enclosure. It uses the same fan as the filter but discharges the air into a 2 1/2" hose which is then sent though an unused doggie door. I made a panel to go in the doggie door which the hose can attach to with a quick change coupler, and a cap to close it off when it's not being used. Seems to work, and the volume of air at the end of the hose is reasonable for what I want it to do. I did find several design problems which I went back and corrected as best I can, but I feel that if I had started over from scratch I would have done things a bit different with the exhaust fan. It is not enough of an issue for me to spend that time though, and since it works I probably will just leave it be. I've not posted this, or the doors or most of the rest of the enclosure on Thingiverse yet, and hesitate to do so since although I like it, and it works, it is not perfect - and is also not complete yet. It has also been an expensive project.
So the holidays are finally over, and now I can start to refill the hole in my bank account, but the work is not yet done (never is). If it were up to me though, I'd just leave the lights up all year, since it seems a waste to spend the effort to take them down just to put 'em back up 11 months later. But I guess we live in a society with rules and all that, so I will cooperate for the greater good of the neighborhood and take 'em down. I'm not really all that much into Christmas anyway, seems like it is just a shakedown by the Apple-Industrial Complex and Amazon, and probably the Rand Corp...uh, I better not say anymore, I think Alexa is listening.
Anyhoo, I made some clips to let me coil up and store my Christmas lights using some old filament spools. Seems like a good way to do something with them since I could not bring myself to pitch 'em, and they don't have any recycling symbols on them (but appear to be ABS). You can find the clips here if you want to organize your lights, and have a bunch of empty spools lying around with nothing better to do.
The design was remixed from Madox's Filament Clip (https://www.thingiverse.com/thing:12516) and Shermluge's Christmas Light holder for rain gutters (https://www.thingiverse.com/thing:3204558).
If you were unfortunate enough to stumble on my humble site, the least I could do for your troubles is to wish you a Merry Christmas, Happy Chanukah, Happy Kwanza or Merry Festivus. Pretty soon it will just be called Amazon-mas, but for now we can enjoy whats left of the Holiday Season, and look forward to using all the new credit card bonus miles in 2020. Hopefully you will be spending the holiday with friends and family, or at least with a stiff drink and some good music, if they are unavailable or intolerable. For whatever you are celebrating, I hope you have a Merry Holiday!
This is a modification of my under desk PC mount for the Lenovo M700 Tiny PC. It started off simple and then I added a cable management clip which actually took as long as the modifying the drawer, however I thought it would be important to secure a cable (USB cable) to the drawer, and cover the hole use to install it. The current version requires a CR10 size printer to make, but I am working on an Ender3 size version as well (220x220mm).
It's now up on Thingiverse here.
The back shell is almost done, and what a pain it was. I wasted almost a spool of PLA when I realized that I needed to re-design it, which delayed things a couple weeks as well. The back shell is composed of 4 large printed parts, and several small ones. The large parts took over a day to print, and the rest of the parts are probably under a day in total. The printed parts make up a frame, which holds an AC power outlet / USB power outlet, a tool holder and a filtered air intake / filtered air exhaust duct. The exhaust duct bolts on the back of the back shell and will duct air pulled from the enclosure, to the outside, via a 2 1/2" flexible hose. The printed frame holds a 3mm aluminum composite panel which is 2 pieces of thin aluminum which sandwich a layer of polyethylene plastic. The panel is 18"x24" and cost me 25 bucks, but arrived with a dinged corner (but I was able to fix that well enough that it doesn't really show now).
Now I just need to install the lighting, Octopi screen and the printer control screen, adjust the doors (which have a minor, but annoying to look at sag), close off the right side and enclose the base using some Ikea HÄGGEBY Doors which fit almost perfectly in the openings.
I just saw this thread on Thingiverse and learned how to reset the "pi" user password thanks to info from lar3ry who answered another users question on how to reset a password by pointing to a fix provided by Foosel (the creator and maintainer of Octoprint) which is here.
There are actually two passwords that may need to be reset, and it is possible both will need to be reset.
The first password is the password for the pi itself. In order to reset any passwords, the first step is to log into the pi using ssh. To do that use a ssh client like putty. Below is a pic of the screen you would see when launching putty. You should not need to modify any of the options, just put the IP address of the Pi in the field and then click Open. It will pop up a box asking you about saving the key (yes), and then the terminal window will open where you can log in to the Pi.
If you never updated your pi password, then it may still be "raspberry", so you can try try logging in using that (or any password you may have changed it to). If your password is still "raspberry" though, it would be good to change that from the default using "sudo passwd pi", then enter the current password (raspberry), and then enter a new password (and then one more time).
If you do not recall the password, then it can be reset using the info here.
To summarize what is explained in that link, the process is to:
1. power off the pi, remove the MicroSD card, and put that in a PC.
2. Then in the drive called "boot", create a file named "octopi-password.txt"
3. In that text file ("octopi-password.txt") you only need the password you want to set for the "pi" user, nothing else. So it will be one word only in this file.
4. Now take the MicroSD out of the PC, install it in the pi and boot it.
5. You can now log in again using SSH, with username "pi" and the password you set in the file "octopi-password.txt".
To reset the password used to access the Octoprint web server running on the Pi...
The second password that may need to be reset is the one most people use when they log into the octoprint webserver, and that is done using the method described here:
The long-winded explanation of that process is to log into the pi via ssh using username "pi" and password (as described above). Then the following needs to be done:
1. Delete ~/.octoprint/users.yaml (you can view whats in there using more ~/.octoprint/users.yaml in case you just need to recall the username that was used):
2. Edit ~/.octoprint/config.yaml using nano (which is already installed), and then find "firstrun" and replace "false" with "true". This will cause the Octoprint server to produce the initial setup dialog (on the next restart). where the username and password can be entered again. Be careful editing this file though, since spaces matter, all that is needed is to change the one word from false to true. If you need to go back, just Ctrl+x, and to search for a word use Ctrl+w (then enter the word you are looking for). When satisfied with the changes, just write the file use Ctrl+o and then Ctrl+x.
3. Now just reboot and log back in using the browser.
If you run TouchUI you may need to update one more thing...
If you change the username and use TouchUI (which is a touchscreen plugin for Octoprint), then there is one more step as explained here.
When TouchUI was initially set up, it asked for the username, which would allow it to autologin to the Octoprint server. If the username was changed for whatever reason, it will no longer auto-login. To fix that, the ~/.octoprint/config.yaml needs to be edited. Specifically, look for "accessControl:" near the top, and then under that will be "autologinAs:" with a username. So you guessed it, gotta change the username to match the new one. Also check that "autologinLocal:" is "true".
Be careful editing this file though, since spaces matter, all that is needed is to change the username. If you need to go back, just Ctrl+x, and to search for a word use Ctrl+w (then enter the word you are looking for). When satisfied with the changes, just write the file use Ctrl+o and then Ctrl+x.
Then just reboot the Pi, or restart the Octoprint and TouchUI services. It should then autologin as before.
A thread on Thingiverse got me thinking about ways to cut down on print times on some of the large prints I have been running lately. These ideas are either cobbled together from trial and error, or something absorbed from youtube or Thingiverse forums, or searching the web (in other words, mostly not my own ideads). I thought it would be a good idea to put them here though, for my own recollection later, and also to help anyone unlucky enough to have stumbled on this tiny corner of Teh Internets. I use Cura 4.1.0, so some of these may be out of date.
Speeds are obvioulsy the first to try, but will be limited by the printer, so assuming that the speed is the best balance between speed, and quality, the rest are all slicer settings (for Cura 4.1.0):
This is how I got my new "Elecrow 5 inch Capacitive Touch Screen" working with a fresh install of OctoPrint on a Raspberry Pi.
First I downloaded, and then imaged the latest version of OctoPrint (0.17.0 Currently) to a microSD card.
Once the image was created, the SD has to be installed in a PC to edit the "octopi-wifi-supplicant.txt" file which will be in the drive called "boot". Note that it will probably ask if you want to format the SD card - don't do that.
In the "octopi-wifi-supplicant.txt" file, add the following (and keep the SSID and passwords for your network in the quotes):
## WPA/WPA2 secured
Save that, and then find the file called config.txt and add this - it can go at the top or wherever (this was provided by the Amazon seller):
# --- added by elecrow-pitft-setup ---
hdmi_cvt 800 480 60 6 0 0 0
# --- end elecrow-pitft-setup ---
Save that, eject the SD card and install it in the Raspberry Pi, then connect up the Touchscreen to the Pi with an HDMI cable and a USB cable (micro-USB on the screen side). Then connect power to the Pi using it's MicroUSB connector and it should boot up.
Now you will see stuff on the screen but no graphical interface. We still need to do the OctoPi basic setup which is done using the the web interface. Having the screen though does help find the IP which will be shown on the screen when it is done booting up. Put the IP in your browser and go through the setup and add a password (or not, I don't care - but you should probably add one). Also note that it will take several minutes before you will be able to successfully acces the Octopi web server, so don't freak out if you get an error, just give it 5 or 10 minutes and try again.
Once the Octopi is working and you can access it via the web browser, the next step is to install the "TouchUI plugin". TouchUI is a touchscreen UI for Octoprint and is what makes all the neat graphics, and buttons and stuff. The problem is, we need it to automatically launch when the Pi is booted up, but will get to that in a minute. To install it, first click the wrench:
Then click on the Plugin Manager, and then the "Get More" button:
Now search for "TouchUI" and then install it.
Now reboot the Pi.
Now the problem is that there will still be no touchscreen showing up. There are 2 ways to deal with this, you can either ssh into the Pi using a tool like Putty, or you can connect a keyboard and use the tiny little screen - or connect it to a monitor. Either way we need to make changes on the command line.
I am using Putty and below is a pic of the screen you would see when launching it. You should not need to modify any of the options, just put the IP address of the Pi in the field and then click Open. It will pop up a box asking you about saving the key (yes), and then the terminal window will open where you can log in to the Pi.
When you log in, the username and password will not be the same as what you set up in the Octopi setup - that was the password for Octopi, not the Pi that it runs on. To log in to the Pi, use this:
Now the first thing you probably should do is change that, do do so, type "sudo passwd pi", then the current password (raspberry), and then enter a new password (and then one more time) - I also did this for the root password "sudo passwd root" but there is a more secure way to do it by changing the pi username. Obviously don't loose these or make them easy to guess. It is a good idea at this point to open a 2nd SSH session to the Pi and verify you can log into it using the new "pi" user and password, and then do an "su root" to verify the new "root" password works also. If both the new "pi" and "root" passwords work, then just exit out of the 2nd session and continue in the original ssh session. That way if you have a problem, you can still fix it from your original (logged in) session.
Now, my installation, which was a clean install, did not have any of the required X11 files or TouchUI files installed where they should have been, so I ran this according to the guide here:
git clone https://github.com/BillyBlaze/OctoPrint-TouchUI-autostart.git ~/TouchUI-autostart/
Next (agian just following the guide) I ran this:
This takes ...a WHILE... and installs the required "dependencies". When I ran it, it seemed like it could have been hung up installing the dependencies - but it just takes a long time...
Once it wrapped up, it popped this screen up - had to think about this one a bit, but added the username for Octoprint (which was the username that was set up in the Octopi initial setup - not "pi").
Then use the tab key to move over to "OK" and then on the next screen it will ask to reboot (yes). When it booted up, the TouchUI loaded up automatically and the touchscreen also worked without any issues (yea!). For grins, I powercycled it to make sure it still worked, and it did :D
I did notice that the CPU can really get up there with TouchUI running. I tried bouncing around though the tabs to see how high I could get it and saw it spike to 80% on the CPU (briefly). Normally it is under a percent CPU for Chromium though. This probably goes for any touchscreen running TouchUI though, but also means it would not be a good idea to play around with it while running a print (if that can be avoided). I have a touchscreen on my Kossel printer and although it has had a number of problems, I don't recall any that happened while I was using the touchscreen, but I also did not do that often when the printer was running.
Octoprint has become integral to my workflow when printing things, and having an interface on the printer is helpful. Adding a touchscreen to a Pi does have some design considerations however. Many of the older resistive touchscreens would be attached by a ribbon cable or a "sandwich" board which requires the Pi to be in close proximity to the screen. On my enclosure however I want the Pi to be in a separate control box so I needed to be able to extend the display. Fortunately the Pi has an HDMI output and there are now touchscreens (resistive and capacitive) which use the HDMI and USB for the power and data. I have not used these before and am hopeful there are no major drawbacks. I settled on this one from Amazon:
"Elecrow 5 inch Capacitive Touch Screen 800x480 TFT LCD Display HDMI Interface Supports Raspberry Pi 4B 3B+ 3B 2B BB Black, Banana Pi Windows 10 8 7"
There is also a very cool case for this screen by YWabiko on Thingiverse which I am remixing to work with my enclosure:
My remix however will require some special low profile HDMI connectors (similar to the ones below):
And I am also going to need to get some low profile MicroUSB connectors as well. Once I get everything figured out and tested I will post it up on Thingiverse with a BOM.
I will also post some info on how to get the tocuhscreen working with OctoPi, in another post as well (assuming I can get it working :D).
Update - here is info on getting the touchscreen working with TouchUI and Octoprint.
Printing a simple thing like a door for the enclosure has been a big project. The parts below represent more than a week of printing time, and some had to be printed several times due to one problem or another. One more to design and make, and then I need to build the back shell.
Below are some updated pics of the almost completed side door. It works great so far. I am waiting on some thinner weatherstripping to help seal it, since the stuff I was going to use is too thick. I am now working on the front door and that is about half completed.
Update 11/25/2019: The front and side doors are completed and installed. I used some thinner weatherstripping from Amazon which is working well (https://www.amazon.com/gp/product/B07VS2FPZZ/). The doors do not seal air tight however due to some gaps, but overall I am happy with it. I also noticed that the doors have a sag of a mm or two which I am going to work on when I get the back shell completed (the printer is pretty much running non-stop due to the large parts). The doors themselves are quite strong so I suspect the sagging may be corrected by adjusting the hinges. I have also adjusted the latch on the front door, so now I can close and latch it just by pushing on it. I will post some more pics of the doors when I get done with the back shell - which is about 1/2 completed printing. The back shell will have a 2 port AC/2 port USB power strip, a cable pass through, tool holder and a filtered air intake (or optional exhaust fan). I plan to use the optional filtered exhaust fan, and will add a hose to direct the exhaust outside.
My mission is to lower the collective IQ of teh Internets one post at a time.