All posts by Baird Soules

ECE-UMass Theater Collaboration

A man eating plant that sings early Motown-esque music and a deranged laughing gas addicted dentist who sings 1960s-esque rock and roll?! The DP123 UMass theater class is assisting the theater department beginning with the production of Little Shop of Horrors. Controls are being built to raise and lower an elevator, interact with pneumatics to enlarge the man eating plant, rapidly spin clocks, and anything that’s being asked. To start, students are reverse engineering the box in the picture above.

The box contains a PLC and motor driver for a 5 hp motor (trying to stop the motor from rotating is like trying to stop a small elephant). Earlier today, the controls were dissected to the point where messages from a knob can be understood by the PLC to interact with the motor driver to control the motor.

The project’s overarching goal is to create a simple-to-use and completely adaptable control box. Such a box that can control all electronic props for virtually any theater production with an interface that my grandfather could figure out in a few minutes. It’s a little too early to show a diagram of the final design but what we hope to be the final design was completed today. Now everything just needs to be built…


Top: The theater department’s tech shop where much of the class work takes place
Bottom: Students discussing the project with Michael Cottom, the tech director

Play The Room – Third Class

Imagine this.  You sit before a humble, MIDI keyboard.  It looks like a truncated piano.  You can’t help but notice the colored wires spewing from a small box behind it to places scattered around the room.  The walls.  The ceiling.  You press down a key, and involuntarily clench as a clang from overhead rings out, as a solenoid’s core slams into the ventilation duct.  You hit the key again.

We at the Play the Room class are getting there, and quickly.  By the end of this week’s class, we had a fully functional proof of concept–a solenoid controlled by MIDI keyboard.  Check out the schematic.

A MIDI cable carries the performance information from the source, whether it is a computer sequencer (Ableton Live in the video below) or a keyboard, into the Arduino.  The software in the Arduino detects the incoming MIDI message, and sends a pulse of power to the solenoid, which then strikes whatever is before it.  The software in the Arduino must be able to filter out irrelevant MIDI information (there are many kinds of messages useless to us in this context), and as we add more solenoids to be controlled, the software must send a voltage pulse to the correct solenoid depending on the MIDI note that is received.  That is, when you hit different notes on the keyboard, it plays different solenoids.  Both of these goals are easily achieved in software.

Issues we will consider in future classes include the design of a robust mounting scheme and velocity control.  Ideally, the solenoids and their control mechanism will remain intact and usable for decades, or until our neighbors tire of the noise.  And if you were to hit the key on the keyboard softly (or strike it proudly with vigor), wouldn’t it be great if the solenoid responded with appropriate force?  To be continued…


Arduino Code (thank you Alden!)

byte incomingByte;

