Bulbasaur Pokeball Moss Terrarium

pokeball moss terrarium

My latest crafting adventures resulted in a pokeball moss terrarium housing a small, sleeping bulbasaur. It was a fun project, which I believe also resulted in a happy recipient.

The project’s inception came about while watching family members play Pokemon Go. I began to wonder about life inside a pokeball. My first thoughts weren’t too rosy, but then I tried to imagine a larger, life-sustaining, extra-dimensional space that would be far less likely to be mistaken for animal cruelty.

I sourced a spherical glass planter and began building a moss terrarium. The mosses used were wild foraged. I also added a really cool pixie cup lichen to the setup.

Next, I needed to sculpt a sleeping bulbasaur. Admittedly I don’t know all that much about pokemon and slowly began to realize bulbasaur’s model is based on a frog. I did my best shaping it out of polymer clay so that it would be able to withstand the environment’s humidity. It was was pretty small and difficult for me to really get the details I envisioned.

The Pokeball Casing

Next, I needed to craft the lower-half of the pokeball. My first attempts involved 3D printing. It seemed easy enough to build some 3D models that would get me pretty close to the shape and smoothness I would need. I attempted several 3D printings, but my printer’s print bed was not large enough to accommodate the job. I attempted breaking the print up into several pieces, which did not seem to provide the stability I needed without more work.

Eventually I returned to papier-mâché. Using the planter itself, I built the lower casing out for a perfect fit. After a few coats of paint, I mounted the final model on a piece of stained wood. The casing, wood stand, and all crevices were sealed so water would not eventually wreak havoc.

Final Thoughts

bulbasaur scale

While I was happy with the overall outcome for a first attempt there are a number of things I would like to address were I to do it again. The roughness of the papier-mâché pokeball continues to bug me. I would want to find a larger 3D printer or outsource the printing in order to get a base for a nice smooth pokeball.

forbidden dumpling

The bulbasaur was also pretty challenging to sculpt. My big fingers tend to make fine manipulation a bit more challenging. Sculpting would be an area I might spend more time refining next time or perhaps find someone else to assist me.

In the end the recipient of the pokeball seemed pretty happy with the results, so mission accomplished.

Halloween 2017 Demon Gargoyle

The months leading up to Halloween usually involve working on some project to unleash on the neighborhood’s trick-or-treaters. This year’s creation was a demon imp gargoyle.

Overall I’m pretty happy with how the head turned out although the body could have definitely used more attention. This was also my first foray into the world of papier-mâché since elementary school.

I tried several attempts at free sculpting the head, which did not go so well. For my second approach, I decided to start with an anatomical skull base to build on top of. MakerBot published a human skull model on Thingiverse that I decided to use after scaling to an appropriate size.

Skull
3D Printed Skull by MakerBot
https://www.thingiverse.com/thing:622390

Once printed, I began building it up with papier-mâché and sculpting the facial features I was after.

The teeth, nails, and horns were crafted with polymer clay. The eyes I found from a taxidermy eye supplier.

The final product was well received by the local trick-or-treaters. I’m looking forward to pulling some more advanced papier-mâché techniques into my toolbox for future projects.

skull lightly built up with fangs and eyes
final head
Final Head

Python and the 555 Blinking Eyes in the Bushes

Blinking Eyes
LED blinky eye units consisting of craft popsicle sticks and pipe cleaner anchors deployed in a bush.

For Halloween, I had wired the bushes in front of my house with a dozen or so pairs of blinking LED eyes. Each pair of eyes blinked at their own rate–all powered by an Arduino. After building these centrally-wired daemonic bush entities I wanted to be able to deploy a few more in remote bushes and trees without having to wire them up to an Arduino. So I turned to my good friend the 555 timer chip. 555 timers for the uninitiated are a very versatile integrated circuit that can be used in a variety of timer-related circuits.

I was looking to achieve a very specific blinking pattern and was having a hard time figuring out the optimal set of components to use. There are tons of calculators out there for figuring out the characteristics of a 555 circuit based on the values of the components you use. If you’ve ever tried using one of these calculators for this sort of project it can be very frustrating. I don’t actually care what the components’ values are; I’m usually not thinking about that side of the equations at all. What I really care about are the timing characteristics of the circuit in terms of how long a signal is high and how long it is low. I want my “on time” to be X seconds and I want my “off time” to be Y seconds. You figure out what components I need to plug in to get that behavior.

Most of the existing 555 calculators I was able to find take the component values (e.g. R1= 100k, R2= 150k) and then compute the frequency, time_high, duty cycle, etc. I would rather think about the behavior I’m after and plug in the time_high and time_low and receive the values of the components I should use to achieve such a circuit.

Hang on. Let’s turn the real world dial up one more notch. It just so happens, I don’t have a resistor measured at 183.45 Ohms to achieve the specific oscillation I desire. Maybe we could constrain the calculator to only consider component values for components I actually have in my possession. Give me the best possible fit for the components that I do have (or can get my hands on).

So, I whipped up a simple Python tool to help me optimize my component selection to best achieve my desired blinking pattern. Here is an example snippet that solves the 555 timing equations using my inventory of components and my desired signal characteristics:

from optimize_555.opt import optimize
target_high = 42  #42 seconds on
target_low = 15 #15 seconds off
R1, R2, C, time_high, time_low = optimize(target_high, target_low)

This results in a timing circuit that goes high for 45.7 seconds and then has a 15.2 second low. And the best part of it is it’s accomplished using components that I have in-stock. R1 is 200KOhm, R2 is 100KOhm, and C is 220uF. The system defaults to a set of commonly available components, but you can override and define your own inventory.

In its current form its a very thin wrapper around some basic SciPy functions. You can check it out over at github. If there is some interest, I hope to expose it through a web interface at some point to make it more accessible to non-programming, electronic hobbyists. Hope it helps and happy blinking!