Jack, H., “A Multidisciplinary Graduate Course in Building Computer Controlled Machines”, ASEE Annual Meeting, Honolulu, Hawaii, June 2007.

A Multidisciplinary Graduate Course in Building Computer Controlled Machines


A new course EGR 604: Implementation3 has been added to the core of the graduate program at Grand Valley State University and taught for the first time the fall of 2006. This course is typically taken in the first semester of the graduate program by students in all disciplines, including Electrical and Computer Engineering (ECE), Mechanical Engineering (ME), and Product Design and Manufacturing Engineering (PDM). The purpose of the course is to prepare graduate students to work with complex systems that cross many disciplinary boundaries. The course is very practical by nature, laying the groundwork for a detailed theoretical analysis in subsequent courses.

The course covers a variety of topics in mechanical, manufacturing, electrical and computer engineering. Early in the course the emphasis is on tutorials and simple build and test activities. All students do these activities, regardless of discipline. Later in the course they work on mixed multidisciplinary teams to develop patentable (commercial) products. In general each student will be familiar with half of the topics and be unfamiliar with the remainder.

The ECE topics taught in the course tend to focus on motor control systems and microcontrollers. The primary microcontroller platform used in the course is the Atmel AVR butterfly board. The $20 prototyping board is easy to program in C with a wide variety of built-in features such as an LCD display, speaker, light/temperature sensors, joystick, and flash memory. For many of the mechanical and manufacturing students this is their first exposure to computer controlled devices.

The ME and PDM topics taught in the course tend to focus on design, use of the machine shop (mills, lathes, welding, Computer Numerical Controlled mills) to produce parts, metrology, mechanism design, dynamics, motion control, solid modeling, and machine design. For many of the electrical and computer engineering students this is their first exposure to the production and application of large parts and assemblies.

On the surface the addition of this course appears to pull the graduate program down to the undergraduate level. However, it will allow the graduate students to have a leveling experience that will prepare them for success in later courses, and let those courses progress to advanced topics faster than before.


It is expected that the bearer of an engineering degree would be able to apply the theoretical principles of science to solve practical problems. Anecdotally we have found that a major challenge in the graduate program is from students coming from other institutions with variable levels of knowledge and skill in communication, theory, and practical issues. Although we could have chosen to simply ‘wash these students out’ we have always tried to prepare them for success in the Masters program. Previously this required faculty to adjust their courses and try to address multiple students with several assorted deficiencies in each class. It was clear that this was having a negative impact on the graduate program. In response the graduate curriculum was revisited and a new core was designed. The philosophy of the three new core courses was to embrace these problems, solve them, and then work beyond. After the core, the students are considered to have an equal level of knowledge, thus allowing the following courses to advance much farther and faster. This paper focuses on one core course EGR 604: Implementation3 that deals with the practical issues of engineering. The objective of the course is given below.

“Students will strengthen the ties between theoretical analysis and physical implementations. This will be done by examining various method such as planning and conducting experiments, data analysis, data modeling, reporting, and fabrication. The course will use weekly activities and conclude with a major design project. “

The design of the course was carefully constructed to ensure that it did not devolve into the equivalent of an undergraduate experience. The key element was to provide the material as a set of interwoven topics. For example, in any given week a Mechanical Engineering student may do some machining (remedial and tutorial in nature), but also build a motor speed controller using a microcontroller using interrupts for timing (advanced). Similar counterexamples exist for each discipline. On a weekly basis the instructor monitors the students, identifies problems, and provides remedies as necessary.

The course is offered in a 3 hour session, one evening per week to a group of up to 18 students. The students are a blend of full-time students, and part-time students. On a weekly basis students are assigned reading and required to take notes; little time is used for formal lectures. During the class times students are normally working on assigned activities. The first half of the semester is very tutorial in nature, while the second half of the semester is project oriented. In the project phase students work in multidisciplinary teams to produce computer controlled devices.

The Topics

Students were assigned reading on a weekly basis as shown below. Students purchased one book1 on (and including) the AVR Butterfly board. For the non-Electrical and Computer Engineering (ECE) topics a rough draft of a second2 book was used. Other books were considered4,5,6, and may be reconsidered for future offerings. Whenever possible these topics were interwoven with tutorials or laboratory experiences to reinforce the material.

Aug 28 Jack2, Ch. 2 - Drafting

Jack, Ch. 3: Metrology

Jack, Ch. 4: Cutting

Jack, Ch. 5: Joining

Jack, Ch. 6: Rotations

Sept 12 Jack, Ch. 7 - Feedback Control

Jack, Ch. 8 - Mechanical Transmissions

Jack, Ch. 9 - Mechanical Issues