void setup () {
pinMode(11, OUTPUT);

void loop () {
if (Serial.available() > 0) {
incomingByte =;
if (incomingByte > 143 && incomingByte < 160) {
//note on
digitalWrite(11, HIGH);
} else if (incomingByte > 127 && incomingByte < 144) {
//note off
digitalWrite(11, LOW);


Product Design: First Post

The design of Partyduino is now in full gear! Partyduino is a circuit that was designed to make some funky beats and noises. The inputs to the arduino are two pots that determine which beats and noises are played. The arduino outputs a digital square wave that is altered by the low-pass filter and some caps, to a 3.5mm female stereo connector. Today, Joe the project leader, lead the design team in finalizing version 1 of the design for the circuit by adding a low-pass filter to the output signal. Dan is taking on the task of loading a bootloader to the ATMega 328 avr. Alden is on an alternative code that will generate two audio signals simultaneously. Mike is gathering all the parts needed for the pcb as well gahering all the datasheets for the parts. The datasheets will help when designing he actual pcb because the datasheet contains the dimensions for the respectful part.We’ll see you next week when
we start designing the pcb!!!

Play the Room — First Class

Play The Room had its first class last week!  Having solidified the roster, we broke out the solenoids and, well, played around with them.

In order to better get to know the solenoids, we hooked them up on a breadboard, as shown.  The mosfet shown acts like a switch, controlled by the arduino through pin 11 in this schematic.  When the program in the arduino tells pin 11 to go HIGH (+5 V), the mosfet allows current to flow through the other two leads, providing the solenoid with a path to ground.  Current then flows through the coil of the solenoid, and the metal core inside it is forced outward, striking whatever may be in its path (percussion!).

When pin 11 goes low, as determined by the Arduino’s software, current ceases to flow through the other two leads of the mosfet, therefore no current flows through the coil of the solenoid.  This means there is no longer a magnetic force pushing its metal core outward, allowing it to return to its internal position.  However, the solenoids we ordered to not have a spring to make the core return to its starting position, and one cannot simply reverse the direction of the current through the solenoid’s coil and expect a magnetic force in the opposite direction (  Our (hopefully temporary) solution was to use a rubber band to bring the core back to its starting position.

By the end of the class, the solenoid cacophony had drawn a small crowd.  Check it out!

Here is the arduino code:

int solPin = 11;

void setup() {
pinMode(solPin, OUTPUT);

void loop() {
//give the mosfet a voltage pulse to activate the solenoid

//wait one second


Emma5 – The Return from Fall 2009

Emma5 Project is back! Much of today was recapping where we left off last semester and forming the groups for the 5 current subsystems. For those who don’t know, Emma5 is a robot project which is being held at M5. We plan on having a wheelchair being powered by two car batteries, being moved by two DC motors, being controlled by a car computer which is being controlled by a headquarter PC (a.k.a. Houston). Houston and Emma’s brain (a car computer ) is connected to Houston via a Wireless link, and the students involved in this project are working on getting this wheelchair up and running ASAP.

Continue reading Emma5 – The Return from Fall 2009

What EE Can Do For You? – Prof. Vouvakis

January 23, 2010.

Last Saturday, Professor Vouvakis participated in Science & Engineering Saturday Seminars.(

When asking the average high-school student what Electrical Engineering is all about, the most probable answer is: it deals with the electrical wiring and outlets, or in the best case, it helps build TV sets. Although this would have been the case for the Electrical Engineering of the 30s or 50s, modern electrical engineering is been considerably more exciting. We will give an overview of Electrical Engineering, and outline the basic principles behind some of the most ubiquitous electrical engineering technologies such as the iPhone, the laptop computer, the internet, radar, etc.

ShotClock Timer + RF module

Hey guys,
So I’ve been working on this project for a month or so now.
It’s a shotclock using two Arduino’s,
1)which runs the timer down from 35 seconds to 0 seconds,
2)which is used on the remote control side of the operation.

Arduino 1 is connected to two HEF4511 BCD to 7 Segment decoder two chip, each decoder decodes information from PORTA and PORTC off the Arduino and outputs the value on two large 7-segments which were purchased from SparkFun.
Also connected to Arduino 1 is the Receiver end of a 315MHz 2400bps RF Module (also purchased from SparkFun).
Arduino 2 is connected to the Transmitter end of the same RF Module.

The basics of this project will be:
1)Have a timer that displays a count from 35 -> 0 ->35 …
2)Have a transmitter which will pause, resume, and reset the shotclock
3)Have a bell which will ring when the shotclock reaches 00.

As of now everything is set up on breadboards, and hopefully this weekend the project will be completed on a prototyping board.
Actually, the Transmitter is already inside of a Wii Nunchuck and can operate from a 9V battery. All that needs to be completed is the Arduino1 side of the project.

Schematics and Pictures will be up soon!
All the best,

M5 Open Mic

Wednesday, December 9th

On Wednesday, December 9th, M5 will be hosting its third open mic night! Starting at 6:30 pm, a slew of circus performers, tie stealing magicians, beat poets, awkward looking musicians, yo-yo wielding politicians, and noise loving electricians from any department at UMass will do those things they love to do.

Everyone, not just students, is invited to attend this open mic as either performer or audience member. The setting will be low-stress and laid back so feel free to demonstrate that experimental falsetto or pantomime you’ve been working on. Everyone is guaranteed to have a good time!

To sign up or request more information, please send an e-mail to Sean Klaiber at