All Episodes

July 15, 2025 22 mins

In this episode, we delve into Embedded Tools with special guests Eduardo and Michal, who provide a comprehensive overview of the versatile FreeMASTER tool. Learn about its origin, evolution, and wide-ranging applications beyond motor control. Discover how FreeMASTER facilitates real-time debugging, visualization, and control in various embedded systems. Don't miss out on learning about the exciting future developments and Zephyr integration. Join us for an insightful journey with the experts behind FreeMASTER!

00:00 Introduction to EdgeVerse Techcast

00:22 Meet the Experts: Eduardo and Michal

00:56 The Origin of FreeMASTER

03:32 How FreeMASTER Works

05:50 Beyond Motor Control: Diverse Applications of FreeMASTER

07:45 Innovative Use Cases: FreeMASTER and Doom

10:48 Evolution and Future of FreeMASTER

14:51 Motor Control Specific Features

18:29 Exciting Future Developments

21:13 Getting Started with FreeMASTER

21:46 Conclusion and Farewell

Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:11):
Welcome back to the EdgeVerseTechcast, a place where you can
find answers to questions about NXPenablement software and tools for
embedded systems and edge computing.
Today we're jumping into the importanttopic of Embedded Tools with two
special guests, Eduardo and Michal.
Eduardo.
You've always been passionateabout real-time debugging.

(00:33):
And Michal, you were literallythe creator of the FreeMASTER
Tool, both here with us today.
Hi, and thanks for having me.
I'm really excited to talk aboutthe versatility of FreeMASTER
and how it can go well beyond,motor control applications.
Yeah, it's great to be here.
I'm looking forward to discussingFreeMASTER Journey and its capabilities.

(00:56):
Thank you.
Well, I wanna kick us off talkingabout the FreeMASTER origin story.
Michal, can you walk us throughwhat FreeMASTER is, how it came
to be and what sparked the idea?
Uh, yes.
Well, in very short, in one sentence,FreeMaster is a tool running on a PC
on a computer, which connects to anembedded application and it displays

(01:19):
its data and variables in real time.
In many cases, embedded applicationsdo not have any display or cannot
run its console or graphicalfrontend over web browser or so.
So FreeMASTER basically givesaway how to look inside what
is happening in the processor.
The FreeMaster, it started long time ago.
In year 2000 it was actuallythe very first project I got

(01:44):
assigned when I joined Motorola.
Motorola later turned into Freescale,or Freescale turned into NXP.
So many changes happened in theorganization, but this tool remains
conceptually still the same.
In 1999 when I joined Motorola, it wasa motor control team that I joined.
The PC Master, as it was called backthen, it was a tool that my older

(02:09):
colleagues actually imagine alreadyin their heads before I joined.
They really wished to have somethinglike this, but they were mostly
scientists and mathematicians, motorcontrol experts, so they could not
design it physically themselves.
I did join them, on the contrary,without any skills in electric Motors.

(02:29):
But I did have some experiencewith writing UI apps and
applications for Windows.
So this is how it started.
And the tool later proved to bequite useful, really key for such
kind of application development.
Of course, during this 25 years,, we were adding new features,
supporting microcontrollersfrom Motorola, Freescale, NXP.

(02:50):
We were adding communication options,but the concept is still the same.
The applications simply shows the dataof embedded applications in real time.
One thing I would like to mention here,what did not change all these years,
the tool started to be free and it isstill free to use for our customers.

(03:11):
So if you are an NXP customer andyou stay with the NXP microcontroller
product, it's completely free.
Free to use.
It's incredible how a tool that startedwith such humble beginnings has become
essential for so many developers.
Speaking of which, let's diginto how it actually works.

(03:32):
Michal, can you walk through howFreeMASTER works and what makes
it unique in Real-time Debugging.
Well, yeah, we like to say that FreeMASTERis a tool from developers to developers.
Created by us, who design embeddedapplications to overcome issues that
we are facing in our daily life.
As I said, the challenge of writingsoftware for embedded applications that

(03:55):
you typically do not have any insight.
You don't see what is happening.
What is the application just doing?
Of course you always have adebugger, but sometimes even a
debugger is not really usable tool.
I would say the more real time andthe more embedded the application you
develop is the more useful FreeMASTER is.

(04:16):
Sometimes I would say even more usefulthan, than a classical debugger.
Because when you use a debugger, whatyou typically need to do is to stop the
code at the break point to see the dataand to see where the application is.
But this, of course, makes yourlive data , you get from sensors
or from whatever, gone already.

(04:38):
So it is always too late tostop the application and,
and see where the data are.
So what you need is the real-time accessto the data and well, to be fair, some
debuggers can also show live data.
But FreeMASTER, I would say,can always do it better.
And it does it graphically, it doesit also over other communication

(04:59):
lines than just the debugger cable.
It can do it over USB, Ethernet, CAN Bus.
With FreeMASTER it is easy tosee the data in graphical form.
It is easy to modify the dataeither manually or by automation
scripts like JScript or Python.
This makes it easier for testing ortuning the application parameters.

(05:20):
You can also hook up the applicationfrom Excel or Matlab, for example.
This makes it also very, verypowerful to analyze the data.
Um, you can write your own graphicaldashboard with buttons and gauges
yourself and use it inside FreeMASTER.
Use the FreeMASTER as a communicationinterface or framework which hosts the UI.
That's great.

(05:41):
That's very, uh, detailed.
I learned quite a bit just in yourfirst couple responses, so thanks.
It does give us a lot of perspectiveof the origin of the tool.
But Eduardo, earlier when we were talking,you mentioned that FreeMASTER is really
useful way beyond just motor control.
So can you share some of thoseother applications where customers

(06:02):
come to you and tell you about thebenefit they've had using FreeMaster?
Yeah.
uh, Michal already mentioned it,but FreeMASTER really shines in
visualization and controllingvariables in runtime, and particularly
when we're talking about real-time.
You can use it without addingany code at all, any of the
FreeMASTER communication protocol.

(06:22):
It also understands justtalking through the debug probe.
So that's a very quick setup to get somereal-time debugging and graphics going.
And with the SEGGER J-Linkdebugger you can even debug and run
FreeMaster at the same time, right?
So you can have your debugginginterface in your IDE, and you
can have your FreeMASTER separateand they're both running together.

(06:45):
And yeah, motor control was theoriginal driver, but ultimately
it's a visualization tool, right?
For example, our sensor team uses itto provide their interactive sensor
evaluation and in almost like a data sheetcombined in the FreeMASTER interface.
You can play with parameters forthe sensor, you can see how it
performs in different conditions.

(07:05):
I heard that a few episodes, youtalked about the Analog Front End
products and FreeMaster is also usedto show what those parts can do.
Yeah, I agree.
Eduardo, the sensor applicationsreally impressed me.
A couple years ago I was at acustomer event and I saw the
sensor team using FreeMASTER toclearly display their data sheet.

(07:28):
The user was actually able togo into this web version of the
data sheet and modify and quicklyevaluate how to optimize the device.
So no longer looking at A PDFthan opening up your code and
manipulating the register settings.
They were able to do it inreal time using FreeMASTER.
Now that's all serious, but Eduardooffline, you shared a very surprising

(07:50):
use of the FreeMASTER tool.
Can you share that use case with ourlisteners and maybe how it's a great
example of just how far people havegone to show the power of the tool?
Yeah.
So, there's been an effort bysome of our engineers to actually
port the Doom first-person shootergame to the MCXN microcontroller.

(08:11):
So in terms of compared to a pc, that wasthe original place where this game ran,
an MCXN is a relatively tiny device, butof course now powerful enough to run Doom.
Right?
And at the same time, theyhave FreeMASTER running.
So you can visualize with the differentgraphs and charts what is the processing,

