3D Printing, a work in progress.

Just getting started in 3D printing, picked up a Creality Ender3 v2 from Amazon. Using Cura slicer, and Blender for 3D modeling as I already knew it from previous projects. Biggest learnings so far:

1. preparing models in 3D software, ensuring they are manifold and clean geometry,

2. preparing models in Cura, picking the right support settings and using the preview view to check the model for issues (issues with model at import, issue with model when scaling down, etc.)(also don’t always trust STLs you find on the internet, some are crap),

3. knowing your printer inside-out, things are going to go wrong and break, so knowing how to troubleshoot and fix is very important (I’ve already replaced belts, extruder, fans, tubing, build plate), also know the printer limitations, some things just aren’t going to print, or print to your expectations.

4. Calibration! really just printing a calibration model and tuning your machine to achieve better results, I print a calibration cube every month to check my printer,

5. bed leveling – I use the paper test, others use hardware, either way keep it level,

6. know your material settings and material properties, and keep your filament dry,

7. bed adhesion, if stock glass, start by keeping it clean with soap and water, after time the coat they apply that promotes adhesion will wear off, replace bed, or start using painters tape or hair spray solution.

First major project is modeling/printing a HO scale replica of a train station in the town I grew up in.

The model in Blender
After painting, before applying detail parts. This became a “beta” version.
Lots of sanding and priming!
The final version, WIP. Window/Door inserts, textured roof. Thicker shell.

Second project is printing some HO scale generator/prime movers for flat car loads. First time using tree supports, big fan!

Adding some micro-scale decals

Fixing my Dad’s 1952 American Flyer Train Set


4904T American Flyer Three Car Freight

  • American Flyer Locomotive 282 and Tender, 639 Box Car, 640 Hopper Car, 638 Caboose
  • 75 Watt Transformer, 12 Curve Track, 2 Straight Track, 706 Remote Control Uncoupler, 690 Track Terminal, Smoke Capsule and Funnel, Illustrated Train Book

During quarantine decided to surprise my Dad and get his childhood train set running again. I remember playing with the train as a kid, but at some point it broke and sat in my parents basement for 20 or so years. I was able to sneak it out and being diagnosing the issues.

