Short

Ramblings of an internet Maus

I recently bought my first coreXY printer, the Creality K1 SE, mainly because it's cheap and really fast (like shockingly more so). The downside is the K1 SE is not enclosed and since I really like to make problems to solve want to print ABS and ASA, I'll need to make it enclosed.

The K1 SE is an open frame, however Creality built it using the same parts of a K1, a few things are missing from it for example a exhaust fan (though the mounts and holes are still there so) and external part cooler. Oh and also the acrylic sides. But it also means that it doesn't take much to enclose a K1 SE, you just go about doing it in a very DIY way.

I have found a few models on Printables that attempt to solve it, for example Wilderness' “K1 SE sealing plate”.

But that's not the topic of this post, the topic is based on the fact that 3D printers are not exact, that is they do not print 1-to-1 from the CAD drawing. This normally isn't a problem as most of the time they are “good enough”.

But if you want proper 1-to-1 printing you'll need to measure the differences of a scaled printed part and adjust your slicer's scaling as needed.

This is not difficult and here is how do it.

1) Print this XYZ Accuracy Test model, leaving the scaling as is in your slicer. 2) Measure the model while it's still on the print bed, images on the Printables page show how. All dimensions should be 100mm, if they are not then write down the measurement. 3) If the measurement is not exactly 100mm then you'll need to divide the taken measurement by 100, so for example if 100.20mm was what you got then 100/100.20 = 0.998. Keep that value. 4) Multiply the result of the above step to the scaling of that the same axis.

So as an example, for my K1 SE I got the following values. 1.003=X=(100mm/100.30mm) 0.999=Y=(100mm/99.99mm) 0.997=Z=(100mm/99.70mm)

So if I want to print something 1-to-1 I'll need to scale the model in my slicer by multiplying the axis by the most left hand value.

To help with this (aka I'm lazy) I wrote a small script that takes the XYZ size of the model and outputs the scaled values.

#!/usr/bin/env bash
set -eu

## script to correct scaling for my k1 se

readonly _xScale="1.003"
readonly _yScale="0.999"
readonly _zScale="0.997"

_x="$(echo "${1} * $_xScale" | bc)"
_y="$(echo "${2} * $_yScale" | bc)"
_z="$(echo "${3} * $_zScale" | bc)"


echo "X:${_x}"
echo "Y:${_y}"
echo "Z:${_z}"

This script uses bc because bash can't do floating point math.

Why

Well, if you are like me and have several printers all doing parts of the same job (aka an assembly line) then you'll want to make sure that all the parts are interchangeable. Granted my script only works for one printer, and that's because I don't have my other printers doing jobs yet (because the K1 SE is so goddamn fast). It wouldn't take much to add support for multiple printers to the script.

Another reason for doing this scaling is that most models for the K1 family, at least on Printables, are based on CAD files that represent the printers. Since the printers are exact manufactured, meaning very little variance from the drawings, you'd want to make sure the models are printed to the correct scale so that they work as intended.

This same logic applies to pretty much any printed part, Prusa for example most likely uses this method to bootstrap their parts.

Closing

Now you don't really need to do this process if you just want to print, most of the time printers can produce “good enough” prints that you wouldn't realize it's not to scale.

But for the beings that need to have interchangeability and scaled models, this is a very useful method.

During my times of using Octoprint and my Ender printers, I have found the LCD on them very lacking especially so while doing bed tramming.

In Octoprint you can actually define custom controls that show up under the “Control” tab in the web interface.

There is a plugin but it is sadly no longer being developed (mind you there is a patched fork, however why depend on a plugin to do something that takes a few minutes in Vim to do?)

Below you'll find my current controls entry for both my printers, the “Corner” positions are directly above the bed level screws on most Ender Printers who's bed size is 220x220.

controls:
- children:
  layout: horizontal
  name: Leveling Help
  - command: G1 X30 Y30 Z5 F5000
    name: Left Front Corner
  - command: G1 X30 Y200 Z5 F5000
    name: Left Rear Corner
  - command: G1 X200 Y200 Z5 F5000
    name: Right Rear Corner
  - command: G1 X200 Y30 Z5 F5000
    name: Right Front Corner
  - command: G1 Z0 F200
    name: Drop Z
  - command: G1 Z5 F5000
    name: Raise Z

There's also this snippet if you want to have some control over the CLTouch, if your printer has one. This can be useful for finding the probe offset and ensuring your bed clips don't interfere with your ABL.

- children:
  layout: horizontal
  name: CLTouch
  - command: M280 P0 S90
    name: Probe Up
  - command: M280 P0 S10
    name: Probe Down
  - command: M280 P0 S120
    name: Self Test
  - command: G29 D
    name: Probe Bed Dry-Run

The One with a Rant

Recently (as in the last few years) I have picked back up flight simulators.

Way back when I was a kid in middle school, I had a simulator streak. I discovered my love for Truck sims, Soft Body Physics, Train Sims, and Aircraft sims. Starting with Microsoft Flight Simulator X, I used it's built in “Flight School” to take to the skies.

There was a stint of time where I just didn't do flight sim but one day back in 2022 after taking a trip to Berlin I picked up the flight sim bug. Right after returning home I bought X-Plane 11, X-Plane 12, and MSFS2020 in that order though (it'll come to a shock to pretty much no one) I regretted that last one.

