Adventuron TALP 2022 Post-Mortem

The Spooky Mansion is a text adventure game that I made for the Text Adventure Literacy Project 2022 Jam hosted by Adventuron.io. While the jam stipulated that any engine could be used to create the game, I opted for the Adventuron engine since I have had some experience with it and it makes it incredibly easy to get a fully fledged text adventure up and running in no time.

The Story

I had some help in getting the story fleshed out as I used a paper and pencil game of the same name that I had created for my 4 year old. It was a simple paper and pencil RPG about exploring funny things around a spooky mansion, since she loves ghosts and monsters. I integrated a lot of the characters that I had created with her, like the talking pickle, the ghost chef, and the hungry monster right into the game.

So, the layout and puzzles of the mansion were really the first parts created, as I fit those elements from our stories into a map. In fact, the entire mansion was pretty much laid out before the question of “why are you in this house?” was even asked. It took me some back and forth to come up with a convincing or fitting idea of why you would have to explore this mansion, while fitting the silly-spooky theme of the place. Losing a dog that runs away seemed like a good fit – worrisome enough to spur the protagonist to action, but not too high-stakes to overshadow the silliness inside.

I have always had a problem of feature/puzzle creep in the previous games that I have made, so I made a very conscious effort to stick to the bare bones number of puzzles and rooms needed to satisfy the contest requirements. Check out the jam page for the full list of requirements for all of the games.

The Graphics

Similar to my previous foray into the text adventure space, Save Bigfoot’s Christmas, I decided to go with classic EGA graphics at a resolution of 160 x 48 pixels. This is a pretty good sweet spot for me now in terms of creating decent graphics and still being able to get them done in a game jam time frame. I did decide to step up my graphics creation this time by using Aseprite to create all of my graphics.

Aseprite turned out to be a fantastic tool – not only did the palettes, layers, and dithering tools make low res graphics easy to create; its animated gif functionality made turning those backgrounds into animated versions incredibly easy. I had played around with a few animated gifs in Adventuron in my last game, and knew if I could add more in this game, it could really step it up. My animated gif creation in Bigfoot’s Christmas was tedious with the simple online sprite editors I was using, Aseprite made it sooo much easier to animate my backgrounds. I didn’t go overboard with any of the animations, just enough to add a little movement in many scenes – a spoon stirring a cauldrons, mouths moving in conversation, fire crackling, a hungry monster pounding his fists.

These sprites paid off, and got me first place in the graphics category!

Programming

As the rest of the rankings from the jam showed, the rest of the game was not as strong as the graphics! It is always very difficult to judge what is needed in the parser handling, and this time around I got a little strapped for time at the end and had almost no play testing. As I continue to learn with these adventure game jams, playtesting by many different people is so necessary for a polished game, because there are just so many different ways to approach typing in solutions to the puzzles in the game. This left a few pretty big bugs and holes in the game come time for release. I’ve cleaned most of them up since then, and none of them were particularly difficult to fix, but when they happen, really bring down the game.

The End?

Every single Adventuron game jam that comes out, I have an absolute blast with. Text adventure games are the first kind of games that I remember playing and have a fond place in my heart, and I love making them as well. I think the environment of the Spooky Mansion came together pretty well, and think I might be returning to it someday in a “Return to the Spooky Mansion” or some such title. Check out The Spooky Mansion and the rest of the jam entries for some great, quick modern text adventure titles at the jam page.

Analog Internet Dial

One of my favorite stores recently is the University of Minnesota ReUse store – where all of the old, surplus university material is sent to be sold off to the public after its usefulness in the university has come to an end. There is a ton of old and new technology, furniture, and office equipment for sale and I always come away with something awesome for a new project. Recently I came across a pair of old ammeters for a few bucks each.

Loving the look of old, analog dials, I had seen some posts where people have turned them into internet speed monitors. With a handful of Raspberry Pi picos, I decided to try this out for myself.

Hooking up the Dial

First problem was to get the Pico to output to the dial. Connecting is simple – there’s only two terminals! Connect one to the ground pin of the Pico and one of the GPIO pins to the other terminal. Any of the GPIO pins can be used because they are all capable of pulse-width modulation (PWM). If you are using multiple PWM pins with the Pico you do need to take care to make sure they don’t overlap – all the GPIO pins share 16 PWM channels. I’m only using one here, so there’s no problem, I chose GPIO 17. The Pico cannot output a real analog signal, but using PWM at an appropriate frequency I’ll be able to fool the ammeter to outputting an amperage.

To program the Pico I opted for Micro Python as a quick and easy way to get this program up and running. MicroPython is incredibly easy to get up and running on the Pico, just drag and drop the .uf2 file into the memory accessed with the Boot Sel button. The install instructions are found here. To control the dial, I’ll use the PWM module.

I had to do some trial and error to figure out what frequency and duty cycles to set the PWM at to get the dial to respond – frequency being how fast of a digital signal to send to the device and duty cycle being the percentage of the cycle to output high (out of a possible 65535). With this ammeter, a frequency of 1000 Hz worked well to display values. Initially, a duty cycle value of 9300 gave the dial a max value, so I programmed the dial to accept values from 0 to 9300. However, it was not that easy. As I worked on the program and design over several days, the duty cycle values began to vary wildly with the value they printed out. I suspect that this is an environmental cause (the temperature in the winter of my workshop varies wildly) or due to the fact that this ammeter is who knows how old and essentially thrown out by a university department.

