Clint Patterson's Blog


Read the thoughts and musings of a cultured redneck here

2019 Particle Powered Fright Props
Specify Alternate Text

When we moved into the neighborhood everyone told us “Just wait til Halloween”. Well, they were right! Our friend up the street, Jay Ziobrowski, is super passionate about Halloween and turns his garage, driveway, and entire front yard into a magical haunted house that’s free to kids in the neighborhood. After doing this for several years, everyone in the neighborhood and surrounding area knows about this and the result is that our street gets blocked off by cops and is absolutely flooded during Halloween. It’s non-stop action from 4:30 to somewhere around 10pm and it’s a really fun time.

After running out of candy in the first 2 hours on year 1 we knew we needed to step it up in following years. So, each year I’ve tried to contribute to the energy and excitement on our street by creating some type of Particle-based IOT Halloween device. Check out the devices from previous years:

Halloween, a Great Opportunity to Get Kids Involved & Learning IOT!
Over the years I’ve had my friend’s kids help me with the setups. That is, since these devices are mobile controlled, I enlist kids to push the button on their mobile phones while I record the reactions of trick-or-treaters from my phone. One of the kids has taken an interest in wanting to know how to build these things, so this year I’ve been working with my friend’s son to both build the devices and teach him along the way. I even gave him a Particle dev kit. It has been a fun project for everyone. I’ve also been overwhelming him with text messages and videos as I make incremental progress on each device. Now he’s using Particle at his school for his science project!

Here are some pics from when we first got started…

A kid learning IOT at Halloween

A kid learning IOT at Halloween

Compressed Air, The Key to Speed & The Key to Scaring People!
After doing this for a few years I realized that HOA’s don’t like fire breathing pumpkins and that the best way to scare people is by using compressed air in some shape, form, or fashion. Geared motors just don’t move fast enough … or … if you do make them move fast enough, they are too dangerous and could potentially hurt someone. So, for the past two years I’ve been using a servo to press the button on an air hose to blow air out and move some spooky object toward trick-or-treaters. Nobody gets mad about getting hit with a gust of air!

Last year, right after Halloween, I decided to try something new. I ordered a pneumatic cylinder and solenoid kit from FrightProps. I had no idea how to really make it work, but I wanted to try and low and behold I was able to figure it out. It was way easier than I thought and FrightProps even provided very helpful videos to walk through the hookups for everything. Just a few weeks after last Halloween my mind was already spinning about next year’s Halloween. The pneumatic cylinders with solenoid kits move a lot faster, you can control the speeds, and they use less air. The only negative is that these could potentially be more dangerous. Though, I’m countering the danger by creating physical space around the implementations so that no one will get close enough to be hit or injured. So, I’m happy with the tradeoff and will take extra precaution in the initial setups.

Here's a picture of the solenoid kit from Fright Props

Solenoid kit pic from FrightProps

Quick Show of the Headless Clown & Trash Can “Slimer” in Action

The (Main) Parts
There are a lot of parts used in these devices. Of course, you must have wires, wifi, power, and all the normal things you would anticipate. However, I’m going to just list the main items below. If you have questions about other parts or want to build your own, just submit an email to me through this website and I can connect with you and help you with the smaller details. That said, here is the basis for both IOT Halloween devices:

The Build
One thing to note is that these devices are using the exact same principles, concepts, and code to make them work. At a high level the solenoids just need to be hit with a 12-volt current to make the pneumatic cylinder fire. To bring the pneumatic cylinder back in, simply turn off the power.

To do this we are using a relay that can be controlled by a Particle microcontroller, a Photon. The relay essentially breaks the circuit of the 12 volts going to the solenoid. Then, whenever we call the cloud web service endpoint in the Particle cloud, it invokes a function in the microcontroller which sends the relay a signal. The relay then completes the circuit which allows the 12 volts to flow to the solenoid which consequently causes the cylinder to fire. We let it fire for a specified period of time (say .200 of a second) then we cut power which causes the head to go back in. We control the speed going both in and out via the speed control valves on the solenoids. So, if you had to draw one negative of the solenoid it would be that you can’t programmatically control the speed.

The Slimer in the Trashcan implementation is such that the cylinder needs to be stabilized yet, due to the Slimer mask and body we couldn’t have any support mechanisms coming from the sides to stabilize the cylinder. Since the Slimer ghost must move up and down vertically we need to allow it room to do so. What this means is that the cylinder needed to be stabilized from the bottom. The cylinders I ordered are threaded at the bottom with 3/8 of an inch thread. This happened to match to some steel plumbing pipes that you can find at your local Lowes or Home Depot. So, I bought a few pieces to connect and make it stand up on its own. After that I added in weighted sandbags to keep the cylinder from wobbling whenever it fires. I attached velcro to the solenoid and breadboard and have the parts sticking to the inside of the trashcan walls. You will see these in the build pics below.

The Headless Clown implementation uses actobotics for its internal structure. Actobotics are awesome and are basically like metal legos that you can easily configure however you would like and mount anything you want to them. I’ve mounted the cylinder, hoses, and breadboard setup to it. I stuck the actobotics down into 2 bales of hay for stabilization.

