Friday, April 14, 2023

Arduino LED Control Question

Not sure if I can post images on forums, so I thought I'd post the image here to link and my question here while I'm at it.

What I Want to Do:

I want to use one controller (most likely an analog potentiometer) to change a set of RGB LEDS from the color on the left (red) through the color on the right (blue). 

 Observant folks may recognize that these sets of colors correspond to all the potential colors a star could be. I don't think we've found any green or purple stars yet! (I'm also disappointed)

So, cycling through HSL values won't be very easy. There's a numerical jump and other problems.


How I Think the Best Way is to Do  it:

It seems like the easiest way to do it is to adjust the RGB values. Wile its easy for me to do simple math to have the controller valuedoa  ramp up or ramp down on light values, these numbers don't behave this way. 

Red starts at full brightness, stays there for 2/3 of the knob turn, then fades to zero for the last third
(255 from pot value 0-682, then ramp down to 0 when it hits 1023)

Green starts at 0, ramps up to full brightness 2/3 of the way in, then fades out at the end
(0 at pot value 0, 255 at pot value 682, 0 at pot value 1023)

Blue starts 0 and stays there until 1/3 in, then ramps up to full brightness 2/3 in and stays there
(0 at pot value 0 - 341, 255 at pot value 682-1023

A picture is worth a thousand words, and I'm tired typing. Have a look:

My Question.

What is the best way to solve this problem? A buncha if statements for the ranges for each value? If so, how would I control the ramp up or ramp down? By using an equation based on the knob values?

Other ideas?

Tuesday, December 20, 2022

I present, the Cornicello Caster!

I don’t know when the bug hit, but it did. Maybe it was because it was over 30 years a guitar of that was held together with scotch tape was within my home and it was time to rectify the situation. Maybe it was because my daughter will be starting a guitar class soon. No matter. Time to repair. We can make it better, stronger, faster, and in under a million dollars. And maybe learn some soldering along the way. A Brother suggested I join an amateur luthier group. They were helpful, and turned me onto equipment I hadn’t heard of before. Like, the free-way switch, which increased the pickup combinations from 5 to 10 options. Surely I could increase that count. Between it, a dual gang pot, a push/push pot, and a phase reversal switch, I was able to bring that count up to 23!

It needed a new pick guard. My friend, John Cornicello, provided me with over 100 abstract bubble film photos to choose from. It was incredibly hard, but I finally found the right one to print on top. Printing courtesy of Carmedon.

Final config

Earlier incarnation

The wiring was complex, and I made even more so by adding screw terminals to pretty much everything. This will need to be redone, as the contacts inside are not as solid as if they were soldered.

Of course, why stop with one pickguard, when you can do three? Here’s the original, repaired (now with the entire top covered in acetate)

And, here’s another. It originally was going to hold Lollar Imperial pickups, but those are now slated for a new project:

The middle pickup will also be black (and super high output!)

This will be done ‘soon’, but after I finish my next guitar, a telecaster with Lollar humbuckers that is coming together nicely (thanks Rebirth Guitars for the body!)

Sunday, November 28, 2021

Helping a Neighbor with 3D Printing

My neighbor has an aquarium that just seems intent on sharing its watery insides with his floor. They already had to replace the floor once because of it, and just the other day, it failed again. Had no one been home, it would have cost them their new floor!!

The problem was the clips that hold a piece of glass over the top. They were too short and the glass can fall inside, messing up the pump.

So, they asked if I could make a replacement. Here’s one of the four clips:

original aquarium clip

That lip in the is just a little too short. Since I only have PLA handy right now, I want to make sure it could hold the (about one pound, I’d later find out) piece of glass. So, I over engineered it:

I first took measurements with calipers, drew out the current one, and came up with some options to prototype:

This was a very simple design, so I made two versions in Tinkercad. It's a free website where anyone can create all sorts of simple models.

Tinkercad designs. One is longer, in case short one was too weak.

I made this design simply by making a larger box, adding two 'hole' boxes and then grouping them together.


Example of how to use boleans in Tinkercad.
Before grouping

I took the models into a beta version of Cura to slice them. The beta version is designed to make stronger pieces by adjusting the infill thickness (I used Chep's 4.12 setting profiles)

Arachne beta 2 slicer from Cura

Here’s the results. They are a lot thicker than the original, by design!

original clip with 3D prints

I took the smaller of the two and decided to stress test it:

First Stress test, about 28 pounds
Hard to see, just above the welded metal.

Stress test of 50 pounds.
I was ready to run at any moment!

25+ pounds had no effect for about three minutes. The last photo is a 50 pound solid piece of metal that I’ve used as a makeshift anvil! I tested for about a minute. I would have gone longer, but I needed to help balance it, and I wasn’t wearing steel toed boots! 

While these pieces won’t be submerged in water, I decided to coat them with acrylic anyway to help keep moisture out. I plan on making PETG replacements soon, and this material is stronger and handles water and UV better, but wanted them to have something they could use now.

Sunday, October 17, 2021

Additional Projects

Here are some projects that I'm proud to share:

Demo Reel Playlist

Includes some motion capture work (including the first team to integrate mocap into their 48 hour game jam!), videos that I produced and edited, and oh yeah, wearable LED experiments. 

Demo Reel Playlist

Backsplash Design and Puzzle

In 2020, our kitchen suffered water damage and required a complete cabinet replacement. I came up with a unique backsplash pattern. No contractor would take this job on due to its complexity, so I decided to do it myself. 

Remodeled Kitchen, white and blue backsplash


After extensive material tests and photoshop compositions we arrived at these two tiles. Because we had under cabinet LEDS, some worked better than others. This composite image was what sold me on these tiles and the more complicated design idea:

Laying down the hex tiles was fairly easy in retrospect. Getting the rectangle tiles cut to size was a bit of a challenge. To speed up the process, I made tracings of the gaps in the hex tiles, and noted where the lines needed to go:

Crayon rubbing on wall to reveal hole size and shapeHole filled in with blue tile

This was the combo that made the magic: Translucent grout and Technoglow Ultra Glow Blue.

Bostik Dimension RapidCure grout and Technoglow Ultra Glow #3 Blue

The final results (only a fade is photoshopped, no other manipulation done to images) Over a year later, and I’m still happy when I see this at night:


Corner of coutnertop in the dark, with glowing grout lightning patterns

AdaFruit Electronics Design & Scripting, 3D Design & Printing, Sewing:

This project is something I've wanted to do for a long time, and finally had a compelling reason to do it. I mean, who doesn't want glowing 3D printed barnacles on the back of their jacket?!?


Here's my (abbreviated) process:
I measured that panel of my jacket:

I sewed a piece of denim that would fit that spot. I modified my original idea to include room for a pocket to hold the battery (upper right). Clasps were sewn onto it and the jacket

I sewed on Flora NeoPixels, using 2ply conductive thread:

Backside of jacket attachment, showing clasps & conductive thread

I 3D printed a housing for a Gemma M0, and attached that to the jacket:

3D printed housing for Gemma M0 Microcontroller

I designed the barnacles in Maya, exported to Cura and made a few iterations to best work with the jacket

Barnacle design in Maya
Nine of the same barnacle designs in Cura, ready to print
Fitting a Flora Neopixel into a 3D printed Barnacle


Once it was all together, I scripted different patterns for the design:

Jacket Modification attached to computer with USB cable

Final result (see above for video!)

Attachement Snapped onto Jacket, and lit

3D Printing:

In addition to the above jacket attachment and three PPE mask sewing templates I designed and shared on Thingiverse, I also have also designed snowflakes, and helped a friend replace a lost chess piece.


This snowflake was designed in Illustrator, but because it had a more complicated grouping than other designs I've made, it wasn't working well in Tinkercad. Some of the holes were still filled in, no matter what settings I changed. So, I took the SVG from Illustrator into Blender, and extruded the shape there, exported an STL, and then sliced it in Cura. 

The takeaway is to not be tied to any given pipeline when designing something. 

Custom Snowflakes I made for family

Chess Pawn

A close friend of mine knew I had a 3D printer, and wanted to replace a missing chess piece from a set he got in Mexico. He presumed I also had a way to 3D scan items. I figured out how to do it with my iPhone 7, and a free version of 3DF Zephyr Free. After taking 30 photos of the piece outdoors on a cloudy day, I was able to get it to successfully reconstruct! Not bad for a shiny object. I took it into maya to clean it up a little, and to make a solid base. From there, I exported an STL and brought into Cura for slicing.

Reconstruction in Zephyr Free

Here they are next to the original piece, after I hand painted them (always make a backup):

Miniature painting techniques paid off!

And, here is is reunited with the rest of the set:

Sets, Props, and Motion Capture:

Taken from my time at Bungie, this showcases my ability to solve all sorts of problems by making props and set pieces, usually with limited time and resources:
2019 Troy McFarland Mocap Demo Reel

Pictured: the incredible mocap actor, Richard Sloniker!

Art From Scratch:

I tried to make a painting completely from scratch! I made several pigments and met Theodore Gray in the process, but have yet to complete this project. Something to hop back on at some point:
Troy McFarland, Art From Scratch


Copper + vinegar = (toxic) blue/green crystals!

Rock Video:

I wrote, produced, directed, edited, and carved/sculpted the puppets for this rock video by Vinni Blue:
Vinni Blue: Forever


Vinni Blue

Gravity Paintings:

I create paintings that change color depending on the angle they are viewed. Link to one of my faves:
Gravity Painting #10


As seen from the front, click link for other views


After learning the basics of Ableton Live, I challenged myself to make an album in one week. I hesitate to post this, as it seems like everyone has an album these days. But, I'm very excited to continue to dive into Ableton. In conjunction with Max for Live, I would have the ability to make some very interesting installation pieces that can take real time data/input to affect compositions and even lighting!
1 Week 1 Album Challenge

List of genres we came up with to work on. Dice roll determined: lo-fi chiptunes!