The pico test on the breadboard.

The quick and simple counteract that I have for this variation is that I have made a standardized program to run before I start up the program to figure out what the max of the dial is and a customizable sensor program that can adjust to that dial value. Now that I have the dial working and outputting values, I needed to send it the internet speed.

Measuring the Internet Speed

The dial was set up to read in a value from the serial connection and then set that value to the duty cycle of the PWM pin. Unfortunately, reading a serial value on the MicroPython Pico is easier said than done, but luckily I found a good implementation on the Raspberry Pi Forums. Next I needed a program to run on the host computer to determine internet speed and send the value to the Pico over the Serial connection. With Python and the speedtest-cli library, this is incredibly easy!

Install the library with pip install speedtest-cli, and use three lines of python:

import speedtest
st = speedtest.Speedtest()
download_speed = st.download()

Speedtest gives the speeds in bits/s, so divide that value by 1048576 to get the speed in Mbits/s. A serial connection is opened with the serial library and the download speed is sent to the Pico. Since my internet service is a little under 1 Gbps, I scale the download speed linearly to fit the min and max of the dial, with 0 Gbps down being 0 on the dial and 1 Gbps down being 1 on the dial. This gives a nice visual of how far away my current speed is from absolute max. To get the dial going, I just need to plug the Pico into a PC and then run my internet Python script in the background.

Building the Shell

To finish the project off, I needed a nice compact case for the dial and the Pico. The construction of a case was made easy by the dial already having four long machine screws poking out of the back of the machine, ready to bolt a case onto. The key to a successful prototype is small iterations – don’t try to do the entire thing at once, especially since I am trying to fit this case on a device I don’t have the exact measurements for. To start, I measured the distance between the centers of the four screws on the back of the and created a bracket to slip over the four screws.

First iteration of the mounting bracket.

The first iteration was a failure – the cylinder on the back is too low to fit the rectangle, so an oval hole needed to be added.

Model of the ammeter mounting bracket.

Originally, I had planned that the mounting rectangle would be bolted on, then the back case would slip into a groove on the back of the mounting rectangle. This proved difficult to actually work in my first test print, so I switched to only the back panel clipping on the main panel. So my next iteration fit the side panels on top of the mounting rectangle. The ammeter rests very stably on its base, so I decided to not try to fit a base on the case and only enclose the sides and top to hide the internals.

3d model of the mounting rectangles with sides and top added.
The 3d printed enclosure without the back.

For the back cover I first printed out a back cover that would slide onto the two sides for easy accessibly to the chip inside it.

3d model of the back cover.

I also test printed the Pico standoff before I integrated it into the full model, to make sure it would work. This testing paid off because my first attempt the standoffs were off by a few millimeters due to misreading the Pico design schematics!

3d model of the Pico Standoff

Putting It All Together

Combining the two models together, I have a back case, and now I just have to put the whole thing together. The Pico will be connected to the computer with its USB cable, so it only needs the two leads that go to the ammeter soldered on.

A Pico attached to helping hands ready to be soldered.

I soldered wires to GPIO 17 and the GND pin and screwed the Pico into the back cover. I only had fairly long M2 screws, so I had to use some nylon nuts to increase the standoff.

It looked all ready to put together, but, alas, I ran into one final design problem! I set the Pico nice and centered, not thinking at all about the length of the USB plug! Even after removing the stiff cable cover it was too long without really ripping it apart.

Back to the drawing board, I offset the Pico standoff so that it would fit. At the same time, I increased the standoff size so that they would accommodate my longer screws.

3d model of the case back.

With my updated model, everything fit perfectly! I ran out of the red PLA though, so I had to use grey.

Pico attached to the back of the case.

To finish off the dial, I made a little display badge to denote what it is displaying, and attached it with adhesive velcro, in case I want to change up what it is displaying in the future. Changing its output would be incredibly easy since only the program running needs to change what information it sends the Pico on the serial line.

With the badge on and connected to the computer, the dial is complete! Running the python script on its host computer has the dial move to show the current download speed.

The final product all put together.

This project was a fantastic little build for practicing working with a Pico, which I am going to put into a lot more projects in the future, as well as 3d modeling and printing.

If you are interested in the code I used, you can find it on my Github.

You can find the 3d files that I used on my PrusaPrinters page.

Workbench Chalkboard

Right in the corner of my workspace in the basement, between my two workbenches, sit our sump pump, battery backup, and water main. Not only is it a bunch of space I can’t make use of, it was also a large space I wanted to hide from view, but still be accessible, while trying to squeeze some workshop value out of it. Being about 4 feet between the workbenches, it was the perfect place to put in a massive rolling chalkboard. Being a former math major and teacher, I have always been rather partial to writing on chalkboards as a way to visualize my thoughts and plans. To me, there is nothing quite like the feeling and sound of chalk on a board while writing.

The Frame

Since this was going in my unfinished workshop, hiding a sump pump, it did not have to be fine woodworking, but had to be solid and easily movable. After browsing my options in the lumber aisle, I decided to make the frame out of 1x4s and the board out of 1/4″ plywood.

Hand drawn plan for the chalkboard.

The frame would be simple, cross beams screwed into the sides of two vertical pieces, which rest on flat boards with casters, with a few support beams added so it won’t be too wobbly. I original hoped for 3′ x 4′ sheets of plywood to minimize the number of seems on the board, but once I got to the hardware store, they already had 2’x4′ cut, so I opted for three of those instead. In the end, I think this was the better choice because this forced me to add more crossbeams which makes the drawing surface much sturdier.

First step was to trim the boards up so they were all the same length. The crossbeam boards I got from hardware store were 4′ boards, but they are all a little bit different length so you need to trim them to make sure they are all exact. The vertical boards would be okay if they weren’t the exact same height, so I just left them.

The four crossbar boards ready to trim to 4'

Next step was to mark out all of the screw connections and drill the pilot holes. I laid out all the boards and calculated where to drill the pilot holes.

Boards laid out on the ground to mark the pilot holes.

I did some calculations to make sure all of the boards were spaced evenly. Since I didn’t not cut and trim all of the boards, it was important that I measured everything from a single starting point so all of the sides would match up .

Pilot hole calculation

I took extra care to take my time with marking and drilling the pilot holes to make sure everything lined up. You can really notice with how smoothly everything came together a difference compared to previous builds where I did not take nearly as much time marking and measuring first. Once the pilot holes were drilled I drilled countersink holes as well so everything would fit flush, then I started screwing everything together.

The chalkboard frame complete.

Once the frame was complete I cut two more 2′ 1×4 boards to serve as the feet. 2′ was as small as I could comfortably make them without being sure the board would tip over, but the space in the workshop really didn’t allow for much bigger. Luckily, at the end of it all the 2′ feet work out just fine for supporting the board. I countersunk the screws and secured the feet to the frame through the bottom.

Screwing the feet of the frame on.
Frame complete with feet.

With the feet on, I cut four 1′ boards to serve as diagonal cross braces for the frame feet. I cut them with 45 degree miters.

The four bracing bars for the frame feet.

I then drilled pilot holes through them perpendicular to their new end grain.

A clamped diagonal brace with a pilot hole drilled.

I did not drill a countersink for these, which was a mistake because in attempting to screw one of them in, I completely split it. Luckily I was able to rescue it with a little wood glue and clamps.

A split diagonal brace being clamped and glued back together.

Four caster wheels would be attached to the frame feet to allow to be moved around the workshop. Since they would be attached with bolts, I drilled the holes for them, but then waited until after I stained it to attach them. After the holes were drilled, it was time to stain. I used a Dark Walnut Minwax stain that I had left over from another project after I sanded the frame thoroughly (though you will note I did not sand the wood glued part or the areas where the price tags were enough).

The stained frame.

Unable to been seen from the picture above, I ran out of stain before I could cover the whole thing, so the back crossbars are not stained. These will be covered with the chalkboard anyway, so it’s not really a big deal. Once the frame was drying, it was time to get started on the chalkboards themselves.

The Chalkboard

Most important part of a chalkboard is having a nice smooth surface to write on, so I first laid the three pieces of plywood out and sanded them with up to 220 grit sandpaper. Once that was done, I marked on the edges where I would want to screw the boards to the frame and drilled the pilot and countersink holes before I pained.

3 pieces of 2' x 4' plywood, sanded.

Once the sanding dust was cleaned off it was time to paint. I did three coats with a roller brush, lightly sanding in between. I took a chance by not priming the boards first, but they didn’t really seem to need it.

The plywood covered with a coat of chalkboard paint.

I learned after this that a foam roller brush is way better for chalkboard paint then the standard roller brush! If I’m unhappy with the surface after a while I think I’ll go back and sand the painted surface down a little and reapply another coat to see how much the foam roller improves it.

After all of the coats dried (which I lucked out with painting on the one somewhat warm Minnesota day in February!) it was time to screw it to the frame. I balanced the frame on a table and laid out all the boards on top. To secure the plywood boards to the frame I used 1/2″ woodscrews, 10 per board. The frame was designed so that the top and bottom boards would overlap their respective crossbeams completely, and the rest of the boards would each overlap each crossbeam by half.

The plywood chalkboard sheets attached to the frame.

To get a little nicer finish, I filled in each of the screw holes with wood filler, sanded them down, and then applied a final coat of the chalkboard paint.

The chalkboard with its final coat of paint.

Once the paint dried, it was time to attach the casters with some bolts. I went with 2 casters with locks and two without just to try to save on some cost. I ran out of stain before I got to the underside as well, but no one will be able to see that.

Caster attached to the feet.

And the final product looked great in the workshop!

Chalkboard in the workshop.
The chalkboard in the workshop.

When I first tested the chalkboard out, I was a little disappointed – it was very difficult to write on and erased very poorly. It was a little discouraging to see so much work be put into an object I wouldn’t be able to use that well! But then I got some good chalk – Hagoromo from Amazon and it works beautifully! I guess I shouldn’t have counted on $1 chalk from the University ReUse store. If you set out to make your own chalkboard, make sure you get a foam roller for smooth application of the paint as well as some good chalk!

The Legend of Zelda Quest – Part 2

Continuing the project I started in Part 1, to complete the Zelda Quest I needed to make a treasure chest filled with rupees and, of course, the legendary Triforce!

The Chest

For the treasure chest, I started with a simple treasure chest I got from Michaels.

I was modeling everything in this set of Zelda treasure from Ocarina of Time, so I looked to the Ocarina of Time treasure chest for inspiration on how to fancy it up.

To mimic this chest, I began by applying a coat of dark stain to the chest. Since this was a cheap chest from Michaels, I went with a Minwax stain from Lowes.

A quick application of the stain and the chest improved dramatically! To finish the look I wanted to replicate the iron banding on the chest, so I turned to my 3D Printer. I took some measurements of all of the faces and then jumped to Tinkercad to start modeling them. Most of the frames were simple models – a rectangle with a hole in it, adorned with hemispheres to act as the nails.

The frames printed out very easily and test fit with no problem, except for the curved banding around the top. The chest was not very uniformly constructed due to being so cheap, so it was easier to roughly print out the curve and clamp it to the top with some super glue. As of writing this, that method has held up very well and shows no sign of failing. The banding was printed out with a dark grey PLA+ and then lightly coated with a metallic spray paint.

The 3d printed banding after a light sand.
The banding spray painted in the garage.

All of the banding was attached to the chest with super glue after a test fit to make sure there weren’t any glaring problems with the models.

The banding superglued to the chest.

The Rupees

For the rupees, I printed out this rupee model in dark blue, dark green, and red to have a nice stash.

An Ender 6 SE printing out 4 red rupees.

I had previously coated the eye of the Boss Key with some glossy Mod Podge and it gave it a wonderful gem look, so I thought, why not make the rupees shiny in the same way? It turns out, coating a small gem in a divot with Mod Podge works completely differently than coating an entire large gem. The Mod Podge did not smooth out no matter how I tried to brush it and the rupees ended up looking a little lumpy. They are acceptable to play with for a little one, but if I had to do these again, I think I would have tried a glossy spray paint to get a shiny finish.

A treasure chest full of rupees.

The Triforce

The end goal of the quest was the ultimate Legend of Zelda treasure – the Triforce! Of everything to model, these are of course the easiest, being simple gold triangular prisms. I made some simple prisms in Tinkercad, and then added the symbol for each of the pieces, Power, Wisdom, and Courage, as a way to tell them apart.

The Triforce of Power made in Tinkercad.

They were printed out in a gold-yellow filament, and at a 25% infill made a neat triangular pattern that shows through the thin surface. You can find the models on Thingiverse.

The Triforce of Power printing on the Ender 6 SE

And because the Triforce needs a Sacred Realm, I had to whip together a display case for it! I got some leftover wood from my Christmas Tree Display project and cut out a quick mitered box and glued it to the plywood frame back. I barely had enough clamps to make that work.

The display box clamped down while glued.

To hold the Triforce, I traced where they would lay in the box then marked corners of each triangle. At each of the corners I drilled and glued a short dowel to create a triangle shaped slot for the Triforce to fit.

Holes drilled in the display box for the Triforce.
The Triforce resting in the display box.

I sanded the whole thing down and applied a Dark Walnut stain to the box. After the stain dried, I cut a white, battery-powered LED strip to size and glued it around the inside of the box. I secured the battery pack to the back with a screw, and I had a display worthy of the Triforce!

The Triforce in its display case.

Quest Complete!

All quest items displayed.

The Zelda Quest was a huge hit! Our little one had a ton of fun running around the house finding all the items she knew from the Legend of Zelda series. With so many parts to get together, I was able to complete this project in a reasonable amount of time with relatively few hiccups!

The Legend of Zelda Quest – Part 1

It all began several years ago, with a book – The Hyrule Hystoria. With it, and its companion books, the Art and Artifacts and the Zelda Encyclopedia, our then two year old fell in love with the world and characters of The Legend of Zelda. Since our days since then are filled with stories about Baby Goron (her favorite character), I thought that a perfect surprise this year would be to have her own Quest for the Triforce.

The quest had to include all of the staples of a Zelda dungeon – map, compass, keys, treasure chests and rupees, concluding with the Triforce itself. My new Ender-6 SE was more than up to the task of being able to produce most of these.

The Keys

The quest had to include the two classic keys in almost every Zelda dungeon – the Small Key and the Boss Key. Thingiverse had just what I needed here – The Small Key by TheMasonX and The Legend of Zelda Boss Key by Budward. Everything else in the quest was going to be modeled off of Ocarina of Time for a consistent look, but I could not find an adequate Ocarina of Time boss key model and didn’t have enough time to model one myself with all of the other parts I needed to complete. So, the similar model from the Wind Waker would have to suffice.

A small key. It can open a locked door in a Zelda dungeon.

The small key was printed with grey PLA+ filament, sanded down, and then painted with a metallic grey spray paint.

A boss key. It can open the door to the boss of a Zelda Dungeon.

The boss key was printed in two parts, with the key being printed in a yellow PLA+ (which comes out fairly gold) with plenty of supports. The gem in the middle was then printed in red PLA+ and set in with a drop of super glue. It was then painted with a thin coat of glossy Mod Podge to give it a little bit of shine.

The Map

Paper soaking in tea.
Tea stained paper getting soaked in coffee grounds.

The map was designed in Affinity Publisher, modeled after our house and then printed on tea stained cardstock paper. The paper was soaked in a strong bath of tea and then smeared with old coffee ground while it dried to give a aged, mottled look.

A completed dungeon map.

After the print was finished, it was laminated to protect it. I was planning on doing this to protect it from 4 year old playing, but in this case it was extra necessary because I should have reversed the order of printing and staining! Staining the paper first with coffee grounds left a thin film that was impossible to remove all the way. After the paper was printed on, the ink began to smear off easily when touched, I’m guessing because of bad adhesion due to left over coffee grounds.

The Compass

The map’s companion within every Zelda dungeon, the compass, was a little more labor intensive since I could not find any reasonable model on Thingiverse. Being modeled from the Ocarina of Time, its model is fairly basic, so I decided to try my hand at modeling it myself. I am still a novice when it comes to 3D modeling, but tinkercad.com makes it very easy for even complete beginners to make great looking models.

First, a reference model from the game:

Ocarina of Time Compass

Keeping with the low polygon model from the original Ocarina of Time made it a lot simpler: a decahedral prism with a diamond spinner. I opted not for a face plate because I would have had to cut that from acrylic and I was not sure of the stability of the spinner after being played with by a four year old and wanted it easily fixable.

3d model of the compass housing.

The polygon tool in Tinkercad made it easy to create a decagon, so I created the base decahedral prism 120 mm x 120 mm x 20 mm, easily fitting on a print bed and a four year old’s hands. The two inner cylinders to hold the spinner are 15 and 20 mm high, with a diameter of 10 and 5 mm, respectively. The cap was the exact same dimensions, 10 mm outer diameter and 5 mm inner diameter to make a very tight fit with the post. I could have printed the cap separately in a gold filament, however, since I was already using some gold spray paint for another project, I opted to just print the cap along with the case and paint it gold.

3d model of the compass dial.
Underside of the 3d model of the compass dial.

The dials were a simple triangle with a hole cut in the middle to allow the spinner dowel, and a pin and a matching hole so the two halves will be able to be snapped together. I printed one in red filament and one in white and snapped the two together. You can find the completed model at thingiverse.

The printed compass.

Once all four parts are printed out, they easily snapped together. I used a drop of super glue to connect the white and red parts of the dial, but just snapped the gold topper on, in case I need to replace the dial in the future.

The Envelopes

To hold the clues for the next present, I made some red envelopes with the Hyrulean crest stamped on them, sealed with gold wax and the seal of Hyrule. First, I needed some red envelopes. I had plenty of red construction paper, so a quick google search found a way to fold paper into a simple envelope that would work great for my purposes.

Folding paper into an envelope.
Sealing the envelopes with a little bit of white glue.

The envelopes were put together with a little bit of white glue to help hold them together. Next was the printing of the seal of Hyrule on the front of them. For this, I got an .svg file of the Hyrule crest, uploaded it to Tinkercad, and placed it on a thin rectangular base.

3d model of the Hyrule stamp.

After printing this out, I painted the top with gold acrylic paint and pressed it down to the envelopes to make the stamp. This method is fairly tricky, I probably should have done some test prints out first. You need to get just the right amount of paint on the top so that gives good definition to the image but doesn’t start to balloon out and make the image blobby. After some trial and error I got some nice images out of it.

First test of the stamp. Not enough paint.
The finished, stamped envelopes.

To seal the envelopes, I used a gold sealing wax with a custom stamp. Again, I loaded the .svg file into Tinkercad and put it on a small cylinder for a stamp along with a long cylinder with a handle. I printed the handle separately, so that the stamp could be printed with the flat side down and not need any supports.

3d model of the Wax Seal

Printed out, I just need to melt some wax and press it onto the envelope to seal it up! This was another finicky step, the wax needed to be just the right temp or it would flow into the crevices of the stamp and stick to it instead of the paper. I think this was because of how deep I made the stamp, 3 mm. I didn’t have time to reprint a stamp when I sealed these, but if I would make another I think I would only go with 1 mm to make the stamping easier. I might test that out with another project.

3d printed stamp
Heating up the sealing wax.
Pressed sealing wax onto the envelopes.

Not too bad attempt for the sealing wax, but definitely could have come out cleaner.

To finish the project, I still had the treasure chest, rupees, and Triforce. I’ll be posting those builds in Part 2 soon!

Christmas Tree Display

It has become a tradition in our house to get at least one of the LEGO Advent Calendar sets before Christmas. After completing several of these, we have amassed a sizable collection of holiday themed LEGO and wanted some way to display the current calendar and the previous LEGO. After looking at different Christmas display stands, I found a model that looked like it would be a good fit, as well as a design on YouTube by 731 Woodworks that looked like it would be doable in the short time before Christmas (on top of all the other projects I had planned).

A notebook of the tree's dimensions.

Designed for a corner, I had to adjust the original plan’s dimensions for the corner I was building it in. I settled on a 2 ft x 2ft base, which would give a few inches on each end of the wall corner so there would be no chance of an overhang. To keep a similar profile to the design I was working off of, I set the height of the tree to be 4 ft (unlike my original plans above).

A piece of 2x4 ft plywood cut along the diagonal.

From a 2 ft x 4 ft piece of 3/4″ plywood, I drew a diagonal measured 23″ on one side and 47″ on the other. I did this for two reasons: with the width of the plywood the final depth will still be within 2 ft and if the diagonal cut was not perfectly straight (since I had no way to attached a diagonal guide) it would not be also marring the other side.