Luckily there is a YouTube video (https://youtu.be/XQIJWTjP6Ks) that walked through the exact engine my Dad had, and all the common issues, so following those I was able to determine any parts that needed to be cleaned/replaced, and was able to get it back running again. Biggest issues were in the tender, which has mechanical component for putting the train in forward/neutral/reverse, that uses tiny conductive fingers and gravity to operate. There is also ton of American Flyer parts on eBay for cheap, so fixing the train was relatively inexpensive.

The transformer also needed to be fixed, replaced the power cord (great resource on transformer: https://dfarq.homeip.net/all-about-the-lionel-rw-transformer), and a copper control arm that controlled the throttle also needed to be replaced. Cleaned up the track with white vinegar and steal wool.

My girls playing with it at my Dads! With it’s analog nature it’s very easy to operate and very approachable vs. modern dcc trains.
Test run on the floor of my apartment after fixing locomotive and cleaning track.

Adding real radio chatter to HO Metra via LokSound 5.

I few months ago I had seen a really well done Amtrak P42 (https://youtu.be/4mYZ1AqLjMo?t=244) that had real radio chatter and I thought it added so much depth and realism to the model, which led me on a mission to add this to my Metra project.

I ended up purchasing a Bearcat radio scanner, an array of different types of external antennas, and spent probably 6 days in total downtown Chicago recording radio chatter. It took a couple times to figure out what combination of antenna, frequency, and time of day that worked best. Additionally I was looking for very specific audio from BNSF centered around departing Chicago Union Station.

Check out the video below to see an example of where I incorporated the real audio into the model train on start-up.

I also resumed work on a new Arduino based Crossing Gate controller, but this time I’ve incorporated Metra announcements that play at a random interval.

Walnut Speaker

Quarantine project: My brother and I each built a custom powered Bluetooth speaker using PDF instructions from https://kmakits.com. The instructions tell you which electronics are needed, and rough lumber dimensions. I deviated quite a bit from the instruction when making the wood enclosure to achieve the look I wanted – the end result turned out great! The speakers sound fantastic.

When deciding to make the speaker I knew I wanted to use Walnut, and that I wanted a good mix of heart and sap wood. I also knew I wanted to incorporate metal somehow, and originally intended on doing a brass knob and brass splines. The brass quickly turned into copper (I preferred the orange/rose tones with the dark walnut), and ended up only doing the knob in copper as the copper stock I ordered for the splines wasn’t thick enough for the saw blade. The box features splines from spalted maple (my brother used this wood for his speaker face). The speaker has 2 walnut feet with a slight pitch to project the box upward slightly.

For the back I painted it matte black to give it a finished stereo vibe, and added a red led for power status to go along with the power switch, power input, aux input, and aux speaker out. Decided not to include the optional batteries for this project as I didn’t intend for it to be mobile (future speaker build with leather strap? yes please)

Copper knob from https://www.etsy.com/shop/TheRightParts, this guy was great!



Custom Walnut top for IKEA SKARSTA Desk with magnetic tray.

Some pictures of building a walnut desktop for the IKEA SKARSTA standing desk. https://www.ikea.com/us/en/p/skarsta-desk-sit-stand-white-s59324818/.

I was looking for a natural matte/satin finish for the Walnut so I went with Tried & True – Original Traditionnel. It’s food/environmentally safe, no VOCs, safe for skin, and made from renewable ingredients.

It contains Beeswax which offers some hardness and protection from water, and was perfect for a computer desk. The low odor/no vocs allowed me to finish it in my apartment as well. Ended up doing 3 coats, burnishing in-between each coat.

Wood was machine sanded, and then hand sanding up-to 220 before finishing. Put felt underneath the magnetic tray and computer monitor as added protection from scratches.

Huge thanks to my buddy Adrian Orozco for milling, assembling, and cutting everything! If you want a custom piece, use the link before to reach out:



my buddy Adrian testing the magnets!
Initial planning concepts

Beauty Brand Game – AR Filters using Spark AR Studio

A fun Instagram filter I helped out on the coding end with. This filter is 100% JavaScript and does not use the patch editor – needed more fine tuned control/logic than patch editor allows (or I’m just more comfortable in code view)

This is the second filter I’ve helped out with and I’ve found that the Spark AR tool itself is pretty good, but the documentation is lacking. Not as much sample code out there either.

2019 Dare Mighty Things Hackathon

Ulta’s first Hackathon

This year Ulta teamed up with the Google Cloud Chicago team to create a fun challenge for our first-ever hackathon! The hackathon was part of the Dare Mighty Things conference, if you’re unfamiliar with this great Chicago conference, check out http://daremightythings.co. McDonald’s co-sponsored the event and graciously hosted the hackathon at their Chicago headquarters – my dream of having unfeathered access to their fountain drink machines came to fruition!

We supplied the participants with multiple sample data files, representing our complete product catalog, store inventory, and store details and challenged them to create a voice-powered experience. The winners would receive up to 5 Google Stadia Founder’s Edition package.

Of the 53 teams involved, 15 chose to work on our challenge and we were delighted with the results. Some of the entries included: Google Assitant for Ulta, Product Recommendation for Ulta, Speech Analysis Platform to make Conversation Smarter.

There were also some pretty interesting team names: “Big Brother is Watching,” “I Like Chicken,” “Nuggets,” “Hopper”, “Ultrasist,” “Sushi Sahworma,” “Serving Looks,” “@therealDMI2019,” “ISU Seniors,” “Team Van,” and “Kangaroos”.

Joe Rago kicking things off!
The quick site we threw together to host data files and info

Dynamic images with Scene7 (Adobe Marketing Cloud / Experience Manager)


Using query params we can instruct Scene7 to construct a dynamic image for us. The above example creates a single composition from two images. You can see things like background color, opacity, image source, and size.

In the above example I’m making the middle layer slight smaller to maintain a safe area/margin. Scene7 will scale from center, but there is also an anchor point option if needed.