Jump to content
Sign in to follow this  

LCD Screen via UART on a Stellaris Launchpad TM4C123G?

Recommended Posts

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!

Share this post

Link to post
Share on other sites

Ermahgerd... Thank you for your patience and willingness to help a total noob. I've spent a lot of hours trying to get an LCD to work with a TI board, when in fact it was so simple. Thank you very much for helping, Rei Vilo and FMilburn.


For the other noobs in my position, instead of using Serial.write (which writes to serial monitor) use Serial1.write to write to TX(1) pin or Serial2.write to write to TX(2) pin, etc...

Share this post

Link to post
Share on other sites

I am currently Trying to transmit a temperature from a TM4C123G using a 433 MHZ rf module. I am new to RF modules. Any help is appreciated.

Share this post

Link to post
Share on other sites


I am currently trying to figure out how to use a 433 MHZ RF Module with the Energia IDE.


The TM4C123G is connected with the Transmitter. Data is connected to TX(3) pin 34.

The MSP432 is connected to the Receiver.

I am trying to accomplish a program that sends the temperature from the TM4C123G to the MSP432. 

The TM4C123G is using a LM34DZ Temp sensor. The MSP432 is connected to a 16x2 LCD.

Her is the codes I have so far:


/*Transmitter (TM4C123G)*/

#include <string.h>
#include <SPI.h>

const uint8_t txaddr[] = { 0xF0,0xF0,0xF0,0xF0,0xE1 };
boolean flag = 0;

void dump_radio_status_to_serialport(uint8_t);

//initializes/defines the output pin of the LM34 temperature sensor
int outputpin= A11; // (pin # 2), use A11 analog input


void setup()


SPI.setBitOrder(1); // MSB-first


void loop() {

int rawvoltage= analogRead(outputpin);
float millivolts= (rawvoltage/4095.0) * 3300;
float fahrenheit= millivolts/10;

Serial3.write(fahrenheit); //send temperature varuable through tx3




#include <LiquidCrystal_I2C.h>
#include <Wire.h>

#define rfReceivePin 3 //RF Receiver pin = pin 3
unsigned int data = 0; // variable used to store received data

byte address = 0x3F; // LCD I2C address
int columns = 16; // number of columns on LCD
int rows = 2; // number of rows on LCD
LiquidCrystal_I2C lcd(address, columns, rows);

void setup()
lcd.init(); // initialize the lcd 
lcd.createChar(0, rocket); // Create Character 0
lcd.createChar(1, liftOff); // Create Character 1
void loop()

data=analogRead(rfReceivePin); //listen for data on pin 3


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this