Overall functionality – Halloween 2012

Main functional blocks:

  • Custom controller-application written in C#, running on my PC.
  • Audio-player application, also written in C# using managed DirectX (www.sharpdx.org) and XAudio2. Multi-channel/Polyphonic.
  • I/O Expander created using a Parallax Propeller (8 core microprocessor, 80 MHz), communicating with PC over serial/USB port. Handles all Input/Output like pressure mat input, relay-control for spider, PWM and quadrature encoding for skeleton motor, plus DMX light control.
  • DMX-controlled light fixtures and dimmer pack
  • Spider lift using pneumatics (air cylinder powered by air compressor and solenoid valve)
  • Skeleton on track in ceiling
  1. When no visitors are present the system will play random tracks from this CD. Some of the lights will flicker/pulsate.
  2. Visitor walks up the stairs leading to our porch. A DIY pressure mat (http://supersoda.com/detail.php?id=00000000036) triggers a digital input on the Propeller controller, which sends a command over a serial port to a PC running my custom C# application.
  3. All lights turn off, a sound effort of a creaking door is played, mixed with the violin screech sound from the Psycho movie.
  4. After a few seconds the spider is coming down and a red strobe that is pointing to it will flash. The spider is then raised again.
  5. Flashing multi-color strobe light directed at stationary skeleton and another sound effect played
  6. After a few moments another flashing multi-color strobe light turns on, combined with audio.
  7. Finally a laughter is played, white strobe light is going and the fish line mounted skeleton is moving towards the visitor! The skeleton will stop after a few feet and then go back after a few seconds.
  8. The visitor can now grab some candy. The system resets back for another visitor after a minute to allow some time to step off the porch without triggering another sequence.

Sample code from main controller C# application:


audioPlayer.PlayEffect("Violin screech");

spiderLight.SetStrobe(Color.Red, 200);

Skeleton with multi-color strobe light


DMX Dimmer Pack, 4 channels, 7A each, 255 levels


I/O Expander with DMX connector, breadboard for PWM motor driver, digital input connections and relay board


  1. #1 by Stacy Park on October 26, 2012 - 2:47 pm

    I’d love to see videos of your projects.

    • #2 by hakanl on October 26, 2012 - 2:55 pm

      It’s coming! 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: