Skip to main content

Posts

Showing posts from 2013

Capacitive Touch Sensing using a Coin & ARM Cortex M4

Couple of years ago, I bought a Capsense add-on from Texas Instruments for MSP-430 Launchpad. It worked right out of the box as expected but a closer observation showed me that the board was nothing but a colored copper plate PCB with catchy SMD LEDS beneath. Curiosity drove me to internet and books which taught me the concept of Capacitive touch sensing. Armed with the following tools, I set myself to make my own capacitive sensor circuit. Components Used: Stellaris LM4F120XL ARM Cortex M4F board Resistors - 2 x 2.2 M ohm Wires + Conductive surface ( I used a Coin) PROJECT:  The aim to design a simple capacitive touch sensing circuit and code an ARM cortex microcontroller to sense the capacitance change when a human touches the sensor. STELLARIS LM4F120XL:  The Stellaris launchpad from Texas Instruments is the main processing core of the project.  The following are its features ARM - Cortex M4F core ( Floating point) 256 KB Flash and 32 KB Flash, 2KB EEP

Raspberry Pi based Monochrome Video Playback in Nokia 2760 caller ID LCD

Previously, I was successful in interfacing a   Nokia caller ID LCD using MSP430 microcontroller. This time I wanted to drive it using the $35 single board computer - Raspberry Pi to display vital information like CPU temperature, IP address or any notifications. This idea then turned into something fun and better. I thought why not we try to play a simple video on the LCD driven by Raspberry Pi? Components used : Raspberry- Pi  - ARM 11 Soc based Single board comp @700MHz. Nokia 2760 Caller ID LCD Hirose connector for LCD Connecting Wires  PROJECT: The first step is to display a static image on the LCD. I ported the code which I wrote for MSP430 microcontroller to Raspberry Pi in python language. The code worked well displaying a monochrome image on LCD. However, the display rate is not at all satisfactory. This was no surprise to me since python was very slow in execution and GPIO driving. Then I went back to good old C++ and ported the code and tried sending the

Virtual Gesture Input Device Hack using Wiimote

 This projects aims at designing a low cost gesture based input device for computers using a Nintendo Wii Remote(Wiimote). This work is inspired by the virtual whiteboard projects done by Johnny Lee of Carnegie Mellon University. He had used windows based bluetooth stack & wiimote interface library with Visual C#. Here I made use of Cwiid library for python and implemented in Linux environments too.  Components used: Wii-remote USB Bluetooth dongle* Infrared-LED Python Libraries - Cwiid, Pygame *If your computer has built-in bluetooth, a dongle is not necessary. WIIMOTE:  Wiimote is a hand-held primary controller for Nintendo's Wii console. Besides just being a joystick, it has multiple features as follows: 3-axis accelerometer Infra-Red Camera Piezo Speaker Rumble-Vibration feedback Player LEDs (also indicate battery level) Buttons Bluetooth connectivity External I2C port IR CAMERA:  The wiimote has a 128x96 resolutio

Hacking Nokia 2760 caller ID LCD with MSP430

      For quite a long time, I had my Mom’s Nokia 2760 lying idle. So, when I thought of putting it into a good use, the LCDs caught my attention.Nokia 2760 caller ID screen is a 96x65 Monochrome LCD with a blue backlight. Here, I have written the driver code omitting graphic options like drawing line, chars, shapes etc. Just the pixel level access of the display is implemented in MSP430 microcontroller. A PC side program written in C++ is used to stream a 96x65 Monochrome bitmap image to the display through UART. STREAMING IMAGES FROM PC:    Any monochrome image of size 96x65 can be streamed from PC through serial port to the msp430. The source image processing in host side is done using OpenCV library. The pixels are offset,concatenated and mapped to LCD’s byte. Then the bytes are transferred through COM port at Baudrate of 9600. The following diagram shows the architecture of host side application. MICROCONTROLLER :     Since the MSP430 Launchpad supports a max

Gesture and Voice based computer control for differently abled

 Many times, I had given a thought about the societal usefulness of my projects and seriously pondered upon an opportunity to implement one. The opportunity came in the form of "Texas Instruments' Analog Design Contest " in 2011. The contest required us to design a project of our wish which employs atleast three of Texas Instruments ICs. Another mouthwatering offer was, we were allowed to order any Evaluation kit/module from TI which costs below $200.  Unable to resist the urge, I applied for the contest and cleared PHASE 1, which required us to design an Instrumentation amplifier and analyze their parameters. It was then the proposed project as mentioned in the title began. GOAL: The goal was to design a module which can be worn on the head similar to a tiara that helps the  differently abled person to control a computer just by tilting their heads and emulating a mouse  with voice commands. The inputs to the module were as follows. Head Gestures, which

AVR based Motion Sensing USB Joystick

Here, an AVR microcontroller (Atmega-8) is used to design a bare minimum motion sensing joystick for controlling games in computer. Components Used: ATmega-8 Microcontroller 2-axis accelerometer (MMA6361) Resistors,Capacitors & Zener diodes USB female connector and cable Headers, Connecting wires An Atmega-8L, overclocked at 12MHz runs virtual USB library and emulates an USB keyboard in HID mode. It senses the motion data from a 2-axis accelerometer using the ADC. The accelerometer is set at high 'g' and the voltage range obtained was around 0.8V to 2V with 1.35V at neutral position for both axis. For example, an extreme left tilt will give 0.8V and on the right side would be 2V. We added a filter capacitor to each axis output to minimize the noise in voltage. The following sketch was rendered by diptrace. The initial position (null position) is taken as reference by Atmega-8 using its ADC. The tilts are computed and are compared with t

MSP 430 based Low Frequency Oscilloscope

  A crucial equipment for any electronics enthusiast besides multimeter,soldering iron,etc is an Oscilloscope. Unfortunately these oscilloscopes come at a price which students or hobbyists couldn't afford.   Here, a low frequency oscilloscope is designed using TI's MSP430G2231 microcontroller. The frequency range it could measure is few Khz but that is sufficient for most circuits testing since they operate on low frequencies. Components used: MSP430G2231 microcontroller MSP430 Launchpad 3.3V Voltage regulator * USB-Serial Converter * BC547 transistors * Switches * LEDS * Connectors,General Purpose board,wires,etc *      * - Optional   I have made the entire circuit in a stand-alone pcb here. This can be very well implemented with Launchpad alone since it has everything onboard.The overall block diagram is given below.   The input signal should have the voltage range of 0-3.3V since anything out of this range is dangerous to msp430. Now