Skip to main content

Posts

Showing posts with the label Electronics

Featured Post

Product Design of a 4 wheel differential drive robot

Inventory App for hobbyists

I used to buy a lot of small electronics component and sometimes store it for future use. The problem is sometimes it is hard to keep track of what you have in your collection. I find it hard to find any free inventory app that does the job. There are pretty good paid software, if you want to use it for some shops/warehouse etc. So I made an app that does the job. It is build using nwjs framework. You can find the whole source code + binaries on my github page. Searching the inventory item Adding entries Modify entry Delete entry

Raspberry pi based Car Infotainment system

Out in the market, there are a handful of car infotainment systems that you can buy for 10 to 30k INR. But nothing beats the thrill of making one from scratch and put it on your own car. So this is my effort to make one from the scratch. At heart, it is a raspberry pi 3 Model B single board computer. For those who don't know about raspberry pi, it is a single board compute with a Quad Core 1.2GHz Broadcom BCM2837 64bit CPU with on board WiFi and Bluetooth. See this for a complete spec. It is connected with a 7 inch multi touch display running Ubuntu Mate (a Linux variant). Os is modified so that it is only running the bare minimum services to run the system. It will save the boot up time and improve performance a little bit. It is connected to a GPS module via UART to get current location. It is used in the navigation section. It is also used to get time, when the device is not connected to internet. It uses google map API for navigation. The complete infotainment system is...

Creating a Wireless remote for Nikon Camera using Esp8266

The Nikon DSLR camera I own does have a Bluetooth connection, but unfortunately it is of no use. You cannot trigger shots from Bluetooth. Also u can only share photos of low resolution across Bluetooth. What a shame!!! I also want a time lapse option which is absent in the camera. There is a WiFi option, but have to invest a lot more money to buy the WiFi adaptor. Fortunately it has an IR interface. So I thought of creating my own triggering device (like the ML-L3) which works over WiFi so that I can remotely trigger the shutter and also take time lapse pics. I can control ESP over phone and ESP will in turn control the camera using IR. (It can also behave as a normal ML-L3 Wireless remote). I got the command sequence for taking shots from here ( http://www.bigmike.it/ircontrol/ ). This is the code I wrote for controlling my DSLR. I am able to remotely trigger the shutter from WiFi. remotely trigger the shutter from remote. configure to take time lapse pics from WiFi. (W...

Smart Room :-) | Wireless controlled appliances

If you are a geek, then you definitely want to mess with everything to create something cool out of it. What about controlling all of your appliances from your computer or from your smart phone wirelessly? Set timer for light when you go to sleep; autonomously switch your fan on when temperature exceeds; and when you are too lazy to get up from your bed to switch fan/light off. All you need is an ESP8266 with a couple of other components that cost <10$. Kind of lazy to always go and switch OFF the lights/Fans especially when sleepy :-). So 3 days straight and it's done... 2 days is spend to understand and change the firmware of WiFi chip ESP 8266. (You can add an extra micro controller along with ESP 8266, but what's the fun in it? ) Made ESP 8266 ES01 chip to act as a TCP server and also to control the Relay circuit (Changed the firmware and programmed it). Control messages are interpreted and necessary signals are passed to the Relay circuit. AC to DC converte...

ESP8266 WiFi IOT chip | Programing the Firmware

ESP8266 is a cheap WiFi chip you can use in your embedded projects. You can communicate the chip using AT commands through UART. You can setup a WiFi hotspot, connect to an existing WiFi network, act as a web server, send data (TCP/UDP). The real fun is that you can reprogram the whole chip and you don't need an other micro controller to control it. The ESP8266 ES1 come with 2 GPIO pins. There are other variants of this chip with more GPIO. This ESP 01 cost around Rs. 250 which is so cheap while comparing with other WiFi modules. One thing to remember is that the device is 3.3 V logic. Do not connect 5V supply or 5V RX/TX pins to the device. Connection ======== VCC       ->       3.3V GND       ->       GND CH_PD   ->       3.3V RX          ->       TX TX          ->       RX If you a...

Clap Switch

