Jump to content

Search the Community

Showing results for tags 'launchpad'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 156 results

  1. Hello, I guess there is no TI Launchpad component in Fritzing software.. I know that svg file of launchpad has been made. http://www.43oh.com/2011/07/launchpad-svg-for-fritzing/ However does anyone know how to use this svg in Fritzing? Thanks, Sirri edit: No one is using this good free program ?? : /
  2. I'm trying to build a distance sensor using an IR Led, and a TSOP receiver that is run by my stellaris launchpad. However, I am not sure how to produce the 38KHz that is needed to drive the transmitter, and I'm unsure about how to run the transmitter, and read the receiver at the same time. Any help is appreciated!
  3. The same question is posted on reddit here: http://redd.it/18bkdl We are meeting with our project sponsors tonight and would love to have some kind of answer as to what's going on with our power draw. We are using an MSP430 Launchpad to develop a small project to be powered by a solar cell. Eventually we will have a single hardware interrupt, and a 30 Hz counter interrupt to update an LCD. We have estimated our power budget to be around 20 micro Watts. Oddly, with the software I have written and provided below, we are getting around 30 micro amps at 2.2V when we separate the MSP from the board. Stranger still, no matter if we try to fully load the processor, or just drop it into LPM4 we always get roughly the same power draw which doesn't make sense. I'm hoping you redditors can either find a problem with my code or how we are testing power draw. We are using the LEDs to confirm functionality of the interrupts, and then we detach the MSP from the board to test power. I have tried to comment the code well, if anything is unclear I'll try to explain. Thanks! #include <msp430g2553.h> #define greenLED 0x40 // BIT6 #define redLED 0x01 // BIT0 #define TRIGGER 400 // VLO interrupt delay. Base frequency is 12kHz. void main(void) { //Set up system clocks WDTCTL = WDTPW | WDTHOLD; // Stop WDT BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0; // DCO clock with divide by 1 if (CALBC1_1MHZ != 0xFF) { DCOCTL = 0x00; BCSCTL1 = CALBC1_1MHZ; // Set DCO to 1MHz DCOCTL = CALDCO_1MHZ; } BCSCTL1 |= XT2OFF + DIVA_0; // Disable XT2CLK and set to divide by 1 //Set up port 1 P1DIR = 0xff; // Configure all of Port 1 to output to reduce power consumption //Set up A0 timer and VLO clock source BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1; //Set the ACLK clock to the internal VLO, 6pF cap, low frequency operation. TACCR0 = TRIGGER-1; // Trigger is the timer A count limit. (# of counts until the interrupt fires) TACCTL0 |= CCIE; // Enable timer A interrupt TACTL = TASSEL_1 + MC_1 + TACLR; // ACLK, up mode, clear timer. //Set up LEDs P1DIR |= greenLED; // Set P1.6 to output direction P1OUT &= ~greenLED; // Set green LED off P1DIR |= redLED; // Set P1.0 to output direction P1OUT &= ~redLED; // Set red LED on //Set up Push Button (P1.3) P1SEL &= ~0x08; // Select Port 1 P1.3 (push button) P1DIR &= ~0x08; // Port 1 P1.3 (push button) as input, 0 is input P1REN |= 0x08; // Enable Port P1.3 (push button) pull-up resistor P1IE |= 0x08; // Port 1 Interrupt Enable P1.3 (push button) P1IFG &= ~0x08; // Clear interrupt flag (just to be sure) _BIS_SR(LPM3_bits + GIE); // Enable interrupts } #pragma vector=PORT1_VECTOR // Port 1 interrupt service routine __interrupt void Port_1(void) { P1IFG &= ~0x08; // P1.3 Interrupt Flag cleared P1OUT ^= greenLED; // Toggle LED state } #pragma vector=TIMER0_A0_VECTOR __interrupt void Timer_A(void) { P1OUT ^ = redLED; } power_sim.c
  4. My name is Ivan and I am a 12 year old kid from Canada. I just ordered a Launchpad and a Terminal booster pack. I downloaded the code and imported it into CCS. When ever I try to debug on the Launchpad, it says "Error Connecting to target". I tried connecting to 2 different computers both running different versions of Windows. Could any one help out please? Thanks, Ivan
  5. I bought some addressable RGB Leds from Dealextreme and instead of the expected WS2801 chip, they came with TLS3008 drivers (8bit control for each colour, single wire, different protocol from WS2811 too). It took some time with the osciloscope to get the timing right but this now works perfect. This is in C rahter than assembly but I can get a decent update rate. I do not work with the full 50 Leds as there is not enough RAM in the chip I use (2231) but I tried looping the code to work with the full length, that worked ok except on one set of Leds which was sometimes lagging, I think that this is due to the extra time used by the loop when returning. If all the RGB data is in a table there should be no issue. I will check this when I have a better chip. I am making a kind of light organ - vu meter mix with a short string of 6 Leds and the update on the audio is faster than I need. This is compiled with IAR. Any comments and improvements welcome! H3rv3 // TLS3008 based 6 RGB LEDs string test application for MSP430 // Based on DonJuanito99 for arduino //THIS IS THE WORKING CODE // includes #include "msp430g2231.h" #include "intrinsics.h" // defines #define PULSEUS1 33 // Manchester half period in clock cycles (2.5us) to 1 #define PULSEUS0 22 // Manchester half period in clock cycles (2.5us) to 0 #define PULSEUS2 9 // used for end of command last 0 delay #define EOSYNCDELAYMS 50750 // Pause duration at end of SYNC frame (3.5ms) #define EORESETMS 29000 // Pause duration at end of RESET frame (2ms) #define EOFDELAYMS 5000 // Pause duration at end of each frame (of 50 LEDs RGB data) (0.35ms) #define UP 0x00 #define DOWN 0x01 #define HOLD 0x02 // variables //all reds //unsigned char RGBTable [18]={0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00}; //one color each //unsigned char RGBTable [18]={0xFF,0x00,0x00,0x0F,0x00,0x0F,0x00,0x00,0xFF,0x00,0x0F,0x0F,0x00,0xff,0x00,0x0f,0x0F,0x00}; //all off unsigned char RGBTable [18]; int i; int bc; char led_red = 1; char led_green = 255; char led_blue = 1; char red = UP; char blue = HOLD; char green = DOWN; // routines void reset(void); // sends reset frame void sync(void); // sends sync frame void frame_start(void); // sends emty data frame (last bit, out of procedure delay) void updateRGB (void); // sends the data to the leds void bitc(char); // bit sending procedure to send commands void bitd(char); // bit sending procedure to send data void main(void) { //pin setup output and 0 P1DIR |= BIT0; P1OUT &= ~BIT0; //Stop watchdog timer WDTCTL = WDTPW + WDTHOLD; //Set clock at 16MHz DCOCTL = DCO0 + DCO1; BCSCTL1 = RSEL0 + RSEL1 + RSEL2 + RSEL3; //Disable interupts __disable_interrupt(); // initialising strings reset(); sync(); reset(); sync(); reset(); sync(); while(1) { // reset(); // not required in this loop, consider regular reset // sync(); // not required in this loop, consider regular re-sync // send the data to the string updateRGB(); // the code below is just for the show while (P1IN & BIT3) {} //fade logic switch (red){ case UP: ++led_red; if (led_red == 255) {red = DOWN; green = HOLD; blue = UP; led_green=0;} break; case DOWN: --led_red; if (led_red == 0) {red = HOLD;} break; case HOLD: break; }//end switch switch (blue){ case UP: ++led_blue; if (led_blue == 255) {blue = DOWN; green = UP; red = HOLD;led_red=0;} break; case DOWN: --led_blue; if (led_blue == 0) {blue = HOLD;} break; case HOLD: break; }//end switch switch (green){ case UP: ++led_green; if (led_green == 255) {green = DOWN; red = UP; blue = HOLD;led_blue=0;} break; case DOWN: --led_green; if (led_green == 0) {green = HOLD;} break; case HOLD: break; }//end switch RGBTable [0]=led_red; RGBTable [1]=led_green; RGBTable [2]=led_blue; RGBTable [3]=led_blue; RGBTable [4]=led_green; RGBTable [5]=led_red; RGBTable [6]=led_red; RGBTable [7]=led_blue; RGBTable [8]=led_green; RGBTable [9]=led_blue; RGBTable [10]=led_red; RGBTable [11]=led_green; RGBTable [12]=led_green; RGBTable [13]=led_blue; RGBTable [14]=led_red; RGBTable [15]=led_green; RGBTable [16]=led_red; RGBTable [17]=led_blue; } //end while } // end main() void updateRGB(void) // send the RGBTable data to the string { frame_start(); // prepare to send data __delay_cycles (PULSEUS0-4); for(i=0;i<18;i++) // Repeat for 6 leds * 3 data blocks { // Start tag (= 0 bit) P1OUT &= ~BIT0; // set to 0 __delay_cycles(PULSEUS1); P1OUT |= BIT0; //set to 1 __delay_cycles(4); for (bc=0x80;bc!=0;bc>>=1) bitd( RGBTable[i] & bc ); // send the 8 data bits __delay_cycles (6); } P1OUT &= ~BIT0; __delay_cycles (EOFDELAYMS); //pass value from chip to LED (=send a complete frame start) frame_start(); __delay_cycles (PULSEUS1-3); P1OUT &= ~BIT0; // write a low __delay_cycles (EOFDELAYMS); } void bitd(char { if (b==0){ P1OUT &= ~BIT0; // set to 0 __delay_cycles(PULSEUS1); P1OUT |= BIT0; //set to 1 __delay_cycles (4); } else{ P1OUT |= BIT0; // set to 1 __delay_cycles(PULSEUS1); P1OUT &= ~BIT0; //set to 0 __delay_cycles (4); } } void bitc(char { if (b==0){ P1OUT &= ~BIT0; // set to 0 __delay_cycles(PULSEUS1); P1OUT |= BIT0; //set to 1 __delay_cycles (PULSEUS0); } else{ P1OUT |= BIT0; // set to 1 __delay_cycles(PULSEUS1); P1OUT &= ~BIT0; //set to 0 __delay_cycles (PULSEUS0); } } void sync() { bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(0); bitc(0); bitc(0); bitc(1); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); bitc(0); __delay_cycles (PULSEUS2); // additional delay on last 0 P1OUT &= ~BIT0; // now set to 0 __delay_cycles (EOSYNCDELAYMS); // end of sync frame delay } void reset() { bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(0); bitc(1); bitc(0); bitc(0); __delay_cycles (PULSEUS2); // additional delay on last 0 P1OUT &= ~BIT0; // now set to 0 __delay_cycles (EORESETMS); // end of reset frame delay } void frame_start() { bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(1); bitc(0); bitc(0); bitc(1); P1OUT &= ~BIT0; __delay_cycles(PULSEUS1+9); P1OUT |= BIT0; //set to 1 // last 0 bit has no delay (delay will be set outside due to procedure return delays) }
  6. Hi, Thanks to the tips on 43oh.com I just managed to use my launchpad to program a 2553 on a breadboard. My code deployed fine and ran without issues, but I noticed something slightly different when I was finished testing. The chip stopped running the code as soon as I terminated the debug session. Normally, when the debugger is connected to a chip on the launchpad's emulation section, terminating just detaches the debugger. Assuming the debugger wasn't paused or on a breakpoint the chip continues to run the code uploaded to it. Could I have done something on my breadboard that's causing the chip to reset as soon as the debugger detaches? I have a 47k pullup resistor and 1nF pulldown cap on RST, and am connecting the launchpad to the breadboard with wires from J3 and J6. Thanks! EDIT: Ignore me! I just realised that I'd connected the decoupling capacitors all kinds of wrong. I think the 2553 must have been running on parasitic power from one of the programming pins!
  7. look at the photo. do you think it is launchpad powered? : )
  8. Hello everyone, I am an absolute newbie to programming with the msp430. I am looking through tutorials as to understand more about the launchpad and what it will take to accomplish what I want to do. I have done all of the basic tutorials like "blinking the led" and whatnot. I will run down exactly what is going on. At the moment I have a launchpad(2553) at home with me now and a brand new cc4000-tc6000 gps module kit. Right now, I am trying to get my Launchpad talking with the cc4000 module. I have looked into the user experience code, which is made for the MSP430F5529 Experimenter's board and cc4000 combo. It says porting to any msp430 should be relatively easy following the procedure on the page. I am just confused on how to connect the launchpad and the cc4000. The pin layout has duplicate RX and TX and I am not sure the function of having duplicates and if I have to connect those. I have soldered on wires to the launchpad. I am just starting at the beginning. I will post as I get further along. Thank you for your time, Matt
  9. Hi all well I got a problem with my Serial comunication, when I conect my launchpad with the jumpers in the default (software uart position) parallel like: || || || || almost everything works ok, i can programm my launchpad with energia I can see the Serial port is right But when i try to test the serial comunication with de serial monitor it can not send anything or recieve. then I desconect and change the jumpers for a Hardware UART like: = || || || then i conect my launchpad and i can not see my serialport name on energia and can not open the serial monitor. Im working on UBUNTU 12.04 Any Ideas? thanks. Valery
  10. Hello MSP430 coders once again i am working on the latest thing such as take input from the Hyper terminal or Putty, and display it in jhd162a (16x2 display) via MSP430G2231 I successfully finished 1. UART with Hyper-terminal 2. Displaying String to JHD162A the problem i am facing in g2231 is .. i am able to print String only like .............taking example printf("Hello this is launchpad"); but i want to make it print like int i = 0; for(i=o;i<=200;i++) ( printf("The number is : %d ", i); ) i am giving you scenario so i take the printf Example .. used code for printf is inline void printf(const char *str) { P1OUT |= BIT6; // green led uint i; uint len = strlen(str); for (i = 0; i < len; i++) { // wait for TXBUF to complete last send... // UCA0TXIFG is high when UCA0TXBUF is empty while (!(IFG2 & UCA0TXIFG)); UCA0TXBUF = str; txbytes++; } } need your suggestions
  11. I'm new to 43oh, but I've read threads here a number of times and it has been a great reference. I wanted my own application board with a built-in programmer, so I designed the application board, and used the launchpad schematics (v1.4, I believe) as the programmer. I have printed the board and populated it. I've been looking around, and I am not actually sure how to program the firmware onto the board. I know that TI has its "firmware updater," but I think this requires that the board already has firmware loaded onto it. The programming portion of the launchpads have a programmer MSP430 and an EEPROM. I would be more or less comfortable programming the MSP430 (at the very worst, by using a pre-built Launchpad), but I'm not sure if there is anything special I need to do to program the EEPROM. I see that some people have made their own launchpads (links below), but they make no mention of loading the firmware. Is there a guide to how to load the firmware onto the Launchpad from scratch, or could someone give me some pointers? Any help would be appreciated. Thanks! http://forum.43oh.com/topic/1605-diy-proto-launchpad/ http://forum.43oh.com/topic/1599-diy-mini-launchpad/
  12. Hi all! Yesterday I finished with my little project, which was to play ring-tones in rtttl-format (Ring-Tone Text Transfer Language) with MSP430G2231. I thought that some of you might be interested about the project and about the code. Code is "built" from arduino sketch which involves Tone Library and the sketch acts as a interpreter for the rtttl "code", but also the code is partly made of 'msp430 LaunchPad Music' made by Bob Somers. So this is a kind of a ported code. Here's how it works. Main part of the rtttl-player (as the CCS project is named) is the play_rtttl(*song) function, which reads the song in RTTTL-format. After the function has decoded each note, the note's frequency is selected from the lookup table and it's length is calculated. These two values (note-freqyency in timer ticks, note-length in ms) are then forwarded to PlaySingleTone(...)-function, which sets up the timer and a delay which they together produce a notable sound from the speaker. Speaker might be any low-power speaker (since MSP430G2231 doesn't have much kick to drive larger speakers) or a piezo-speaker, as in my case i used a piezo-speaker. Speaker can be connected to any of the pins in mcu, since timer A causes only interrupt when capture/compare register value is detected. Inside the interrupt the port pin is toggled. You can see or preferrably hear how this little bug plays a MacGyver theme, here's a link to my youtube video: So with the msp430g2231 chip you can play about 45 sec long song (of course it depends on the song and it's tone lengths). Couple of things which were problems during the project: 1. Sounds were at the beginning very wrong, they had different frequency of what it should have been (it hearded like the sounds were inverted each note). This was due to defines in the code. Because this was originally an arduino skecth, the defined note-values (like #define NOTE_C4 <number>) were direct frequencies in Hz and I didn't think of this at first and I just inserted these values into timer. So it was obviously a wrong method. 2. In Tone.c -file I forgot to remove TAIE interrupt (which in this code is not needed) and I didn't have interrupt handler so the player produced only one note and then it was resetting itself. This was very obvious when it was detected. So here it is. Thank you for your interest. Hopefully this is useful for somebody, for me it was really fun thing to do and the interesting part was the parser code (play_rtttl) function. In the attachment you can find the project-files for CCSv5 and below is a picture of my speaker setup: RtttlPlayer.zip Edit: Added schematics for the current code. msp430g2231-RTTTL-Player.pdf
  13. Hi everyone, I wanted to connect a MSP430 to an Android device. In fact, my idea was to use the MSP430 launchpad as a low-cost GPIO board for an Android tablet. I did a little research, and first thought on the audio port for the communication ( http://robots-everywhere.com/re_wiki/index.php?title=Serial_on_Android_using_the_audio_port ) but then I remembered that the tablet supported USB OTG. So, I compiled the CDC_ACM module for the (Allwinner A10 based) tablet in order to emulate serial port over USB. Then, in the MSP430 Launchpad side, I needed a lib for using the serial port. I found MSP430-softuart by Stefan Wendler (https://github.com/wendlers/msp430-softuart) and used it for the bidirectional communication Android-Tablet<->MSP430-Launchpad. In order to make a demo, I modified the code of Open Source Vector Pinball (http://dozingcatsoftware.com/VectorPinball/index.html ), adding support for serial port access (using http://code.google.com/p/android-serialport-api/). This modified Vector Pinball has the flippers linked to MSP430 Launchpad buttons. When the buttons on P2.5 and P2.3 are pressed they flippers are activated. A LED is also connected on P1.6 in order to toggle it when receiving "toggle" command from the Android app. You can find the video demo here: This is the source code for the MSP430 (find it also attached to this post) #include <msp430.h> #include <stdint.h> #include "uart.h" #define LED1 BIT0 #define LED2 BIT6 #define BUTTON1 BIT5 #define BUTTON2 BIT3 static volatile bool r = false; static volatile bool l = false; int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; // Initialize clock DCOCTL = CALDCO_1MHZ; P1DIR |= (LED1 + LED2); // Set BIT0 and BIT6 as output P1OUT &= ~(LED1 + LED2); // LEDs off P2REN |= (BUTTON1 + BUTTON2); // Select pull-up resitors por P2.3 and P2.5 P2IE |= (BUTTON1 + BUTTON2); // Enabling Button interrupts P2IFG &= ~(BUTTON1 + BUTTON2); // Clear interrupt flags for the buttons uart_init(); __enable_interrupt(); uint8_t c; while(1) { if(uart_getc(&c)) { if (c == 't') { P1OUT ^= (LED2); // Toggle LED2 } } if (l) { uart_putc('l'); // Send "left" command via UART l = false; } if (r) { uart_putc('r'); // Send "right" command via UART r = false; } } } // Port 2 interrupt service #pragma vector=PORT2_VECTOR __interrupt void Port_2(void) { if ((P2IFG & BUTTON2)) { P1OUT ^= LED1; // Toggle LED1 P2IFG &= ~BUTTON2; // Clear BUTTON2 interrupt flag P2IES ^= BUTTON2; // Interrupt called on High-to-Low and Low-to-High l = true; } if ((P2IFG & BUTTON1)) { P1OUT ^= LED1; // Toggle LED1 P2IFG &= ~BUTTON1; // Clear BUTTON1 Interrupt flag P2IES ^= BUTTON1; // Interupt called on High-to-Low and Low-to-High r = true; } } Later today, I will include the schematic and a guide with the steps for replicating the setup in case you want to build it. Do you find the project interesting? msp430-pinball.tar.gz
  14. hi, can you give a little example about the usage of shift registers by using energia? if you can check the picture i have upload, i want to enable one pin > and send e 4igits for each clock cycle- specifically thanks, sirri
  15. Hello, I have few questions about launchpad in general; 1-The internal thermometer is a seperate chip on launchpad or a feature in 2553 chip? 2-Does internal clock works stand alone (apart from launchpad) ? 3-Can we supply msp430xx chip standalone with a 3V battery cell? (I can't find LM1086 3.3V voltage regulator in my city) 4- What is the priority order while coding (energia) among libraries, functions, main code ? Thanks in advance, Sirri
  16. All, I have designed and am in the process f ordering an adapter card that will let me use my old 3.3v arduino shields with my TI Sellaris LM4F Launchpad. There are no hard connections beween the two sides so you can wire pins as you need. This will enable the user to use multiple shields with the Launchpad event it the shield signals conflict.This is really usefull with the SeeedStudion 2.8" TFT/Touch V 1.0 from Radio Shack which uses all but 4 pins. The shield will be available at: Batch PCB Marketplace: https://www.batchpcb.com/pcbs/102355 from Sparkfun. I have attached a picture and will post the Eagle files if there is interest. (For some reason this forumn will not let me post the Eagle File) Edit: I have attached the Eagle files in a zip file for all to use. Edit: 12/25/2012 - Corrected error in .BRD file included in .ZIP Merry Christmas Everyone John K ProtoStellaris2Arduino.zip
  17. Hello, After some reading from master's tutorials i have made my 4 digit, 7segment Led display, working with MSP430, I have used array definitions for digits and segments. Also i wrapped that within a function so that we can control the number and the digit we want to display. Probably code can be improved a lot, but this is i could do for now. Recommendations are welcomed. And i will be glad if it helps for very beginner Launchpaders )) PS: It is working allll parallel. i have used 7 output pins for segments and 4 output pins for the digits.. int segA = P1_3; int segB = P1_4; int segF = P1_5;int segG = P2_0;int segE = P2_1;int segC = P2_2;int segD = P2_3; int dig1=P1_7;int dig2=P1_6;int dig3=P2_5;int dig4=P2_4;byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0 { 0,1,1,0,0,0,0 }, // = 1 { 1,1,0,1,1,0,1 }, // = 2 { 1,1,1,1,0,0,1 }, // = 3 { 0,1,1,0,0,1,1 }, // = 4 { 1,0,1,1,0,1,1 }, // = 5 { 1,0,1,1,1,1,1 }, // = 6 { 1,1,1,0,0,0,0 }, // = 7 { 1,1,1,1,1,1,1 }, // = 8 { 1,1,1,0,0,1,1 } // = 9 }; byte four_digits[4][4]= {{0,1,1,1},//ilk dijit a
  18. A Retro Style Basic Computer Description The EZ430trainer system turns the low-cost TI LaunchPad into a microcontroller trainer via simple hardware and software enrichments. The EZ430trainer is made up of a . TI LaunchPad, w/ msp430g2553 mcu . A "Paradiso UI Shield", adding basic I/O capabilites. . A "Eztrainer Monitor" firmware, providing monitor and assembler capabilites. The intention of the EZ430trainer is to bring in a "low-cost" computer training system that resembles the 1st generation hobby based microprocessor systems that surfaced in the mid-70's. These systems offer the best computer training as users interacts w/ the CPU almost directly. Programming are done via entering machine code directly or via simple assemblers. Users need to understand very well the cpu architecture in order to work on such systems. Parts / Bill of Materials . TI Launchpad V1.5 kit (w/ msp430g2553 mcu) . 4 digit 7 segment LED display Common Anode . 4 digit 7 segment LED display Common Cathode . 20 x tactile button . buzzer 3V (Optional) the LED display is commonly available in ebay, look for those 0.4" or 0.36" 4 digit displays, you will want to make sure it's common cathode and the pin layout matches (most do) ___a__ | | (0) A F (1)(2) B f| | b -+--+--+--+--+--+ ___g__ | | e| | c |Pin1 | | | -+--+--+--+--+--+ ___d__ E D . C G (3) Paradiso UI Shield Schematic MSP430G2553 on TI Launchpad ----------------- /|\| | | | | --|RST | | | +---------------+ +---------------+ | as digit 0 P2.2|-----| _ _ _ _ | | _ _ _ _ | led modules | as digit 1 P2.4|-----|| | | | | | | || || | | | | | | || 1x common cathode | as digit 2 P2.5|-----||-| |-| |-| |-|| ||-| |-| |-| |-|| 2x common anode | as digit 3 P2.7|-----||_|.|_|.|_|.|_|| ||_|.|_|.|_|.|_|| | | +---------------+ +---------------+ | | | segment a to g + dot........ | | / ....\ | | / \ | segment A P1.7|-----+-----+-----+-----+-----+-----+-----+-----+ | | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | | segment B P2.3|-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+ | | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | | segment c P1.7|-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+ | | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | | segment D P2.0|-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+ | | _=_ | _=_ | _=_ | _=_ | _=_ | | segment E P2.6|-o o-+-o o-+-o o-+-o o-+-o o-+ | | _=_ | _=_ | _=_ | _=_ | | segment F P1.6|-o o-+-o o-+-o o-+-o o-+ | | _=_ | _=_ | _=_ | | segment G P2.7|-o o-+-o o-+-o o-+ | | _=_ | | segment H P1.5|-o o-+ (not all buttons populated) | | ----------------- mapping of buttons. Ex. A-F .. buon across segment A and F pins [A-F] [A-.] [A-G] [b-A] [D-A] [C-A] [A-E] [b-F] [b-.] [b-G] [D-B] [C-B] [b-E] [D-F] [D-.] [D-G] [C-D] [D-E] [C-E] [C-F] [C-.] [C-G] +-----------------------------------------+ | +-----------------+ +-----------------+ | | | _ _ _ _ | | _ _ _ _ | | | | | | | | | | | | | | | | | | | | | | | | | | |-| |-| |-| |-| | | |-| |-| |-| |-| | | | | |_|.|_|.|_|.|_|.| | |_|.|_|.|_|.|_|.| | | +-----------------+ +-----------------+ | | mnp rtx s j | | [ ] [7 ] [8 ] [9 ] [F ] [Ad] | Address | b/w ei << | | [ ] [4 ] [5 ] [6 ] [E ] [Md] | Mode / Last | d . >> | | [1 ] [2 ] [3 ] [D ] [Rg] | Register / Next | a b c | | [0 ] [A ] [b ] [C ] [+ ] | Advance / Enter | | +-----------------------------------------+ Paradiso UI Shield features . 8 x 7 segment display . 22 tactile switch positions w/ 20 switch filled . Prototyping area . requires software mutliplexing to drive segments . requires software matrix scanning for key inputs . has no led driving / current limiting capabilities EZ430trainer Monitor features . (1) LMC Little Man Computer emulator built-in . (2) One-pass assembler generating msp430 machine code . (3) Direct machine code entry for msp430 . Correct support for pseudo-op codes, ex. RET implemented as MOV @SP+,PC . Interface w/ Paradiso UI Shield and UART terminal . Program storage starts at flash 0xe000 at 256 byte blocks . Program edit at ram 0x0280 for each 256 byte blocks . Basic IO routines . number printing . string printing . wait key w/ . timer at 1/100 sec intervals Memory Space +------------------------------------------------+ |0x0000-0x0007 Special Func Registers | |0x0008-0x00ff 8-bit Periphercals | |0x0100-0x01ff 16-bit Periphercals | |0x0200 + 512 byte RAM -------------------| | 0200- 027f | Monitor Use | | 0280- 037f | Program Edit Buffer | | 0380- 03ff | Monitor Use, Stack | | 0x03ff-+---------------------------------| | .... | |0x1000 + Data Flash ---------------------| | 1000- 103f | Data Flash Bank 0 | | 1040- 107f | Data Flash Bank 0 | | 1080- 10bf | Data Flash Bank 0 | | 10c0- 10ff | Data Flash Bank 0 (Factory Data)| | 0x10ff +---------------------------------| | .... | |0xc000 + Program Flash ------------------| | c000- deff-| Monitor Code | | dd00- dfff-| Bios code / dd00 is entry point | | e000- efff-| 16 banks of User Code | | f000- ffbf-| 16 banks of LMC code | | ffc0- ffff | Interrupt Vectors | | 0xffff +---------------------------------| +------------------------------------------------+ more details at http://www.simpleavr.com/msp430-projects/ez430trainer full operating instructions can be found here if u are interested in the details. /EDIT Dec 12, 2012 furnishing source and gerber files. D55524_5x10.zip D55524_5x10.zip is the production ready seeedstudio compliance file package ez430trainer.tgz ez430trainer.tgz are source files in tgz format (tarred, gzipped) (*) this project can only be built with msp430gcc (cygwin or linux) lmc.c lmc.c contains only the LMC machine (compiles on mps430gcc and CCSV4), for CCS, create a lmc project and rename lmc.c to main.c to build
  19. I am thinking of using a Stellaris Launchpad (LM4F120XL) as a robot controller. If I had something like this (http://www.pololu.com/catalog/product/1551) how would I go about interfacing with the quadrature encoders? This TI webpage says "Advanced motion control capability, with up to 16 PWM outputs and two quadrature encoder interfaces" but I cannot find the terms "quadrature encoder" or "QEI" in the Launchpad manual. Am I going to need to learn the gritty details of quadrature encoding and write my own C interface? I am very new to all this, so a gentle shove in the right direction would be awesome.
  20. Basic analogRead function doesn't seem working.. I am using Energia as a compiler. I am trying the minimum configuration. I am getting a value but this value doesn't change with potentiometer. I have even tried to ground the signal (to see if it is Zero) but nothing has changed.. What might be wrong? thanks .
  21. Found a french blog with a launchpad (and Energia) flavor to it. A couple of different write ups, from simple button tutorials to adc and lcd, as well as motor control. Google Translate works well enough for english. French: http://electroniquea...label/Launchpad Translated: http://translate.goo...-KjLMthQ65c63Vw Most interesting one I saw was a simple little midi project. Plays F
  22. This is a prototype of a magnetic sensor BoosterPack for the TI MSP430 Launchpad. http://www.youtube.com/watch?v=whgsB5hb-Pk The board has 3 Hall-effect magnetic sensors that sense a magnetic filed in the z-axis to the sensor. The BoosterPack has a latched output sensor (on/off by changing magnetic field direction), unlatched output sensor (on/off by changing magnitude of magnetic field), and analog output sensor (output follows strength of magnetic field). The sensor outputs are connected to analog input pins of the MSP430 LaunchPad. 10 LEDs are connected to digital output pins of the MSP430 LaunchPad to indicate the output of each of the sensors, and 1 LED indicates when power is connected to the board. The demo programming was quickly and easily written by a novice programmer using the Energia software. We see applications for this BoosterPack as an educational demo on magnetism and programming, a toy for young hobbyists and inventors, and as another building block in the MSP430 LaunchPad ecosystem. Any and all stimulating comments would be much appreciated! Thanks.
  23. Hello everyone!! I'm a 21 years old engineer student from Spain, and I need your help, because I'm going to do a really big proyect (for me)! I need to control a microcontroller from my android smartphone. I think that the 430 Launchpad with a wifi module would be adecuate. I worked with a PIC couple years ago, and i don't know a lot about TI microcontrollers, but they are really cheap, and I need a cheapest project. What wifi module would you recomend for me? I'm searching for, but I can't find much. I read on the wiki that CC3000 is a plug-in wifi
  24. 27 years old finnish hardware engineer guy says hello! I just recently registered in to this forum, but i have been lurking around for a while now. This forum has been a great help to me and there have been some very interesting projects out there, I'm hoping to see more of them. Regardless that my job title is hardware engineer, I've done some programming too, mostly in C. C++ and C# are familiar languages for me too. Umm.. not sure what to say, isn't this enough ? Feel free to ask if you have questions! (No, there's no polar-bears in here, only regular ones and a beer which is named as 'bear' = Karhu in finnish - which i like Oh, if there's any finnish readers out there and you are interested in MSP430 programming, check out my webpage which has finnish tutorials about Launchpad (url at the end). Of course other nationalities are welcome too, but since it's written in finnish you propably won'd understand it... But hey, I got some youtube videos also! Comments are welcome. That's it. Be nice or else santa won't bring you any new gadgets to play with. BR. Mika 'CsCrazy' V
  25. Buy @ The 43oh Store. So I got a couple samples of the F5172 (has 5V-tolerant I/Os, 32KB flash + 2KB SRAM, Timer_D can run up to 256MHz with FLL) this past summer and had nothing to do with them. Original idea was to make an Arduino-variant since it has around 12 5V-tolerant I/Os, but I decided against that when I first read about TI's 40-pin XL standard. EDIT: Link to newest revision of this design: http://forum.43oh.com/topic/2828-msp430f5172-launchpad-xl/page-4#entry31194 Between last night and this morning I did some marathon CAD, and came up with my F5172 LaunchPad. Let me know what you think: (OSHpark mockup images, I'll most likely use Seeed and make them red.) Bottom: Notes: 1. The board includes "mount" headers (female headers pointing down) to plug into the Emulation layer on the MSP430 LaunchPad rev 1.5. As I understand it, TI does *not* support the use of the LP's SBW for programming or debugging F5xxx devices but I've heard it does in fact work, maybe with some limitations (on the E2E forums someone was complaining step-by-step execution didn't work). 2. The board includes the MSP-FET430UIF 14-pin header, SBW-only (and wired in accordance with slau278k's recommendations for SBW on F5xxx and F6xxx devices). A 3-pin jumper is there to select VCC TOOL (sourced from the FET tool) or external power. 3. To align with TI's recommendations for the 40-pin XL pin functions, some ports have been duplicated to more than one LP pin. There is a vertical bar next to the pin label if it's also used elsewhere in the 40-pin layout. 4. The device includes an FTDI FT232RL chip for the serial port. TXD and RXD LEDs are attached to CBUS0/CBUS1 and CBUS2-4 from the FTDI are broken out to a header. I now have headers in place to disable the TX/RX circuit from the chip. 5. An LDO TPS77333 regulator (similar to MSP430 LaunchPad) is included for providing 3.3V power off the 5V USB feed. LDO_EN lets you enable/disable this and LDO_RST connects the RESET line to the F5172's RESET so the LDO can keep the chip halted until the LDO has built up its output voltage. 6. LEDs on P1.7 and P3.6 (both PWM-able) have been included, I was thinking of using a white LED with P1.7 and blue LED with P3.6. 7. P2.7 is not broken out to any of the LP pins, so it's specially designated for the SW1 button which also has a hardware debounce circuit. Should be idle-high, active-low (low when pressed). 8. The 5V tolerant pins are enabled by switching the "VIO" header to 5V. 9. XTALs are on the bottom, there are footprints for a tuning fork crystal and a HF through-hole crystal with its load capacitors nearby. 10. AVcc exists on these chips so I set up an LC filter for it, L1 (10uH SMD) and C9 (10nF SMD). 11. The F5172 datasheet, page 33, note 3 has not been adhered to--if VIO jumper is set to 5V it will probably get power before the LDO has spun up the 3V3 rail. We'll see if that matters (I doubt it)...
  • Create New...