Tiva™ C Series TM4C123G: the first Texas Instrument MCU port to micro-ROS

Micro-ROS has been ported to Tiva™ C Series TM4C123G.

Micro-ROS is the variant of ROS 2 for MCUs. Thanks to its full portability capacity and transport agnostic configuration, this framework can be ported to any mid-low range microcontroller.

Micro-ROS already supports hundreds of platforms supported (HW/RTOS) from different industrial vendors.

Tiva™ C Series TM4C123G has become the first microcontroller of Texas Instruments vendor that supports micro-ROS.

Check the repo here.

  • 80MHz 32-bit ARM Cortex-M4-based microcontrollers CPU
  • 256KB Flash, 32KB SRAM, 2KB EEPROM
  • Two Controller Area Network (CAN) modules (requires CAN transceivers)
  • USB 2.0 Host/Device/OTG + PHY
  • Dual 12-bit 2MSPS ADCs, motion control PWMs
  • 8 UART, 6 I2C, 4 SPI

Hello @mamerlan,

it’s great that there is now also an example for micro-ROS with a TI board!
However, I would still be interested to know why a bare-metal approach was chosen for this example and not working directly with an RTOS, such as FreeRTOS.


Hello @Marcel,

Nice to hear that! We have implemented a basic approach for the sake of simplicity, we provide a lot of details in the last EWG. Anyhow it is completely feasible to use micro-ROS in Tiva C along with FreeRTOS since there are available ports of FreeRTOS for this MCU, it is just a matter of adjusting some heap and timing details. Can you share which is your use case?

If you improve this micro-ROS port to add a version with FreeRTOS please do not hesitate to contribute your work to the Github repo. Also, if you need professional support you can contact us at pablogarrido@eprosima.com or mariamerlan@eprosima.com.

1 Like

Hello @pablogs,

thank you very much for your quick answer.

My use case would be on another TI product where a Cortex-M4 is also in use.
However, since other tasks are also running there, integration via FreeRTOS would be the choice of things there.

Is there any information or instructions besides the information in the video on how this example can be ported to a variant with FreeRTOS on another board?

@Marcel we do not have more documentation on how to port micro-ROS in a certain RTOS. There are a lot of micro-ROS examples and ports running in FreeRTOS but the configuration and the build system for this board are not available yet.

We will notify you here if we make progress in this line.