Category: 3D Printing

  • Printing for Printing’s sake

    I have spent a good portion of the last two weeks just getting my Bambu P1S setup to where I want it to be. I believe I’m closing in on a good setup.

    I thought you were printing in 15 minutes?

    I was! Out of the box, the P1S is great, and lets me start printing without a ton of calibration and tinkering. As I continue to print, however, I wanted some additional features that needed some new parts.

    External Spool

    By default, the P1S has an external spool mount on the rear of the device. This allows the spool a nice path to feed the printer. However, if you have an AMS (which I do), you need to hook up the tube from the filament buffer to the printer.

    There are several versions of a Y connector which allows for multiple paths into the printer. I chose the Smoothy on a recommendation from Justin. There is a mount available that lets you attach the Smoothy to an existing screw hole in the P1S, or use magnets.

    Since I have the P1S close to a wall, I wanted to relocate the external spool to the side of the machine. This gives me easier access to spool and allows the printer to sit closer to the wall. For that, I printed this external spool support.

    For assembly, I couldn’t print everything. I needed some M3 screws and a set of fittings. For the Smoothy and the external mount, I used all four of the 10mm fittings (three for the Smoothy, one for the external mount. However, everything went together pretty easily, and my setup now allows me to print from either the AMS or an external spool.

    Raise it up!

    Bambu recommends printing with the top vented for PLA. That is difficult to do when the AMS is sitting on top of it. Thankfully, there are a LOT of available risers, with many different features. After a good deal of searching, I found one that I like.

    Why that one? A few of the more popular risers are heavy (like, almost 3kg of filament heavy). And yes, they have drawers and places for storage, but ultimately, I just wanted a riser that held the glass top higher (so it could vent) and had a rim for the LED strip I purchased to illuminate the build plate better. My choice fits those requirements and comes in at under 500 grams.

    Final Product

    With all the prints completed, I am very happy with the results.

    AMS with Riser
    Side Spool Holder with Bowden Tubing

    Parts List

    Here’s everything I used for the setup:

  • Spoolman for Filament Management

    “You don’t know what you go ’til it’s gone” is a great song line, but a terrible inventory management approach. As I start to stock up on filament for the 3D printer, it occurred to me that I need a way to track my inventory.

    The Community Comes Through

    I searched around for different filament management solutions and landed on Spoolman. It seemed a pretty solid fit for what I needed. The owner also configured builds for container images, so it was fairly easy to configure a custom chart to run an instance on my internal tools cluster.

    The client UI is pretty easy to use, and the ability to add extra fields to the different modules makes the solution very extensible. I was immediately impressed and started entering information about vendors, filaments, and spools.

    Enhancing the Solution

    Since I am using a Bambu Labs printer and Bambu Studio, I do not have the ability to integrate Bambu into Spoolman to report filament usage. I searched around, but it does not seem that the Bambu reports such usage.

    My current plan for managing filament is by weight the spool when I open it, and then weighing it again after each use. That difference is the amount of filament I have used. But, to calculate the amount remaining, I need to know the weight of an empty spool. Assuming most manufacturers use the same spools, that shouldn’t be too hard to figure out long term.

    Spoolman is not quite set up for that type of usage. Weight and spool weight is set at the filament level and cannot be overridden at the spool level. Most spools will not be exactly 1000g of filament, so the need to track initial weight at the spool level is critical. Additionally, I want to support partial spools, including re-spooling.

    So, using all the Python I have learned recently, I took a crack at updating the API and UI to support this very scenario. In a “do no harm” type of situation, I made sure that I had all the integration tests running correctly, then went about adding the new fields and some of the new default functionality. After I had the updated functionality in place, I added a few new integration test to verify my work.

    Oddly, as I started working it, I found 4 feature requests in that were related to the changes I was suggesting. It took me a few nights, but I generated a pull request for the changes.

    And Now, We Wait…

    With my PR in place, I wait. The beauty of open source is that anyone can contribute, but the owners have the final say. This also means the owners need to respond, and most owners aren’t doing this as a full time job. So sometimes, there isn’t anything to do but wait.

    I’m hopeful that my changes will be accepted, but for now, I’m using Spoolman as-is, and just doing some of the “math” myself. It is definitely helping me keep track of my filament, and I’m keeping an eye on possible integrations with the Bambu ecosystem.

  • A new To(y)ol

    I have wanted to pick up a Bambu Labs P1S for a while now. I saved up enough to finally pull the trigger, and after a few days of use, I could not be more pleased with my decision.

    Why Bambu?

    There are literally dozens of 3D printers out there, and choosing can be difficult. I certainly spent a great deal of time mulling over the various options. But, as with most things, the best advice was from people who use them. Luckily, I have not one, but two resources at my disposal.

    An old colleague of mine, Justin, is usually the first to such things. I typically joke that I usually do the same things that Justin does, I am just usually lagging behind in both time and scale. IE, Justin does it bigger and better. He and I chat frequently, and his input was invaluable. With regard to 3D printers, the one comment he made still resonates:

    I want to design stuff and print it, not tinker endlessly with the printer itself.

    Justin had an Ender (I do not recall the model) for a bit, but never really messed with it too much. After he picked up a P1P, the design and printing started to flow. He had nothing but good things to say about most things Bambu, save, perhaps, the community… We’ll get to that in a minute.

    Additionally, I discussed different printers with the proprietor of Pittsburgh3DPrints.com. He has a number of different brands, and services them all, and he recommended the Bambu as a great first printer, for many of the same reasons. What reasons?

    1. Ease of Use – From “cut box” to print was honestly 15 minutes. The P1S is extremely user-friendly in terms of getting to printing.
    2. Feature Packed – Sure, the price tag for the full P1S combo is a little higher than most printers. But you get, out of box, the ability to print most filaments, including PLA/PETG/ABS/ASA, as well as 4 color multi-color prints.
    3. Expandable – Additional AMS units get you up to 16 color prints.
    4. Ecosystem – Bambu has been really trying to get makerworld.com going, and they have had some success. The makerworld tie-in to Bambu Studio makes printing other’s designs quick and easy.

    First Impressions

    As I mentioned above, unboxing was easy with the included Quick Setup guide and their unboxing video. The first thing I printed was the included model for the scraper handle and holder. I do not recall the exact print time, but it was under an hour, and I had my first print!

    The next two prints were some fidget toys for my kids. I can tell you these took 48 minutes each, as both kids were anxiously waiting every single one of those minutes. One feature the P1S has is the ability to capture time lapse videos for your prints. Here is the one for one of the fidget rings.

    Now, I do laugh, because the running joke with those who own a 3D printer is that you spend most of your time printing stuff for the printer, which is highly meta and also seems like a gimmick to buy more filament. The P1S ejects waste out of the back into, well, thin air. Many folks have designed various waste collection solutions, most affectionately knows as “poop chutes.” I found one that I liked and set about slicing it for printing.

    Oops…

    This is where I ran into a little issue. I tried to start one of the prints (for the bucket) from the Bambu app. Instead of slicing on my PC and sending to the printer, I used the profile published. That, well, failed. For whatever reason, the bed temperature setting was set to 35°C, instead of the 55°C that the Bambu Studio slicer sets.

    I’m not sure if the profile had a cool bed setting or what, but that through off adhesion of the print to the bed, and I ended up with a large mess. I re-started the print from the Bambu Studio, and had no problems. Printing the three pieces of the chute took about 9 hours, which represents my longest print to date.

    Next up?

    I have a few things on my list to print. Most center around some organizational aspects of my office, and looking to use the Gridfinity system to make things neat. My wife asked for a few bases for some signage that she uses for work. This requires some design on my part, so it is a nice challenge for me.

    Both my son and one of our neighbors have expressed some interest in design and printing, so I look forward to passing on some of what I’ve learned to new designers looking to bring their designs to reality.

  • Building a new home for my proxy server

    With my BananaPi up and running again, it’s time to put it back in the server cabinet. But it’s a little bit of a mess down there, and I decided my new 3D modeling skills could help me build a new home for the proxy.

    Find the Model

    When creating a case for things, having a 3D model of the thing you are creating becomes crucial. Sometimes, you have to model it yourself, but I have found that grabcad.com has a plethora of models available.

    A quick search yielded a great model of the Banana PI. This one is so detailed that it has all of the individual components modeled. All I really needed/wanted was the mounting hole locations and the external ports, but this one is useful for much more. It was so detailed, in fact, that I may have added a little extra detail just because I could.

    General Design

    This case is extremely simple. The Banana Pi M5 (BPi from here on out) serves as my reverse proxy server, so all it really needs is power and a network cable. However to ensure the case was more useful, I added openings for most of the components. I say most because I fully enclosed the side with the GPIO ports. I never use the GPIO pins on this board, so there was really no need to open those up.

    For this particular case, the BPi will be mounted on the left rack, so I oriented the tabs and the board in such a way that the power/HDMI ports were facing inside the rack, not outside. This also means that the network and USB ports are in the back, which works for my use case.

    A right-mount case with power to the left would put the USB ports at the front of the rack. However, I only have one BPi, and it is going on the left, so I will not be putting that one together.

    Two Tops

    With the basic design in place, I exported the simple top, and got a little creative.

    Cool It Down…

    My BPi kit came with a few heatsinks and a 24mm fan. Considering the proxy is a 24×7 machine, and it is handling a good bit of traffic, I figured it best to keep that fan in place. So I threw a cut-out in for the fan and its mounting screws.

    Light it up!

    On the side where the SD card goes, I closed off everything except the SD card itself. This includes the LEDs. As I was going through the design, I thought that it might be nice to be able to peek into the server rack and see the power/activity LEDs. And, I mean, that rack already looks like a weird Christmas tree, what are a few more lights.

    I had to do a bit of research to actual to find the actual name for the little plastic pieces that can carry LED lights a distance. They are called “light pipes.” I found some 3mm light pipes on Amazon, and thought that would be a good add to the build.

    The detail of the BPi model I found made this task REALLY easy: I was able to locate the center of the LED and project it onto the case top. A few 3mm holes later, and the top is ready to accept light pipes.

    Put it all together

    I sent my design over to Pittsburgh3DPrints.com, which happens to be about two miles from my house. A couple days later, I had a PLA print of the model. As this is pretty much sitting in my server cabinet all day, PLA is perfect for this print.

    Oddly enough, the trick to this one was to be able to turn off the BPi to install it. I had previously setup a temporary reverse proxy as I was messing with the BPi, so I routed all the traffic from the BPi to the temp proxy, and the shutdown the BPi.

    Some Trimming Required

    As I was designing this case, I went with a best-guess for tolerances. I was a little off. The USB and audio jack cutouts needed to be taller to allow the BPi to be installed in the case. Additionally, the stands were too thick and the screw fan holes too thin. I modified these designs in drawings, however, for the printed model, I just made them a little larger with an Exact-o blade.

    I heat-set a female M3 insert into the case body. I removed the fan from the old case top and attached it to my new case top. After putting the BPi into place in the case bottom, I attached the fan wires to the GPIO ports to get power. I put the case top on, placing the tabs near the USB ports first. Screwed in an M3 bolt and dropped three light pipes into the case top. They protruded a little, so I cut them to sit flush while still transmitting light.

    Finished Product

    BPi in assembled case
    Case Components

    Overall I am happy with the print. From a design perspective, having a printer here would have alleviated some of the trimming, as I could have test printed some smaller parts before committing.

    I posted this print to Makerworld and Printables.com. Check out the full build there!

  • I Did a Thing

    I have been participating in the open source software community for a while. My expedition into 3D modeling and printing has brought me to a new type of open community.

    Finding Inspiration

    The Google Feed on my phone popped up an article on all3dp.com called “The 30 Most Useful Things to Print in PLA.” I was intrigued, so I clicked on it and read through.

    There were a number of useful items, but many of them are duplicates of things I already owned. Phone stands and Raspberry Pi cases are great first prints. However, I usually buy mine to get built-in wireless charging on phone stands and various features on Pi cases.

    The third item in that article, however, almost spoke to me through the screen.

    A Stack of Cards

    I recently went through my office desk drawers in an attempt to organize. What I quickly realized was I had a collection of USB, SD, and MicroSD cards. The MicroSDs I’ve amassed as a side effect of my Raspberry Pi projects. The USB sticks are just “good things to have around,” especially in an era where none of my laptops even have a CD drive anymore. I can load up an OS on a bootable USB and reload the laptop.

    The problem I had was, well, they all sat in a small container in my drawer. There was little organization, just a bucket of parts. As I’m browsing the all3dp.com article, I came across the USB SD and MicroSD Holder. The design had such beauty in its simplicity. No frills, just slots for USB, SD, and MicroSD cards in a way that makes them organized and easily accessible.

    Making It My Own

    Sure, I could have printed it as is and been done with my journey. But, well, what fun is that! I took a look at the design and added a few requirements of my own.

    1. I wanted something that fit relatively neatly in my desk drawer, and used the space that I had.
    2. I needed some additional slots for all storage types.
    3. Most importantly, I wanted some larger spacing in between items to allow the bear claws that I called hands easy access to the smaller cards.

    With these new requirements, I fired up Fusion 360 and got to work. I used some of the measurements from Lalo_Solo’s design for the card slots, but added some additional spacing in between for easy access. I extended the block to fit the width of my desk, with a enough padding to grab the block out of the desk without an issue. That extension was enough to get the additional storage I needed.

    And with that, I sent the design off to Pittsburgh3DPrints to get printed. A few days later, I picked up my print.

    It turned out great! I brought it home and loaded it up with a few of my USB sticks and SD cards, as seen above. I have a few more, but not enough to fill up the entire holder, which means I have some room for expansion.

    I chuckled a little when I picked up the print: at the shop, I noticed another print of my design on the desk with a few USB/SD cards in it. It felt awesome to see that the design is useful for more than just me!

    Dropping the Remix

    Like DJ Khalid, I wanted to drop the remix on the world. I went about creating a Thingiverse.com account and posted the new design file, along with the above picture. With Thingiverse, you can post things as “remixes” of existing designs. This is a great way to attribute inspiration to the original designers, and keep in line with the Creative Commons license.

    With a new Thingiverse account, I will work on posting the designs for the other projects I printed. At this point, nothing I did was groundbreaking, but it’s nice to share… you never know when someone might find your design useful.

  • If there is a problem…

    My son’s broken Stanley handle led me down the path of designing and printing a new handle. Overkill? Probably. But fun nonetheless.

    What’d You Do?

    Whatd You Do Chris Farley GIF - Find & Share on GIPHY

    My son came home last week from school last week with a bit of a sob story. Someone knocked his Stanley Quencher 40 ounce Tumbler off his desk, and it landed in such a way that the handle broke off. It was not that the screws came loose: the handle mounts just busted off.

    It was a relatively new purchase, so I told him to contact Stanley about a warranty. To Stanley’s credit, they shipped him a new one, so he’s got a new one and can move on with his life. But now we have a perfectly functional Stanley with no handle. This felt like a perfect opportunity to design a new one!

    It’s Prototyping Time!

    I checked Grabcad.com for an existing model of the Stanley 40 ounce Quencher, but alas, there was not one. I also checked Thangs.com and Printables.com, but nothing popped up. So, I took a few measurements from the Stanley I had in hand and went about mocking up a quick model of the Stanley. It is not at all pretty, but it gives me the proper dimensions for my handle model. I left the handle off because, well, mine does not have the handle, hence the reason for my work.

    Bare Stanley Quencher – No Handle

    The design I had in mind is similar to some existing Yeti handles that I have seen. While the official Yeti ones have a single ring, because the Stanley is a not flared as it goes up, I wanted a double ring design to take advantage of the lower flare on the Stanley.

    With a double ring, I needed to break this out into a multi-part component in order to print it. In order to add some strength to the finished product, I added dovetails at the joints.

    I ended up with this:

    Stanley Handle Rings
    Stanley Handle
    Stanley Handle

    Off to the Printer!

    I am still mulling over purchasing a 3D printer, so for now, I rely on Pittsburgh3DPrints to have my prints completed. I sent my design over and had the print turned around in a few days. Normally I can just pick it up, but they are out of the shop this week, so I had to wait patiently for the USPS to deliver it.

    How did it turn out?

    Pretty much exactly as I had planned… Which isn’t always the case, but I do love it when a plan comes together.

    The dovetails joints are actually pretty tight on their own, but I’m going to glue them up just for added strength and removing the worry of it coming apart and losing pieces.

    Getting closer…

    As I design and print more, the list of “pros” continues to grow in the “should I buy a 3D printer” debate I am having with myself. My modeling is, right now, serviceable, but I am getting better with each tutorial and print. Perhaps one day I’ll convince myself to get my own printer.

  • Prototype 1 – Printed!

    With a little help from the folks at Pittsburgh 3D Prints, my first 3D printed prototype is complete. I am fairly certain this will lead to a new hobby with some useful output.

    But first, the problem

    As I mentioned in an earlier post, I have started to dabble in 3D printing. This desire actually came out of two separate issues that I wanted to address.

    1. I need a case for the Shelly LED Controller.
    2. I need an outdoor mount for our UE Megaboom 3 speakers.

    For my first prototype, I picked the Shelly LED Controller case, since it is more pressing and probably the easier of the two.

    Why a Case?

    I moved my LED controllers to the Shelly LED controllers in June. For containment, the LED strips outside already had waterproof boxes, so putting the Shelly in there was quick and painless.

    However, the kids have LED strips in their room, and that presents a problem. The Mi-Light box is self-contained, and includes a power jack to plug in a 5.5mm barrel plug transformer. The Shelly, well, does not. So I need a solution to contain the Shelly and provide a plug.

    Design Time!

    After replacing the GPU in my laptop, Fusion 360 is running quite nicely. I was able to grab a model of the Shelly LED controller from Grabcad.com. From there, I sketched out a rough bottom shell, leaving enough room on one side for wire connections and on the other for a panel mount barrel jack. I added a small slot for the LED 5 wire flat, as well as retention tabs to keep the Shelly in place. I added two build outs to hold a few M2 threaded inserts.

    Finished Case Body

    For the top, I used the sweep function to create a lip profile that matches the inside of the case body. I added additional retention tabs that match three of the tabs on the bottom, as well as a small cube to hold the Shelly against the case bottom. A few small holes for the M2 screws, and I was ready to print a prototype.

    A little help?

    I do not yet have a 3D printer. I am absolutely interested, but want to make sure it is something that I will use long term, as it is an investment. Luckily, the Pittsburgh3DPrints.com shop is literally 2 miles from my house, and they gladly printed my prototype for a reasonable fee. I exported my components as mesh files and sent them over, and with a day or so, I had a prototype printed in PLA.

    Prototype with Shelly LED Controller
    Case with Lid

    An this is why we prototype. When I drew the lid on the case, I matched the profile exactly to the case body. The lack of any gap or margin is causing the top to bow in the middle, since the PLA is not so rigid that it will press into the case completely.

    I went back into Fusion 360 and added an offset face operation to the lip, pushing it back 0.2mm from the edge of the case body. This should give me sufficient gap to allow the lid to sit flush while still maintaining a tight fit.

    I’m currently waiting on my Amazon order so that I can install the barrel jack and threaded inserts to complete the prototype. While I don’t anticipate any issues, I want to make sure everything fits before I order two more cases in ABS.

    What’s next?

    I have always enjoyed making physical things. So much of my job is to create solutions in a virtual space, it is nice to actually be able to touch and feel something that I have created. 3D printing is an interesting juxtaposition of those two worlds: I spend time modeling virtually something that the printer turns into something physical.

    For now, I am going to attack a few outdoor mounts for our Megaboom speakers. From there, who knows.