Sept 19 CPFM1 Ch. 1: Introduction

CPFM Ch. 2 - Quick Start Guide

CPFM Ch. 3 - A Brief Introduction to C

Jack, Ch. 10: Sensors

Jack, Ch. 11: Actuators

Sept 26 CPFM Ch. 4 - C Types, Operators, and Expressions

CPFM Ch. 5 - C Control Flow

CPFM Ch. 6 - C Functions and Program Structures

Jack, Ch. 12 - Project Management

Oct 3 CPFM Ch. 7 - Microcontroller Interrupts and Timers

Jack, Ch. 13 - Motion Control

Oct 10 CPFM Ch. 8 - C Pointers and Arrays

As a student read a chapter they were required to take notes in hard bound laboratory books. Students were directed to make more detailed notes for topics they had not seen before. These books are collected a number of times to verify that the student had been reading the material, and at an appropriate depth. This environment was specifically designed to encourage the students to become self-learners for lower level topics, and make them aware of a professional approach to time management and record keeping. Moreover students gain an appreciation of topics outside their discipline.

The ECE Laboratories

These laboratories gave an exposure to both analog and digital domains. The laboratories began with a motor speed controller built with op-amps and bipolar transistors. For the digital laboratories the Atmel AVR Butterfly board was used. The microcontroller book1 came with an AVR Butterfly board and miscellaneous hardware for projects. Some features of the board are listed below.

Atmel 169 processor with 16K flash memory

100 segment LCD display

temperature sensor

light sensor

4Mbit external flash


battery holder

extensive pin connectors including JTAG connector


free software including an IDE and the GCC compiler

The original plan for the course was to used the microcontroller from the beginning of the semester, but an unexpected shortage of Butterfly boards made it necessary to push this phase of the course back. The list of ECE laboratories and dates assigned is shown below. As expected, students with an ECE background finished these quickly, but the ME and PDM students often required additional time.

Aug 29 Electronics basics - soldering, instruments, tools

Sept 12 Amplifier and motor speed measurements: A class A-B amplifier was built with an op-amp for crossover compensation. Students related voltage to speed using tachometers.

Sept 19 Build an analog feedback control system: An op-amp based subtraction circuit was added to the last lab and students checked the output response of the system to a sinusoidal input using an oscilloscope.

Sept 26 AVR Programming microcontroller introduction: Basic use of the compilers, inputs and outputs.

Oct 17 AVR Serial I/O: Use of the serial port for communication.

Oct 23 AVR Feedback control program: A response curve for a step input.

Oct 31 Music output or stepper motor control

Nov 21 PCB manufacturing: Students designed circuit boards using Eagle, cut the board on a circuit board mill, populated, and then tested the boards.

These labs were very successful. There were only a few minor problems with the AVR Butterfly boards. Students with newer laptops only had USB connectors, and needed adaptors to connect to the RS-232C port on the Butterfly board. At times these behaved erratically. In addition, in certain cases the flash memory of the Butterfly board would be corrupted if the (battery) supply voltage drops too low. In these cases it was easy to use the low cost ($35) AVR ISP for programming.

The ME/PDM Laboratories

In general the introduction to the ME and PDM topics had to be more pedantic. In general these topics are only lightly covered in most ME and PDM programs. Once the laboratories were completed students had a much better comprehension of design decisions including process selection, tolerances, and measurement. Comparatively the ECE material is at a higher level, but most students were much better prepared for analog/digital circuits and programming.

Aug 29 Shop safety: an overview of procedures and expectations in machine shops.

Metrology overview: a review of basic measuring equipment used in machine shops and industrial settings.

Sept 12 Machining overview - mills: A walk through of procedures specific to manual milling machines

Sept 12 - Qualification for mills (lasted 5 weeks): Students were given a piece of prismatic stock and asked to do specific cuts on the mill within a given tolerance. The finished part was submitted with a dimensioned. three view drawing.

Oct 3 Machining overview - lathes: A walk through of procedures specific to the manual lathes

Oct 3 - Qualification for lathes (lasted 4 weeks): Students were given a piece of bar stock and asked to do specific cuts on the lathe within a given tolerance. The finished part was submitted with a dimensioned. two view drawing.

Oct 10- Overview and qualification for welding (lasted 3 weeks): Students were required to try Mig, Tig and Arc welding, and then weld two pieces of flat stop with a lap joint.

Nov 21 Tensile test of welds: The strength of the welded pieces are estimates and then tested in an Instron tensile testing machine.

Nov 21- Pro Engineering and CNC Machining (lasted 3 weeks): Students followed a tutorial that led them through a part design on Pro/E, the generation of G-codes, and cutting the parts in plastic on small CNC machines.

As expected these laboratories went smoothly, but limited facilities made it difficult to handle the large number of students in the course.

Mixed Disciplines in the Laboratories

All of the students were given similar work instructions in the laboratories. But, depending upon their discipline, they were held to different standards. For example, a mechanical student would be expected to hold tolerances of +/-0.005” when machining, while electrical students had a looser requirement of +/-0.020”. Likewise, when doing the analysis of the feedback controller, the ECE students were expected to find a gain and phase response, while the ME/PDM students were given more latitude.

Given the variety of topics some students were very comfortable with certain topics and needed little help. However, for those that needed help a triage system was used. For example, for non-electrical students a quick overview of prototyping boards was often sufficient. Or for ECE students, a tutorial on stress-strain curves for steels was sufficient for determining yield and fracture loads. For larger scale issues students could be partnered with graduates from complimentary disciplines. In other cases complimentary activities could be assigned so that one would be completed quickly, while the other is slow. For example an ECE student might quickly write a microcontroller program, but require additional time for a mechanical design problem.

Students were pleased with the chance to cross disciplinary boundaries. In particular many ME/PDM students noted their satisfaction with the microcontroller boards, while many ECE students mentioned the machining and welding knowledge as very valuable.

The Projects

The laboratories allowed students to verify background knowledge in their own discipline, and extend their knowledge to a new discipline. This knowledge was then applied in a major semester project. The major steps in the project are shown below with start dates. The project teams were formed by October 3. In total there were 6 groups with 4-6 students per group. The teams were also mixed to ensure that they included students with different disciplines and status (full/part-time). In summary the teams were tasked with developing ideas, detailed designs, and then prototypes of patentable products. The final submission for the course was a patent application and a prototype.

1. (Oct 3) Self evaluations were used to create project groups. The groups met briefly and exchanged personal details. Before the next meeting the groups were expected to identify problems.

2. (Oct 10) Each group identified a set of 15 problems not solved by current products. The 15 were then assigned rankings of novelty, easy of development, size of market, and technical complexity. The summary and a spreadsheet were submitted.

3. (Oct 10) The team selected one problem to solve in consultation with the instructor. Current solutions to the problem were investigated. This included identifying currently available products and patents.

4. (Oct 17) A brainstorming session was used to generate design concepts to solve the problem. At least 5 concepts were considered and one was chosen. These were submitted with a recommended choice using a decision matrix.

5. (Oct 17-Nov 7) A detailed design was prepared including mechanical drawings, circuitry, and source code. These were submitted.

6. (Nov 7: Dec 12) The design was built and tested.

7. (Dec 12) The final results were documented in patent format and presented. Non-disclosure agreements were distributed to all in attendance.

8. (Dec 12) Peer evaluations were used to adjust individual grades.

The teams were allowed to select their own projects using the process described, but feedback was used to help them avoid technical problems. The teams were allowed access to available parts in the schools inventories, otherwise they were expected to purchase their own. Overall the quality of the prototypes was remarkable good. Half were functional, and the other half only had minor issues. After the course was complete students were encouraged to pursue patents themselves, or through the university process.

Without disclosing specifics, for patent reasons, the general topics for each project are listed below.

A device for physiotherapists

A lawn care device

A plumbing device

A device for musical instruments

An automotive device

A security device


The first offering of the course went remarkably well for a course of this nature. However, there are a number of items that will be addressed in the fall of 2007.

• The project will be begun earlier to allow teams to learn to work together.


• The first offering of the course ran with 29 students. There was a shop supervisor available to help, but there were still too many students. Future classes will be capped at 18.


• The pace of the laboratories may be adjusted to cover more material. For example, an extensive machine design exercise can be added to the ME/PDM laboratories.


• The machine shop qualifications will be optimized to reduce the time required.


• The course content will be thoroughly reviewed by faculty teaching following courses to adjust the topical content.


• Possible alternates to the Butterfly board will be investigated.

We expect to be able to assess the outcomes of this course as early as the end of the Winter 2007 semester.


1. Pardue, J., “C Programming for Microcontrollers”, Smiley Micros (http://www.smileymicros.com), 2005

2. Jack, H., “Implementation”, http://claymore.engineer.gvsu.edu/~jackh/books/implementation/index.html, 2007

3. Jack, H., “EGR 604: Implementation”, http://claymore.engineer.gvsu.edu/~jackh/eod/egr604.html, 2006

4. Rorabaugh, B., “Mechanical Devices for the Electronics Experimenter”, McGraw-Hill, 1995.

5. Braga, N., “Mechatronics Sourcebook”, Thompson Delmar Learning, 2003.

6. Wise, E., “Applied Robotics”, Prompt Publications, 1999.