Search the Community

Showing results for tags 'lcd'.

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.

Found 44 results

  1. Hi, I'm trying send GPS (adafruit Ultimate GPS FeatherWing) coordinates to another location using XBees and then displaying GPS data on an LCD (Sharp 96 Booster Pack) using Energia. This involves 2 pairs of Xbees (4 total 2 different ranges), 3 MSP-EXP432P401R (Black Version), the GPS and the LCD. I wrote some code for the first MSP432 on getting GPS data and getting it to the XBee to transmit to another MSP432 (connected to 2 XBees). Although I haven't been able to test it (GPS and XBees aren't here yet) I feel like it will at least be close if not functional.GPStoXBEE.ino After writing the data to the XBee which should then transmit to it's paired XBee that the 2nd MSP432 is connected to. I then want to write the incoming data to the larger ranged XBee also connected to the 2nd MSP432 shown in the following code. XBEEtoXBEE.ino I think my method is kind of right but I won't get the correct output. I believe it will only be taking one char at a time every time the readXBee function is called. So how would I make it print the entirety of the GPS data if I don't know how long/what the data will be ahead of time? I just want to transmit exactly what I'm getting from the GPS itself. Lastly I have another longer ranged XBee connected to the 3rd MSP432 along with an LCD. I want to take the GPS data that is being received from the 2nd MSP432 and print it to the display. I edited the LCD example to get the following XBEEtoLCD.ino and it kind of works, I am able to print from the serial to the display but its only one character at a time every second and the char gets overwritten by the next char. How will can I change the code so that it will print what ever is in the serial in one go? Thanks in Advance
  2. This is my new universal graphics library (original one is here.) Supported boards (this is out of the "box" support, but the library will work with any board after small changes.) TI's MSP430FR5969 LaunchPad (ugl16msp only for now) TI's MSP430F5529 LaunchPad TI's MSP430G2 LaunchPad with G2553 chip RobG's MSP430G2955 Dev Board RobG's MSP430F5172 Dev Board RobG's MSP430F5510 Dev Board Supported displays 1.8" ST7735 based JD-T1800 - ugl8 2.2" HX8340 based displays - ugl8 2.2" ILI9225 based displays (touch panel) - ugl8 2.2" ILI9341 based displays 320x240 pixels - ugl16 Tiva versions are right here (name change 4/18/14) (updated 4/19/14)
  3. Hello fellows, I made a code to interact the MSP430, with the LCD, but now I would like to have it interact with the MSP432. And I'm having some problems because I want to use specific pins, can anyone help me change the code? My difficulty is: the MSP430 I use PORT P1 and P2, the problem is in the MSP432 I need PORT P2, P5 and P6 This is my connections LCD->MSP432: EN -> (P2 + BIT3) RS -> (P6 + BIT7) D4 -> (P2 + BIT6) D5 -> (P2 + BIT4) D6 -> (P5 + BIT6) D7 ->(P6 + BIT6) lcd.c lcd.h main.c main.h
  4. Is there a way to use the SoftwareSerial library on the Stellaris Launchpad TM4C123GXL board? I am trying to connect a Sparkfun serial enabled LCD screen to the board but the SoftwareSerial library is only compatible with 20, 16, and 8 MHz processors, and the TM4C123GXL is an 80 MHz chip. How can I use this LCD screen with the Stellaris Launchpad over a UART connection? Do I need to use SoftwareSerial or can I do without it? I am programming in Energia 0101E0017 on Windows 7 64 bit. Any help is greatly appreciated, thanks!
  5. For my next project I have to use a Nokia 5110 LCD with a MSP430G2553. After searching for a while on the internet I came across RobG's SPI-based driver. It's a great driver, but the problem is that I'll be using a I2C chip in this project too, so I decided to create a bit-bang driver. The code is extremely well documented and you should easily be able to use it for anything you want. Here's the GitHub repo: msp430-nokia-5110.
  6. Hey all, I recently got a Nokia 5110 LCD working using the LCD_5110 lib from GitHub. Works great, so thanks to giants whose shoulders I stand atop! I moved my chip (G2553) directly to the board as I have done several times before (with a pullup resistor on RST), and I loaded a little demo program on it with my "loader" board (just TEST, RST, GND, and VCC hooked up to the emulation side of an LP). Program loads and runs fine, but when I remove the loader and cycled power (I was just changing battery sources from a 6V pack to a 9V battery -- they are dropped to 3.3V), the LCD does not init properly. Sometimes resetting (disconnecting the RST pullup) would make it come back, sometimes not. The weird thing is that the sketch IS running, because the ISR to toggle the backlight DOES work -- but no text displays on the screen. When it gets this way, I hook up the loader again, flash the same program, and then everything works fine. If I unhook the loader and cycle the power, though, I am back to no text on screen. Am I initializing the screen incorrectly or doing something wrong in terms of power cycling and/or resetting? [incidentally, you'll see in the constructor for LCD_5110 that I use zero for the getButton() pin -- I don't need a button-getter, and would rather use my own button handling code instead of calling the LCD's getButton() method. What is the best way to call the constructor in that case? The zero works (compiles, anyway), and it looks like getButton() just hangs the program if I ever call it (so I won't). But surely I am missing something to use such an inelegant methodology...] Any help would be appreciated! Thanks, sutekh137 Sketch: //System/library includes. #include <LCD_5110.h> // Defines... #define TOGGLE_BACKLIGHT PUSH2 // Instantiate the Nokia 5110 LCD class (non-SPI): // LCD_5110 lcd(Chip Select, Serial Clock, Serial Data, Data/Command, Reset, Backlight, getButton() Trigger) LCD_5110 lcd(12, 13, 14, 15, 18, 19, 0); boolean glBacklight = false; void setup() { // Button will toggle back light using an ISR. pinMode(TOGGLE_BACKLIGHT, INPUT_PULLUP); attachInterrupt(TOGGLE_BACKLIGHT, ISR_ToggleBacklight, FALLING); lcd.begin(); lcd.setBacklight(glBacklight); lcd.text(0, 0, "Hello!"); delay(1000); lcd.clear(); lcd.text(0, 5, "Light off"); } void loop() { lcd.setFont(0); lcd.text(0, 5, glBacklight ? "Light on " : "Light off"); lcd.setFont(1); lcd.text(0, 2, " MSP430"); delay(200); } void ISR_ToggleBacklight() { delayMicroseconds(1000); if (digitalRead(TOGGLE_BACKLIGHT) != LOW) { return; } glBacklight = (glBacklight == 0); lcd.setBacklight(glBacklight); return; }
  7. GLCD Arduino Library is here: Stellaris Code Here: Universal C Library for GLCD: Please help me make a library for ENERGIA IDE. JHD12864E-JHD.pdf
  8. MSP432 version of my Universal Graphics Library. Works with my latest Color LCD BoosterPacks, 2.2" and 2.4" (320x240) Touch support will be added in late April.
  9. I have a Spikenzie Labs LCD screen with an interface (screen utilizes the HD44780 chipset). I have it connected to an MSP-EXP432P401R (Rev 1.0). I have finally got code working that allows me to write to the LCD screen through the serial monitor, however I can only write to the screen for a short but varying amount of time. Sometimes I can print to the screen for 5 seconds, sometimes only for 1 second before communication cuts out. Here is the code I am using: #include <Wire.h> #include <LiquidCrystal.h> #define addr 0x40 >> 1 void setup() { Wire.begin(); Serial.begin(9600); } void loop() { Wire.beginTransmission(addr); Wire.write(; Wire.endTransmission(); } My connections are as follows: LCD screen -> MSP432 VCC -> 5V GND -> GND SDA -> pin 10 SCL -> pin 9 I have also tried using a level shifting circuit on the data lines with no effect. Does anyone know what's going on and what I can do to fix this? Thank you
  10. Hello, I'm trying to get a standard 1602 LCD (16x2 from Raystar) connected to MSP432 with the I2C interface. Are there any existing libraries which could help me out? I've found some I2C libraries for Arduino but naturally they're not compatible, and the only existing Energia examples deal with CogLCD which uses a SPI interface (emerging question: is there a way to make SPI and I2C compatible?) or standard 16 pin connection. MSP432 is still a relatively fresh chip, so I can't find any examples whatsoever. Thanks!
  11. As discussed in this thread, I took a first stab at a Booster Pack for the 1.35" SHARP Memory Display. As suggested by @@greeeg, I added two footprints: FPC connector (on the back) zebra strip connector (on the front) While the outline is for the 1.35" variants (LS013B4DN01, LS013B4DN02, LS013B4DN04). The 1.28" (LS013B7DH03) and 1.26" (LS013B7DH01) displays should work too as the FPC cables are of similar length and zebra footprints are identical. The smaller, circular displays might work, but the length of the FPC cable might be too short. The larger displays have the same FPC cable, but will overlap with the LaunchPad connectors. I could fit the next size up (2.7", LS027B7DH01) when rotating the screen 90 degrees. I only supply 3.3V. The current small-sized displays are all 3.3V. The older 1.35" versions specify 5V supply voltage, but in my experience work fine with 3.3V. I don't know about the larger displays. Connections are as follows: SCLK -> P1.5 (SPI CLK) SI -> P1.7 (MOSI) SCS -> P2.5 (SPI CS) DISP -> P2.0 (display on/off) I did go with the BoosterPack recommendations for SCS and DISP, but I'm considering to put them somewhere on the upper 14 pins to maintain compatibility with my original code which was for the MSP430G2231. Not yet connected are EXTMODE and EXTCOMIN. These are to control how the LCD polarity-toggling is driven. If EXTMODE is high, toggling is done through EXTCOMIN, otherwise it's done through SPI. I might pull EXTMODE low with a resistor and expose jumper pads to change the configuration. I filled the front plane with 3.3V and the back plane with GND. The horizontal shape at right below the zebra strip pads is the cutout for the flex cable. Any input is greatly appreciated.
  12. While searching for a font creator I found an interesting one here: It creates fontdata that are bit aligned so was a bit tricky to render but I have managed to create code that does that. By default it generates proportional fonts (from True Type) and also includes the top bit set characters that I need for my radio library. So, here is my initial code for rendering fonts generated by this utility - please note it is cannot handle fonts higher than 24 pixes. Add as font.h or to graphics.h: #include <stdbool.h> typedef struct Font { // common shared fields uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; uint8_t font_Width_in_Pixel_for_fixed_drawing; uint8_t font_Height_in_Pixel_for_all_Characters; uint8_t font_Bits_per_Pixels; // if MSB are set then font is a compressed font uint8_t font_First_Char; uint8_t font_Last_Char; uint8_t font_Char_Widths[1]; // size dependent on number of glyphs uint8_t font_data[]; // bit field of all characters } Font; uint8_t getFontWidth (Font *font); uint8_t getFontHeight (Font *font); inline uint8_t getCharWidth (Font *font, unsigned char c); uint16_t getStringWidth (Font *font, unsigned char *string); uint8_t drawFontChar (Font *font, uint16_t x, uint16_t y, unsigned char c, bool opaque); void drawFontString (Font *font, uint16_t x, uint16_t y, unsigned char *string, bool opaque); Add to graphics.c - also include font.h if code above not added to graphics.h : static uint16_t getoffset (Font *font, unsigned char c) { uint16_t offset = 0; if(c > font->font_First_Char) { c -= font->font_First_Char; while(c--) { offset += font->font_Char_Widths[c]; }; } return offset; } uint8_t getFontWidth (Font *font) { return font->font_Width_in_Pixel_for_fixed_drawing; } uint8_t getFontHeight (Font *font) { return font->font_Height_in_Pixel_for_all_Characters; } uint8_t getCharWidth (Font *font, unsigned char c) { return c != ' ' && (c < font->font_First_Char || c > font->font_Last_Char) ? 0 : ((c == ' ' || font->font_Char_Widths[c - font->font_First_Char] == 0 ? font->font_Width_in_Pixel_for_fixed_drawing / 4 : font->font_Char_Widths[c - font->font_First_Char]) + 2); } uint16_t getStringWidth (Font *font, unsigned char *string) { unsigned char c; uint16_t width = 0; while((c = *string++)) { width += getCharWidth(font, c); } return width; } uint8_t drawFontChar (Font *font, uint16_t x, uint16_t y, unsigned char c, bool opaque) { uint8_t width = getCharWidth(font, c); uint32_t row, column, bitOffset, dataIndex, preShift, pixels; bool paintSpace; unsigned char *fontData = font->font_Char_Widths + font->font_Last_Char - font->font_First_Char + 1; if(width) { bitOffset = getoffset(font, c) * font->font_Height_in_Pixel_for_all_Characters; dataIndex = bitOffset >> 3; preShift = bitOffset - (dataIndex << 3); column = width; width -= 2; paintSpace = c == ' ' || !font->font_Char_Widths[c - font->font_First_Char]; if(!paintSpace || opaque) { x += column; while(column--) { row = font->font_Height_in_Pixel_for_all_Characters; if(!((column == 0) || (column > width)) && !paintSpace) { pixels = *((uint32_t *)&fontData[dataIndex]) >> preShift; while(row--) { if(pixels & 0x01) { setArea(x - column, y - row, x - column, y - row); writeData(colorHighByte); writeData(colorLowByte); } else if(opaque) { setArea(x - column, y - row, x - column, y - row); writeData(bgColorHighByte); writeData(bgColorLowByte); } pixels >>= 1; } bitOffset += font->font_Height_in_Pixel_for_all_Characters; dataIndex = bitOffset >> 3; preShift = bitOffset - (dataIndex << 3); } else if(opaque) { while(row--) { setArea(x - column, y - row, x - column, y - row); writeData(bgColorHighByte); writeData(bgColorLowByte); } } } } } return width == 0 ? 0 : width + 2; } void drawFontString (Font *font, uint16_t x, uint16_t y, unsigned char *string, bool opaque) { uint32_t xs = x; unsigned char c; while((c = *string++)) { xs += drawFontChar(font, xs, y, c, opaque); } } The font files has to be modified slightly before they can be used - it should be quite obvious what to remove. Example: drawFontString((Font *)pixelmix, 5, 100, "The lazy fox...", false); There are room for optimizations, but I'll leave that for later - my primary goal is to get the DAB project on air. Terje
  13. hello all! why are energia wire lib don't work? I have connected my launchpad 430g2553 to PCF8576 LCD 10. P1_6 to SDL and P1_7 to SDA . I try to write some code to use Software I2C Library but it did't work in energia . But EAR lib for software i2c work correct way. what i can to do to connect LCD with energia ? no software no hardware energia code don't work what 's the reason?
  14. I have few questions for users of LCD BoosterPacks.
  15. New LCD BoosterPacks are here. Both are 2.4" 320x240, one with touch panel, one without. Both feature the same pinout as their "little" 2.2" brother, same configuration options and SD socket. Can be used with my graphics library without any changes! Available on Tindie 2.4 LCD BP v3.pdf 2.4 LCD BP v2.pdf
  16. New LCD BoosterPacks are here. Both are 2.4" 320x240, one with touch panel, one without. Both feature the same pinout as their "little" 2.2" brother, same configuration options and SD socket. Can be used with my graphics library without any changes! V2 schematic (note that BL MOSFET is optional) - 2.4 LCD BP v2.pdf V3 schematic - 2.4 LCD BP v3.pdf
  17. Hello, I have being working on getting a 20x4 LCD (HD44780) working on the CC3200 launchpad and have not been able to get it working. I have found a few posts with partial code and partial libraries but have not been able to find an SPI or I2C example that works. Does anyone have a working implementation of the HD44780 on the CC3200 in either I2C, Serial or SPI mode? This is seems to be the closest I have found ( ) ... but I am unable to get it working. If anyone has been able to get this working, could you send me a simple "hello world" example. Thanks in advance for any insights or suggestions. John
  18. Hello, I have a Stellaris Launchpad LM4F120XL Board and I am trying to interface with an 16x2 LCD. My LCD requires 5V and my Stellaris Launchpad has 3.3V output power pin. I have 2 questions, 1) Would it be alright if I connected the LCD to an external 5V supply and connected the data pins (D0-D7) to the Stellaris Launchpad GPIOs or do I have to have an LCD that operates on 3.3V supply? 2) Will it work if I connected the LCD to the 3.3V output power pin of the Stellaris Launchpad and connected the data pins (D0-D7) to the Stellaris Launchpad GPIOs ? Thank You
  19. This project attempts to control a surplus LCD ( using a MSP430 and the Stellaris Launchpad. Brief Description: This project is designed to run a 320x240 monochrome LCD with minimal CPU overhead. A seprate controller board supplies the VEE for the display, controls the Backlight and has a MSP430G2542 running as a SPI Master. The MSP also controls the clocks for moving the data to the display. The Stellaris side sets up a 1BPP offscreen display for Grlib and also sets up a UDMA job that transfers the display buffer to the SPI port for the MSP to collect. The SPI connection is set up to transfer 16 bits at a time, allowing for 4 pixel updates for each transfer. With the SPI clock running at 8Mhz, the display can update at ~51 Hz. I had the first PCBs made by OSH park and am currently trying to iron out some bugs in the bias voltage section. As soon as that is done, I will be adding schematics and the board layout on github. Code and documentation can be found here: Here is a picture of the current project: Here is the first prototype: a picture of just the controller: controller mounted below launchpad: Here is a video demo showing the different modes of the main application: The video starts with the splash screen, inverts the display, animates the splashscreen using grlib, displays text using grlib functions and finally shows some test images downloaded in 8 pixel chunks from the host. The current code allows for 30 chunks per transfer, so that is why the screen updates are a little slow. I'll try to get some better video soon.
  20. Hi Has anyone successfully connected two TFT LCD displays to Tiva-C Launchpad? How much work would be to modify the graphics libraries to do so? Would two different LCD models be easier to do? I am aware that parallel connection is probably not possible due to lack of pins. Thanks for any suggestions.
  21. Say hello to the new member of my Color LCD Booster Pack family, 2.2" LCD with 320x240 pixel resolution. Current version is v3. Board options include backlight transistor and microSD (TransFlash) socket (v2 of the board also has optional memory 23K SRAM, 25AA EEPROM, or similar.) New in v3: - no MOSI/MISO config - no optional memory - 4 configuration jumpers CS_Display, CS_SD, D/C, and BKG (choose legacy pinout or compliant with new LPs.) Pos/Pin CS_Dis CS_SD D/C BKG New(1) P2.5 P2.4 P1.3 P2.0 Legacy(2) P1.0 P2.5 P1.4 P2.2 Available on Tindie and The 43oh Store Driver is in this post. UPDATE: Tiva driver is now available, see link above! v2 v3
  22. Does anyone have a link to a library that will let me use the two row 1602 LCD display unit with the CC3200 Launchpad? thanks
  23. MSP430F5529 has two I2C interfaces, using P3.0/P3.1 (SDA/SCL) and P4.2/P4.1 (SCL/SDA) and two SPI interfaces using P3.0/P3.1/P3.2/P2.7 (MOSI/MISO/SCK/CS) and P4.2/P4.1/P4.3/P4.0 (MISO/MOSI/SCK/CS). How, or rather maybe, what is the best way to access the non-default I2C/SPI peripherals, without resorting to modifying the Energia core? For instance, I am using the LiquidCrystal_I2C library found here, and it works fine on the G2553 and F5529, but I'd like to move the LCD over to the other I2C peripheral so I can use those pins for an SPI device. On Tiva, one can do "Wire.setModule(1)" or similar to do something with an alternative peripheral, but it seems this isn't possible with the F5529. Might also be worth noting the above mentioned library doesn't play well on the LM4F/TM4C LaunchPads either. And FWIW, the LCD I'm using is a 20x4 with an I2C interface board labeled "Arduino-IIC-LCD GY-LCD-V1"
  24. Hello guys, I'm building a Holter ECG, and would like put one symbol on the LCD. Need to inform the user the level of charge that the battery has. And I would put the battery symbol so that information was given. But I am not getting, someone can give me an example of how I can put a symbol in a particular line of lcd
  25. Hey all, just wanted to share some code and a sweet picture of a QR code that was generated on an msp430fr5739: I'm working on a larger project that needed this functionality so I thought a proof of concept before I got too far into this was in order. While the pixels on the LCD I'm using (Nokia 5110 / PCD8544) aren't quite square, this code scans fine on my phone (Nexus 4). Anyways it uses the qrduino library to generate the code and some pcd8544 library for the lcd display. I briefly attempted to get this running on a g2553 but didn't quite manage it. The code is at, so fork and add g2553 support if you want! Cheers, -Andrew