A Wave Simulator and Active Heave Compensation Framework
JOpenShowVar, a communication interface to Kuka robots
Innovating teaching at Aalesund University College with Arduino and Open Source software

Innovating teaching at Aalesund University College with Arduino and Open Source software

In 2011, when I started assisting Professor Houxiang Zhang in teaching the Mechatronics course at Aalesund University College (AAUC), I proposed a new idea which, at that time, I was not totally aware of its power. I proposed to introduce the use of Open Hardware and Open software platforms for teaching. Professor Zhang supported my idea. It was the beginning of a small revolution.

At that time, the concept of Open source was a fairly new concept at AAUC and our students were using proprietary software and hardware in most of the courses where programming was required. Programs like Matlab and LabVIEW were commonly and massively used with only a few exceptions when students were working with Java.

The introduction of Arduino started a small revolution at AAUC and also other teachers and professors started to use it as a powerful teaching tool for the students. But this revolution did not only involve teaching but also several industrial projects where the Arduino is now currently used as a fundamental prototyping platform. Our modular robots are controlled by Arduino, our students from the Real-Time course are using Arduino in several projects, most of our prototypes are powered by Arduino including robotic fishes, drones, quadcopters and UAVs, ROVs.

Thanks to the introduction of Arduino as learning tool, AAUC students are are involved with realistic problem settings and scenarios that reflect real application prospectives. Since the first introduction of Arduino in our Mechatronic course, students managed to deliver very interesting and stimulating projects, like the one shown in the following video. This was one of the very first students projects.

Everything started with the introduction of Arduino. Arduino is an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board. There are many other microcontrollers and microcontroller platforms available for physical computing. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:

  • Inexpensive. Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50;
  • Cross-platform. The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
  • Simple, clear programming environment. The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it's conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino;
  • Open source and extensible software. The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it's based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to;
  • Open source and extensible hardware. The Arduino is based on Atmel's ATMEGA8 and ATMEGA168 microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.

Funny thing, Arduino is an Italian project, and I am Italian :) I started using Arduino by my self when I was a student at the University of Siena. I could not expect such a revolution coming from such a small piece of hardware :)

I attach to this post the presentation about this topic for the Mechatronics course, master level. I have been revising and improving this presentation year by year.

Presentation: Introduction to Mechatronics Programming a robot

Share it!
Innovating teaching at Aalesund University College with Arduino and Open Source software - Filippo Sanfilippo
Filippo Sanfilippo