This repository is to maintain and update cores for the MSP432P4xx Red Launchpad boards by Texas Instruments. This allows development for TI LaunchPads using the Arduino IDE (using Arduino Boards Manager) rather than the Energia IDE. The official Energia release provided support for a single MSP432 Launchpad, the MSP432P401R Red Launchpad board. This repository will provide an MSP432 core compatible with the Arduino Boards Manager which maintains and extends support for the MSP432P401R and adds support for the MSP432P4111 Launchpad board. In addition, this project extends the core to provide some bug fixes and new features, as detailed below.
References for the libraries included with the board package, as well as additional resources for using the TI MSP432P4xx LaunchPad with Arduino can be found at MSP432-Core for Arduino.
Energia is a fork/port of Arduino originally developed in 2012 for the TI Launchpads, or boards with MCUs from Texas Instruments such as the Stellaris or Tiva C Series. As reported on the Energia project page in 2022, Energia is no longer maintained. The final release is 1.8.10E23, published in December 2019. Though it is no longer under active development, the processor cores developed for Energia may be used with the Arduino IDE using the Arduino Boards Manager.
A strong effort to maintain availability of the Energia tools and support their transition to Arduino has been provided by the TI_Platform_Cores_For_Arduino repository.
Energia provided native support for numourous LaunchPad boards, including MSP430F series, MSP430G series, MSP432 series, Stellaris and Tiva C series. This project maintains the platform core for only the LaunchPad with MSP432P401R, with added support for the MSP432P4111.
The Energia IDE includes several libraries at the application level of the IDE, and includes others in the platform cores. Some of the application level libraries are now available independently for use with Arduino. Two popular libraries can be found here:
This MSP432 core includes the following libraries:
- Educational BoosterPack MKII
- Servo
- IR remote
- NEC protocol transmit
- NEC protocol receive
- SPI
- Wire (I2C)
- TI RSLK Max library
- Encoders
- Sharp GP2Y0A21 IR distance sensors
- QTR line sensor
- Romi motor driver
- Website - Full documentation including tutorials, reference, pins maps, FAQ and much more!
- Download - Download a compiled application for Linux, Mac OS X, or Windows.
- GitHub repository
- Wiki - Find basic information and tutorials here.
- LaunchPad forum at 43oh - A community around the original LaunchPad but also the newer ones.
- Open the Arduino Preferences pane.
- Click on the box next to the text field labeled
Additional Boards Manager URLs
. - Add the following URL (on a line of its own) to the list:
https://raw.githubusercontent.com/ndroid/msp432-core/main/package_msp432_index.json
- Click OK to close the window and OK to close the Preferences pane
- Open
Tools->Board->Boards Manager...
menu item - Select the board platform you wish to install:
- Use the search box at the top to make it easier to find the board (i.e., "MSP432")
- Hover the mouse over the board platform you want, and click "Install"
- Once the board package is installed, you can select the board you want with the
Tools->Board
menu.
If you have not previously developed with the Energia IDE or Code Composer Studio, then you may need to install the LaunchPad drivers for Windows if developing on Windows. The zip file with the driver installer can be downloaded from Energia Driver Package.
More information can be found in the Energia guide Installing the LaunchPad drivers.
version 5.29.5
-
features
- added TI RSLK Max library which uses MSP432P401R
- updated RSLK library API for simplified application
- updated RSLK library examples
- added documentation for new RSLK library API, to be extended to document all libraries
- added TI RSLK Max library which uses MSP432P401R
-
bug fixes
- corrected pin 2.3 missing high-drive config option
version 5.29.4
(corrected missing libraries issue)
- Initial release, adapted from msp432r version 5.29.1 core
-
features
- added MSP432P4111 LaunchPad board
- added support for Serial2 and Serial3
- modified Servo library to use Timer32 to avoid using Timer_A which may conflict with PWM output requests (e.g. analogWrite and IRremote)
- attempts to allocate Timer32_2 first (will attempt Timer32_1 if T32_2 is unavailable)
- added MultipleServos example in Servo library
- added TinyIRremote library to support IR NEC encoding receive and transmit applications
- multiple receivers supported without timer usage with IRreceiver class
- multiple transmitters supported with a single Timer_A module with IRsender class
-
added features to support defined Arduino features
- added definition of LED_BUILTIN for compatibility with Arduino examples
- added analogWriteResolution implementation (supported by some Arduino boards)
- added availableForWrite to Serial implementation
- added pulseInLong implementation
- added implementation of HardwareSerial configuration using predefined SERIAL_XYZ constants
- supports setting data bits, parity and stop bits in addition to baud rate
-
bug fixes
- corrected A22 pin assignment (now correctly assigned to pin 60)
- corrected potential array index out-of-bounds reference in Servo library
- added value range verifications in Servo library methods
- corrected display format of strings for values between -1.0 and 0 in EduBPMKII_Screen library
- corrected indexing error in wiring_analog.c which prevented more than one PWM output being assigned using Timer_A2
- corrected one-off error in conditional in wiring_analog.c which reduced max PWM count by one
- corrected duplicate definition of Board_WIFI and Board_WATCHDOG
version 5.29.2
- revision of version 5.29.0 to support MSP432P401R on Arduino (provided by TI Platform Cores For Arduino repository)
version 5.29.1
- last official Energia release for MSP432P401R board
version 5.29.0-beta1
- last developmental release for MSP432P4111 board
This file is included in the repository to provide a permanent link for the Arduino Board Manager. It specifies the supported boards, the required cores and tools, and links to those resources.
The Package Index file names need to follow the convention specified in the Arduino Package Index Specification. Specifically, the file name needs be of the form package_YOURNAME_PACKAGENAME_index.json
. The prefix package_
and suffix _index.json
are mandatory, while the choice of YOURNAME_PACKAGENAME
is left to the packager.
Package Index File | MSP Board Version | Notes |
---|---|---|
package_msp432_index.json |
5.29.5 | MSP432P4xx boards only, use with local Arduino IDE/CLI |
Located in the cores directory. These files are referenced by the package index json files. This directory will host package releases, beginning with version 5.29.4.
msp432-5.29.5.tar.bz2
msp432-5.29.4.tar.bz2
The tools are specific to the board package platform and version. These are currently linked in the package index json file using the original Energia links. They have been saved in a separate respository should those links become unusable in the future.
Board Version | Compiler | dslite | ino2cpp |
---|---|---|---|
MSP432 5.29.5 | arm-none-eabi-gcc 8.3.1-20190703 | 9.3.0.1863 | 1.0.7 |
MSP432 5.29.4 | arm-none-eabi-gcc 8.3.1-20190703 | 9.3.0.1863 | 1.0.7 |
Tool Download Links | |||
---|---|---|---|
arm-none-eabi-gcc 8.3.1-20190703 | Wndows | MacOS | Linux |
dslite 9.3.0.1863 | Wndows | MacOS | Linux |
ino2cpp 1.0.7 | Wndows | MacOS | Linux |
- Energia IDE application and source code repo
- Energia MSP432 core repo
- Arduino Platform Specification
- Arduino Package Index JSON Specification
- Arduino instructions for installing cores
- TI Platform Cores For Arduino repository
- Unofficial list of Arduino 3rd Party Board Manager URLs
The majority of the files in this repo are either a copy or a derivation of Energia platform cores, which are licensed under the GNU Lesser General Public License v2.1 per Energia. For consistency, the non-Energia derived software and files in this repository are also released released under LGPL v2.1. See the file LICENSE.txt
in this repository.