(08:32):
the real-time processing and resource use.
The coolest part, I think is thatit'll also plot the location of
the game player in the Doom map.
So you have the game happeningand at the same time FreeMaster
is showing you the map.
It's just a great example ofhow FreeMASTER can simply and
quickly customize visualized data.

(08:53):
You can create scopes really quickly.
You can add any variable youwant that's in the project.
You can make it a watchvariable or a scope.
You can convert in real time,which is really practical, right?

Like the variable type (09:04):
Fractional type to Decimal, Floating to
Decimal to Hexadecimal, et cetera.
So that if you're used to thinking aboutthis variable in Hex, you can put it
in Hex and then it does the conversion.
If you wanna just think in humannumbers you can put it there and
then it'll translate it to whateverit needs to be inside the code.
So that you are visualizing whatever'smore convenient to you, and then

(09:27):
it's going into the applicationin whatever the application does.
Then on top of that,, Michal alreadymentioned that it has a capability
of creating a UI to controlabove and beyond what the regular
scopes and watch variables can do.
So you can create a UI and now you canuse the NXP GUI Guider tool to basically

(09:49):
create a gui, uh, in just a few clicksinstead of writing the software?
So you use a GUI Guider.
You create your GUI, and then the GUIGuider has a special feature to connect
to FreeMASTER and put that GUI in there.
And it just works great.
Super powerful to, to combine FreeMasterwith GUI Guider to display those

(10:09):
interactive buttons and displayson the device that you're measuring
on A LCD that's plugged into it.
It's crazy.
So it's pretty cool what you can do.
But I still can't get over youtalking about that Doom demo.
That is next level creative to seethe player's position in the Doom Map.
And it brings me back to my days in 1993when I was at Purdue when Doom was first

(10:34):
released, there were a ton of students inthe university computer labs playing that
silly game, uh, at all hours of the night.
But that makes me regress.
Well this clearly showed howFreeMaster has come a long way
from just showing motor graphs.
But Michal, can you tell us how thetool is evolving over the years and
what major features have been added?

(10:56):
, Yeah, well already did the first versionback in 2000 was able to show variables,
graphs, and everything like today.
So even including the specialfeatures, like a high speed recording
to on-chip memory that we designedand so on.. This, of course evolved
during the years, but the basicfeatures were there since the day one.
Primarily what we were adding laterduring the years were the scripting

(11:20):
options and features for externalapplications to be able to connect
and also to show and modify so-calledFreeMASTER variables, which means the live
variables of the embedded applications.
This extension first startedwith a plain web browser.
It was Internet Explorer.
It was the very first externalapplications that we used
to connect to FreeMASTER.

(11:41):
In this web browser, the usercould design his own UI with
JavaScript behind to implement thedashboard logic and data logic.
Later we enabled that the web browsercomponent could run directly inside the
FreeMASTER main window, so it appearedas a compact application together
was built in graphs and data grids.

(12:03):
The user had the complete UI for theembedded application in one place.
Later, adding more applicationslike Excel or MATLAB, this was a
side effect of making the FreeMASTERopen to third party applications.
But the fact that thesekind of applications could
communicate with FreeMASTER itwas really a little revolution.

(12:25):
I would say.
To have a live data acquired byHardware, to have them on PC for
further calculations, either in Excelspreadsheet or in advanced MATLAB simuLink
environment, this, this was a reallybig thing and, uh, it, it still is.
This is the major way how weuse FreeMASTER in the most
advanced applications today.

(12:47):
Also later, adding a varietyof communication types that
FreeMASTER supports in additionto the plain old serial line,
which was popular 25 years ago.
The one Eduardo mentioned , goingover debugger line together
with the real debugger session.
This is what combines bothapproaches as I said before,
FreeMASTER is better than debugger.

(13:08):
It's not always true.
Sometimes you need bothand you can have both.
You can have even both simultaneously.
You can run the debugger sessiontogether with the FreeMASTER to see
runtime data and then use a debuggerto stop eventually at some break
points and examine what is going on.
This is possible.
Then we were adding CAN Bus, USB,Ethernet TCP/IP communication recently.

