User Tools

Site Tools


teaching

CoursesProjects GuidelinesThesis and Projects ProposalsSuccessful Stories

Teaching A.A. 2013-2014

Materials from the previous years courses could be found by following this link.

Projects Guidelines

Students of my classes are required to present a project in addition to the written exame. This project could be either a “survey”, which accounts for max 2pt on the final score, or a “coding project”, which accounts for max 4pt con the final score.

NOTE: a survey project is the mandatory choice if you get a score less than 25 at the written exam.

Final Exame Registration

Once a project as been delivered and evaluated with a score, the exam could be registered in the student career.
For such a registration you are required to send me an email with subject:

[EX-REG] - Name Surname - Student Code

where EX is the short name of the course for which you are asking registration for, e.g. RTOS for Real-Time Operating Systems. The body should contains the following data:

  • NAME
  • SURNAME
  • STUDENT CODE (i.e. matricola)
  • WRITTEN EXAM DATA (one for each exam in case of a multi class project)
  • WRITTEN EXAM SCORE (one for each exam in case of a multi class project)
  • COLLEAGUE DETAILS, i.e. for each group member specify:
    Name Surname <mail address>

You should add references to project products, e.g.

  • link to code git repository
  • link to report git repository

Finally, you are required to add in attachment your report in PDF format.

Survey

This kind of project consists in the formulation of a report (review/survey) on a specific subject to be agreed with me. The following sections provide a set of possible topics in different areas of interest for my classes, other proposals could be advanced by students and refined/accepted as suitable topics.

Usually you get an initial set of reference articles and you are required to look for others, possibly more recent, in order to present and critically compare different techniques proposed in the literature to address the specific problems of the target subject. The survey will be evaluated mainly considering:

  • overall organization, i.e. abstract, topic introduction, sectioning, accuracy of citations, etc.
  • quality and relevance of referenced literature, i.e. journals vs papers, conferences quality, etc.
  • your own critical contribution, i.e. comparison on presented works, personal observation and concerns, etc.

The report must be:

  • written in English
  • based on the LaTeX template which can be cloned from this repo:

;#; git://gitorious.org/students-report/sreport.git ;#;

  • text addition and changes have to be tracked using the GIT verision control system

Coding Project

This kind of project consists in a coding activity to be defined with me. The following sections provide a set of possible topics in different areas of interest for my classes, other proposals could be advanced by students and refined/accepted as suitable coding activities.

The produced code must be:

  • tracked using the GIT version control system
  • (possibly) available on a public GIT repository
  • be accompanied by a technical report describing: topic, design, choices, alternative solutions, etc
  • (possibly) the technical report must be based on the LaTeX template which can be cloned from this repo:

;#; git://gitorious.org/students-report/sreport.git ;#;

Thesis and Projects Proposals

We propose projects and thesis activities in three main fields:

Linux KernelEmbedded SystemsReal-Time OSsMicrocontrollers

Android PlatformMany-Core processing

Projects by others

Successful Stories

In this section you can find references to a few interesting projects that I supervised in the past. The aim is two-fold: to give you an idea of the effort required to make a good project and, at the same time, to recognize the work of some excellent students.

Android ADK application for STM32 - RS232 client

by Michele Beretta

The goal of this project is to design and implement an Android accessory that enables to an Android device to communicate through the standard RS232 serial port. The project consist of two components: the first is the ADK accessory, based on the evaluation board STM32F4DISCOVERY, and the second is an Android application used to communicate with the accessory.

Final Report
Git Repository

Smart sensing daemon for Miosix

by Rizzi Alessandro Maria

The goal of the project is to design and implement a daemon for Miosix embedded OS performing the “smart-sensing”, which is a new power-efficient way of performing a series of reads from a sensor spaced out by a fixed amount of time. The difference between this method and a normal data acquisition from the sensor lies in the fact that the board remains in suspension most of the time, waking up in a low-consumption mode only to read sensor data.

Final Report
Git Repository

I2C on a Linux based embedded system

by Ghiringhelli Fabrizio

This project required the design and development of a bus driver and a client driver for the Nomadik NHK8815 platform by STMicroelectronics.

The produced report describes the design and development of I2 C device drivers for the Nomadik NHK8815 evaluation board running GNU/Linux. Specifically, attention is given to the implementation of drivers for an I2 C bus controller of the ST Microelectronics STn8815 System On Chip (SOC), and for an I2 C bus client, namely the LIS3LV02DL three-axis acceleration. Both devices equip the NHK8815 board. The intended outcome of this work is to give a contribution in understanding how to access I2C devices on any Linux based systems, not only embedded systems. This is the reason why I focus on both a bus driver and a client driver. Besides, some testing techniques along with some solutions to interface the drivers with the user space are presented in some detail.

Final Report
Git Repository

RATT - Relatively Accurate TurnTable

by Andrea Zoppi

Cheap jogwheel encoders for emulated DJ turntables are often inaccurate, due to the low CPR in the order of some tens. Precise encoders are rather expensive and are not convenient to keep track of very fast rotations, because they are too much accurate for the purpose. The presented research tries to improve the detection of at least small and slow relative rotations of the jogwheel, by employing a cheap COTS mouse sensor, and keep the absolute position or fast rotation with the classic cheap optical encoder.

A very crude HID demoboard was developed, so that some simple tests were done. An extended proposal is also described, in order to achieve better performance and more features, to match those of a commercial DJ controller.

Final Report
Git Repository

AndroDMTP - An Android implementation of the OpenDMTP protocol

by Tommaso Codella

The goal of this work was to provide an initial porting of the OpenDMTP protocol for the Android platform.

It was required to keep a certain confidence with both the protocol itself, which has been specifically defined for efficient data collection from mobile appliance, and the Android development environment. A fully working porting of the library has been developed, by replacing OpenDMTP J2ME specific comportment with Android equivalents thus providing a better integration with the Android platform. Moreover, a testing and demo Android application has been developed as well.

Final Report
Git Repository

Linux device driver for the STLC2590 radio chip

by Lucas De Marchi

The goal of this work was to implement a linux device driver for the FM-Radio chip STLC2590 by STMicroelectronics.

It was required to study both the device datasheet and the Video4Linux 2 API. The driver design choices and a detailed description of functionalites implemented are covered along the report. A fully working implementation of the driver has been produced and is now on the way to be pushed in mainline kernel.

Final Report
Code

Position Recovery from Accelerometric Sensors

by Antonio Filieri and Rossella Melchiotti

The goal of this project was to conceive a system for estimating the position of an agent using accelerometers.

It was required to explore the feasibility of this kind of system paying particular attention to the evaluation of the accuracy obtainable. The two students involved analyzed different solutions based on numerical integration techniques and Kalman filtering. Some complexity and functional issues are discussed along the report. A C implementation of one of the algorithm was proposed for an Atmel AT90CAN128 microcontroller with a LIS3L02AL MEMS sensor.

Final Report

Android application - delicious client

by Pham Tien Thanh

This project required to get familiar with Android SDK and develop an “innovative” application to demonstrate the strength points of this new mobile platform.

The application required is a client for the popular del.icio.us social bookmarking service.

Final Report
Code

Linux device driver for GPS dead-reckoning support

by Nicholas Angelo Crespi

This project required to develop a Linux device driver for the LIS3LV02DL 3-axis MEMS accelerometer chip by STMicroelectronics and to evaluate its performances when used for GPS dead-reckoning applications.

It was required to study both the datasheet and some Linux frameworks. The driver design choices and a detailed description of functionalities implemented are covered along the report. A fully working implementation of the driver has been produced and extensively tested for its performances on estimating space movements using different accelerations' integration techniques.

Final Report
Code

Add USB TMC support to the Atmel's UC3 Software Framework

by Massimiliano Gentile

The goal of this project was to add the TMC support to the Atmel UC3 SW framework. Indeed, this framework already provide support for many USB classes (i.e., mass storage, audio, DFU, CDC and HID) but is still missing the TMC one. The implementation of this support will be useful for everyone looking at the usage of a U3C device to develop a measurement instrument (e.g., low sample rate ADCs or digital signal analysers).

It was required to get familiar with both the software framework, supporting AVR32 microcontrollers, and with the specification of the USBTMC class. The driver design choices and a detailed description of functionalities implemented are covered along the report. A working implementation of the driver has been produced and provided with a template user application that can be easily extended to add device specific functionalities.

Final Report
Code

Android Application to Encode Files in QR Codes

by Francesco Feltrinelli

The goal of this project was to experiment the possibility of using QR-Codes to encode binary data thus improving the storage capacity of this technique. A demo application, targeting the Android platform, should be developed to asses the proposed technique by identifying a suitable usage scenarios. One possible example is the encoding of small MIDI files. They could be advertising-related melodies, used for marketing purposes and displayed on websites or printed on walls, buildings, public transports and potentially everywhere ads are already placed on.

It was required to get familiar with both the Android software development framework and with the QR-Code standard and supporting libraries. The demo application design choices and a detailed description of functionalities implemented are covered along the report. The working implementation of the application has been provided and is available on-line on sourgeforge.

Final Report
Code


<note tip>For students cited in this page: please send me an e-mail with any details to update links to your own works (e.g. author homepages, project webpage, publications, etc.)</note>

.

teaching.txt · Last modified: 2021/04/06 21:05 by 127.0.0.1