“Mary Had A Little Transistor”

Our First Project

We are currently making progress with our first mini-project. The idea is to program an  Arduino to make 2 motors play the popular children’s song, “Mary Had A Little Lamb.” We are going to try to make this as creative as possible by adjusting certain variables, coming up with our own lyrics, and attaching a strong speaker to make it as loud as possible. Once we complete this, we will be moving on to our 2nd project.


The Arduino Mega

What is Arduino? Arduino is both a microcontroller as well as a programming environment. Using the programming language C you can program your Arduino to do many things. The Arduino uses inputs and outputs to perform tasks like activating a motor, flashing a light, or posting a tweet. Arduino is open source, which means that everything is published and available to everyone, which provides guidance for others in addition to inspiration.


The potentiometer, also called the “pot” for short, is used in our musical contraption to adjust the pitch of the notes. The pot allows you to adjust the resistance by rotating the shaft. The potentiometer has a much smaller nob as well, for adjusting the resistance on a much smaller scale.

Stepper Motorstepper-motor

A stepper motor is a motor that is activated in individual steps. When activated in sequence the motor can be controlled very precisely. This enables accurate control over speed and positioning. Our musical contraption creates tones through stepper motors that make humming noises. By adjusting the frequency of the steps we can change the tone of the motor.

Stepper Motor Driver

What the stepper motor controller does is receive control signals from the Arduino and boost the voltage so that it is capable of driving the motor. The stepper controller both stepper-motor-driverselects the direction that the motor rotates as well as selects at what speed it rotates. The L297 stepper controller operates with the L298 dual full-bridge driver. The L298 is a high voltage, high current, dual full-bridge driver, designed to drive inductive loads such as relays and stepping motors. The stepper controller also regulates the amount of current going to the motor, in addition to selecting direction, speed, and torque.
Voltage Limiting Circuit

Using a voltage limiting circuit we were able to connect the high voltage output from the motor driver to the lower voltage audio connection. This was necessary to lower the voltage going into the speaker that has a built in amplifier.

This project was created by Spencer Weingord and Ravi Prasad as part of a summer electronics challenge.


This is the Arduino IDE (Integrated Development Environment). The code language that Arduino uses is C which is fairly simple and easy to use. This piece of code is used to read the infrared remote. All of Arduino is open source.

Our Original Lyrics:

“Mary had a little transistor

Little transistor

little transistor

Mary had a little transistor

That operated at 40 volts



It was a 2n3904



It was a 2n3904

That is what it’s called

It helped drive a switch one day

Switch one day    

Switch one day

It helped drive a switch one day

To turn on a light bulb

Everywhere that Mary went

Mary went

Mary went

Everywhere that Mary went

her transistor was sure to go”

Special thanks to

  • Arduino – https://www.arduino.cc/
  • Adafruit – https://www.adafruit.com/
  • Sparkfun – https://www.adafruit.com/
  • Dang Gang for the blender tutorial and 3D printing help

SCADBoard Library and SCADuino


First working SCADuino Prototype

First working SCADuino Prototype

SCADBoard is a library for making 3D Printable Circuit Boards

SCADBoard is a library for OpenSCAD to make prototype circuit boards. It makes 3D models which can then be exported and printed using a 3D printer. SCADBoard is open source and fully customizable.



SCADuino is a 3D printed Breadboard Arduino

SCADuino is a 3D printable version of the Breadboard Arduino at Arduino.cc. Using OpenSCAD and the SCADBoard library it is easy to create a 3D printable breadboard like the Breadboard Arduino.



“This Sumo Bot is a Scream”

Sumo Bot Entry for 8th Grade NYS 2010-11 Science Olympiad by Justin Fisher

Screaming Locust is dual-motor remote-controlled tank-style sumo bot featuring an Arduino microcontroller controlling two high-torque motors with orbital transmissions. Built for low speed pushing its custom motor shield uses a combination of 3-volt relays and fast switching transistors to provide variable speed adjustment and low heat characteristics while battling opponents. It is powered with eight nickel-metal hydride cells, and remotely controlled with dual Wii Nunchuck remotes for simultaneous pilot and co-pilot operation.

In keeping with tradition, the Screaming Locust’s extruded aluminium front bumper and aluminium chassis provide low-weight and high-strength and act as the bot’s main heat sink. The narrow chassis and oversized 3.5 diameter soft rubber tires allow this bot to run inverted.

 At 3.66 lbs the Screaming Locust is a formidable opponent.
Screaming Locust top side view with major features

Taking almost 12 months to make, the Screaming Locust is built to push.


  • 2 high torque symmetrically balanced motors with locked stopped position and orbital gear transmissions
  • Welded and threaded aluminium axils with direct driveshafts
  • Nickel-metal hydride rechargeable cells
  • On-board ATMEL ATmega328 microprocessor in Arduino Duemilanove configuration
  • 2.4 Gigahertz wireless communications with 433MHz sideband
  • Two sided operation
  • Rugged hand crafted aluminium chassis
  • Custom power switch cover imported from china
  • On-board radio for tunes
  • Relays and fast switching transistors with electrically isolated left and right channels
  • Remote control operation with Wii nunchuck
  • Dual 100+ decibel sirens
  • Practice golf ball for single third wheel.