(13:31):
Also wifi.
This really helps our customersto use FreeMASTER, not only during
initial development when theyhave a bare board on the table.
But also later when it is in the product,the board is packaged and there are often
very limited ways how to connect into it.

(13:51):
So typically there is maybe oneCAN Bus interface available.
Still user can hook up and connect.
Yeah, so during the years, I would saywhat kept us quite busy was to keep up and
support all the new microcontrollers fromMotorola going from eight bit HC08, HCS08,

(14:12):
HCS12, to ColdFire, Power architecture.
Later to Arm Cortex-M basedplatforms like Kinetis, LPCs.
Today this MCX family and i.MX RT.
That was and is still our daily work.
I need to leave a note for Kylethat I don't know if 20 minute
episode on FreeMASTER is enough.

(14:33):
There's just so much to learn andit's impressive to see how it's
adapted across so many MCU portfoliosand communication interfaces.
Thanks for sharing all this historyand the evolution, but I do wanna
take a step back to its roots.
Eduardo, what still makesFreeMaster so effective for

(14:55):
motor control applications today?
And are there motorcontrol specific features?
Yeah, the great thing about FreeMASTERand how flexible it is, is that
pretty much all of the features arefor motor control, and at the same
time they are for other things.
That's the flexibility that it allows.

(15:15):
It's more about how thesefeatures are being used.
So when you're developing withmotor control, the most critical
thing is the tuning of the motor.
So you need to be able to visualize inreal time because the motor is moving.
What is happening with the motor variablesand how it compares to the desired input?
Right?
So a very simple example.
You want the motor to accelerateto 5,000 RPMs in three seconds.

(15:38):
I would like to see a graph that showsme the actual speed of the motor,
and I would like to see it next tolet's say the ideal curve, right?
So I can have these variables, the onethat represents the ideal curve and the
one that actually is the measured value.
I can see them side by side.
And I can run my, my test of goingto 5,000 RPM and back several

(16:01):
times and see how it behaves.
At the same time, I can be tuning myfactors, my gains or whatever it is that
is being used to control this motor.
Typically a gain, right?
Tweak the parameters in realtime, and see it change.
So that's fully transparent and we cansee the, the speed, the current, the
voltage, and have different scopes forit, different ways to visualize it.

(16:23):
So FreeMASTER is set up to assistwith different types of motor control.
Can you walk through at a highlevel how the tools used in
the process of tuning a motor?
Yeah, for sure.
So we have a tuning GUI that is alreadybuilt into the FreeMASTER project that
comes with our motor control example code.

(16:44):
It's all a nice little package.
You get the code and then inside thereit's the project and the GUI is built into
the FreeMASTER project like we mentioned.
FreeMASTER has thecapability of running GUIs.
So this is one example of that.
So the GUI is set up to calculate theoptimal starting tuning parameters.

(17:05):
The tool prompts you to input thebasic parameters of the motor, like
voltage, maximum speed, number of poles.
All of these things that usuallyyou get from the motor supplier.
And it creates all the internalnecessary tunings like control
gains and fault thresholds and loadsthem into the RAM in real time.
Then you can have yournew values and test again.

(17:26):
So, let's say it's a proportional gain.
It suggests one value.
That's the initial valuebased on some basic math.
You run the motor and you see that,oh, maybe it's, uh, reacting too
quickly, lower the gain and try again.
And this is all happening in real time.
It's all in the RAM.
Once you're satisfied, where you'veset up all your tuning values, you

(17:48):
click a button and it creates a.H file in your project directly.
So the next time you build and you flashyou start off with the new tuning values.
So all of this is streamlined insidethis GUI and connected to the code
file and it's all ready to go.
Few clicks.
So we make the motor controlapplication tuning easy and we retain

