spring, a brass weight, and an ultrasonic position sensor, as shown in Fig. 1. Pulling the brass weight down a little bit, and then releasing it, will start the oscillation. Due to very small frictional forces, the amplitude of the observed SHM will slowly decrease in time, but we can neglect this effect when we analyze just a few cycles. We have used springs specially made for the study of Hooke's law. One good supplier of such springs is Home Science Tools ($1.95, http://www.hometrainingtools.com). We have also used a brass weight holder with a base diameter of 4.4 cm and brass slotted weights. The computerized data collection was done with the help of an HC-SR04 ultrasonic distance sensor ($5.18 from Amazon, http://www.amazon.com), an Arduino Uno microcontroller board ($29.95 from Jameco, http://www.jameco.com), a USB cable, and four male-tofemale breadboard jumper wires ($0.69 each from Vetco, http://www.vetco.net). We have also tested a Parallax PING))) ultrasonic distance sensor ($29.95 from Jameco) with similar results. We have repeated the SHM experiment with a variety of springs and masses with excellent results. The data reported in this article were obtained with the spring from Home Science Tools using a total mass of 250 grams and using the HC-SR04 ultrasonic distance sensor. The HC-SR04 ultrasonic distance sensor, shown in Fig. 2, uses the principle of echolocation. The sensor has four pins: 5 V (power supply), 0 V (ground), trigger pulse input, and echo pulse output. A trigger signal of 5 V, lasting for at least 10 ms, will cause the sensor to emit a short ultrasonic signal. After the transmission of this short ultrasonic signal, consisting of eight pulses at 40 kHz, the sensor will listen for the echo. During this time the echo pin is kept at 5 V. After the receiver detects the echo signal, or after a maximum wait time of 38 ms, the echo pin is reset to 0 V. The HC-SR04 ultrasonic distance sensor has an operating range of 2 cm to 5 m, with a resolution of 0.3 cm. A datasheet is posted at http://www.electroschematics.com/8902/hc-sr04-datasheet/. The Arduino Uno is a microcontroller board based on the Atmega328 microcontroller integrated circuit. It draws current from a USB cable, or from an ac-to-dc adapter. It has six analog input pins and 14 digital input/output pins. Detailed hardware documentation, the free Arduino software (the integrated development environment), and plenty of program