Doorbell with NRF24L01 and Arduino

My current apartment does not have a doorbell (Its strange but it is true). I went ahead and built a doorbell using two arduino pro-minis and two NRF24L01 transceivers. The melody to be played when a guest presses a button is controlled by me. I have four melodies programmed in. Here it is in full action: Here are some details: Remote The schematic for the remote is shown below. The remote is configured to run on 2 AAA batteries and goes to sleep mode most of the time and then wakes up when a guest presses the button. This button Read More …

Airtel tune on arduino

For my doorbell project, I needed some melodies to be played on arduino. One can takes notes of a melody and write a corresponding arduino code. I like airtel tune and wanted to play it with arduino. I got the notes from https://www.youtube.com/watch?v=3m5j5UIRqQc Here is the final result, where I use it in my doorbell project. My code is here:

Controlling Rigol Dp832 with python

DC power supplies are very handy for electronic projects. They help to apply bias to a devicve. Controlling it by a computer by a program is helpful in advanced projects where timing and accurate control is an issue. I got my hands on a RIGOL DP832 which is three channel (two 30V and one 5V) power supply and is programmable through SCPI commands. The device can be controlled by USB and rs232 (optionally by LAN). SCPI commands can be sent to the instruments using VISA interface. I used Python and pyvisa module to communicate with it. I wrote a class Read More …

Hacking Weighing Scale to Upload Weight to Plotly using Raspberry Pi

I have been interested in monitoring and keep track of my weight. In the past, I have used phone apps for this purpose, works OK but I was thinking of reading weight information using some microcontroller from my weighing scale and upload the data to an online database. That means that microcontroller should connect to my wi-fi connection at home and upload the data. I have seen some projects online that use an arduino for this purpose. They use arduino to serially send information to computer. The information on the computer can be potentially sent to an online database. One Read More …

Controlling Newport 1918 Power Meter with Python

Optical power meters in-conjunction with a detector are used to measure power from a laser source or monochromatic output. At work, we use Newport 1918 power meter. This power meter comes with its own software. However, I was interested in controlling this instrument with python. I made a class for this instrument . If you are interested you can download it at my  Github repostitory . This python module contains higher level functions to communicate with Newport 1918 power meter on a Windows computer. It uses python ctypes to access methods in the Newport’s usbdll.dll driver. For connecting the hardware to the Read More …

DIY Audio cables using CAT5

Inspired by the article on speaker cables, I built the CAT5 V3 version of the speaker cable. Following are the images of how I made them. I have access to a precise LCR meter and will measure R, L and C as function of frequencies shortly. The capacitance of the cat5 speaker cables is known to be high.  

Controlling SP2150i monochromator with Python/PyVisa

Monochromator is used in optics research where a narrow bandwidth of light is required to be illuminated on a sample. I work with Princeton Instruments Acton SP2150i and needed a python program to control it. I found the manual here and on page 9-10, I saw the serial commands for various functions (such as changing filters, moving the grating, etc). To control the instrument with my windows computer, I followed these steps: 1) Connect a usb cable between SP2150 and a computer I used the port “USB” and not the “USB hub”. 2) Installing the monochromator drivers and Monocontrol software: Turned on Read More …

Installing Meep 1.2 on ubuntu

Pre-compiled Meep binaries for meep1.1 exist for Ubuntu distribution. This makes it very easy to install meep on ubuntu using “apt-get install” command or from the ubuntu software center. However recently, Meep developers have release meep1.2 which has more functions compared to meep1.1. I have recently installed meep1.2 from source on ubuntu 12.04 using the instructions shown at http://ab-initio.mit.edu/wiki/index.php/Meep_Installation. I have root access to my computer, so I installed all the libraries/bin files in their default location (i.e, libraries go in /usr/local/lib, programs in /usr/local/bin, etc) These are the steps I followed: 1) To avoid any complications, I uninstalled meep1.1 Read More …

Electric field at localized plasmon resonance using MEEP

This article is about simulating localized plasmon resonances in metal nanospheres using MEEP package. Generally, I am interested in solving three problems in LSPR systems: Calculate the extinction, scattering, absorption spectra of metal nanoparticle The procedure for doing this is very similar to the method I mentioned here. Calculating the electric field enhancement spatially as function of wavelength This involves taking electric field distributions with a particle in time domain and taking FFT of them. Also to be noted is that the electric fields near the particle should be normalized with electric fields with no nanoparticle. This has to be Read More …

Building my new desktop system

As I had access to great workstations at my previous labs, I never needed a personal desktop system to do heavy duty operations such as running simulations, photo/video editing etc. But now that I moved out of graduate school and have some money to spend, I am finding myself more in need for a good desktop system. My plan with a new system is to make more tutorials on plasmonics and do more photo editing (now that I own a Nikon D5100). I currently have three old laptops, but all of them are just good enough for browsing but not Read More …