A triangle of plywood marked where the shelves will be.

Once the two large triangles are cut, I marked where I would place the shelves, lining up both triangles so that the shelves would match up.

6 squares of plywood to make the brackets.

To connect the two triangles together and make them easy to disassemble, I created three brackets by first cutting 6 squares, making one of each pair 3/4″ shorter so that when connected, the bracket will be square. I then connected them together with wood glue and screws, making sure they are square.

L shaped wooden brackets
A L shaped wooden bracket with 3 holes drilled into a face

Once the brackets were made, I made a template for drilling the bolt holes and drilled 3 bolt holes on each side of the bracket.

3 brackets arranged on the wooden triangle
The brackets on the triangle piece drilled through.

Once the brackets were drilled, they were aligned on the triangles to drill the through holes. Before drilling into the triangle piece, a piece of plywood was put in the bracket side to leave space for the other triangle. The brackets are marked so I can put them back in right order. The brackets are aligned to the shelf marks so that each triangle could be drilled and still line up with each other.

The two triangle plywood pieces connected to make a tree.

The two triangles are test fit together, with 1/4-20 bolts with a 1/4″ washer on the front, and a nut, lock washer and normal washer on the back. The fit was not as nice as I would have liked, but should not be too noticeable once it is all decorated.

4 sets of shelf connectors cut from 1x2s.

The shelf supports were then cut from 1×2 boards, lengths: 4″, 8″, 12″, and 20″. One side of each board was cut with a 45° bevel cut. This was made to lessen the view of the board from the front. One of each pair of boards was then cut 1 1/2″ shorter than the other so than when butted next to each other in an L, the L will be the same side on each side.

The shelf supports were then connected to the triangles with wood glue and screws in from the back. The wood screws in the back were probably overkill, but I didn’t have enough large clamps to use just glue and didn’t want to get out my compressor to nail them in. The shelves were then cut, each a triangle of 3/4″ plywood with sides measuring the same length as the shelving supports.

Before the final assembly, all were given several coats of Satin White spray paint. This was quite a challenge in the Minnesota cold. I set up a spray area in the garage, quickly applied a coat, and brought them inside to a area with an exhaust fan to dry. Having a low amount of space to do this, this took way longer than it would have in summer! If I attempt this again, I’ll definitely plan ahead to paint in the summer.

Once the paint is dried, the triangles are bolted together again and the shelves placed on top. So they won’t fall off, they are each secured with two small wood screws. The shelf is then ready for a 4 year old to cover in LEGO!

Overall, the display is a little rough around the edges, and I hope in the future to make another one. 4 feet is fairly short looking on the wall as well, I think next time I will make it at least 5 feet tall. The screws and bolts look harsh against the white paint, I need to countersink the bolts in a bit to make them less intrusive as well as tint them with a little paint. For the speed in which I was able to put this together (got it done a few days before Christmas), I’m pretty happy with how it turned out. Before next year I also hope to get some acrylic platforms for all of the LEGO starfighters and spaceship to fly on.

Uranium Glass Hat Display

Several years ago we were gifted a small glass hat from my late grandfather’s collection. It sat on a shelf in our living room as a small memento until my wife read about uranium glass. We noticed that our little glass hat had the yellow-green pale color of uranium glass so we grabbed the only UV light we had – a nail curing light – and tested it. And to our surprise, it glowed! Uranium glass gives off an amazing “radioactive” glow when put under UV light. Thus began my quest to figure out how to put this amazing radioactive glow on display.

I worked sporadically for a few weeks trying to figure out how to best build a stand that could contain some UV LEDs that could illuminate the little hat. I didn’t have any of the tools to effective cut out the wooden display stand that I wanted, but as I was deliberating over what tools I would need to get, I came across the STRALA, a little, lighted Christmas display at IKEA.

The STRALA all ready to hack apart

This little plastic dome was the exact dimensions that I needed, and it already had the wiring for LEDs along with a switch and rechargeable battery! I brought it home and got to taking it apart to hack it. The only other thing I needed were UV LEDs, which I got a string of from Amazon. The model I got is not available anymore, but any blacklight LED will illuminate uranium glass, I would imagine. First task, remove the dome and case and see what kind of electronics I was dealing with.

The bottom of the STRALA, with two rechargable AA batteries removed.

The STRALA is powered by two rechargeable AA batteries, with a charging port, which makes it nice and easy to replace when the batteries start to go. Removing the bottom case was a little tricky, because they used 4 screws of a type that I had never encountered in taking things apart before. They used one-way screws – a type of flat head screw with two quarters of the head ground down, so you can easily tighten it, but any regular screwdriver will slip out when trying to unscrew it. Luckily, the old rubber band trick to get out difficult screws worked like a charm.

Unscrewing the one way screws by putting a rubberband over the screw head.

Once open, I could start disassembling it. IKEA electronics are usually very easy to take apart and the parts are usually fairly separate as well. The LED boards easily screwed out, allowing me to pop out all of the little figures inside. The dome is secured with 4 plastic tabs which are very tight – this was the most finicky part of the whole build. It would be very easy to crack the dome when removing it, you need to be very gentle with it. Now with it completed disassembled, I wanted to paint the base bronze to match some of our other decor. Before I painted, I wanted to take care of the bunch of holes in the top that the figures left. So I used some wood filler to cover the holes, then gave the entire piece a light sand for the paint to adhere to better. I gave it a few coats of a brass spray paint then, leaving a passable finish.

