Teardown of a 13 year old canon digital camera.

IMG_0685IMG_0684IMG_0686IMG_0687IMG_0688IMG_0689
IMG_0690IMG_0691IMG_0692IMG_0693IMG_0694IMG_0695
IMG_0696IMG_0697IMG_0698IMG_0699IMG_0700IMG_0701
IMG_0702IMG_0703IMG_0704IMG_0705IMG_0706IMG_0707

canon camera teardown, a set on Flickr.

A couple weeks ago, at work I found a digital camera that was thrown away in the recycle bin, it had a broken LCD and everything else seems to be in good shape. It was a 2.1 Megapixel Shooter so i figured it must really old. On googling I found that it was launched in 2001 and one of the smallest digital cameras of its time. and cost like $600 US! these days you can get a decent DSLR for that price. Check out the review of this device here!

Enough chit-chat, lets get to the real deal. I wanted to take the sucker apart and see the innards and understand its working. The camera is enclosed in a metal enclosure and could easily take a drop or two without taking much damage. Dissaembly was easy as the entire case was held together by philips head screws. The canon engineers were able to cram in a lot of stuff into a relatively tiny case,about the size of a pack of cards. It even had its own Li-Ion battery with a seperate external charger.

I have posted the photos of the teardown on my Flickr account. The pictures have elaborate descriptions feel free to browse through them. Feel free to ask any questions in the comments below! Enjoy!

Restoring the Windows Boot Partition…..

I have a Dual Boot boot system Running Ubuntu 12.04(LTS) and Windows & Home Premium(x64).

The other day i was booted into ubuntu and had to use gparted to partition and format a flash drive to use with my Pogoplug-B01. And i by-mistake formatted the windows boot partition . Oops. I restarted my system and could not  boot into windows! For me Windows is like a necessary Evil . Its where all my games reside! All for the other programming related stuff i use ubuntu. So i needed to get the windows partition up and running.

Also before you go ahead i would recommend you take a backup just in case anything goes wrong by booting into the system by a ubuntu live CD.

This can only be used to repair a system where the boot partition is either formatted or is corrupted. This would not work if the main system partition containing the OS itself is damaged.

Starting Windows Vista Microsoft made the boot partition a separate partition (generally 100MB)from the partition containing the actual OS files.

Step 1 Get the appropriate WIN 7 recovery Image from here.

Step 2 Create the CD/DVD or the USB stick(Skip to Method 2 in this Link )

Step 3 Without the boot sector When you turn on your computer u will get a ‘no Operating system Found’ error . So you will need to set your boot drive to the DVD or the USB drive Depending upon whta media you are using.

Step 4 Once you Boot into the Repair Disk Hit Startup Repair. If that fixes the issue. you are all set! But for me that was not so Easy. I Selected the Command Prompt Option the type in the following commands and hit enter after each command

diskpart

list disk

select disk (followed by the number of the OS disk; most likely 0)

list partition

select partition (followed by the number of the Boot partition; most likely the 100-200Mb partition)

active

exit

Step 5 Now again type

diskpart

list disk

select disk(followed by the number of the OS disk; most likely 0)

list partition

make Sure there’s a star(*) against the selected boot partition

then type format and hit enter. This will format the boot partition to NTFS.

Step 6 Now to repair the boot partition make the boot partition active by repeating the STEP 4

next enter following commands and hit enter after each command.

bootrec /fixmbr

bootrec /fixboot

bootrec /rebuildbcd

Step 7 Now restart the computer with the recovery media plugged in.

now in the recovery options select the ‘Startup Repair’ option. It should b able to fix any other issue with the boot sector and restore it to the optimal state.

Now Restart the computer and this time remember to unplug the media when the system shuts down.

Have Fun.

Let me know how i goes in the comments below! 🙂

Best of Luck!

These Posts Were really helpful:

[1] http://www.windowsreinstall.com/winre/createfromiso/#.Uhm2oG3tx24

[2] http://www.selectrealsecurity.com/fix-windows-startup

[3] http://windows.microsoft.com/en-US/windows-vista/What-are-system-partitions-and-boot-partitions

[4] http://windows.microsoft.com/en-us/windows7/create-a-system-repair-disc

select partition (followed by the number of the OS partition; most likely the largest partition)

Playing with the UART on the TI Stellaris Launchpad.

I just started playing around with the TI Stellaris Launchpad a couple of days ago.

The Launchpad is a pretty powerful little dev board. It has  ARM Cortex-M4F core at it heart. The really awesome thing is that there’s a Full fledged  debugger built-in which makes it a really good board to start with ARM micros.

I was fiddling with the UART trying to setup two way communication with the micro. so i started out with the uart_echo project included in the Stellarisware bundle.

The uart_echo code works with the UART0 of the micro and i wanted to get it running on the UART1, Sound simple right? But for a Newbie to this micro-controller it might be a bit difficult. That was what happened it took some amount of digging around the internets and the documentation to get the code to do what i wanted but finally it started working

Here’s what i ended up doing. First i reconfigured all the I/Os the UART1 Pins can be used either on PB0,1 or on PC4.5. I used the PB0 and PB1 pins. changed the code in all the other relevant places in the main code, tried running the code . I got the “Enter Text” messgae on the terminal. It means the Tx was working fine. but i could get a echo back from the micro. The uart_echo uses the uart receive interrupt which was not being triggered. So i needed to get the interrupt triggered when the data comes in on the RX pin. by the way i did try the echo function running in the while loop and that confirmed that the physical connection was good and that the code was working.

I stumbled upon a forum post by another person facing similiar problems where he suggested that i make changes to the interrupt vector table in the startup_ccs.c file  i simply replaced the IntDefaultHandler with the UART1IntHandler which is the interrupt handler for UART1 and like magic the code started working! Here’s the final Ti Code Composer studio v5.2 project. You can Import the code directly into CCS using the import option.

Planning to get the PWM working now…..will post on it soon…

Philips SHH7810 In-ear headset for Mobile Phone review

A couple of days ago i received in my order of Philips SHH7810 in-ear headset from Flipkart.com. They delivered it in like 2 days as promised. I love their service and sometimes the price is also very reasonable as compare to brick-and-mortar stores,which was true in this case.I got it for 985 INR,which i think was pretty reasonable.

The SHH7810 in my opinion is one of the cheapest and quality headsets with inline microphone that money can buy,I had done some research prior to finalizing this one, i coudn’t find any decent brand(aka sennheiser,skullcandy,sony,etc) earphones with inline mic and call.answer button,there was one from skullcandy around the 1k INR range but i was using the skullcandy ink’d for the past 8 months which was very similiar,I wanted some change and this had to be it.

Image

It arrived in a nice little flipkart bubble wrap lined mailer bag.The contents inside were nicely protected and did not show any signs of stress from the shipping .


I sometimes hate the amount of packaging that comes with the earphones,there’s too much plastic and takes a lot of effort to open it up. 😦

The contents of the package include the standard fare 3 different sizes silicone ear plugs. And an interesting compatibility adapter that allows the headset to work with almost all of the commonly available phones with 3.5mm standard connector

I had a Motorola so i did not need the adapter!

Plugged it into my atrix 2 ,there were no issues ,the headset was recognized . Tried playing some tunes and sounded good and was stereo made some calls.I was able to pick up calls with the call/end button,Mic also worked good.

the thing that i hate about this headset is the inline volume control! I was fooled by the images on flipkart and other places! I had thought it was a push button based solution,similiar to the ones found in the inbox headsets that come with phones.Sigh! it was just a crappy volume slider which instead of sending a command to the phone to change the system volume of the phone just fiddles with the signal by changing the inline resistance which is a BAD way to do it. And from past experience is one very big potential point of failure! .In headphones these things are the first to fail. I hope that Philips has designed it well enough ,and it lasts atleast 6 months without failure!. If the headset lasts 6 months of rough use (or rather abuse!) i would call it well worth the money!

Moving on to the sound quality of these phones,the overall sound quality is good for the price. The bass i feel sometimes is as good as Sennheisers and the Skullcandys from a higher price range.Sometimes though i feel the bass is too much and it overpowers the mids ,and the mids get supressed.The Highs and decent and very seldom tend to crack very very slightly only if you listen with a very keen ear,you wont notice it otherwise!.Now there is a very important thing about these phones that i found about as i used them,You need to get the correct fit to understand the true capability of the drivers. Which is somewhat difficult sometimes since the design is a bit weird with the angled drivers and all,which philips claims to deliver better sound directly to the ear drums.Frankly,i found it a bit uncomfortable to wear,might be a new earphone thing and might take some time for my ears to get used to. But not as comfortable as my first pair of in-ears my JVC fx-33Bs! I really Miss them!

One thing i really like about the headset is ,it has small bumps on the left earpeice. This helps you to recognize the left and the right earphone even in the dark. This is

Final Words: Really good bass,OK mids and highs.OK build quality,Crappy volume control,takes some time getting used to the fit,great compatibility with almost all modern smart phones on the planet(including the iPhone!).Great value for the Price!

Let me know what you think about it in the comments below!! 🙂

Update:Tested the headset with a a bunch of phones here’s the result

Phone                                         Result

iPhone                                        Works pretty Well.

Samsung Galaxy S i9003       Worked well. Without the bundled adapter. (The adapter was meant for samsung ,nokia and sony ericsson phones!)

Sony Xperia S                          Did Not Work ,even with and without the bundled adapter a ‘headset incompatible ‘message shows up!.I was expecting it to work.

The package did not mention anything about this! They should’ve specify the exact phone models that are compatible!

Motorola Atrix2 reviewed

Motorola launched the atrix 2 in india late last month. Almost six months after they launched it in the US.

It seemed like a good vfm phone given the market price of around 22,000 INR and the many positive reviews all around the internet made it seem like an awesome buy!!!

So i thought i should check it out.I ordered it,from probably india’s answer to amazon flipkart. it arrived 3 days post order. Packed snuggly in couple of layers of bubble wrap which i enjoyed popping! :P.

Lets open it up and check it out!

Overview
The atrix2 comes with pretty standard stuff inbox. A 2gig micro sd. A pair of earphones , that i will probably never use! A data cable. A charger with a USB socket. So that you can directly plug in your datacable into the charger and it becomes the charging cord! Most manufacturers now-a-days ship phones with a female usb so that people can just plug in the datacable itself and charge their phones!! I think its cool! The battery that comes with the phones a li-po battery with a capacity of around 1785mAh max(1735 mAh Typ.)! Thats awesome and reviews everywhere say that the large battery really helps a lot in keeping the phone alive and kicking for like more than a day,  and with super heavy use! Infact the big battery and the dual core processor were the biggest factors that made me go for this phone!

Hardware
As i said the phone is powered by a dual core processor. Infact the phone is based on the TI OMAP4430 chipset with 2 arm-cortex A9 cores!! And the gpu is a powervr SGX540. The hardware was able ti handle 3d games pretty easily! I tested the 3D capabilities with the bundled EA games that came free with the phone. Dead space looked stunning and i was able to play the game without a single frame being dropped!
I also ran a few benchmarks with the Quadrant Standard Benchmark. And It scored a decent 1756. and Even bettered the galaxy nexus in the 3D scores.

The Sound quality was decent.The true Quality was not evident with the bundled Headset. But Sounded good on my Skullcandy Inkd Ear Buds.

The Display Is a qHD 960×540 TFT. The resolution and Pixel density is awesome .The colors appeared a bit yellow. Sunlight Visibility was okay. Overall the display is ok ,but a better quality display would have been much appreciated.

The Phone also Supports USB HOST.But i haven’t tried it out yet .Will be trying it out soon. And i will post about it soon,as soon as i’m done.There’s also a mini HDMI Jack for connecting to a monitor or a TV set. The cable is not bundled with the handset.

There are two camera one on the front for video chat and another on the back .The rear Camera has a 8Mp Sensor and has a single LED flash.Low Light performance is ok. Better than Most cameras. The images can be shot in various modes and at various resolutions. I liked the widescreen Image option Where the image is shot at a widescreen aspect ratio. and the resolution is around 6Mp.Full HD Videos can be Shot With the camera.Here’s a Sample of a Video that i took with the camera. (Thats Hemanshu Playing the bass Cover for Billy jean in the video).Videos Came Out Pretty good at 1080p  and even at lower resolutions.Even at night the videos Came out pretty decent.Infact I think the videos came out better than the Images shot in low light!

Software

The Phone Comes with android gingerbread 2.3.6 out of the box. And a ICS update for the Asia pacific model (the models available in india) is expected in 3q 2012. That’s actually pretty late considering that most devices will be getting their ICS updates in 2q and there are already devices running Android 4.0 in the market!

Moto phones are bundled with their Custom version of the Android UI called MOTOBLUR,which i really like ,Much better than Samsungs Touchwiz UI which Is more like a clone of Apple’s UI. and even HTC SENSE which i don’t like at all.

The default Music Player App is Actually great in some aspects. It fetches the lyrics asn album art for you as the song is being played. It does not save the lyrics though hence to enjoy the lyrics you will need internet connectivity when the song is being played.It uses Tunewiki for fetching the song info.

There also this thing called the Universal inbox.Its basically a Place where all your unread Fb messages and texts are displayed in a single widget.Kinda Cool but haven’t used it much yet.

The Phone has on-board storage of like 8Gb. But it cant be used to store data files. Only application data Can be stored.Rooting can probably Solve this ‘issue’ and allow the on-board storage to be used more efficiently.

The Lock Screen interface is nice and i really like it.

There is Also the motorola phone portal that allows to sync your phone with your PC not only over USB but alos using wifi!! That’s actually Neat! You can manage all your data ,contacts and message .Using a simple Browser Interface. Internet explorer is the only browser supported to allow data Management though! :(.Other things such as Contacts and Messages can be managed with virtually any browser.

The Dialer interface and contacts app Kinda Sucks and takes time getting used to. And Unlike in HTC devices the Contacts from different sources such as facebook,twitter and your phone book are not merged but appear as separate contacts! WTF??. The Contacts App implementation of HTC was way better in this aspect!.It used to  give me contact match suggestion and it even merged contacts from various sources automatically. So that if a person in on  FB,twitter and Also is in my phone book.It appears as a single Contact. Instead of Multiple contacts!!!

You get 5 Customizable home screens.The Other UI elements are pretty much standard Android nothing much to add in this department!

Design

The Size of the Phone is perfect and Fits snuggly into your palms. The back of the phone is Rubberized and has a fabric like texture to enhance the grip.

4 standard Android Keys are present at the bottom of the LCD.

The Key placement should is a bit too close to the edges and would have been better if it was placed a bit higher. The Keys get accidentally activated when typing with both hands. And can interfere and reduce the typing speed drastically!. I strongly recommend some sort of body cover for this phone.The Phone Seems Slippery,Especially when using it single-handed.I used a silicon jelly case from amzer. It improved the usability drastically!.And Also got a more comfortable grip on the phone.

The Earphone jack is the Worst part of the design,i feel. I tends to scratch the surface of the earphone Plug . I tried it with a couple of earphones. And the Plugs of both the Earphones were scratched badly!.I really hate it very much!

The rocker keys for the volume and the camera key on the side of the device are wedge shaped and have a sharp edge.Its a bit difficult to press them  due to the shape. But i guess  one can live with that as its not that bad actually!

Bottom line: The Real Good stuff :battery life ,qHD display, awesome Hardware,Decent Camera. The Let Downs The Silly Earphone Socket,the Display Is a TFT-LCD(Blacks are usually just grays,If you own a phone with an AMOLED display You will Find the display weird because of the poor contrast ratio),The Phone’s Design really makes typing with both hands in landscape Mode difficult.The rocker keys at the side could have been better designed,the phone lacks grip and hence neccesitates a body cover fro the phone

This Video Review Helped me a lot in making my decision but i think they didn’t cover the downsides of the device well .

Disclaimer: All the views expressed are totally based on my personal experiences and i am not affiliated to nor was paid by any of the organisations/companies mentioned in the above post.

Dangerous Prototypes Bus Blaster Build

I had Received a free Coupon from Dangerous Prototypes as a part of their Free PCBs Contest.I chose to get the Bus Blaster PCB. Since i was really needed a JTAG debugger my lpc1768 blueboard. Just Completed the Build. Check it out! Soldered the FT2232 using the drag soldering method.Had to remove some stubborn solder bridges formed during the soldering of the fine pitch QFP using a razor blade! Thanks Ian and Dangerous Prototypes! 🙂

UPDATE: Here are some More Pics of the Bus Blaster!!

The Dangerous Prototypes Sticker goes well with the Navy Blue Lid of my Laptop!

JustChecking's Weblog On All

This is a follow-up to previous tutorial, Simple guide to basic Doxygen usage.

Here are few simple templates that you might use for documenting your source; easiest use is with e.g. Visual Assist X, or any other tool that allows you to add predefined templates to your source code. I use these template with VAX and shortcut set to “/*!”, with short descriptive names, thus I don’t need to remember many shortcuts and have all at reach of 3 key-clicks. 😀

And we finish off with a small list of simple tips.

View original post 1,116 more words

Bluetooth Controlled RGB LED strip

RGB LED strips such as this are available for a low price.They are generally bundled with a IR controller and a power supply to power the LEDs and to change the color ,display various colour sequences etc.The IR Receiver is  similiar to those used in TV and requires line-of-sight for reliable operation . I wanted the strip to be Controllable via a PC or a Mobile Phone.So I decided to make my own RGB LED strip Controller and to enable wireless control  i used Bluetooth technology.The device can be controlled using a PC or a mobile phone with Bluetooth having a suitable graphical  user interface.

The Hardware needed for this build is pretty simple and uses commonly found devices and may be salvaged from old electronics.

  1. Atmega8L-8PU 8-bit AVR microcontroller
  2. LM1117-3.3 3.3V LDO regulator
  3. IRF640 N-Channel MOSFET(salvaged from an old Uninterrupted Power Supply-Thanks Kushal for that Dead UPS! )
  4. Connecting wires ,Berg strips,etc.
  5. 12v 1A+Wall wart.

The Firmware for the ATmega8L micrcontroller was developed with Arduino 0023 and also with Arduino 1.0 (Can be downloaded for your OS of choice from HERE).The GUI for the Windows PC was Developed using the GTK+ toolkit using the python bindings available via pyGTK(Get it from here).The GUI was designed for running on nokia s60 devices using  pyS60.

The arduino Firmware

The arduino is an awesome prototyping platform.Churning out prototypes from Ideas is very fast since all the hardware and other functions are pretty much abstracted out and only the Application Logic needs to be implemented.

The Firmware performs the following basic functions.Handle the communication routines,Control the LED brightness for each of the Colors RED,GREEN and BLUE and also be able to display the various sequences of colors of light.

I have a Arduino Duemilanove that came with an Atmega328P processor onboard.The Atmega 328P would have been an overkill for this project so i decided to replace it with an Atmega8L.The mega8 has only 3 v/s 6 PWM  channels and 8K v/s 32K of flash program memory of the mega328.To verify the firmware I set up a simple testbench with three LEDs one each of RED GREEN and BLUE LEDs plugged into a breadboard connected to the Digital pins 9,10,11 of the arduino.These Correspond to the PWM Pins on the atmega8. The Communications with the controller was tested with the standard serial port given by the FTDI interface of the arduino.

Once The test bench was setup I could move on to Actually Writing the Firmware.The Setup section consists of all the PWM pins being set as Output and the Serial Port opened to Communicate at 9600 Baud.The Main while Loop has a Non-blocking delay section in which the Functions are updated at a User changeable delay.The more the delay the more slowly the color transition takes place and viz.This is necessary because if a delay is not present then the transitions would be so fast that it would appear as if the LEDs are blinking.I have NOT used the default delay function of the arduino library because of it blocking nature(Here’s a good article about Non-blocking code).The delay would block the processor by executing a number of instructions with a known execution time to get the specified time delay and only then execute the next instruction.This blocking delay would cause problems when data arrives at the serial port and the processor is busy executing the delay.Hence the data will be missed by the processor or will be processed only when the delay loop completes execution thus introducing lags between the user giving input and the suitable function being executed.Non-blocking Delay is hence used to prevent these problems and to provide reliable communication.And Precisely for this reason I have avoided Blocking codes in my Firmware.

The CellPhone GUI

The Cellphone GUI is a  pyS60 script with five consecutive dialog boxes for mode selection,red value,green value,blue value and the update delay value  respectively.The mode selection selects one of three modes.Mode 0 is the default mode  will fire up if no bluetooth device is connected for control .In this mode the entire colour spectrum is traversed starting from red end of the spectrum.The transition goes on in a infinte loop.Mode 2 is a mode where each color namely Red,Green,Blue and White Respectively “breathe” i.e. the intensity of each color goes from zero to maximum and back to zero.Check out the Video to see it in action.The Mode three is the Color Chooser Mode. In this mode the User can choose the color.Set the value of the respective color from 0 for completely off to 255 for fully bright.

Also the Update delay can be set in milliseconds.This is used for setting the Delay Between Each color transition.the more the dealy the more slower will be the colour change. An update delay of around 5 to 20 milliseconds has a pleasing effect.

[Screenshot]The Pys60 Script Running on my S60 3rd Edition Nokia N78.

The PC GUI.

The PC gui was created Using PyGTK and UImanager Tools for GUI Creation. The PC GUI runs well on Windows (and probably also on Linux).I have tested it on my Windows Seven Home Premium 64-bit laptop .For Running the Application on Linux Small Amount of changes will have to be made ,Like changing the serial port label(on linux the PORT variable would be something like  dev/ttyUSB0) etc. But other than that it would work fine on linux too.The GUI has three sliders for Color selection and a Bunch of radio Buttons for Mode selection.The Sliders are active only in the color selection mode.Check out the Source code included in the Zip file attached

[Screenshot]The Python Gui running on A win7 Home Premium x64 Machine

Hardware Design

the Hardware basically consists of a Atmega8L Microcontroller (with an Arduino Bootloader on-board which i have  included in the sources.zip file) and three  IRF640 N-channel MOSFETs ,One Each for Driving Each  Color on the RGB LED strip .There’s also Lm1117 3.3V power regulator for powering up the Logic and a Berg connector for connecting the RX,TX,GND and VCC lines of the Bluetooth Module with the Atmega.I did Not make a schematic since i did not want to etch a PCB.Instead i just built the entire circuit on a perf-board and used flexible wire to build the circuit.The Entire Circuit is designed to be powered by an 12V DC Supply.I checked the Power  Consumption of the entire circuit with a Multimeter and it was found to be around 1Amp.I used a 12v 2 Amp SMPS based supply.

I made My prototype on a perfboard here’s a Pic of the Top Side.

And the Bottom Side

Working on a PCB using toner tranfer technique to finalise the prototype. All the Python Source Codes and the Hardware schematics and the Layout Diagrams in Eagle Format are included in the attached Zip File .Feedback is appreciated!(Note:a ULN2803 and a 7805 are some extra components on the PCB shown above that i tried out during testing.But are not necessary in this circuit).

Here are some pics of the project in action.

Download all the required Source codes and the hardware design files from here.

UPDATE: Uploaded all the source Code to github

Adding Bluetooth To your Microcontroller projects

Bluetooth has become Ubiqutios these days Bluetooth Wireless technology is present is Most mobile phones today as well as in laptops and in desktop PCs.And If your PC or laptop doesn’t have it then you can get a Bluetooth USB dongle for cheap(like 2-3$ )!

Wouldn’t it be interesting if your mobile phones /PCs could talk to your Micro-controller Projects??

Lets find out how to add Bluetooth capability easily to your existing Micro-controller projects with out many hardware or software changes.

Bluetooth has many ‘profiles’ for communication with various kinds of devices.The profile in which we will be interested in is the Serial Port Profile or SPP for short.This profile simply emulates a standard Serial port over a wireless bluetooth link.

I was working on a arduino project and wanted to eliminate the wired connection to the arduino form my laptop.The laptop had a GUI running which sent data over a serial COM port to the arduino.I got a Bluetooth module from Lamington road,Mumbai for around 850 INR. You could find it for less on ebay or something.The model number of the bluetooth module is AUBTM-20 .Its  a Class 2 Bluetooth SPP module (Class 2 meaning that its range is around 10 meters/ 30 feet).

I added a relimate connector to make it easy to connect it a breadboard or to connect jumper wires.I had the following connections on the module taken to the connectorGND,VCC and the RX and TX connections of the serial port.

Step one : Test the module

Just power up the Bluetooth module(I Fed in power to the Bluetooth Module from the 3.3v output of my arduino ) and scan the bluetooth devices on your PC/laptop.If everything’s done correctly you will be able to find a bluetooth device named AUBTM-20 or something simliar.You will be asked for a pairing code in case of the above model (AUBTM-20)it is 8888 but it might be different if you are using a bluetooth module from another vendor.On my WINDOWS 7 Laptop it showed up as “AUBTM-20” under devices and printers.

Right Click on the device name in the devices and printers folder under the hardware tab .You will find a Standard Serial over Bluetooth Link and the COM port number writeen in brackets. Note down the COM port number.This completes the Basic test.

Step Two: Verify The COM link.

you will need to verify if you are able to send and receive data over the serial port to be able to use the device in your project for that. I used the FT232RL USB to serial converter chip on-board the arduino. But remember to remove the ATmega processor chip from the socket.(You’re out of luck if you have one of those SMD versions of the arduino 😦 .In this case you will need to get hold of a 3.3V power source such as the lm1117-3.3 and a FT232RL breakout board from here or here ) before you connect the bluetooth module to the arduino. Now Connect the RX line of the Bluetooth module to the TX line of the FT232RL module or you arduino DIgital Pin 1 and the TX line to the RX line of the  module or to that of the arduino.

Now open a terminal application such as TeraTerm (You can download it from here) select the serial port on which you connect your arduino/FT232 module(you can get the com port number of the FTDI device in the device manager under COM ports -> USB serial Port).Open a terminal with the COM port number of the The FTDI device and set the baud rate to 9600 ,8bit -data,Parity- none,1 -stop bit,Flow control -None.

Now open another COM port,this time with the for the serial COM port of your bluetooth device that you had noted down in the first step. The settings of this COM port will also be the same as above FTDI device. IF all the connections are proper and the link is established then anything you type in the FTDI COM terminal should appear on the Bluetooth COM terminal and vice-versa

The +CON:1 is something that the Bluetooth module gives out on the COM port whenever a device is connected .This Proves that the device can successfully communicate over the serial port

Step Three: Finally connecting the Bluetooth module to the Micro-controller.

Here’s a quick arduino script to verify everything’s fine .

void setup() {
  Serial.begin(9600);      // open the serial port at 9600 bps:
}

void loop() {
    if( byte( Serial.read() == 'a' )) {
        Serial.print("\nHey!");       // print Hey
    }
}

Just open the arduino IDE and open the serial terminal.Set the COM port number that you noted down in the First Step and the baud rate to 9600. Just type an “a” without the quotes  in the terminal and you should get a reply with a ‘Hey!’.A word of caution the Bluetooth module works at the CMOS voltage range of 3.3V and can take only upto 3.7v max so while interfacing with TTL level devices such as the ATmega8/168/328 of the arduino level conversion will be required (check out this app note from NXP).I chose to use the 3.3v Level Atmega8L instead since the device can work at 3.3V no level conversion would be required.This is the final device that i made uses the LM1117-3.3 as the power regulator to regulate the 12v from the wall wart.

For microcontrollers such as LPC1768 and LPC2148 which run at 3.3v levels no level conversion or modification would be required at all.All that would be needed to be done is to connect the rx,tx and the ground lines of the Microcontroller to the Bluetooth module and you would have  a Bluetooth enabled microcontroller project!


The board was first designed with the Atmega8 then i added the 3.3v regulator and switched over to the Atmega8L.The Mosfets and other devices onboard are for another project that i’m currently working on.Will Post about the project in my next post.Post in the Comments below what you think about it !