For some time I was thinking of making a simple clap switch for my room. ( Kind of lazy to go and switch off the light and fan every time... :-) ) First get it work on a breadboard. "Circuit is simple and straight way. Feed the output from the mic to a comparator. The output of comparator will act as the trigger for micro-controller. Micro-controller detects the pattern and enable the corresponding relay switch. Micro-controller always waits for an interrupt (a clap). If a clap is detected it will wait and counts the following claps within a period of 1s. It will discard miss claps and only takes into account the pattern that is programmed. 2 claps means light on/off & 3 claps means fan on/off. There will be separate switch to enable/disable the clap circuit and precedence will be given for the physical switch. That means if the physical switch is on regardless of the relay state light/fan will be ON. If it's not then it will depend on the clap circuit." Co...

LED Cube using Atmega328P

Ultrasonic Hover Input Device

This was my Bachelor Project. The project was selected for the Malayala Manorama Yuva Master Mind 2014. This is a video describing the project at the final round in the competition. About the project  The project is made possible by making use of ultrasonic sound to map the location of an object. This device enables an user to control the screen by hovering his/her hands above it. A 3D virtual space will be created and any hand movement in that space is directly mapped to the display. Group Members: Ananthakrishnan U S , Arun Raveendran , Alfred Do minic , Anju Dony

AT Commands

AT commands are used for communicating with a modem. AT is the abbreviation of ATtention commands. Every command start with AT. Some of the useful AT commands are listed below. You can call a number, attend a call, hang a call, send sms, read sms, and the list goes on with the features of a particular provider. Some commands are specific to some models. GSM modems can be bought and can be integrated to Micro-controllers or directly to PC. Following list may be helpful to hobbyist or others working on GSM modems for project works. AT The response will be OK. This means that the modem is up and ready. ATD94xxxxxxxx This command will initiate a voice call to the no 94xxxxxxxx. The semicolon indicates that it is a voice call. If you want to run any USSD codes like *123# for balance enquirey, do the same without semicolon. ATD*123# Other Call control commands Command Description ATA Answer command ATD Dial command ATH Hang up call   Sending an SMS...

Linux: How to find your serial (any connected) device?

In Linux all devices that are connected to the system are listed in /dev If you connect your mouse to your system it will detect it as hidraw. Other serial devices will be named as tty0, tty1,etc. So if you connect a serial (any) device and you want to know it's name ( for ex: you want to connect it via minicom ), first go to /dev using cd /dev Then list the contents of folder using ls But it will be hard to figure out the name of your device from the long list. So here is a trick for it. Disconnect the device and type this in terminal. ls > removed.txt Connect your device again and type ls >connected.txt Your device's name will be on the connected.txt file. But how to know filter it? Compare both list and the odd one will be your device. Type this. diff removed.txt connected.txt You will get the name of your device.

Serial Port Communication in Linux using Minicom

First of all install minicom using apt-get install minicom or directly download the .deb package from  https://packages.debian.org/sid/minicom  and install it using dpkg -i <package name> After install type minicom -s to setup the minicom for using your serial port. Select Serial Port Setup and type A to select serial device. It will be shown as /dev/modem replace modem with  your serial device. Press Enter twice to save. You can also setup boadrate and all those stuff in the Serial Port Setup. After that you can save your configurations. Select Save Setup as. Then type a name and press enter to save it. If you wan't to open your configuration later, type minicom <configuration name>

Use Matlab to read serial data

  Matlab is one big tool which you can play with.. Matlab can be configured to read serial data that can be send through a microcontroller. Here is the code for Matlab to read a single line and print. Assume that you are sending ascii character values through microcontroller separated by new line. Here is the Matlab code to receive the data. 1: obj1 = instrfind( 'Type', 'serial', 'Port', 'COM13', 'Tag', ''); 2: % Create the serial port object if it does not exist 3: % otherwise use the object that was found. 4: if isempty(obj1) 5: obj1 = serial( 'COM13'); 6: else 7: fclose(obj1); 8: obj1 = obj1(1) 9: end 10: obj1.BaudRate=4800; 11: set (obj1, 'Parity', 'even'); 12: set (obj1, 'StopBits', 2.0); 13: fopen(obj1); 14: data1=fscanf(obj1, '%s'); 15: data1=fscanf(obj1, '%s'); %Assume that you are sending characters and 8 bit binary no....