Jump to content


Photo

43oh Nokia 1202 LCD Display BoosterPack


  • Please log in to reply
74 replies to this topic

#41 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 18 June 2013 - 10:10 PM

Got my sample of the new design! Thanks bluehash!

Found one minor glitch upon inspection--the "solder jumper" for SPI MOSI has the GND plane infiltrating the solder-unmask window around it. Be careful when cutting that trace that you don't accidentally short it to GND. Will fix that for a next revision.

Going to take high-res pics when I get the chance and produce documentation on how to use the rats nest of pads & jumpers on the back :grin:

edit: Also the silkscreen box framing the LCD position needs to be shifted 1mm, updating my pattern.  (just tried lining up one of my displays to it)

Sent from my Galaxy Note II with Tapatalk
 


  • bluehash likes this

I made some 43oh Store gadgets

Also see my Tindie store


#42 bluehash

bluehash

    Site Admin

  • Administrators
  • 6,429 posts

Posted 18 June 2013 - 11:52 PM

@spirilis If you could post pics of the different configs.. I can do up the wiki page for you.


  • spirilis likes this

43oh - MSP430, TivaC, ARM-Sitara and C2000 Discussion, News, Projects and Hacks

 

 


#43 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 19 June 2013 - 05:29 PM

Work so far on documentation:

 

Attached File  nokia1202v21_annotated_smdpads.jpg   182.52KB   18 downloads

Attached File  nokia1202v21_annotated_backlight_options.jpg   190.18KB   14 downloads

Attached File  nokia1202v21_annotated_spimosi_options.jpg   196.39KB   15 downloads

Attached File  nokia1202v21_annotated_switchhwdebounce_options.jpg   174.08KB   14 downloads

Attached File  nokia1202v21_annotated_lcdreset_options.jpg   187.63KB   17 downloads

 


  • bluehash likes this

I made some 43oh Store gadgets

Also see my Tindie store


#44 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 20 June 2013 - 02:35 AM

Pics of the boosterpack all built out-

 

 

Attached File  nokia1202_newv21_builtfront.jpg   279.66KB   20 downloads

Used hot glue to secure the LCD.

 

Attached File  nokia1202_newv21_builtback.jpg   308.02KB   23 downloads

Wasn't too bad.  The pads used for the transistor's resistors and the switch-debounce resistors are close enough for 0603 but large enough for 1206... barely (need some flux to make the solder reflow up around the pads) but it works.  Probably ideal for 0805.

 

Managed to take a 1x3 right-angle PTH header and bend it into a right-angle SMD header and use that for the SPI MOSI.  Very nice having it that way (good call @mbeals !).  I opted to forego the backlight-ON header (mainly cause I couldn't repeat the PTH-rightangle to SMD-rightangle trick again without destroying a 1x2 header set) but no biggie, P2.5 still does the trick.

 

I like having P2.3-P2.5 used for this since P2.0-P2.2 is used by default for my Nordic boosterpack and probably others.  Should stack up cleanly.

 

Verifying it works in USCI mode with a G2553 and the test_terminal.c from the terminal/ subdir of my msp1202 library -- https://github.com/spirilis/msp1202

Attached File  nokia1202_newv21_working.jpg   127.68KB   15 downloads

 

I did find that the contrast is a bit heavier on this one, though that has nothing to do with the board and everything to do with the LCD.  Every one's gonna be different I guess.  I manually added a call to ste2007_contrast(8); to lower the contrast (default is 16, range is 0-31)

 

Code for that:

#include <msp430.h>
#include <stdint.h>
#include "chargen.h"
#include "usci_spi.h"

int main()
{
        WDTCTL = WDTPW | WDTHOLD;

        DCOCTL = CALDCO_16MHZ;
        BCSCTL1 = CALBC1_16MHZ;
        BCSCTL2 = DIVS_1;  // SMCLK = DCO/2 (8MHz)

        //__delay_cycles(8000);  // Short delay to let the LCD wake up -- turns out this isn't necessary
        // Chip select
        P2DIR |= BIT0;
        P2OUT |= BIT0;  // Drive it high to disable LCD
        // Backlight
        P2DIR |= BIT5;
        P2OUT |= BIT5; // Turn on backlight

        spi_init();
        msp1202_init();
        ste2007_contrast(8);
        msp1202_puts("Hi there my\n");
        msp1202_puts("name is Eric.\n");
        msp1202_move(8, 0);

        while(1) {
                __delay_cycles(16000000);
                msp1202_puts("txt 1");
                __delay_cycles(16000000);
                msp1202_puts("txt 2");
        }

        LPM4;

        return 0;
}

void test_chipselect(uint8_t onoff)
{
        P2OUT = (P2OUT & ~BIT0) | (onoff & 0x01);
}

  • larsie likes this

I made some 43oh Store gadgets

Also see my Tindie store


#45 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 20 June 2013 - 02:48 AM

Pushbuttons with HW debounce work well:

#include <msp430.h>
#include <stdint.h>
#include "chargen.h"
#include "usci_spi.h"
#include "lcd_printf.h"

int main()
{
        WDTCTL = WDTPW | WDTHOLD;

        DCOCTL = CALDCO_16MHZ;
        BCSCTL1 = CALBC1_16MHZ;
        BCSCTL2 = DIVS_1;  // SMCLK = DCO/2 (8MHz)

        //__delay_cycles(8000);  // Short delay to let the LCD wake up -- turns out this isn't necessary
        // Chip select
        P2DIR |= BIT0;
        P2OUT |= BIT0;  // Drive it high to disable LCD
        // Backlight
        P2DIR |= BIT5;
        P2OUT |= BIT5; // Turn on backlight
        // Pushbuttons
        P2DIR &= ~(BIT3 | BIT4);
        P2OUT |= BIT3 | BIT4;
        P2REN |= BIT3 | BIT4;
        P2IES |= BIT3 | BIT4;
        P2IFG &= ~(BIT3 | BIT4);
        P2IE |= BIT3 | BIT4;

        spi_init();
        msp1202_init();
        lcd_printf("Hi there my\n");
        lcd_printf("name is Eric.\n");
        _EINT();

        while(1) {
                if ( (~P2IN) & (BIT3|BIT4) ) {
                        if (!(P2IN & BIT3)) {
                                lcd_printf("S1 pressed\n");
                        }
                        if (!(P2IN & BIT4)) {
                                lcd_printf("S2 pressed\n");
                        }
                }
                LPM4;
        }

        return 0;
}

void test_chipselect(uint8_t onoff)
{
        P2OUT = (P2OUT & ~BIT0) | (onoff & 0x01);
}

#pragma vector = PORT2_VECTOR
__interrupt void P2_IRQ (void) {
        if (P2IFG & (BIT3|BIT4)) {
                P2IFG &= ~(BIT3 | BIT4);
                __bic_SR_register_on_exit(LPM4_bits);    // Wake up
        }
}

Tested this code, no bounce, every button registers exactly 1 line of text.

 

Yeah, I guess I like my toy :)  Time for some project ideas using this & a menu system or something.


  • bluehash likes this

I made some 43oh Store gadgets

Also see my Tindie store


#46 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 29 June 2013 - 12:35 PM

FYI- I have a new version of the design that shifts the connector over a millimeter or so to make the display better centered on the board.  Will post that revision soon (currently not at my netbook atm).


I made some 43oh Store gadgets

Also see my Tindie store


#47 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 01 July 2013 - 02:22 PM

Version 2.2 update shifts the connector 1mm to the right so the LCD is better centered (found this minor glitch when I soldered a new LCD onto the v2.1 bpak), and the ground plane no longer intrudes on the SPI MOSI solder jumper so it's easier to cut.

 

Attached File  the1202_top.png   110.02KB   20 downloads

 

Attached File  the1202_bottom.png   196.36KB   13 downloads

 

Attached File  the1202_bottomcopper.png   134.16KB   14 downloads

 

Seeed/ITead/Elecrow gerbers: Attached File  Elecrow_Nokia1202_v2_2_5x5.zip   57.9KB   33 downloads

OSHpark gerbers: Attached File  OSH_Nokia1202_v2_2.zip   58.33KB   28 downloads

 


I made some 43oh Store gadgets

Also see my Tindie store


#48 larsie

larsie

    Level 2

  • Members
  • 273 posts


Posted 06 July 2013 - 07:41 PM

Nice project. Would it be possible to fit 4 buttons in a future version.

Is a transistor really needed for the backlight? Cant you run it straight from the mcu?

Lars

#49 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 06 July 2013 - 07:53 PM

Nice project. Would it be possible to fit 4 buttons in a future version.

Is a transistor really needed for the backlight? Cant you run it straight from the mcu?

Lars

You probably could.  I was being on the safe side I guess... I think the original thread from dangerousprototypes they said the backlight will draw 20mA with no limiting resistor, so that is a good case for using a transistor with the MSP430 at least.  Reasonable ~500ohm limiter puts it in the 8mA zone I think, still probably a good idea with the MSP430's pins...


I made some 43oh Store gadgets

Also see my Tindie store


#50 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 06 July 2013 - 08:29 PM

Erm, actually I don't know what value resistor they used to get 8mA...

Sent from my Galaxy Note II with Tapatalk


I made some 43oh Store gadgets

Also see my Tindie store


#51 larsie

larsie

    Level 2

  • Members
  • 273 posts


Posted 06 July 2013 - 08:56 PM

On the display board I made, I used a transistor first, but then realized later I could just run it directly from a pin, through a limiting resistor.