Since then I have racked up hundreds of hours in many different aircraft within the sims, ranging from the typical Boeing 747-600 to the Airbus A330-600 and even to smaller GA planes like the Aerostar 601p. I have even had my interest for holding a private pilots certificate reignited (but after seeing the costs, oh god).

Since owning a real aircraft would cost me an arm, leg, and half my hand, I instead picked to build a virtual cockpit.

It'll never be the real thing, of course, however I intend to make it as close to the real thing as possible, right down to simulation of the physical bezels and switch placement. A stretch goal would be a 6dof motion platform as a base. For now I'll just stick to making a dashboard, afterwards I can investigate the time (and money) needed to give the setup 6dof.

The current status of the project is eh “fucked”, probably the best way to put it.

Originally I wanted to make mrusk's “Six Pack” which uses an Arduino library called XPLDirect.

There were three issues with this however: 1. Zero Clearance on the STLs and no STEP/Source file to edit it (god damnit) 2. Makes use of cheap 28BYJ-48 stepper motors. Easy to use but really slow and won't respond in time for fast changes (say timewarp or diving in a jet) 3. XPLDirect is Windows only, despite X-Plane being natively cross-platform

I have already bitched about the first point, seriously fuck you if you don't post the source of your STL.

The 28BYJ-48 stepper motors, while not a bad thing, are just not cut out for this job. A NEMA 8 would be the best replacement mainly due to it's speed and package. But I'm not about to drop money on this for the third point.

XPLDirect is Windows only.

I'd like to take a minute here to bitch about lazy developers. It costs nothing to install Linux on a old desktop. You can't even say that you don't have one laying around. The very hobby you are in normally dictates newer hardware, you are bound to have enough parts laying around to get something working for development.

The argument that “devs just don't have the hardware” is stupid and you should feel bad for using it.

You can't even argue that X-Plane users aren't using Linux. It's a common enough topic in the forums that listing OS version compatibly is a must.

And besides all that, all this library is doing is opening a serial port to the Arudino and dumping ASCII text into it, that's it.

Like, come on. At least put some effort into it.

So the six pack idea is out the door, what next?

X-Plane 12 Beta adds a web API for accessing DataRefs and provides a websocket based update system so I could write something that is crossplatform that just processes the websocket payloads and shits out ASCII into a serial port.

Another option is pseudo-steam gauges, where it's a LCD panel displaying the texture and/or HTML rendered gauges with rotary encoders and buttons handling physical input.

I'm honestly leaning toward the latter, mainly because Arudino's are resource limited and having them parse out useful data from something that shits out data every 10Hz doesn't sound like a fun task.

My other parallel project is a Garmin G1000 stack which includes the PFD, Radio stack, and MDF. Granted the aircraft that I based the cockpit off of doesn't have a G1000 nor is it commonly upgraded with one, it would still be nice to have for the ones that do have a G1000.

So wait, why do I have two different projects for this idea running at the same time?

Well, cause I can't focus on one project at a time, I need several things to keep my brain happi.

Anyway, the goal of this post is to provide a means for me to document my build attempts, complete with source code, schematics, (archived) links to 3D STL files, instructions, fuckups, small electrical fires, and (hopefully) the final product.

I do have to warn you though, I'm by no means a professional with anything I show here. My day job is a Systems Administrator. So my code/soldering/craftsmanship/spelling/literally anything shown here should not be attempted and any advice should be taken with several mouthfuls of salt.

I'm a dumbass with too much time and money to figuratively (and maybe literally) to burn.

Once I start publishing the pages related to this I'll link them at the bottom of this post.

Come join me in what could end up being a very horrible idea :3

Or the better title: “Random internet creature complains about hobbyists”

The accessibility of FDM 3D printing is a great thing, it means anyone can just print “useful” items without having to pay outrageous amounts of money to some print house. It also means a lot of what I'm going to call “CNC & Friends” (CNC, laser engraving, wood burning, etc) have become more accessible. You can take the cheapest 3D printer on the market and turn it into a eye and fire safety hazard for really nothing.

This large influx of cheap hardware means learning the trade is easier to do, meaning someone like myself, who starts having cold sweats when blender is mentioned, can just shit out a basic spacer or useful item for my wife within a few hours.

I'm not going to claim that I'm the best at everything, I fuck up constantly with everything. I'd be rich if fucking up was a job.

That being said, it seems that learning from said fuck-ups is not a universal thing. Nor is really any kind of research before said fuck-up happens.

People who don't know anything about the trade will strive for perfect and their sense of perfect is zero clearance. This fundamental issue is probably the most irritating to me. It's a tie with people who upload STL files and never the STEP or TinkerCAD link, editing a mesh is a fucking pain and fuck you if you don't share that source file.

Clearances, oh god please think about the clearances!

No one thinks about the clearances and in return I have to either:

  • Attempt my luck at editing the mesh to add the clearances (see point above)
  • Sandpaper my beloved (pain in the ass (and fingers))

Your 3D printer is not perfect no matter how much it costs nor how much work you put into it.

It's just not.

FDM printing, or fused deposition modeling, is basically just laying a bit of hot plastic on some predetermined path. People see that and go “Oh that's neat, lemme do it again but with this model instead” but theres a lot going on under the hood and dealing thermoplastic polymers on top of that is just bound to cause issues. As much as Bamboo Labs or Creality want to sell the idea of “Plug and Play”, it's not.

These desktops machines are not built for repeatability, they are built down to a price. Even the plastics you use with them are “luck of the draw” depending on what printer you have.

You could have the best fucking printer out there with thousands of hours put into calibrating and prep and still have bed adhesion issues or warping, it's just the nature of the game.

