This update covers my first attempt to fire up the  MSP-EXP432P401RMSP-EXP432P401R I am using Energia at this point since they claim to support this platform and the Sharp display.

I modified the  430BOOST-SHARP96430BOOST-SHARP96 to be always enabled by unsoldering the R16 zero ohm resistor and soldering it at the R17 location. This is needed in my design to avoid a conflicting use of one of the GPIO pins. (It conflicts with the CC3100 Boosterpack)


Here is the corresponding schematic:


The Sharp Boosterpack LCD plugs directly on the  MSP-EXP432P401RMSP-EXP432P401R as shown below


You can see the results of my first code in the picture.

Here is the source code:


//  Hazardous Gas Sensor Module

//  MSP_EXP432P401R



//  MQx_Sensor Boosterpack

//  Author :  Doug Wong

//  Date   :  Mar 11, 2017

//  Version:  1.00





// Include application, user and local libraries

#include "SPI.h"

#include "OneMsTaskTimer.h"

#include "LCD_SharpBoosterPack_SPI.h"



// Variables

LCD_SharpBoosterPack_SPI myScreen;

int AlcPin = A11;           //MQ3 - Alcohol

int COPin = A14;            //MQ7 - Carbo Monoxide

int AQPin = A13;            //MQ135 - Air Quality

int CO2Pin = A8;            //CO2

int UVPin = A9;             //Ultraviolet Light

int AlcValue = 0;           //MQ3 - Alcohol

int COValue = 0;            //MQ7 - Carbo Monoxide

int AQValue = 0;            //MQ135 - Air Quality

int CO2Value = 0;           //CO2

int UVValue = 0;            //Ultraviolet Light

String AlcStr;

String COStr;

String AQStr;

String CO2Str;

String UVStr;



// setup code

void setup() {




// setup LCD to display sensor data




    myScreen.text(5, 1, "SENSORS");


    myScreen.text(3, 22, "Alc         ppm");

    myScreen.text(3, 37, "CO          ppm");

    myScreen.text(3, 52, "AQ          ppm");

    myScreen.text(3, 67, "CO2         ppm");

    myScreen.text(3, 82, "UV          idx");





// loop to read and display sensor data

void loop()


  AlcValue = analogRead(AlcPin);    //read Alcohol sensor

  COValue = analogRead(COPin);      //read CO sensor

  AQValue = analogRead(AQPin);      //read Air Quality sensor

  CO2Value = analogRead(CO2Pin);    //read CO2 sensor

  UVValue = analogRead(UVPin);      //read UV sensor



  AlcStr = String(AlcValue);        //convert reading to ASCII

  COStr = String(COValue);          //convert reading to ASCII

  AQStr = String(AQValue);          //convert reading to ASCII

  CO2Str = String(CO2Value);        //convert reading to ASCII

  UVStr = String(UVValue);          //convert reading to ASCII



    myScreen.text(33, 22, AlcStr + "   ");  //display alcohol

    myScreen.text(33, 37, COStr + "   ");   //display CO

    myScreen.text(33, 52, AQStr + "   ");   //display Air Quality

    myScreen.text(33, 67, CO2Str + "   ");  //display CO2

    myScreen.text(33, 82, UVStr + "   ");   //display UV






One thing to note - the Energia selector for the target board did not show the MSP-EXP432P401RMSP-EXP432P401Rin its list it just showed Launchpad /w MSP432 EMT (48MHz)" - but it seems to work.

I do not have my sensor Boosterpack back from the PCB shop yet, so I connected 5 potentiometers to simulate the 5 sensors.

Here is a demo video of the system in action:


My next blog is likely to be about ELF radiation or maybe I will cover all RF in one blog.

The Boosterpack PCB I designed has shipped but not arrived, so that is also a possibility.


All links to blogs related to this project can be found in the first blog here:

Safe and Sound - Invisible Hazardous Environmental Factors Monitoring System - blog 1