The reason I am asking for more buttons is that this looks like a good board to replace the one I made earlier, but may not make any more. The lcd I used is similar size and quality, but has to be bought in obscene minimum quantities. It was quite popular, so good for the community if this can replace it. I had one button and one touch option, and I thought maybe I could make a touch extension board to attach on top of yours. To allow use of cap touch buttons instead if tactile ones.

Then I would need 4 pins broken out from your board, preferably all from port 2, and could design some different types of touch pads to attach onto your board.

#52 larsie

larsie

    Level 2

  • Members
  • 273 posts


Posted 06 July 2013 - 09:03 PM

Did you try pressing the fpc connector on, without soldering? Would it work if some screw and a plate to push them on to the board? Would make production very simple...

#53 rockets4kids

rockets4kids

    Level 3

  • Members
  • 490 posts

Posted 06 July 2013 - 09:28 PM

Note that voltage droop can be quite serious when you draw more than a few mA from a MSP430 pin, particularly when running at lower supply voltages.



#54 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 06 July 2013 - 09:59 PM

Did you try pressing the fpc connector on, without soldering? Would it work if some screw and a plate to push them on to the board? Would make production very simple...

I'll bet you it would work.  I thought of trying but I soldered up both of my boosterpack boards already :-D


I made some 43oh Store gadgets

Also see my Tindie store


#55 spirilis

spirilis

    Level 5

  • Members
  • 2,996 posts


Posted 06 July 2013 - 10:00 PM

On the display board I made, I used a transistor first, but then realized later I could just run it directly from a pin, through a limiting resistor.

The reason I am asking for more buttons is that this looks like a good board to replace the one I made earlier, but may not make any more. The lcd I used is similar size and quality, but has to be bought in obscene minimum quantities. It was quite popular, so good for the community if this can replace it. I had one button and one touch option, and I thought maybe I could make a touch extension board to attach on top of yours. To allow use of cap touch buttons instead if tactile ones.

Then I would need 4 pins broken out from your board, preferably all from port 2, and could design some different types of touch pads to attach onto your board.

I gotcha ... Do you have a link to some pics and schematic for the old board?  Did it fit the TI boosterpack standard or was it a different kind of board?

 

edit: Hmm, yeah, thinking more about that now.  Could probably work out a boosterpack with 4 buttons and 5 PTH pads (4 lines + GND) around the pushbutton area to replace it.


I made some 43oh Store gadgets

Also see my Tindie store


#56 larsie

larsie

    Level 2

  • Members
  • 273 posts


Posted 07 July 2013 - 05:37 AM

Std boosterpack. You can see pics on http://lars.roland.bz/lcd but also her on 43oh.com. They were sold in the store. I am on a phone now, so difficult to find the right links. During design, I also wondered if I should have gone for a tactile joystick. They are quite cheap at dx.com, but four tactile buttons are cheaper.

I think a cap touch addon board which raises the touch board a few mm and makes the display and touch pads at the same level is a good idea when mounting inside a box. See the 43oh thread on my display board for pictures of box mounting.

I have some touch test boards at home and will try with your board when I sm back from holiday. But having 4 pinouts would have been better for me, as I could then use 4 separate buttons.

#57 larsie

larsie

    Level 2

  • Members
  • 273 posts


Posted 07 July 2013 - 05:40 AM

4 pth plus ground as you suggest would be ideal. But I have had issues with port 1 for touch, so if you can spare 4 pins from port 2, I know that will work.

Edit: the closer to the display the 5 pth are, the better, I think. Then the 5 pth can be on top of the touch board and not in the middle of the buttons. Not sure what is easy for you yo design in.

Edit 2: screw holes on each side of the display connector would make it easy to test if a press-on solution is sufficient instead if soldering.

#58 RobG

RobG

    Level 5

  • Members
  • 2,999 posts
  • LocationCary, NC, US


Posted 19 July 2013 - 02:21 AM

My version of 1202 BP

 

Attached File  photo-2 10.13.05 PM.jpg   73.19KB   11 downloadsAttached File  photo-1 10.13.05 PM.jpg   70.22KB   12 downloads


  • spirilis and reaper7 like this

#59 reaper7

reaper7

    Level 1

  • Members
  • 83 posts

Posted 19 July 2013 - 05:03 AM

@RobG - OT - can You betray the secret about buttons connections?

As I think they are connected to analog pin?

Can You show the scheme with Your resistors value?

 

tnx!



#60 abecedarian

abecedarian

    Level 4

  • Members
  • 1,423 posts
  • LocationLake Elsinore / Temecula, California, USA


Posted 19 July 2013 - 06:47 AM

@reaper7 I think it's a resistor ladder of sorts where each button presents an odd resistance such that it can be determined which button(s) are pressed even when multiple buttons are pressed.


Over here, doing "over here" things.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users