Here are some pics from the build out(s):

The Code
The code to make this work is very simple. I have identical code running on both devices to make these things work. The only thing that is different is the device id!

In Particle – I’ve written a simple program that creates a cloud function which invokes a function on the Photon and all that function does is write a pin from low to high… that’s it! What we’ve done is inject a relay into the circuit of the solenoid which allows us to use some logic to complete or short the circuit.

Here’s the firmware (code) that I’m using for the Particle Photons:


On the Web – I’ve written a basic jQuery AJAX function to call these web API (services) when buttons are clicked. Maybe jQuery is not cool anymore, but it’s pretty simple to implement so it works for me!

Here’s the code I’m using to make an HTTP Post request when a button is clicked. And if you’re worried about me showing you my access token below, no worries… I’ve already recycled it!

Structural & Electrical Video Walkthrough
In this section I aim to give you a structural overview of the devices. Both devices use pneumatic cylinders but are being stabilized in different ways.

Code Video Walkthrough
In this section I walk you through the setup of the devices and the code that I’m using to make them work. The whole point here is… if I can do this, then you can too!

The Halloween Reactions
In my area we currently have an 80% chance of rain on Halloween night so I'm not sure if we'll have any trick-or-treaters at all. I guess we'll see. If the weather cooperates, I will update this page after Halloween with a video showing reactions we get from trick-or-treaters and their parents. Stay tuned for the hopeful post-Halloween-video update!

.NET Open Source and the .NET Foundation at MSBuild 2019
Specify Alternate Text

.NET FoundationDNN is an open source .NET CMS and application development framework that is a member project in the .NET Foundation. As the DNN Ecosystem Manager I am well aware of the benefits that our community reaps from the .NET Foundation. Last year I articulated several of these benefits in a blog titled “5 Reasons Why We’re Glad to be a Part of the .NET Foundation”.

Promoting Open Source & the .NET Foundation at Microsoft Conferences
Not too long after I posted that blog, I got an email that included a call for volunteers to help staff the .NET Open Source booth at Microsoft’s Build Conference. I responded to this call for assistance as I felt it was a great way to give back to the .NET Foundation since we receive so many benefits from it. A few weeks later I found myself at the conference and I was telling the story of DNN’s journey in open source. I spoke with attendees and articulated how the .NET Foundation plays a big role in the DNN Community’s ability to sustain and thrive.

Jon Galloway at the .NET Open Source Booth at MS Build 2019

The call for volunteers came again this year and I returned and it was apparent that developers in the .NET ecosystem are more aware that the .NET Foundation exists, but they may or may not know exactly what the foundation does or why they should be a part of it. Now that the .NET Foundation has a board in place it is a great opportunity to continue the messaging of the value the foundation provides.

DNN: A Great Case Study Example for the .NET Foundation
As I engaged with attendees over the past 2 years it became clear that DNN is a great case study example of why the .NET Foundation exists. It’s one thing for someone from Microsoft to explain what the .NET Foundation does and it’s a completely different thing for someone who is a member project of the foundation that represents the “living and breathing” example to be there on-site to convey the value and benefits the .NET Foundation provides. Telling the DNN story to attendees helps them understand a “real life” example of an open source project that’s reaping benefits from the foundation.

I think it’s somewhat of a poetic justice that DNN is the prime example of an open source project in the .NET Foundation given DNN’s history of being one of the earliest, if not the first, open source project in the .NET space.

Developers Love Open Source!
Another trend I noticed was the increased energy, appreciation of, and momentum around the open source movement at Microsoft. We had several people come up and show appreciation for how Microsoft is embracing the open source movement and for the role the .NET Foundation plays in that movement. It’s great to see this energy and it’s neat to help turn the lightbulb on for those who weren’t completely aware of what the .NET foundation is doing to help continue the OSS movement at Microsoft and in the Microsoft ecosystem.

.NET Foundation Panel on MSDN Channel 9 Live-Stream from MS Build 2019
If you’ve never been to Microsoft’s Build conference it is pretty big-time production. That is, everything is live-streamed and you commonly see video crews following people around, interviewing speakers/attendees/thought-leaders, and setup all around the stages for the keynotes. There is also a big stage where the cameras are permanently set-up and interviews and panel discussions take place. This year the stage was set up in a corner of the convention center not too far from our .NET Open Source booth.Sometimes you just end up at the right place at the right time and that is exactly what happened to me on the last day of the conference. There was a session scheduled to discuss the .NET Foundation which was slotted for the last day of the conference in the late afternoon. As things turned out, Jon Galloway, Executive Director of the .NET Foundation, had to leave early which left an open seat on the panel. Beth Massi felt bad for me and so I got to be the Jon Galloway stunt double on the panel. You never know where you’ll end up! The panel was more about the .NET Foundation in a broader sense rather than DNN specific, but it was still fun to represent the DNN Community on the panel.

You can find info from the session on the Channel 9 site and you can check out the replay below:

Clint Patterson

I also blog on other sites...

And contribute to OSS Documentation...

See my pics on UnSplash