NXP Semiconductors NV

11/27/2024 | Press release | Distributed by Public on 11/27/2024 15:47

The Power of Transformation: NXP in Embedded Systems Education

I believe that all people seeking knowledge should have the opportunity to learn and grow, regardless of who they are or where they live. A value that I hold is that if you know something, you have the responsibility to teach it. Living to this value does not require you to be the best teacher or an expert.

You just need to be willing to pass along what you know and be open to taking the role of both teacher and student. This is a distinguishing feature of human beings. Not only can we retain knowledge between successive generations, generations-that knowledge base can grow significantly over time.

Since 2012, I have been participating in the Foro de Innovación Tecnológica (FIT) at Universidad Galileo in Guatemala City. FIT brings together an alliance of people with a passion for technology to offer an innovative learning experience to the students of Galileo as well as greater Latin America. It offers a wide variety of hands-on learning experiences from topics such as embedded systems, IoT, automation, robotics, video game programming and cyber security.

This year was the 15th anniversary of FIT and my task was to lead the Autonomous Vehicle Challenge (AVC). Inspired by the EMEA NXP Cup, the AVC is a short 3-day learning experience where students are introduced to concepts in computer vision, embedded programming and motor control. Each student was given a scale model car chassis and had to figure out to autonomously navigate a track defined by color lines.

Bright minds. Bright futures. NXP team members create breakthrough technologies that advance our world. The future starts here.

Hardware for FIT XV AVC

This year we used FRDM-MCXN947 development board with a custom designed shield called the FRDM-AVC. The FRDM-AVC was designed to the provide IOs from the MCX N947 needed to create an autonomous vehicle.

The FIT XV FRDM-AVC shield for use with the FRDM-MCXN947

The FRDM-AVC combines:

  • A parallel camera interface to an OV7670 or OV5640 using the MCX N947 SmartDMA Engine
  • A 320x240pixel IPS LCD display for visualizing camera data and processing algorithms
  • Two H-Bridge circuits for controlling rear drive motors
  • Encoder feedback circuitry for velocity measurements and control algorithm
  • Steering servo outputs
  • Potentiometers and buttons for user inputs and setting tuning parameters
  • A Sparkfun Qwiic® / Adafruit STEMMA® QT compatible connector for I2C sensors
  • Access to all FRDM I/Os
  • XT-60 style connectors for use with common battery packs
  • DC-DC converters to power the +5v and +3v3 circuitry

MCU technology has certain advanced since the days of the FRDM-KL25Z board and the FRDM-TFC shield that I designed for the Freescale Cup.

The mechanical platform selected for the AVC uses Akerman style steering and gave students the same starting.

Many of the students were from an electronics or computer engineering background and this was their first time learning about rear wheel differentials and the Akerman steering geometry.

Vehicle chassis for use with the FRDM-AVC and FRDM-MCXN947

The underlying goal was to show that embedded systems are where the physical and virtual worlds connect. I wanted to share with them the excitement of sensing and controlling things in the physical world. For many in the classroom, this is the first time coding on a computer screen to control something interesting in the real world.

Algorithms and Transformation

A key theme throughout the week was the power of transformation. How looking at data from a different perspective can change how we approach a problem. In cases, it is the key component to making a problem solvable. After we learned the fundamentals of our hardware, we did a deep dive into the camera interface and how the camera data would be formatted.

The students had the opportunity to experiment with the raw RGB data from the camera. What was seemingly easy for a human brain to solve can be difficult when we had to develop a "mathematical machine" that can run on the MCX N947.

One of the first algorithms we studied was color space transformation. It was not long before everyone observed how something as simple as "find the red line" could be challenging. As a first step into the world of computer vision, I lectured on color spaces. Everyone naturally understood the concept of red, green and blue pixels from the camera. With some mathematics, they learned new methods to represent color such as Hue, Saturation and Value (HSV) and YUV.

Color space transformation as a metaphor for solving engineering problems

When explained from the point of view that we can map a "cube" of colors onto a "cylinder," the students experienced how the abstract mathematics that they had been learning about in other coursework could be used in embedded systems. This was the starting point to connect mathematics, software, sensors and the real world.

For me, the intent was to offer a glimpse of how powerful they could become by connecting the different pieces. The field of embedded systems is more than microcontrollers and code, it is about connecting many engineering disciplines.

Introduction to Professional Embedded Tooling

Some of the students had experience in microcontroller and software. However, the AVC was an opportunity to introduce them to professional tooling and debugging. The MCX N947 is a powerful multi-core MCU. We learned a bit about how a dual-core application is structured and how tools like MCUXpresso can build a multi-core application. Once again, this was to show where the MCU space is going with multi-core MCU architectures and the tools available at their disposal.

MCUXpresso IDE Dual Core Build for the MCXN947 For a better experience, download the image.

There were a lot of details, but the goal was to show what landscape is to empower these students to think and grow.

To load code and debug, we used the Segger Ozone debugger making using of the built-in debug hardware on the FRDM-MCXN947. This was to show how we could separate concerns in our tooling and that the output of the compiler/linker could be used in different ways. The students got to learn about advanced features such as live run-time variable monitoring and RTT logging.

Using the Segger Ozone Debugger with FRDM-MCXN947 For a better experience, download the image.

There was even a case where a student had a hard fault due to a buffer overflow corruption. They got to learn firsthand how to analyze the call stack to see where the problem code was. One of the best debugging tools was hands-on with the hardware itself. They had the ability to view live camera data on the LCD screen and overlay lines and text to show them what their algorithm was doing.

Resilience to Challenges

An important point is that all this transpired over three days. In many cases, this was the first time the students saw any of the material. We also had to deal with real-world challenges. For months we had been preparing the hardware components. Even so, it turned out that the car chassis that had been ordered a month before still did not arrive by day one. The students did not have the full hardware set until the start of the final day.

Even so, several teams were able to show that they could navigate the track. While not ideal, the situation showed that being resilient in the face of obstacles is as important as the technical details themselves.

Resilience to challenges

These students met the challenge with vigor. In fact, once they saw how interesting embedded systems could be, many wanted to stay very late in the lab and get starting first thing in the morning.

Looking Forward

The pilot of the AVC brought challenges to both the students and the teachers! However, everyone left with a sense of pride and anticipation for next year. Many of the students will be returning next year, now with a lot of more knowledge and a sense of what they could accomplish. I wish I could communicate the excitement in the room when the first group figured out how to navigate the track.

Using the FRDM-AVC Camera and LCD to develop control algorithms

I'm also anticipating how things will grow in the coming years. Going from barely navigating the track to zipping around at high velocity in future events will be the most exciting, and I cannot wait to see the transformation.

I had the honor of doing the closing keynote at FIT XV. The theme was "Excellence in Embedded Systems." Being "excellent" is not only about technical acumen but being excellent as a whole person.

We left with this famous quote:

"Do what you can, with what you've got, where you are."

Squire Bill Widener of Widener's Valley, Virginia
Theodore Roosevelt: An Autobiography - chapter IX

The real-world of embedded system and engineering needs excellent people. We need those who can tackle problems, even when they are difficult and when we do not have the ideal conditions to solve our problems. To me, that is a definition of "excellence."

We are already looking forward to the next AVC at FIT XVI in 2025. It will be even bigger and better, and I can't wait to see how many will come to learn and grow. I know that I learn and grow as much as anyone else.

Tags: We Are NXP

Share
  • Twitter
  • LinkedIn
  • Facebook