Adventures in Klipper

Klipper

Let me start off by saying by no means am I an expert with Klipper, or 3D printing. I don’t really know wtf I am doing half the time, I just manage to get it working – hah! I few days ago I decided to take the plunge into Klipper with my printer, a Monoprice Maker Select v2.1 with an SKR 1.3. I had been running Marlin 2.x on my printer and it was all setup and configured and working perfectly. I decided apparently that “working perfectly” wasn’t good enough, and I needed to break it. Enter Klipper. From what I gather now that that I have a 32 bit board I wont really gain much in the way of performance with Klipper vs if I still had the 8 bit Melzi. What you do gain is a much easier way to configure the firmware over compiling and flashing the board after every change. You just save a file and reboot.

Now I wanted to document the process for others in case it helps, and I figured this would be a quick build process and a quick write up. Heheh, I was wrong. I has now been a solid week of tweaking and configuring Klipper as well as a few days of writing this post and attempting to get it finished. Every time I do something else comes along that I feel I need to add to the process. Well, I finally got it all done – I think. Now what started off as a nice clean post turned into a ton of sections that didn’t jive. I’ve done my best to make it all flow and make sense, if I missed something let me know.

 

View Post

Node-Red, UIBuilder and Buttons!!

Node-Red, UIBuilder and Buttons!!

If you’ve been here before then you know I use Node-Red, if not and you don’t know what Node-Red is, you should check it out. To get a frontend UI out of Node-Red there has always been the Dashboard node for us to use and a set of Dashboard nodes to go with it. I have never been a huge fan of the Dashboard, but it was what we had and it did the job. The Dashboard nodes allowed you place UI nodes and connect them to your data and it would do the rest, no HTML code required on your behalf. But that was one of the limitations, was that you did not have control over the code. Enter UIBuilder.

The UIBuilder node is amazing. It is a Node-Red interface builder that gives you complete control, over everything. The downside (if it is one) is that you must know how to code HTML and JavaScript. UIBuilder lets you use any frontend framework you want to build your interface to Node-Red. JQuery, VueJS, MoonJS, Angular, etc.. So far I have dropped in a Bootstrap-Vue admin template and I have been going to work on that. It has taken me a minute to get used to how UIB all works, and I am not really all that great with JavaScript but I seem to be figuring things out. Hey, I have shit working.

The UIBuilder Wiki and the Github for the author have a ton of information and examples of how to get a few basic things done. Just expect most of them to be done with VueJS. It appears (at least to me, I could be wrong) that UIBuilder was originally VueJS heavy/dependent and as it matures it is more open to other frameworks. As of v3.1.3 it no longer installs Bootstrap-Vue and VueJS by default, as it had done it all prior versions. So just be aware that you can use any framework you want, but all of the examples (so far) are all written in VueJS. There is also the Node-Red forums if you get stuck, the author also happens to frequent the group.

View Post

Gulfcoast Robotics Carriage Cable Chain

Gulfcoast Robotics Carriage Cable Chain

The Monoprice Maker Select v2.1 comes with cable chains on the X and Z-axis, but not the Y-axis. I have no idea why. It has been on my list of to-do items to add a cable chain to the Y-axis, but I have just never gotten around to do it. About a year ago or so I managed to get around to printing the cable chain links and mounts but I never installed any of it. Fast forward to present day and I find myself wanting to tinker with the printer and have been thinking of new upgrades for it. Thats when I spotted the chain that I had printed in a box. I originally printed the chain to mount to the printer and to the stock carriage, but I no longer have that carriage. Now I have a carriage from Gulfcoast Robotics, so what I already printed doesn’t fit.

Off to Tinkercad!

I have previously designed a handle for the new Gulfcoast carriage that just slips on, I added a zip-tie to keep it from accidentally falling off and it works great! So I figured I could take that designed and remix it to work for me as a contact point for the heatbed cable chain. A day or two and 6 prints later and I have a slip-on cable chain for the Maker Select. I remixed a rear frame mount so that no screws are needed, just slide the piece over the bracket. The same goes for the bed carriage, just slide it on. I did add a zip-tie to make sure it doesn’t pop off, because it is a pain to put on. I used the existing chain links that I had already printed and it all came together.