The STRALA base painted brass.

Next, it was time to replace the white LEDs with my UV LEDs. The LEDs in the strip were designed to run off of +5V from a USB, but the AAs in the STRALA only output a little over +3V, so I couldn’t just hook them directly up.

A UV LED segment

Measuring the voltage needed for the UV LED itself, it shone decently bright at around +3V on its own and was wired in with a resistor to take the other +2V from the USB input. This allowed me to cut the led from strip, and wire a very low ohm resistor into the whole circuit instead, so it wouldn’t lower the voltage too much. I was hoping I’d be able to solder the new LED right onto the old LEDs pads, but the forms were not exactly the same. The easiest solution ended up being soldering on two tiny wires directly onto the UV LED, then soldering the wires to the inputs on the little LED boards.

Soldering tiny wires onto the UV LEDs

The LEDs are all wired in parallel, so I soldered in the circuits resistor at the main board before the LED circuit. The power from the batteries is no where near what is needed to run the LEDs at full power, but they emit enough to make the hat glow.

After all the new LEDs were soldered on, I screwed them back into the base. The new LEDs were a little bit bigger than the old ones, so they didn’t sit completely right, but the “bulbs” used on the top of the display are small plastic diffusers. So as long as the LEDs lined up to the diffuser bulbs, you’ll never know.

Screwing the LED boards back into the bottom of the case.

All that was left to do then was to put the hat on top and replace the dome!

A small uranium glass hat in a dome.
The glowing uranium hat

And here it is in all its glory! Overall, this whole project only took two days to complete, probably a record for me, from start to finish. Most of that time was letting the paint dry. We love it displayed on our living room shelf, and love how it elevates this strange heirloom. We have already started collecting more uranium glass and working on ways to display those pieces as well!

Halloween Craft – Mummy

We have been busy crafting up a storm here to fill our house with Halloween decorations, and my toddler is loving to help. She is absolutely in love with all things monster and scary. Looking around on Youtube for ideas, she instantly took to the idea of making a mummy, like found here. Needing a specimen to mummify, I asked my toddler who we should use, and she enthusiastically said, “Baby Belle.” So, we mummified her Baby Bell doll.

First, we wrap the mummification specimen in plastic wrap. Already looking very creepy.

Then it was time to prepare the wraps, to make sure they had plenty of time to soak. For the wraps, I got cheap stain/paint clothes from Lowes, cut them up into rough strips, and prepared a big pot of tea (the cheapest stuff we had).

We let the rags soak while we prepped the rest of the mummy. After the plastic wrap, we wrapped the doll in a nice, thick layer of duct tape.

Once the doll was totally wrapped in duct tape, I carefully cut her out of the back. We then grabbed the little newspaper we had lying around and stuffed the shell. Once the doll duct tape shell felt sturdy enough to handle, we taped the back up.

By this time our rags were ready to pull out of the tea. We drained the excess tea off, but since we were going to cover them in glue in a second, we didn’t have to worry about them getting too dry.

I was low on Mod Podge when we did this craft, so I mixed together white PVA glue and water until it had a nice loose consistency. Starting with her feet, we dipped each rag into the glue mixture and wrapped it around. As we worked our way up her body, it helped a lot to tuck the ends into the already wrapped pieces to secure it. This whole process was made a little tricky because of the short lengths of wraps we had. If you can get longer cheesecloth or loosely woven fabric for cheap, I would greatly recommend it.

After taking several days to dry, the mummy was ready to be displayed!

A very nice finished effect! The whole project was able to be completed in an afternoon and keep the toddler engaged for the entire time – which is a huge success!

Game Release – The Abandoned World

The Abandoned World was created from a game a Trophy: Dark that I had ran for some friends several years ago. When they were creating their characters, one of the players asked what time period it was set in. It was a one-shot in Trophy: Dark style, so I didn’t have anything planed in mind, and the incursion I was running was The Flocculent Cathedral, which could easily be set in many time periods. So, the character created a modern-day treasure hunter who was a suburban mom very into MLM schemes. That character was the star of the module, and it got me thinking about Trophy incursions that were specifically written for the modern day. In my development, modern day quickly gave way to “unspecified far future” with a post-apocalyptic twist that led easily to the Trophy style demise.

I got a lot of inspiration from post-apocalyptic fantastical settings like Adventure Time, Vaults of Vaarn, and Caves of Qud, though I tried to make the default Abandoned World a little more grounded. Mysterious and fantastical things certainly exist in this world, but the environment and other humans are the greatest threat, usually. I wanted to create a setting where there was plenty of room for the fantastic, but also plenty of room to bring in as much of the modern world as you want.

The first zine for the Abandoned World, The Shadows of a Tesseract, is a Trophy Dark incursion about a ruined town in the middle of a desert, rumored to be rife with an ancient treasure. Check it out now on my itch page.

And coming soon, the next incursion for the Abandoned World delves into a crumbling relic from the 20th century – the American Mall. Follow me on itch.io for updates!

Space Station Activity Board – Complete!

