Summer MAth, Computers, RObotics, and Science (MACROS) classes
June 3, 10, 16, and 17 --- 10am to 12pm

Ganesh Gopalakrishnan, School of Computing, University of Utah

1  Overview

Due to several reasons, we are facing decreasing enrollments in computing, math, and engineering. It is likely that by grabbing the attention of school children early, and sparking their enthusiasm towards these topics, some of this trend can be reversed. I conducted a mini summer camp called MACROS to learn first hand what can be done to help improve recruiting. After nearly $700 (fully refunded by the School of Computing, minus the $40 per head fee collected) and over 70 hours (rewarded by the immense satisfaction I derived), I have the following (mostly positive) experiences to report.

I managed to recruit seven students - one 8th-grader, five 7th-graders, and a 3rd-grader (who had prior experience with hobby electronics) and showed them experiments over four 2-hour sessions in our Digital Systems Labs (DSL). The students were also given a large kit of parts, and could do experiments both at home and in the DSL. The contents of the kit are fully described later.

The focus of the camp was problem solving. The powerpoint presentation in Section 
3 sums it all up: ``...while animals are lucky (they are born with most of the tools they need), humans are not so lucky (they must acquire nearly all the tools they need).'' The set of tools needed depend on the problems to be solved. For most problems, the tools needed span different aspects of learning. It is possible to select problems where one must know a huge amount of cross-disciplinary material (e.g., all the way from Chemistry to Astronomy and Biology). It is also possible to narrow one's problem selection to focus on just one aspect (e.g., software). I chose problems to include enough cross-disciplinary aspects that also matched my own abilities. (Note: there were many other problems that were considered and discarded, sometimes after the required components did not arrive and/or after the difficulty of the problem became more apparent): While going through the above curriculum, many welcome distractions occurred quite naturally. They will also be discussed briefly: Eventually, we ended up needing knowledge of basic electricity, analog electronics, digital electronics, mechanical construction, some robotics, PC interfacing, programming, and some science. For this reason, the class was called MACROS.

1.1  Acknowledgements

Timely help by Travis Stroud on multiple occasions, by Chris Strong, and Chris Coleman (T-shirt preparation) are gratefully acknowledged. Joe Zachary's help with Lab-4 are greatly appreciated.

Kristi Potter, Peter Jensen, and Geof Sawaya donated an old PC which helped us out immensely. Geof Sawaya also built many Win'98 machines (easier to control parallel port; does not need device driver to directy output to parallel port). Alan Nichols loaned Win'98 CD-ROM. Thanks all!

1.2  Future Plans

A positive outcome is that Joe and I plan to offer this class again next year through the Youth Education program of the DCE.

1.3  Emphasis

It was emphasized time and again that the future of computing depends on knowing basic electricity and electronics well. Many items are going to be battery-powered (including cars); there will be computers coupled with virtually everything (mechanical, electrical, and thermal); and one can learn many concepts behind programming far better with actual LEDs/lights being lit, motors being spun, etc. Last but not least, the efficient generation and utilization of energy is going to be a primary issue facing the generation that is growing up now.

1.4  Student kits

Every student received the following: Deciding on these parts, finding inexpensive sources, ordering them, and building soldered ``leg extensions'' consumed a huge amount of my time! For instance, to protect the 1 Farad capacitor (with very short legs), I soldered a zener across (limits voltage to rated value, and also shorts away accidental reverse usage). For each of the 7 stepper motors, I had to strip 6 of the leads and tin them all (42 tinning steps). The list goes on and on and on... (but all will be recouped when we teach the class again).

1.5  Generating solar electricity

Students measured solar panel output in direct sunlight. They determined the best solar panel angle for Salt Lake City (40 degrees north latitude) for June, using sine curves provided later in these notes. They also learned when the sun is south in June in SLC (about 1.26pm). They operated various devices (DC motors, LEDs) using solar power. They were asked to think of perpetual motion machines (shine the LED back on the panel!!)

1.6  Conducting animations using stepper motors

The unipolar stepper motors were bought for $1 each. The price paid was lack of documentation. It turns out that one can measure the coil resistance and calculate safe currents. Using some simple combinatorics, one can figure out the rotational sequence (see below):

What a good way to learn how to solve ``how many ways in which can 1,2,4, and 8 sit around a circular dining table?''

Qbasic animation code for a stepper motor was provided. All students could follow it; some could modify and see the results. One student went on to build a Lego crane and operated it using a stepper motor!! (Three movies of this animation are included in my .ppt file below.)

1.7  Constructing and experimenting with the Stiquito Nitinol robot

The construction of my first Stiquito took me nearly 10 hours of painstaking work. The second only took 5, thanks to one less crimping step for each leg (tensioning using brass screws).

I demo-ed a Stiquito crawl using a Qbasic animation program. Students seemed to follow roughly how the program works. One student adjusted the Stiquito gait, since it was not clawing on the left side with equal force as on the right side.

