Tag Archives: PIC32 project


Motion control camera robot for creating moving time-lapses

Motion-controlled autonomous camera robots are great for capturing moving time-lapse. Sacheth, Ope, and Jason (three ECE students at Cornell) built an iPhone controlled moving robot with a mounted camera to serve the same purpose. The position of the camera can be controlled as well through the iPhone App. Users can also pre-program it with certain motions with time intervals to capture a moving time-lapse of a landscape.

Dolly: Motion control camera robot

Dolly: Motion control camera robot

The brain of their camera robot is the PIC32MX250F128B microcontroller that receives commands from the iPhone App over Bluetooth. Two DC motors are used to drive the camera robot, while a unipolar stepper motor controls the camera rotation. See the demo video below:

Check out more details!

Data logger for Skiers

Matthew Magaldi and Aidan Angus are both winter sport enthusiasts who love skiing. They designed a PIC32-based data logger system that captures their skiing experience on a SD card and also wrote a Python script for post-processing and visualization of their skiing behavior. The data logger receives data from multiple sensors, including an accelerometer, a gyroscope, and a temperature/pressure sensors.

Ski data logger

Ski data logger

There were several tradeoffs for the hardware and software used in the project. First, in software, because we were limited to using a single core processor in the PIC32, we were limited in the synchronization of our data. The protothreads that we used to implement our data logging and collection are not actually multi-threaded so data collection for the accelerometer occurred at a different time than data collection from the gyroscope. This made it very difficult to accurately compensate for gravity and led us to estimate by linear interpolation the time synchronization of these data sets. Additionally, we wanted data collection to occur as fast as possible for certain functions like the accelerometer and gyroscope because we knew that this data would be changing at a much faster rate than data from the pressure and temperature sensor. Thus, we updated the temperature, pressure, and altitude data about every second whereas the gyro and accelerometer were calculated about ten times per second.

For hardware, we tried to minimize the complexity of our peripherals. We decided to use SPI or Serial Peripheral Interface in order to communicate with the gyro, pressure sensor, and SD Card. This enabled us to use the same clock (SCK2) and data lines (SDI/SDO) for calculating the pressure and gyroscope values. Additionally, we would have liked to put all of our sensors and PIC32 on a solderboard in order to make a compact device and then have some sort of case over the circuitry and sensors to protect them from getting wet or snowed on while skiing. However, due to time constraints, this package was left out. In the end, we believe that this would be necessary if this were to become a fully- functioning device that had applications in cold, harsh environments.

Wireless storage with biometric protection

Nathan Spallone and Zhiyuan Teo from Cornell University designed a wireless storage with biometric protection as their final project for Bruce Land‘s ECE 4760 course. Their design uses a fingerprint scanner for authorization and an induction coil for wireless charging. The user can authenticate into the storage system by simply placing a thumb on the fingerprint sensor and can sync the drive to a home station wirelessly using an nRF24l01+ transceiver module. The home station also usesan nRF24l01+ transceiver module along with an Arduino board, which is connected to a PC over USB. They also wrote a PC application to allow the user to read and store data on the device over the RF link.

Wireless storage with biometric authentication

Wireless storage with biometric authentication

The base station also has an inductive charger that the user can place the device on to charge wirelessly, without the hassle of plugging anything in. 20 fingerprints can be stored on the device, and each fingerprint has a separate logical volume that the corresponding user can utilize as their own private storage space.

The device has a 1 inch OLED screen that gives the user feedback and information, such as which current user is logged in, and how much storage is being used.
he device is extremely usable. It does not require the nimble action of plugging in a device every time a user wants to manipulate a file, rather it can be activated wirelessly. As well, there are no buttons on the device except for a power switch, and the only actuation needed for operation is touching a finger to a fingerprint scanner. The OLED is monochromatic, thus anyone with any sort of colorblindness will be able to use the device.

Electronic Snellen eye tester

Snellen chart is the most widely used visual chart across the globe for testing visual acuity. It contains multiple rows of letters that are progressively smaller and is used by an eye doctor to judge patient’s eyesight. Joel Llewelyn, Margot Haas, and Yuchen Liu (three Cornell students) attempted to make an electronic version of Snellen chart that is portable and self-capable of performing the full Snellen eye test at home. The project uses PIC32 microcontroller and a TFT display for showing the letters from the Snellen chart in a progressively smaller font size and the user has to speak over a microphone his guess for the letters. The user’s audio captured by the microphone is amplified using an Opamp circuit and is further digitized for speech processing by the PIC32 microcontroller. Their electronic Snellen eye tester utilizes a speech recognition thread to determine if the user’s guess is correct or not.

Electronic Snellen eye tester

Electronic Snellen eye tester

PIC32 Project: Piano gloves

Piano gloves is another interesting project accomplished by three Cornell students, Sean Carroll, Natalie Moore, and James Talmage, who just passed Bruce Land’s ECE 4670 course on microcontrollers. They created a pair of gloves that can play a grand piano sound with the bending of fingers. A flex sensor attached to each finger on the gloves senses when the user bends a finger. The sensor output goes to a PIC32 processor via a Schimitt trigger circuit. The PIC32 processor, on detecting finger motions, synthesizes and plays appropriate notes on a speaker through a 12-bit DAC.

PIC32 Project: Piano gloves

PIC32 Project: Piano gloves

They write,

The genesis of this design came from an interest in sound synthesis as well as one of our team members being a musician. Previous 4760 projects have controlled music through glove interfaces so we attempted that ourselves on the PIC32.

The main design for this project was made up of two main components, which happened to be the hardware and software. The hardware component was made up of 10 Schmitt trigger circuits each connected to a flex sensor corresponding to a finger for a pair of hands. The software was loaded onto PIC32 and could read in signals from 10 digital IO ports and simulate a piano key press corresponding to the octave from C3 to C4, as well as the keys D4 and E4.

 

« Older Entries