Over a year ago I posted about the work-in-progress of the Space Station Activity Board, with hopes of soon completing the wiring of the board. Moving houses and other projects pushed the Space Station further and further back, and then the dread of a million tiny soldering connections kept me from making any serious progress on it. In the spring of this year, I finally powered through and have a fully functional space station for my toddler.

The first step in wiring the whole thing was to make the large leds easier to integrate into the whole thing. The large red leds were 12 V instrument lights primarily for cars, and I wanted to make the powering simple with being able to power the entire thing off of the Arduino Mega that was going to control it. To accomplish this, I removed the original LEDs from the housing and replaced them with my own red LEDs cut from a long LED rope (for the IKEA kitchen upgrade that hopefully I’ll write up soon).

A large LED enclosure with the LEDs removed.

I cut a small piece of prototype board to fit the housing, cut a piece of the red LED off of the strip, tinned it, and soldered it to the board with two leads. The LED strip that I used had built in resistors in each segment, so I didn’t need to worry about anything else.

A red LED ribbon cut into pieces held by soldering helping hands.
A soldered breadboard with two wires soldered to it.
The red LED is lit up with the new wire patch.

Once all of the lights had been rewired, I had assembled all of the components for the spacestation: large LEDs, pushbutton switches, toggle switches, rotary knobs, joystick, 16-key keypad, and 7-segment displays. Now all that was left was the large task of wiring them all together.

All of the compoents are laid out in the upside down space station wooden frame.

I began with the most difficult part – soldering the 8 2-digit 7 segment display. In hindsight, I wish I would have just bought segments that had a little bit more of the connections done for me, but this was some good small soldering practice. Each of the 2-digit segments have 10 outputs: 7 for the digits, 1 for the decimal point, and 1 for each digit display. These 7 segments are common cathode displays: each of the 8 segments(7 segments + 1 decimal point) are connected to the positive and each of the digit outputs is connected to the ground.

A 2 digit 7 segment display with the 10 outputs labeled with their respective outputs.

Overall, the entire 7-segment assembly will take 24 inputs/outputs on the Arduino, since inputs A-G+DP will all be chained together respectively, and each digit output will have its own pin on the Arduino. When more than one 7-segment display is powered by the same outputs, each digit is displayed sequentially, but the Arduino will do so quickly enough that they will all appear to be displaying simultaneously.

My first attempt to chain the segment inputs together was a solder glob mess, mainly because I was using too large of gauge wire that did not allow me to put more than one wire in the breadboard hole.

The backs of 4 of the 7 segment displays chained together with wires.

Once I switched to a smaller gauge of wire that allowed me to put multiple leads into one breadboard hole, the process became a lot easier. Two of the wires were twisted together, tinned, and then pressed into the heated up solder pin of the display. Once they were all wired together, I plugged them into the Arduino for a test run. A few minor breaks or mistakes on the soldering were easily found and fixed.

The back of the space station with a mess of wires attached to the arduino.
The front of the space station with several of the seven segment displays lit.

Unfortunately, after fulling checking and double checking the connection, one half of one of the segments seemed to be permanently destroyed, probably by getting it too hot with the soldering iron.

Once the seven segments were soldered, it was time to solder the rest of the connections. Several breadboards were cut to create common points for common grounds and +5V. The other wiring was fairly straightforward, each other LED or switch is connected to a common +5V or ground and connected to a pin on the Arduino on the other. Nylon spacer stands were glued to the space station and the Arduino screwed into them. I finally got myself a ratcheting crimping tool to turn the wire ends into jumper pins that can easily plug into the Arduino. After a couple tries to get the hang of it, the ends of all of my wires were crimped to jumper pins and connected to the Arduino.

The back of the space station with all of the wires connected.

Two options for powering the Arduino were added: a rechargeable battery and a USB port on the outside of the box. Which of the power sources is used is controlled by the three switches near the joystick.

With all of the connections made, the last step was programming the Arduino! The joystick and keyboard were not able to be programmed, I ran out of inputs on the Arduino. The 7 segment displays above the joystick display a heading: two degree measurements, 0 – 360, which are controlled by the two rotary dials by the joystick. The large red LEDs are controlled by the pushbuttons beneath them and the small LEDs are controlled by the toggle switch at the top of the station. Each switch is set to toggle 2-4 of the LEDs, while the states of the LEDs when the board is turned on are randomly set. The keypad controls the output of the left 4 digits on the top of the board, while the right two are a counter that counts up continuously. One of the other 4 rotary dials controls the speed of the counter, while another controls the brightness of the LEDs.

The fully operational space station.
The fully operational space station lit up in the dark.

While it took way longer than originally thought (somewhat because I moved twice during the build), I was very happy with the final result. My toddler loves donning her space helmet and pretending to fly off into space. The randomization of the lights is very fun, and the interactivity making the numbers on the 7 segments gives a little depth to the activity.

This was by far the largest electronics project I have completed to date, and even though I was making it up as I went, I really learned quite a bit about planning and executing a project of this scope. If I were to make another one, I would definitely aim to make it more modular – perhaps putting easily removable panels on the front to make the soldering and connecting of the components easier. The space station was created with a 2 year old in mind, now that she is almost 4, I would want to add more interactivity and perhaps sounds. All in all, it was a wonderful learning project.