Special thanks to

  • Arduino – http://www.arduino.cc/
  • Adafruit – for their parts and tutorials
  • Tod Kurt – for his instruction and inspiration
  • Gold Coast Hobby for motivation
  • Dr. Wolf, Mr. Lee and Mr. Maier – for their sponsorship
  • Paul Kurtlando – for his battery advice
  • Jose B. – for his expert TIG welding


Parts, software and help from Arduino, Mouser, Black & Decker, ThingM, Adafruit, Digi, ATMEL, TI Sparkfun, Fun Gizmos, Radio Shack, Duracell, ST, Seeed Studio and others



Sumo Bot Entry for 7th Grade NYS Science Olympiad by JP

This Sumo Bot runs on low voltage batteries and uses a programmable Arduino microcontroller for all controls. A second Arduino communicating via 2.4 GHz XBee is used for remote control. The remote talks I2C to a Wii nunchuck joystick with accelerometer. The Tankers high-torque motors and locking transmissions, plus double sided operation with automatic attitude detection make it a tough challenger. It was designed to meet the NYS Science Olympiad Class “B” specifications.

The LV Tanker Top-side View

Tanker bottom-side view with major features
Bottom-side view showing lightening holes, homemade remote control, and initial design in Blender

Starting with a design in Blender nearly 11 months ago the LV Tanker took estimated 250 hours to build, 3 prototypes, 4 motor shield designs, and many hours of programming.

  • 2 high torque low voltage motors with orbital gear transmissions in a tank-style configuration
  • On-board ATMEL ATmega328 microprocessor in Arduino Duemilanove configuration with 32Kb memory and 16Mhz clock speed
  • 2.4 Gigahertz wireless mesh network communications based on the XBee
  • Laser assisted guidance
  • Multiple programmable modes
  • Automatic attitude detection for seamless two sided operation (it can be flipped over and still drive and nunchuck automatically reverses)
  • Rugged aluminum, steel, & plastic construction
  • 9 individually controlled LED status indicators
  • Piezoelectric “speaker” for audio signals
  • Symmetrically balanced motors with locked stopped position by Black & Decker
  • Direct driveshaft for main axels, light-weight Nylon chain driven secondary axels for tank-like operation
  • Transistors with electrically isolated left and right channel motor relays
  • Operation with Wii nunchuck joystick and accelerometer control or old-school 2.4 GHz wireless Arduino based joystick

Special thanks to:

  • Arduino – http://www.arduino.cc/
  • Adafruit – for their parts and tutorials
  • Tod Kurt – for his instruction and inspiration
  • Gold Coast Hobby for motivation
  • Dr. Wolf, Mr. Lee and Mr. Myer for their sponsorship
Feel free to contact us for more information, code etc.
  • School/Name: Locust Valley Tanker
  • L: 30cm, W: 29.5 cm, H: 7.5 cm
  • 1.982kg (U.S. PO Weight)
  • (4) 1.5V “AA” and (4) 1.5V “C”
  • 2.4 GHz wireless communication
  • By JP

Parts, software and help from Arduino, Mouser, Black & Decker, ThingM, Adafruit, Digi, ATMEL, TI Sparkfun, Fun Gizmos, Radio Shack, Duracell, ST, Seeed Studio and others.

LV Tanker Takes 5th Place Medal

LV Tanker Takes the 5th Place Medal

In the NY Science Olympiad Regional Finals at Webber Middle School, the LV Tanker plowed its way to 5th place of 43 contestants.
The Tanker was the only sumo bot powered by an Arduino. The LV tanker pushed its way through the semi finals and – with is blinking LEDs and front mounted laser the Tanker was a real crowd favorite – being the only contender to be controlled by a custom 2.4 GHz remote with Wii Nunchuck. But in the end, the Tanker got blindsided from the side – its only weak spot, and was pushed out.

Thank you all for your support and ideas.

H-Bridge Motor Controller

After burning out the H-Bridge motor controller from Adafruit we tried the NYT version and had the same problem. We have started a new design based on the design by Radu Motisan at http://www.pocketmagic.net/. We have laid it out in Eagle and built it on a breadboard and its working well so far. We are trying to add forward and reverse LEDs before we move it over to a Radio Shack 276-150 board. If you need the parts list available from Mouser let us know. Eventually this overheated when pushing dead weight at a full stop as well.

C# “Software Joystick”

We’ve hacked together a C# program in Visual Studio 2005  that writes motor commands like #+20-15; (motor 1 200 forward, motor 2 150 reverse). The serial port has Xbee connected to it. The only tricky part was the motor equations below.
double radians = Math.Atan2(dy, dx);radians = radians + Math.PI / 2;
m1 = (int)(Math.Abs(dx) * Math.Sin(radians) + Math.Abs(dy) * Math.Cos(radians));
m2 = (int)(Math.Abs(dy) * Math.Cos(radians) – Math.Abs(dx) * Math.Sin(radians));
(Equations from David “Wild Shot”)
Eventually we abandon the idea of control with a PC and created our own remote control with a second Arduino Duemilanove, XBee shield, XBee and Wii nunchuck. Thanks to ThingM (http://thingm.com/ and fungizmos.com (http://store.fungizmos.com/) getting the Wii nunchuck was easier to get working then getting the old-school PC joystick that we tried too.