I did in fact finish that project just before Christmas of last year, in time to hand out as presents.
When I last left off, I had designed the top portions of the staff, but had not figured out how to get the threads I wanted to connect it to the broom handle. I ended up remixing a model that someone else had made:
I just left the extra gap in there since it wasn’t really hurting anything. As a point of comparison, this is also how I test fit the other components.
Once I found out that everything fit, I had to paint the pieces. I used a primer/pigment spraypaint, with a couple coats of a clear gloss coat to minimize the occurrence of the paint rubbing off on things.
I simply clearcoated the “crystals” so light could still pass through.
Another modification I made was to the light of the flashlights themselves, by ordering some red filters sized for maglites, so that they wouldn’t interfere with people’s vision at night. Apparently the lenses are a bit vulnerable to heatwarping from the LEDs, but I didn’t think it was a significant enough issue to warrant leaving them out.
Since I knew these walking sticks would also be brought and stored indoors a lot, and I didn’t want to get parents angry at me for damaging their floors, I added little rubbery caps to the end of the walking sticks. Usually these are meant for chairs, but by boiling them and zip-tying them on, I think they were able to stay on well enough.
With that done, I had my semi-final products.
I say semi-final, because these were rather tall for the kids. I got some help from the rest of the family to figure out what height they needed to be, and then cut them down to their final heights for the kids.
I did find out quickly some modifications I may need to make for future versions. With all the lockdown times this year, I realized I still had leftover parts from making them, and started working on a variant for myself, incorporating what I had learned from the originals.
I still have work to do on it, but I think I like it. I need to reprint a couple parts with adjusted tolerances, then paint, glue, and assemble. I’m also thinking of making a connector to hang just this top portion from my belt if I feel like it, as a belt greeblie for cyberpunk costuming.
The tack at the bottom is holding a piece of metal in that positively retains the end cap of the maglite without just relying on the glue, which was a failing of the originals.
If at first you don’t succeed, iterate, iterate, iterate!
If anyone is interested in making their own (of the original design, I’m not sure if my personal one will be posted), the files are located here:
This project is part of what first got me to get my first 3D printer, but I got discouraged at the time with print quality and later by my replacement printer being too small.
But I finally did it!
A while after I originally wanted to create it, someone updated the quality of the models and manufacturing methods, making it more feasible to do.
So, earlier this year, I posted about how I had printed the parts (though it took me a couple attempts).
One of the nice things about this version is that most of the parts were broken into easier to print and clean up pieces. There was a bit of a tradeoff, though. It required coat hanger wire for some parts and replace others with stainless steel rods.
It was easy enough to buy the rods, and purchase and cut the steel coat hangers… but I was unable to cut the rods myself. I ended up supporting a local business and contacting my local machinist (who I’ve gone to before when there were metal parts I couldn’t fix or fab myself). It was kinda pricey… but precisely and cleanly cutting and finishing stainless steel is no joke, and this guy did an excellent job of it.
Unfortunately, I found out later that the lengths I have him did not precisely match what was needed for some of the 3D printed parts.
This led to a bit of experimentation with modifying the 3D models and reprinting the “tension members” to “cheat” them to a length that would work with the steel rods. That took a bit longer than it should have due to unexpected 3D printer problems.
By the way, if you’re wondering where the coat hanger wires went, they are inside those gray pieces around the clear section, spaced between the steel rods.
Getting the lights in there and getting them to work took a bit, but I finally finished that recently. The system runs off of an Arduino Nano board, with a small board to break the wiring out. Before I get to the final stuff, I want to share a lessons learned.
If you use a breadboard of any kind… check how the the holes are connected! For some reason I thought this board left the holes unconnected and that I’d have to spread solder between components to form connections. Turns out they were connected and it hadn’t occurred to me to look at the back of the board until after I had soldered the resistors on. This is also why it is a good idea to buy spares of parts (or multi-packs) when working on a project. Otherwise it could cost you a lot of time and extra shipping.
A new board and a lot of soldering later, this is what I ended up using:
I realized that this time on a project I didn’t want to trap myself with my directly soldering disparate wires to the board, so I added connector pins so I could have removable cables for disassembly/modification. I wasn’t gonna bet on getting it right the first time!
To keep the count of LEDs and wires down a bit, I used the diffusers someone else had designed (links at the bottom).
It uses a “light pipe” design to spread the light around in a mostly circular pattern. There was even a special one for the reaction chamber…but I ended up not using that.
Wiring the LEDs took a while, but it was more tedious than it was difficult. I think it was mainly because I took the time to plan out what I was doing before I started in more detail, rather than trying to wing it and label a bunch of wires afterwards.
To avoid going insane with trying to glue in each LED and try to solder all the connections with reasonable spacing, I designed and printed spacers that I could simply stick the wires of the LEDs through. I think the wires would have held, but to make things simpler on myself (and so they wouldn’t push out during soldering) I hot glued them after putting them in.
To drastically cut down on the number of wires required, I soldered all of the negative terminals to a common grounding bus bar made from a bare copper wire.
Referencing the drawings I had made earlier, I soldered some ribbon cable to the positive terminals, allowing me to have traceability through color-coding. The wiring is mirrored on the opposite side, so that each control output from the electronics board controls the lights in the mirrored position on top and bottom of the warp core lamp. This keeps the number of control pins needed down, and simplifies the coding.
These lights on the spacer bars fit snugly into the diffusers.
As mentioned in the note above, I forgot to wire the ground wire first on the top section, meaning I had to add it in last, connecting it at the far end rather than the close end. In the bottom section I did it first, because I really needed room for the power/programming USB cable to fit in.
These segments then slid into the corrugated sections.
Here’s how the wires connected up before the final closing of the casing.
Note the removable connectors for all the wires in case I needed to adjust anything. The colorcoding made connecting them to the board a breeze. The USB cable goes out the bottom for programming and power.
Now we get to where I kinda got angry. Here are the parts just before I was planning to connect the last couple wires and close it up.
Look at the circuitry. Look at the diffuser that’s supposed to go into the central reaction chamber. Now look at the reaction chamber. Do you see it yet?
THE DIFFUSER AND THE CIRCUIT DON’T BOTH FIT INTO THE CHAMBER AT THE SAME TIME.
I had planned for this somewhat with the board, but hadn’t fully taken into account the flexibility of the wires or the added height of the removable connectors.
1) the diffuser isn’t 100% necessary (though the light would look better in that section
2) the diffuser was weak
3) RAL CAN CRUSH DIFFUSER WITH BARE HANDS AND EXTRACT LEDS INTACT
I kinda went barbarian on it in my desire to finish. I ripped the central diffuser apart, and just shove the LEDs in the compartment with the rest. Also, after a test fitting and plugging it in, I realized that the arduino had red LEDs that clashed with the color scheme, and put some electrical tape over them to get rid of the distracting red glow.
I closed the thing up… and then got to do something that still makes me chuckle a bit.
I pulled out the rubber mallet and began gently tapping on the end of the warp core to make sure all the rods were seated as well as they could be.
After a bit of updating some code I wrote for this years ago (and cursing at two different computers for a few hours because they didn’t want to behave with uploading to the arduino) I finally got it turned on.
I went through a few iterations of code and pseudocode (and had to remind myself that with this board the counting started at 2 rather than 0 or 1), and finally got it to a state I liked.
Here’s the initial light pattern I went with:
I’ve got an intermediate version of this one somewhere with an extra delay built in after the FOR loop because I didn’t like that the light jumped immediately from the bottom LED to the top again. It just seemed jarring.
Here’s what I’ve most recently decided to use:
This one has 2 or 3 “waves” at a time passing through each end to the center. It looks less like a jarringly looped GIF than some of the other iterations I went through.
I originally planned on plugging this into the raspberry pi that I control my 3D printers with, but apparently Octoprint gets confused by the extra USB connection, so I have it connected to a USB wall adapter for the moment. Though I have realized I can plug it into the USB adapter in my car as well…
I hope you all enjoyed this, and I’m glad to have finally finished this project after years of wanting to build this, and I was finally able to take this off my project board.
Reference Links For Construction:
Here’s the original I saw that inspired me years ago:
Now that I’ve submitted it as my entry for the 2020 Zero Day competition, I feel like I can share what I’ve been working on lately.
This may end up being the first in a series of “Standard Runner’s Constructs,” and the instructions are written as such, in an in-universe style. The idea is that runners are trying to make sure their future teammates are properly equipped and educated. If you “can’t find good help anymore,” sometimes you’ve gotta train your own.
I present the 𝝅oneer Falchion, a pi zero w based micro cyberdeck (or microdeck).
I took inspiration in designing this from the Austro-Hungarian M1853 Pioneer’s Falchion. I had gotten the first inkling of an idea of a blade shape from the shape of the keyboard, and then went poking and asking around to find a blade with a somewhat similar shape. That’s what informed the shape of the hilt and the placement of the quillions in particular.
The features include a micro-USB charging port on the hilt end, two USB-A “data-quillions”, a touchscreen display, and a wireless keyboard that folds on a hinge along the back of the “blade” into the operating position under the display. The power switch is accessible through a hole on the backside of the device.
I designed and built it for the competition hosted here:
The gist of it is that we are holding a mini virtual maker faire, with a competition portion. The competition requires using a Raspberry Pi Zero (or Zero W for the wireless version) as the core of a cyberdeck that we designed in a limited amount of time, with a limited number and volume of 3D printed components, and including the required models and instructions as our entry.
The winner gets their design printed in resin and shipped to them.
As part of the competition I had to submit the 3D models and instructions, but I also have them hosted here:
This past week I finished my updates to the backpack. I cleaned up the leather straps, replaced the corroded fittings, cut the straps to length, punched new holes, and attached the straps to the frame. Here are the results.
The replacement buckles look better than the originally planned buckles! I doubt you’d notice, but I had to remove and adjust that felt padding on the lower frame by narrowing the area covered by it. Otherwise the leather straps would have to wrap around the padding, which doesn’t provide as secure of a hold.
From this top view you can see the leather badges on the bag that I keep on top of the overall pack. I found the bag and those badges at DragonCon a few years back. The in-character explanation is that I’d carry the whole thing as I walked from town to town, and set it down in my room at an inn, taking my lighter bag around shopping in town.
At some point I still need to go through what I carry in and on the pack for events. Right now I’ve got it in a kind of “all-purpose” configuration, with a bota bag for water, a small bag for local shopping, and a wool blanket for warmth/shelter. I’d like to figure out 1) what I would want to carry if I decided to take this camping and 2) what I would want to carry if I were actually the character that this was designed for. What tools would I carry for my trade? What in-period essentials would I carry for survival? Would I have anything in there to deal with bandits or wild animals?
As someone pointed out to me recently, I apparently like to have a story behind the things I create.
I got fed up with the power cables sticking out of the side of the case, so I decided to make the power switch a more integral part of the build. Also, I didn’t like the gaping hole in the case.
There were two power switches, one for the deck itself, and one for powering the USB hub. I modified this one for the hub, deciding to route it fully inside the case, even though that means I have to briefly open the tray to turn on the hub.
I also made this cable up for the main power to the Pi.
As part of this design process there was a lot of tinkering and iterating.
And, I mean a LOT of tinkering. This is what I ended up with:
I knew I liked the idea of a red safety cover for the switch, but those are designed to turn a regular flip switch off when they closed. I needed a way to have a cover a switch while the thing was still powered on. I found the switch that would fit through the hole of the safety cover (after a little… modification with the deburring tool), and figured out how to design the little bugger to hole the actual switch, the switch cover, allow for proper free movement of the switch to function, and attach the switch neatly and securely to the case. I’ll spare you the iterations, but it took a while, and I think I got it to look pretty good and hold well. I like that I have a red power button under a red safety cover now. It just feels… right.
It’s also been downsized slightly, which makes the large parts fit on my smaller 3D printer.
For another, I’ve been fixing my 3D printers, and have had all this monitored print time available recently, so I’ve had no excuse NOT to make it anymore. So, I’ve been spitting out the parts for this thing lately.
Those translucent sections were much larger and more complex in the original model, each made of 5 toroids. Also, many pieces were replaced with metal rods that I was able to order on Amazon, I just have to cut them down to the correct length.
So… yet another project ongoing! I’ve gotten the tools and hopefully all the parts I need, so when I have some more time (I’ve been kinda busy) I’ll be:
Writing the arduino code for controlling it
Testing the code on a breadboard
Soldering an absurd number of connections
Cutting a bunch of metal rods with a reciprocating saw
After finishing the keytar’s primer/color coat, I started prepping to do the details. As mentioned in a previous post, I was using Rub’n’Buff to give a bit of a metallic finish to the details.
Like with any good detail work (unless perhaps you have a LOT more skill and confidence than I do), I prepped the sections I was going to accent by taping around the parts I wanted to add color too. This helps keep the transition between colors sharper and cleaner. It used a lot of painter’s tape and prep time, but it was worth it. I also taped around the feet on the backside of the case to protect the areas around them when sanding. I… kinda forgot to tape over them before painting, and I needed to remove the paint so that the rubber feet would work properly.
It can take a while to tape around these to my satisfaction, as I’m trying to preserve a lot of detail in the process and not look sloppy. It took a lot of small bits of tape, and some work with an exacto blade. As an example of what I’m talking about, here’s how I had taped up the universal greeblie for painting. I had to be careful to tape around all those curves.
Once I finished taping the pieces up, and through a bit of trial and error, I was able to add something of a metallic finish that I had wanted. Here it is, before and after removing the tape (there may have been an extra application of Rub’N’Buff between photos). Note the amount of extra finish that was on the protective tape that didn’t end up on the surrounding black paint.
Finished with the accents, I started decorating with stickers. I had a bit of trouble with some of them, and I’m not entirely happy with the results but, eh, you live and learn. I know a bit more of what to expect the next time I do something similar. The vinyl sticker with my logo was the hardest one to put in.
The others took a bit of planning for placement, but weren’t so bad to apply, as each sticker was a single solid piece.
After applying all that, I had to apply some more paint. A few coats of glossy clear enamel to protect everything and seal it in, and a coat of matte clear paint to knock the gloss off. The results were alright, but I think if I were to redo this I would use a painted on clear lacquer, for a thicker, stronger coat. Some of the stickers don’t adhere as well as they should, and the spray painted clear coat doesn’t force it down like a lacquer might. I also noticed that with some hard objects it was easy to accidentally add marks to the surface of the paint, it’s something about the clear coats, but at this point I don’t want to worry with attempting a fix, and I’ll just call it “built-in weathering.”
Oh, before I forget, one of my lessons learned I would like to share.
DO NOT LET YOUR SPRAYPAINTED PLA PLASTIC PARTS DRY IN THE SUN. I started getting warping in one of my parts because I didn’t realize it was in direct sunlight, and I had to try an emergency repair with clamping while it was still flexible.
Here’s all the parts after stickering and painting. Oh, and I was painting a door opening tool at the same time as well.
It was around this point that I decided that I wanted to make sure I finished the USB hub add-on and a more integrated power switch before reassembling it, but that’s a topic for another post.
Let me know if you have any questions about the processes in these posts. I’m trying to write these over a month after the fact, and have been limiting some of the details in order to progress forward.
I decided that I wanted to be able to display and easily access my collection of D&D miniatures. I came across a concept for reusing empty filament spools. Their version had faceplates, but for the moment I just want to at least get this thing functional. I stacked my empty spools, and connected them with some tacky material.
It’s convenient, showing off my minis for ease of access… but the back half is hard to see and reach. This is where the turntable comes in. I had tried one version where it was a plate sitting on a single skateboard bearing, but that was too brittle and the whole thing wobbled (the spools make it top-heavy). So, I switched to this design:
You can find the original turntable design on Thingiverse here:
I’ve continued to have major issues with the printer, so I’ve been reading even more, and stocking up on new parts and tools so I can perform more intensive maintenance and upgrades on the 3D printer.
One of the issues that I’ve had is that sometime mid-print the printer will appear to lose track of where the carriages are located, and also appear to not register the end-stops.
I finally branched out into soldering, and got a soldering setup and heat gun.
I’ve used this to replace all the end stops. I cut the wires, and spliced new ones on, albeit clumsily. There is an extra layer of heat shrink that I apparently thought was a good idea at the time, but I chose the wrong size.
Build Plate Upgrade:
I decided to attach a metal build plate onto the printer, so that it would be smoother and more resilient than the standard plastic build plate. I’m tired of having a plastic build plate that gets deeply scratched and deformed by a hot nozzle. I think that having a metal bed will eliminate some of those issues, though it might cause more gear grinding issues if the printer loses it’s z-axis calibration again.
I had planned to do this by either 1) using binder clips to attach the plate or 2) use 3D printed mounts (along with some purchased screws, springs, and nuts). I found that the binder clips that I bought were far too big for the printer, and also realized that I would need to make some gcode changes to account for their presence so that the nozzle wouldn’t run into them. Even going with smaller clips would have had this issue.
Photo of clips for illustrative purposes only
I also realized that the springs I had ordered were entirely too long (and possibly too stiff) to be used to mount the metal bed. Maybe I’ll find a way to re-purpose these parts for another project later.
So, I went with my default solution to problems.
Command strips. I taped the plate to the plastic bed, and seems like it might work out alright. I used the tape because with command strips, if it doesn’t work out you can easily remove them. Down the line I’m wondering if I might need to replace them and add some sort of supports underneath the plate so it is even less likely to flex (it’s only supported in those 4 corners).
Filament Spool Issues:
A separate issue I have is that loading and unloading filaments of different types was a pain. The original spool holder that came with the printer requires disassembling and reassembling the holder around the spool every time I want to change filament.
Also, from the angle the filament travels there is clearly a lot of friction over time. The feed hole was originally round.
I’m not sure whether this filament drag was contributing to some of the issues with the print head moving in unexpected ways, so I tried out adding an easier-to-use spool mount on top of the printer.
The large parts are 3D printed, but it also uses 2 skateboard bearings. I didn’t design this one, I found it on Thingiverse here:
I figured that it would make loading and unloading filament much easier, and the different position plus the bearings would reduce any drag caused by the angles the filament had been travelling through.
Sadly, I’ve found that the spool will occasionally fall off the top of the printer when I try to use the new holder, and with a heavy spool that is too much of a risk of damage to the rest of the printer, so I’ve had to stop using it. I may end up trying the version with the steps on it, in the hopes that the steps will keep the spools from falling.
I also designed and test printed a spool holder design of my own, but that ended up being it’s own separate set of issues.
Note: This post is a case in point of why logging/blogging can be good for your hobbies. You look at what you’ve done, what your problems were/are, and re-evaluate while you write. I’m catching up on this a few weeks later, and I had forgotten that there was a stepped version of the spool holder that I can try.
Lately I’ve been trying to work on the software side of things a bit lately, while I have this thing assembled (I’m still debating whether to embrace the scuffed look of the casing paint job).
For one thing, I found out that my last SD card image was 6 months old! I had some things I had figured out since then, but as I tried new things I kept messing up the card, so I took the time to implement everything that I KNEW worked onto one card, while testing out things on a different SD card. That way I have a safe image of all the things that work, while the other spare cards were considered expendable, and I’d only bother testing new things on them. Once I was satisfied that I had made sufficient progress, I used Win32DiskImager to copy the image of the good card as a new baseline.
New things implemented in the baseline:
Loading all the files that I had been transferring via USB into the image so I don’t have to reload them
Establishing a new cyberdeck logo as a wallpaper (courtesy of fellow decker BillieRuben on the cyberdeck discord)
Changed screen resolution on the primary display (when I was at MAGfest I couldn’t access the buttons on some menus, which drove me NUTS).
Updating password, because apparently I had left it unlocked. D’oh!
Implementing SSH on the Pi and installing PuTTY on my laptop. This change was one of the more important ones! I’ve been attempting to tweak some of the graphical settings, but every time I get them wrong, the screen on the Pi becomes unusable. When that happens, that had forced me to swap cards, and start all over again. It also led to me possibly corrupting cards because of powering the Pi off incorrectly, and having to wipe and reimage the cards before I could use them again. Now, with SSH implemented, I can remote into the Pi and access the command line perfectly well, allowing me at the very least to be able to power off the Pi correctly, but it has also allowed me to continue trying new things while the display settings were messed up. This saves a LOT of time (it takes far too long constantly reformatting and reimaging these SD cards).
Working but not baselined:
I’ve been able to VNC to share the Pi screen to an old android phone of mine. So far that works with RealVNC Viewer on the android phone.
I’m attempting to use VNC to share a side-by-side version of the raspberry pi display onto my android device so I can use it as a head-mounted display (HMD) to simulate a larger monitor to work from on-the-go. I’m attempting to use a software called VR VNC. So far I’ve been receiving an error message about incompatible VNC security, and haven’t managed to get it to work.
Once I get VR VNC (or some equivalent) to work, I want to change the network interface from being over WiFi (which requires both devices to be on a WiFi network together, not ideal on-the-go) to being through a wired connection over USB. Someone appears to have written a guide here: Android Device as Screen for rPi via USB & VNC. End goal: wired connection between the keytar and the android headset to simulate a large monitor on-the-go, making using the system much easier… and has added cyberpunk vibes. If/when I get this to work, I’m gonna get an old-fashioned-looking curly cable for the connection. It just feels more authentic.
I’d like to add an app for simple-ish pass-through of the camera into an augmented reality display on the headset. If the lag isn’t too bad, I might be able to wear the headset and still be able to see where I’m going at cons, if I want to fully indulge the costume at times.
Things I’ll have to get back to:
Attempting to switch between HDMI output (for a TV or digital projector) and back to the built-in LCD. I was attempting to use some code I found to switch automatically, but that kept failing and rendering the screen unusable, hence the need for the SSH above. Then I remembered the original scripts onboard for switching by command and thought I should make sure that works first. So far I can get it to switch to HDMI, but not successfully back. At least, the screen is still covered with some other text when it switches back. I’ve already fixed one issue, from where the screen kept coming back upside down, but I haven’t gotten back to a useable desktop using this method. Thankfully the SSH works and allows me to keep poking at it.
Down the line:
Now that I’m trying to add a HMD to the setup, I think I need to make some modifications to the casing. I think I may either remove the existing branding from the case, and/or add a thematically appropriate sticker to cover it up. I also may need to manufacture and attach an appropriate connection for hanging it from my belt securely. I’m not going to want to wear it on my head all the time.
I may or may not post more on these topics later, but I thought I’d go ahead and put these out there.
I reorganized my workspace, mostly by adding a rolling cart to store things on (and still be able to move out of the way when I need that particular floorspace back). My living room (including the top of my workbench) was getting rather cluttered with projects, materials, etc. and it was becoming unusable. I’ve now tossed some stuff, and reorganized the rest onto the cart, reclaiming some needed square-footage off of the floor, workbench, and other shelves. I now even have space to run my laptop out of the way of the bench itself for when I want to SSH into my cyberdeck at the bench.
I thought the table lamp needed a lampshade, so I designed and printed one inspired by a Japanese style pagoda roof. The green is a reference back to the Jade Pagoda from Whovian lore. Right now 3 out of the 4 segments match. I ran out of material when printing a later version of the design. I still need to get some more green filament to finish this properly one of these days. I’ve posted the files on Thingiverse here: