Oregon State University has been a pioneer in developing a “Platform for Learning” using their TekBots platform as a fundamental part of their electrical and computer engineering curriculum. At George Fox University, we fundamentally affirm this concept of a “Platform for Learning,” but we additionally desire a “Platform for Prototyping.” By “Platform for Prototyping,” we mean a platform that will enable our engineering students to create significant engineering projects as part of a myriad of service-learning projects, student research, course projects, and the senior capstone experience. To be effective across our curriculum, this system must not only be usable by mechanical, electrical and computer engineers, but by engineering students at the end of their first year in the engineering program.
As it is difficult to conceive of a significant engineering application that does not have some form of embedded control system, it is almost imperative that these students obtain the ability to understand and control some form of an embedded control system early in the curriculum. This presents some challenges. Many embedded processing systems make use of one microcontroller controlling a variety of sensors and actuators, requiring that one microcontroller program be written to control every detail of the embedded system. Even simple embedded systems can require a multitude of tiny details including modulation for multiple infrared sensors, pulsewidth modulation control for various dc and servo motors, and interfaces to various components such as LCD displays and wireless interfaces. This level of programming sophistication is generally reserved for upper-division ECE courses where interrupts and timers are discussed in great detail.
To address these issues, we have developed a distributed embedded processing system called “Chirps.” Chirps are a suite of boards that can communicate with one another using short command bursts, or “chirps.” Rather than having a central controller that needs to manage pulsewidth- modulation and encoder processing for a variety of motors, a Chirp system will contain a Chirps motor controller board that can be accessed using simple commands such as “Move Forward 100 ticks.” This Chirp abstraction will provide users the ability to rapidly assemble and control larger systems (such as robots) from Chirp modules and easily control them using “chirps.” Although detailed functions are moved to individual control boards, a central controller must still be provided to control the system and send and receive “chirps.” For this purpose, we have enhanced the very popular open-source suite of hardware and software provided by the Arduino project. The Chirps controllers are built on the foundation of the Arduino Diecimila board, with a power and communication interface added to facilitate the “chirp” system.
In the first-year engineering sequence, students are taught how to program the basic controller and make calls to the various Chirps boards. Upper-division ECE students develop new Chirps boards as part of the microprocessor course. These boards are targeted toward the needs of the various projects being developed throughout the curriculum. Using the Chirps system, Y University engineering can rapidly prototype and control a variety of significant engineering systems.
Spivey, Gary, "The Chirps Prototyping System" (2011). Faculty Publications - Department of Electrical Engineering and Computer Science. 9.