Skip to main content

Won 2nd place in National Level Electronics Design Contest !!!

Last month could have been never better without the "Electronics For you " design contest's results announcement. I was delighted to find my name at the 2nd place in the winner's list under Raspberry Pi category for my project named "Smiley-Pi". Very surprised that my previously discussed project in my blog turned out to be a prize winning project.




So what is it?

  Smiley - Pi  is a tiny Nokia caller LCD(extensively discussed here & here) based status notifier for Raspberry-Pi. The name is derived from a mode of operation where it uses various smiley images to indicate system information like temperature. The tiny 0.9", 96x65 monochrome caller LCD of Nokia 2760 is interfaced through bit-banged SPI to the Raspberry-Pi. The base driver application is coded in C and higher level in shell & Python scripts. The user application can use any language which can invoke the driver binaries in it.

  Many times we would have felt that it is an overkill to drive a huge monitor just to see the IP address, CPU temperature or even a mail. For headless portable systems or people who don't have access to expensive monitors, this poses a problem. LCD modules come to rescue at such times but 16x2-character LCD is not so impressive & Graphic LCDs are expensive. Hence I used Nokia caller ID LCD which I have extensively tested and thus fail proof.

  Now, it can display any textual information or graphical information customized by the user. The applications are endless. Here I have used it in two modes; Mode 1 where smiley expressions are displayed based on CPU temperature and Mode 2 which displays textual information like IP Address, CPU Temperature, Date, Free memory, etc at boot time. A video player mode was also tested where one can play 96x65 resolution monochrome video in the LCD.

                     

  Other vital applications can be displaying the IP Address at boot time aiding SSH login sessions (tested), usage with python-feedparser or other mail handler libraries to display mail summaries (tested) or even facebook/twitter data. It can even be combined with speech libraries with few lines of script to make these smileys talk. When integrated with kernel, it can act as a separate terminal console. The gpio pins can also be modified through the macros according to user’s wish. 

 Now with quite an amount at hand, its time to upgrade my garage.!! :D







Comments

Popular posts from this blog

Shell Scripting to Display Bar Graphs in Linux Terminal

 This week was quite hectic for me with course assignments and their merciless deadlines. One such assignment in Advanced Computer Architecture  was simulation of various benchmarks in alpha architecture in simplescalar , a well-known computer architecture simulator. I was supposed to run a total of 4 benchmarks with different configurations of cache memory, instruction issue widths, commit widths, in-order execution modes, etc and I had to plot the required performance parameters for every benchmark. A conservative estimate would be around 40 plots!  Since the simulation platform was Linux, I could breathe a sigh of relief since most things can be automated using a powerful tool called shell. Scripting made my life easier here since I can automate a bunch of simulations without having to keep an eye on each and every simulation which would take anywhere from 20 minutes to 20 hours.  The problem arose when it came to plotting the performance results. Because, each simulation

Programming STM32 ARM microcontrollers in Arch Linux

Once upon a time, not so long ago, the 8-bit microcontrollers were ruling the hobbyist embedded world. But today, the 32-bit ARM Cortex Microcontrollers are so inexpensive and power efficient that there is no good reason to ignore them. Here, let us see how to program a STM32 ARM cortex Microcontroller in Linux environment. The specific microcontroller used here is an STM32F103C8 (ARM cortex M3) programmed in Arch linux. Components Generic STM32F103 board (blue pill) STLINK-V2 (STM32 programmer) Female-Female connectors All the above components can be bought from ebay for less than $10 total. The STLINK-V2 is optional since you can use any of USB-SERIAL converters like FT232, CP2102, PL2303, CH340 and the built-in UART bootloader of STM32 chip to program. So if you already have any of the above serial converters, you don't really need STLINK to program the STM32F103 microcontroller. But STLINK helps if you plan to use in circuit debugging functionalities. Software The

JTAG - Test Access Port (TAP)Controller based Xilinx FPGA configuration using Raspberry Pi

JTAG - Joint Test Action Group is an IEEE 1149.1 standard used in many silicon devices for programming and debugging purposes. Xilinx FPGAs support this JTAG protocol for their configuration. Here I have designed a JTAG FPGA bitstream programmer using Raspberry Pi which programs the bit file into FPGA in fraction of seconds!  JTAG physical bus has four lines: TMS (Test Mode Select) TDI (Test Data In) TDO (Test Data Out) TCK (Test Clock) Components Used:  Raspberry-Pi Xilinx Spartan 3E FPGA (XC3S250E in Papilio One) Jumper wires BLOCK DIAGRAM: TAP CONTROLLER: The TAP(Test Access Port) controller is a state machine inside the FPGA which changes it's state based on TMS input. For instance, let us assume that the state machine is in " Test-Logic-Reset " state. Now if I drive the TMS pin low and toggle the TCK pin, the state machine will go to " Run-Test/ Idle " state. This is how we move to different states.  Note