element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Blog How to Work with MSPM0 Microcontrollers... and Build a Peripheral Expander / Processor Companion!
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: shabaz
  • Date Created: 11 Jun 2026 10:35 PM Date Created
  • Views 204 views
  • Likes 13 likes
  • Comments 9 comments
  • MSPM0L1105
  • i2c
  • MSPM0
  • easyL1105
  • texas_instruments
  • texas instruments
  • MiniL1105
  • ti
Related
Recommended

How to Work with MSPM0 Microcontrollers... and Build a Peripheral Expander / Processor Companion!

shabaz
shabaz
11 Jun 2026

The MSPM0 microcontrollers are very low-cost, and friendly to use (lots of documentation and examples).  For a project, I was using an ESP32, but I ran out of UARTs! 

Ordinarily I would have considered purchasing I2C to UART chips, but I'm not entirely sure how necessary the interface will be, and I'd rather not stock up on such specialist parts and then later realize they are surplus to requirements!

Instead, I decided to convert an MSPM0 chip into such a device (it's called a mspm0_i2c_periph_expander on GitHub). And added a few more features while I was at it.

The result is an I2C-controlled part which I can drop into some projects if I need a simple UART, or up to three channels of 12-bit ADC, or when I'm interfacing to PWM or frequency-output sensors. It's simple and fast to program.

image

This isn't an original idea; the Beaglebone People use an MSPM0 on one of their boards, in a similar way (but not with UART). I used the older MSP430 microcontroller series as an I2C peripheral occasionally too.

Here's a five-minute video explaining how to get going with the MSPM0, and a demonstration of the features in the mspm0_i2c_periph_expander.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Testbed setup

Red = MSPM0 breakout board (miniL1105, documented here)

Green = Pi Pico acting as a (+) E-Z USB to I2C Adapter and UART Bridge - element14 Community

Blue = NXP MCU-Link Debug Probe

Oscilloscope: PicoScope 2000 series with PicoScope 7 software

Waveform Gen: Owon DGE1030 (although the PicoScope has one built-in too)

image

Summary

It's possible to convert an MSPM0 microcontroller into an I2C-controlled peripheral, to add extra features to the main processor in projects. If possible, it's worth considering emulating real devices so that existing drivers can be used, without reinventing the wheel too much. However, in my case, due to time limitations, this wasn't a hard requirement (and I don't plan to use this with Linux device drivers).

A couple of comments; Firstly, please note the code is still quite fresh, it's worth thoroughly testing it for your needs first, if you plan to use it. 

Secondly, the GitHub page doesn't list precise steps on installing the environment to build software for the MSPM0. I figured that is already documented extensively by now, in the many blogs from Jan and myself, as well as the official TI documentation and so on (and I was short on time, hence the short video rather than a full blog). I didn't get time to test the build process on other platforms; I just used Windows 11.

What features would you add? Personally, I'm thinking of adding either tone/alert generation, or, perhaps a text LCD controller; or maybe keep it more general-purpose with say GPIO expander capability like PCF8574, but I don't have a need for any of these yet, so that may be some while.

Thanks for reading / watching!

  • Sign in to reply
  • kk99
    kk99 9 hours ago

    Nice video/write-up.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 11 hours ago in reply to Jan Cumps

    That's very interesting! I was thinking the other day, that choice of interface would be very helpful. Now that I have my workflow sorted for developing with MSPM0, at some point it would be good to see what larger pin-count MSPM0 parts could be useful to try out with multiple comms-interfaces, and then maybe port some of the code across (and hopefully redo and make it cleaner, now that I know what mistakes I made the first time around).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 11 hours ago in reply to DAB

    Hi DAB,

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps 15 hours ago

    TI published an application note that allows flex on the interface side: IO Expander With SPI, I2C, and UART. 

    The example in your post focuses on one interface, and several expansion options (GPIO, ADC, PWM, UART).

    The application note sticks to one expansion type: GPIO. But it shows how to use different communication techniques to do that: I2C, SPI and UART.

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB 1 day ago

    Very good video.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube