FreePCB Build: MSP430F5310 Breakout Board from Dangerous Prototypes

Quite a while back, I got a FreePCB Coupon from Dangerous Prototypes. It took me a while (2 weeks to be precise ) to figure out what exactly what i might be able to build based on the limited inventory I possess. Finally, i found this gem in their FreePCB Drawer. It was a MSP430F5310 breakout board. I have been lately trying to learn to use MSP430. So, it would be a great pick. Also the IC can be sampled from TI and all other components were passives.

Plus it had quite a few other breakouts panelled together which maybe an SD Card breakout etc.

I went to the blog mentioned, to find out these were originally picked up from India 😀   World is a small place..But unfortunately coudn`t find the link to the git which i found later after a random search on DP.

This is the article and the comment by Boseji to his git repo for the project that was extremely useful in building it!

So, finally i ordered it and after a few weeks i received a mail(package) from Ian from dangerous prototypes in my mailbox.

DSC05341

It was a very beautiful PCB with a green solder mask, white silkscreen and all pads tinned. It seemed to be 1.6mm FR4.. Beauty!!

It was furnished by Seeedstudio`s Fusion PCB service. I then quickly sawed away the unwanted parts and filed the edges with a Dremel to extract my share out of the bounty!

DSC05470

In the meantime , i had already sampled F5310 from the estore now. This was probably the first( or maybe second) time i was to solder an SMD and the first time for a QFP Package. I looked up a few tutorials on youtube for drag soldering , but that didnt work for the first time.. 😦
So, i worked out a better trick i tinned the pads very finely to get some solder on it and then placed the IC, cleaned the tip,injected some liquid flux and applied some heat and pressure from my soldering iron and voila, all pads soldered correctly! Just to make everythings correctly done..i checked the continuity quite a few times .. I got a bit carried away and clicked a whole bunch of pictures! 😀

DSC05522

DSC05518

Now, came another trouble, NO SMD COMPONENTS FOUND !! The local dealers wont sell me small qty of caps or resistors! What am I gonna do with 5000 Reel and that too of the same value? (Although a bit later after completing the board somebody told me about another dealer selling them in quantities of 100 at a 10X cost) .  Battling the question for a few days i found out a neat trick to bend the through hole resistors to get them to fit on the pad, the same goes for the caps!
So, here is the completed board,

DSC05527

DSC05529

Some pads are vacant as they just had some caps in place.. i used some of higher values to compensate for them! 😀

DSC05618

Here is the Youtube video of the blink demo running on it! The board was programmed using SBW protocol using Launchpad as a SBW Programmer!

Thanks Dangerous Prototypes for sending this through.. It was a really nice experience building one!

Cheers,

Indian Tinker!

Tiano-MSP430 based TouchScreen Piano

Touchscreens..huh.. They are all around us..Phones ,tablets, phablets and now even laptops. Most of them have a capacitive touchscreen where the change in capacitance at a point is used to sense it and then perform the corresponding action. Capacitive ones are multi point sensing. They sense more than 2 points and hence we get those pinch to zoom features etc.

On the other hand , almost archaic version on touchscreen is the resistive version. That are pretty easy to interface with almost any microcontroller with an ADC. In this project i did over the weekend i tried to interface a touchscreen ( resistive one..) ,available at mobile repair shops in Delhi with a MSP430G2553 (Although MSP430G2231 would also do)  to make a piano.

Touchscreen setup

Pre-requisites: The touchscreen may not be easier to get. I got mine from a mobile repair shop in LR. It is a 4-wire Touchscreen, pretty common with horribly thin contacts that took a lot of patience to solder.There is a lot of literature available on Touchscreens on the internet. I found two app notes that were best. First one from Atmel , that explained the working of the touchsreen in a pretty clear way and one from TI that some what helped in the software part.

You must read the atmel one ( atleast the first few pgs to get how it works). Its essentially a resistive voltage divider. The value of the touch point is determined by the ADC value read.

formula

From the illustration above(borrowed from TI App Note). One can easily see how the co-ordinates are read. In order to find out, what wire on your touch sreen corresponds to X and Y meshes. You can use a multi-meter first to measure the resistance between pins ,usually the alternate pins belong to same axes. in my case it was X-,Y-,X+,Y+  then to differentiate between x and y , one probable method will be to power the touchscreen i.e. giving the drive voltage and then find out the voltage at any other terminal w.r.t. ground and see whether is changing horizontally or vertically in your reference plane.

CAUTION: Be careful about the current while powering the touchscreen externally!

After this coding part is pretty simple. For the algo refer to page no.7 on the TI App Note. If you plan to run your end application on a battery and you have hard-coded the co-ordinates and the Vdrive is sourced externally i suggest that you sample the Vdrive as well . If you are using  microcontroller pins to supply Vdrive then this can be neglected.

I have a desire to learn to play music but unfortunately due to my low patience levels , i have failed to keep up. 😀

So, i made this Piano using the MSP430 Launchpad and a touchscreen along with a speaker. The code algo is pretty same as TI App Note Suggests and i encourage the reader to code it himself . Any difficulties can be discussed. It uses the tone library i posted earlier to generate the solfeggio.

Here is the shaky and horrible video i made:

Cheers! 😀