For example, in my time with my Ender 3 V2, I learned:

  • How to Slice a STL
  • How to Correctly Slice a STL (by not abusing rafts and supports)
  • How to Manually level a print bed
  • How to Eyeball the first layer
  • Octoprint
  • That manual bed leveling is shit and buy a Auto Bed Leveling Probe
  • How much I hate Creality's Firmware update procedure
  • To always buy spare parts for when you brick a control board, twice :(
  • Printing generates several pounds of plastic scrap that I can't just throw out
  • That while PLA is sold as the recyclable plastic, it's far from that and no-one in my town recycles it
  • That DIY recycling is still very new and very very expensive
  • How to hate glass beds
  • How to love magnetic beds
  • How to fuck up a magnetic bed
  • How to love glass beds again
  • How to Eyeball the first layer but this time with Babysteps
  • Give in and buy another printer that had everything my old one didn't for cheaper (this one hurted)
  • Octoprint but this time we running it twice because “it's easier than adding support for multiple printers”
  • PlatformIO and how fucking slow it can be
  • Marlin's build system
  • How much I hate Creality's Firmware update procedure, again :(

And I only now learned that most of the issues I was having with first layer adhesion was the brand of plastic I was using. That took two fucking years to learn.

I have come to learn that my printer, while fun, is a fucking pain to use correctly. I spent more time attempting to fix some issue with it than I did learning the tooling or creating something useful.

That being said, I don't regret it. In it's current state with Marlin2 and a older Ender 3 control board, it's a pretty solid work horse. Still peeved that the Ender 3 V3 SE comes with auto bed leveling, direct extruder, and auto z offset for far less than what I paid for the 3V2 (fucking ow).

It works, I guess.

But what this wall of text is suppose to showcase is, FDM 3D printing is not “Plug and Play”, in fact it's very much like getting a new pet. Yeah it's fun for the first few weeks but now you have to clean up shit and feed it. It's fucking annoying sometimes.

So, why do I really fucking hate mod developers and how does this even play into 3D printing?

Well, kind reader (or shit bot), it is because I do :3

But really, it's because the kind of people that would buy a 3D printer, then design their own models to release either for money or free, are the same kind of people that are more likely to make a minecraft mod or something similar.

That is to say, there's a shit-ton of people out there who don't really know what their are doing but whatever it is it's working (to an extent).

This is everyone's “feet wet” moment with the maker field as a whole, it's fun to be in that mindset.

I feel like an old woman bitching about the kids in my lawn but really, I just want well thought out designs. If I have to sand the part after printing, that's fine, but it better not be because you, the model creator, thought that having zero space for clearance was OK.

Print the same part twice and measure the difference. Attempt to put the two parts together, do they snap together or do they get stuck and become useless?

Make sure that you at least add a few mms of clearance to tight fitting parts because trust me, not everyone that is going to be printing your model will have their printer dialed into +-0.01mm of accuracy.

Just give us some space.

Yeah, shocking isn't it?

First, a little bit of history.

Back when Musk bought Twitter, I had already started to withdraw from social media has a whole. At the time I had a partner who ended up moving to Mastodon and convinced me to join.

At first I had an account on hachyderm.io, after learning of some “fedi drama” regarding the operation of that instance, I though it would be best to move.

Up next was girldick.gay, not the best instance name to have on my website but at the time I didn't really care much.

I ended up hosting my own instance on a server in my garage using NixOS and a custom flake, this is where I stayed on the Fediverse until today.

“Why?”

Well, I'm going to pin the want on what I was feeling back when Twitter was my main addiction. I just didn't want to continue to use social media, it started to affect my mental health really.

“OK so why did I end up on the Fediverse?”

Because of a partner, one who is no longer in my life.

It's just taken since May for me to finally just cut it all out.

In the end, I think this will be for the better. In moving to a blog format, I can think through my thoughts more and also not be subjected to the hell that is social media.

I don't really care if what I put out on the internet is even seen, I have other more important life matters to focus on.

Welcome to my lil' corner of the internet, now in blog format.

I hope you stay around for the “once-a-few-months”.

Took a trip to visit my fiancée in Missouri and during this we took a boatload of photos with our cameras. I'm still processing them and have yet to edit them further. Here are some of the ones I liked so far.

Photo of a cat's eye upclose

Photo of framed photo on a blue wall with soundproofing surrounding it

I want to revisit this image and attempt to lessen the grainyness on the sky. Photo of a barn with a light on at night

I experimented with this one for a little bit. Photo of someone walking in a forest being viewed from behind, there is a camera dangling from their arm

Photo of a car's driver seat from the view of the rear quarter panel at night. It is slightly out of focus and only lit by the door ajar light

Photo of several soccerballs in a trunk of a car with a single warm light illuminating them

Photo of a barn as see through a car's side view mirror

Photo of someone's shadow falling on a rock pathway

Photo of a padlock on a red barn door, light by a small light

More to come, maybe.

Took a trip to Berlin for New Years 2023, I didn't get any good photos of the fireworks but I did get to do proper tourist stuff.

Click on the images to see the full version.

Photo of a piece of the Berlin Wall showing graffiti related to the currently political landscape of the world in 2023

Photo of another piece of the Berlin Wall showing how weathered it is.

Photo of the Brandenburg Gate

TL;DR: Read the man page man pveproxy

Put the following in /etc/default/pveproxy (it needs to be created if not already existing).

LISTEN_IP="127.0.0.1"

Then restart pveproxy.service.

That's it.

Oh it's also mentioned in the manpage but it's worth reiterating, tweaking this setting after setting up a cluster is asking for an issue, the cluster normally communicates directly on 8006.

This could break something pretty major so uh, not my fault.

I'm like 100% sure this isn't proper fudge but oh god is it good.

The recipe calls for the following: – 8oz of chocolate chips – 4oz of peanut butter

It took me about an hour and some change, though that's probably because I didn't really know how to melt chocolate chips.

Pretty much you just melt the chips and mix in the peanut butter, mix till smooth and then pour the mixture into a brownie pan, mine was an 8x8 (inches) though if I were to make this again, I would go for a smaller pan.

Then you just chill until hard enough to cut. Ya done.

A surefire way to get stage 2 diabetes.

Went over to a friend's place to have a small cookout for Memorial Day Weekend. Had my camera and dog with me so I was able to get a few photos of their property. Mainly just flora, they had a pretty sizable garden.

I would like to get more landscape photos but the lens I have for my D3200, 18-55mm, isn't exactly built for farther away subjects. It takes great shots up close though.

Click on the images to see the full version.

Photo of my dog, Kayla, looking very exhausted

Photo of two cars under tree shade

Photo of a large shed back-dropped by tall trees and shrubbery

Some closeups of the flowers in the garden, I'm not exactly sure what kind of flora they were, though I did smell a strong sent of garlic from some of them.

Photo of a purple flower

Photo of a purple flower

Photo of a cluster of purple flowers

Photo of a purple flower, it looks kind of like a crab

A tree base that has a hollowed out section

Photo of a bundle of white flowers

Photo of a bundle of white flowers

Photo of a pink flower

Photo of a stack of rocks

Photo of a overturned canoe

Photo of a treeline

Closeup photo of moss on a rock

I'm still having issues with darktable where for some reason bright photos have a pink haze once developed, some even show the issue within darktable. I'm not 100% sure if it's just something with darktable or with my camera, from what I can gather the camera doesn't show the issue.

Unfortunately this means some of the photos of the nearby lake won't make it in this post, I think I can still save them but it's 23:29 local and I don't really want to spend more time on this.