The Galileo is really an versatile board. The unique thing about Galileo is that not only it runs Linux, it also supports the Arduino environment. This helps the students to get into physical programming with more easier “Arduino language” and once comfortable with that, they can move into C/C++ programming with MRAA and UPM libraries.
Over a four years of engineering course for Electronics related courses, Galileo could be used to cater to the practicals for different subjects:
- First/Second year:
- Arduino style coding interfacing sensors and building small projects
- Third year:
- Building control system based projects with IMUs for building things like balancing robots
- Fourth Year:
- Using x86 assembly (maybe using NASM as assembler) to build physical computing projects
- Using USB sound cards to build DSP based projects
During this period, the Galileo along with the Arduino IDE can be used as a vehicle to ease in the students into physical computing in particular and to programming in general.
Using IMU sensors, students can build feedback based control systems such as inverted pendulum, self balancing robots, quad copters etc…
Most universities have programming assembler as part of their curriculum and most often, it will be x86 ISA based ones. Intel Galileo perfectly fits in here. It can be used to write physical computing programs. Having physical results lets the students to relate with the assembly operations going on more clearly.
With a USB audio card connected to the Galileo, we can do some interesting stuff such as building a digital filter for incoming audio or controlling the reverb of the audio using an accelerometer connected to the Galileo.
I am sure you can also through in device driver course somewhere in the above list. We could have a custom image without drivers for SPI, I2C et al… and let the students write the device drivers for these as part of the lab practicals.
In coming days, I’ll try to build and blog on the projects related to the each of the above topics.