The one thing I did not think about was the offset that the chain would have. The original mount that uses screws mounts to the same place as the Y-axis stepper motor and this is centered with the bed and the wiring. Adding a cable chain here you are going to get a nice straight line. I am using a slip-on rear mount so I cannot center it due to the stepper being in the way. Luckily I had two offset links printed from back then. Like it was meant to be. I still need to print one more but it works fine it just looks a little odd because of the way the chain is offset.

 

Maker Select Gulfcoast Robotics Heatbed Cable Chain (my cable chain mounts) https://www.thingiverse.com/thing:4644050

The cable chain links to make the chain https://www.thingiverse.com/thing:1060522

Y-axis cable chain mount for MP Maker Select (the thing I based my remix off of) https://www.thingiverse.com/thing:2221459

 

 

Raspotify

Raspotify

For the past few weeks (months?) whenever I was flashing an SD card with Balena Etcher I would see an ad for creating a Spotify Connect server out of a Raspberry Pi. I never really thought about it until I was cleaning the garage (not for fun, I’m moving to Texas) and I wanted to play some music. I have had a standard stereo receiver with some stand up cabinet speakers for a while it just hasn’t gotten much use this year. When I had used it I would just plug my phone into a cable I had directly plugged into the receiver and I would play songs that way. Well now I have an iPhone, no more Androids, and now I don’t have a headphone jack. Great. Fuck the dongles. I now had a need for a Spotify Connect server, which honestly is what I should have done a while back. Balena has their own special way of doing things, which I kinda don’t like so I searched out a different solution.

The software I used is called Raspotify and it is really simple to get up and running. All you need is a (any) Raspberry Pi, the SD card for it, power, and a way to plug it into your stereo. Almost any Pi except a Zero are basically plug-n-play as they have a 3.5mm audio jack. Super simple. After flashing Raspbian Lite to the SD card, boot the Pi and then run one command: curl -sL https://dtcooper.github.io/raspotify/install.sh | sh

That will get you going, after the Pi is finished you should now see a Spotify Connect server named “raspotify” on your Spotify app. You can edit /etc/default/raspotify to change the defaults if you want. Like stream quality and the server name etc. I highly recommend doing this. I noticed the volume was super low by default, well the Pi had its volume set to 40%, dang. Use the command alsamixer that will let you up the volume. I tend not to use things at 100% of the volume available, most times devices start to distort at max levels. I usually stick to 90% for my volume level.

I initially got it setup and running on a Pi 3B+ and it worked just fine, except it didn’t sit well with me using a full blown Pi for such a simple task as streaming music. It just isn’t right. You could use one single Pi as a Spofity connect server as well as host many other things (Pihole etc) but I like to keep things separate. Less chance of failure for me, since I tend to not leave shit alone. Enter the Raspberry Pi Zero W. But the RPi Zero doesn’t have an audio output, ha-hah! There are a few audio DAC hats out there for the Zero that add outputs, but I don’t have one and I didn’t want to buy one or wait for it to get delivered. So we have to make one! It is actually very simple, as long as you have the parts around that is. We are going to create a pair of basic line-out outputs. Good for receivers not so good for things like headphones. Its also just a basic output no extra DAC here. If you find the audio quality isn’t up to snuff (I have not noticed a difference but I have not also tested it thoroughly or compared it to other sources, yet) then a DAC hat is for you.

View Post

Alexa, turn this shit off

The title pretty much says it all. We were sitting in bed late one night and the wife yelled “Alexa, turn this shit off!”. Yet nothing happened. Well thats just not good enough. The next morning I opened Node-Red on the house server. I added a new Wemo Emulator node and named it “this shit”. I then connected the new node to the house lights via Hue nodes. Bam! Now whenever we yell at the echo “Alexa, turn this shit off!” you get greeted with “OK” and all the lights shut off! I couldn’t be happier. Now the wife laughs every night when I say it, go figure.

(on the flip side I can now tell her to “turn this shit on” and all the lights will turn on)

No fancy scripts needed, just install the Wemo Emulation node, and then connect it to whatever you want to control. Then tell Alexa to “discover devices” and you should be set.