1.8  Electrolyzing water using solar power

An improvised experiment. Four solar panels in series can indeed produce noticeable amounts of oxygen and hydrogen. Earlier experiment (throw a 9V battery into water with some vinegar) also produced oxygen and hydrogen.

1.9  Making lemon galvanic batteries

Most students have not done such simple experiments! It is a sad outcome of modern busy living when ordinary ``kitchen electronics'' experiments are not being conducted...

Three lemons in series with copper/steel pins could buzz the piezo beeper.

1.10  Motor/Generator arrangements

We explained that this is how their Toyota Prius car worked. We lit LEDs using a DC motor spun by hand.

Then two back-to-back DC motors operated as follows: when you crank one, the other cranks, thanks to the electricity generated by one.

I explained that large locomotives and ships use this arrangement to transmit energy from their engines to their wheel/propellor motors.

1.11  Solar and surface-tension boats

A raft with a solar panel and a brushless motor floated on water and moved.

Students were told of surface tension boats (coat one side of raft with soap to lower surface tension and thus produce motion).

1.12  How 9-volt batteries explode, and what's inside them

An accidentally shorted new 9V battery exploded, revealing that indeed it contains six AAA batteries inside!!

1.13  How to play do-re-mi by programming

By writing programmed delay loops, we produced do-re-mi. Illustrated use of single stepping and debugging loop programs.

1.14  The use of speaker baffles by Oecanthus to amplify its mating calls

A bare speaker produces weak sound because the pressure created in front ``flows into'' the rarification behind (and vice versa) upon each swing of the speaker cone. By cupping the speaker, one can prevent this air flow, thus creating a speaker baffle. The Oecanthus (snowy tree cricket) uses a leaf as a ``speaker baffle'' to amplify its mating calls. A picture of Oecanthus adorns the T-shirt given to the students on the last class (JPG image below).

1.15  How to learn binary arithmetic through LEDs

Students used DS-2003 for driving the LEDs, stepper motors, and Nitinol wires. Students figured out how binary combinations can light one of four LEDs (e.g., 13, or ``1101,'' helps light the first, second, and fourth LED from the left.

1.16  How to learn combinatorics through stepper motors

Algorithm to figure out stepper motor poles: All the BASIC programs used are enclosed on this webpage.

1.17  Nitinol puppet / origami piece animation

A wooden ``pull string doll'' I bought from Vienna was an ideal candidate for a ``Nitinol enhancement.'' It animated beautifully through the help of a simple Qbasic program.

1.18  What does 40V taste like?

I connected four solar panels in series (40V) and used my usual ``quick measurement method for low voltages'' (I lick the poles). It zapped my tongue hard! Seeing the recoil, the 3rd-grader very much wanted the experience, and he too was happy to get a zap on the tongue. I warned the class against bigger zaps on the tongue.

(I can use my tongue as a battery tester, and classify good / bad batteries in the 1.5 to 9V range...)

1.19  Resistor color codes

The students really loved learning about resistor color codes (they all got this!). This helped them fish out resistors from an assorted pile. They learned Ohm's law and used it to calculate protective resistors for LEDs of various color.

The students learned about the LED revolution (the illumination technology has strongly embraced LEDs).

1.20  How to make T-shirts

We made cool T-shirts! The Oecanthus adorns the front and the Stiquito adorns the back. The SoC logo is on the back!

The Oecanthus image is courtesy of Prof. Tim Forrest, Prof. of Biology, UNC Asheville. He requested a T-shirt himself (and I am sending!). Prof. Forrest also teaches a summer camp, taking kids out to dig out various insects!

2  Summary of Online Material

These are the lecture PPT and notes + figures that explain what went on in this class.

3  Powerpoint Slides, Lab of June 3rd

These powerpoint slides (with movies and sounds) that were given out during the lab of June 3rd.

4  Notes for the lab of of June 10th and beyond

These notes represent material discussed during the lab of June 10th. The notes also contain the BASIC programs discussed in class.

We will go over these during the lab of June 16th also. See
these figures that accompany the above notes.

5  Initial Announcements (many ideas / directions were changed)

To sign up, please reply to by May 22nd.

Four 2-hour classes as above are being offered to benefit entering 8th graders (or others interested). These classes will be held in the Digital Systems Labs of the School of Computing, University of Utah. Experiments will involve basic electricity, electronics, interfacing devices with computers, and some elementary computer programming. The fees are expected to be around $40, primarily to cover the cost of hardware. The students will be able to keep their projects. Planned experiments include:
Space is limited, so contact if interested. The classes are offered by Ganesh Gopalakrishnan, Professor, School of Computing. Watch website

for details. Parents are invited to the first session to see the labs and to the last session to see the finished projects.

To sign up, please reply to by May 22nd.

This document was translated from LATEX by HEVEA.