(18:10):
that huge flexibility to add otherthings, whether it is in this motor
control project that we're workingon or in different applications.
Well, clearly FreeMASTER continuesto shine in motor control even
with all its new capabilities.
So, looking ahead, I wannatalk about what's next.
Eduardo, Michal, what are you mostexcited about for FreeMASTER's future?

(18:34):
Definitely the rollout of Zephyr.
Zephyr support forFreeMASTER in our downstream.
Zephyr has been gainingpopularity very quickly.
Everyone wants to use it.
Naturally the people who alreadyuse FreeMASTER and wanna integrate
Zephyr, they want that compatibility.
At the same time, anyone new to FreeMASTERand to Zephyr will get great benefits

(19:00):
from just having that integration.
So I'm really excited to see that.
I'm really excited to see what ourcustomers and developers are going
to do with FreeMASTER in the future.
Yeah, I agree.
Zephyr integration and ease ofuse of FreeMASTER drivers on top
of Zephyr Hardware subsystem.
It is recent news actually.
We already did that or some ofit, and it's definitely a focus

(19:21):
over the next months ahead.
Today the FreeMASTER may run on top ofthe Zephyr serial driver, USB driver, CAN
driver, and also over its TCP/IP stack.
So this is already supported.
Actually FreeMASTER Over Zephyris what we also demonstrate in our
Doom Game example we can observe,Zephyr CPU usage of each task.

(19:43):
We can observe stack utilization,in runtime and along with other
application variables in the same graph.
This comes especially useful when, forexample, some algorithm parameters may
have direct effect on the stack usage.
You can put both parameters intosame graph and see while you modify
the parameter, what affect it hason CPU usage or stack utilization.

(20:07):
That's very useful.
In more complex cases in Zephyr,you can run Zephyr terminal and
logging over the FreeMASTER protocol.
So this means over each of theseSerial, CAN, USB, all these interfaces.
So you can show the terminal and lookdirectly in the FreeMASTER window.
Yeah.
So that, that's for Zephyr.

(20:28):
Going more forward, or going to farfuture, we want to rework a little bit,
the FreeMASTER interface, so it could runalso on macOS and Linux machines, because
today it is very much Windows centric.
But this will take time and thisclassic FreeMASTER, as we described
today, it'll be still there with us forsome time until the new one will come.

(20:50):
But I can promise that it'llbe compatible and with the
same features as we have today.
Alright, well, we'll hold you tothat promise, but we're excited.
So we love hearing whereeverything's headed, especially
with the Zephyr integration.
We've had several episodes on Zephyr,so the more we hear support for
Zephyr, the more we're excited abouthow we're enabling our customers.

(21:13):
Now for those that are listening who areready to test, drive the tool that we've
been talking about, FreeMASTER, what'sthe best way for them to get started?
The best way is goingto the NXP App Code Hub.
There's over 25 examplesof usage of FreeMASTER.
There are also training videosand a special section on the NXP

(21:33):
community that's specificallydedicated to FreeMASTER support
in case you have any questions.
And we can always just have theboth of you back on the podcast and
we'll answer everyone's questions.
Yes.
Alright.
Well, today we've taken a journey throughthe origins, the evolution, and the
wide ranging capabilities of FreeMASTER.
And FreeMASTER proves it'smore than just a tool.

(21:55):
It's a trusted ally for developerstackling real-time challenges.
Michal.
Eduardo.
Thanks for joining us todayand sharing your insights.
It's been such a greatdive into FreeMASTER.
Yeah, thanks for having us.
It's been really good talking to you.
Yeah.
Thank you.
All right.
And to our listeners, keep exploring, andkeep your motors spinning, and we'll catch

(22:19):
you next time on the EdgeVerse Techcast.
Advertise With Us

Popular Podcasts

Stuff You Should Know
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

The Herd with Colin Cowherd

The Herd with Colin Cowherd

The Herd with Colin Cowherd is a thought-provoking, opinionated, and topic-driven journey through the top sports stories of the day.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.