Smart Pen: Final Project for ECE5725

Author: Ziqi Yang (zy259), Haowen Tao (ht398)


Nowadays, in order to gain the handwriting results, people often rely on the capacitive touch screen, stylus pen, or other similar devices. They are functional and precise, but not always flexible. Our project combines Raspberry Pi with IMU to build a product that can keep tracking of the movement and generate the trajectory very quickly. We designed a system that does not need any specific surface or other input tools for support and it only reply on IMU and its sensors. By connecting IMU with Raspberry Pi, when IMU device moves, the sensor data will be transmitted from IMU to Raspberry Pi. Then using our program and algorithm, restore the IMU movement. The movement will be recorded and stored in Raspberry Pi. With PyGame, the movement also can be displayed on TFT screen of Raspberry Pi. With a small and convenient button, the recording function can start and finish very flexibly. Users also can attach our device on other things to track their movements, too. Therefore, our device provides a workable solution for handwriting tracking, movement tracking and etc.

System Setup


The goal of the project is to design a separate module that can be put on a pen, robot or even people to track and record the object movement. Users can use this module and attach it with their other devices, so when the object is moved, our device can restore and track their trajectory and display the movement in the horizontal plane in the world frame on the screen. A very classic application is that users can use it as a pen, so their writings will be recorded and saved as an image. A special feature about this project is that the tracking does not reply on any specific plane and it can be applied on every plane, even in the air. The placement or tilt of the device also will not affect the final result.

We use Raspberry Pi and Inertial Measurement Unit to be the main components for our project. Also, PyGame is used to display the trajectory on Raspberry Pi.