Welcome to the CircuitPython Show.
I'm your host, Paul Cutler.
This episode I welcome Michael T.Rex Kadie.
He is an engineer builder, an openly autistic adult, and the founder of SSI Racing.
He earned a BS and MS in computer science from the University of Wyoming,
with a systems and AI thesis dedicated to building a custom hardware software,
augmentatives communication device, for two non-speaking children.
That project set the trajectory.
He spent the next three decades shipping embedded firmware, real-time systems, and production software across telephony,
manufacturing, and wireless, including a stretch of staff engineer at Qualcomm,
and along the way designed the battery management system used in the FDA-certified electric wheelchair,
and a world-record-setting electric car that was on the main floor of the Detroit Auto Show for some reason.
Today, through TSSFAA.com, which stands for T-Rex, successful, slightly famous autistic adult,
He releases open source assistive devices built on CircuitPython.
The main project is the TREX Talk family.
Tactile AAC boards built around the Adafruit microcontrollers
featuring the RP2040, RP2, and ESP32,
with a new TREX Talk 3.0 generation moving to the RP2350-based
Adafruit Fruit Jam and similar cores.
Michael, welcome to the show.
Thank you. Good to be here.
How did you first get started with computers and electronics?
I started with a Radio Shack 101 electronics kit and moved after that to a TRS 80 Model 1 computer,
so I know how to program computers the hard way.
Going all the way back to the TRS Model 1, is there a favorite computer you've had in the last 40 years over that time?
Amiga's were definitely my favorite computers.
They just did amazing things.
How did you get started building communication?
devices in the 90s?
I was on a road trip with a friend's family, and there were three family members in
wheelchairs, one of which I was assuming that because he wasn't able to communicate,
that he wasn't smart.
And as soon as I realized I was having this awful thought, I decided to do something about
it.
So for the rest of the road trip, we talked about what he can and can't do, and I was taking
notes and inspired six to nine months later, I had sent him off a working full language system,
which he then used to joining normalized seventh grade classroom. So amazing success.
Well, that's pretty cool. Did that serve as the inspiration to the T-Rex Talk 3.0?
A little bit, yeah. After I finished college, the iPhones were coming out, and there was
some communication software on the iPhone.
And I kind of figured that, hey, it's easier.
People are getting everything they need now.
And it was busy, kind of hyper-focused on work and all of that other stuff.
And as I'm starting to think about what I want to do with the rest of my life,
I was like, you know, that was the best thing I've ever done.
I want to do that again.
And it's like, oh, there's still holes.
They're not as many as there used to be,
but for what Michael was the name of the person I built the first one,
people with no fine motor control skills,
it's really hard to find good devices.
So it's like, oh, I already know how to do that.
On vacation, I met an adorable girl named Moana,
who also can't communicate.
And I was working on just a basic needs board for her.
I was like, yeah, I can do this.
And I got that sent to her within about six months with a lot of revisions internally.
And lots of, she got a much nicer one than the one that I have laying around.
She's still using it after a year.
It's not fully filling the communication needs, but it does seem to get her more cause and effect reactions.
So wonderful, and I'm going to try and work with them again and try to build a device to bring her into more interactive communications.
Because that's her favorite toy.
We can't do anything with that.
That has to stay as it is.
That's really neat.
Thank you.
Let's chat more about the T-Rex Talk 3.0.
What is it and whom is it for?
Okay, so I took the Moana device around and a friend of a friend had a stroke.
And he's a former military person and one of the favorite things he had in his life was swearing.
So he made the grumpy old man device, which is similar.
But, you know, because it's newer, all of the things I learned went into the grumpy old man device.
That was the version two.
and there was a bunch of other stuff trying to build it into an open source ecosystem so that other people can come on.
And then I went to open source, maker fares, and talked to a lot of people.
And I found out about selective mutism, which is more preferred to be called involuntary nonverbal people.
And for that, I was thinking, you know, a little credit card size device,
kind of something that size that they could wear, have in a pocket.
And when they are unable to communicate, it can just have a smash button that says
whatever their instructions are, when they are unable to speak.
And then it also, you know, I love rotary encoders.
They're so fast as a full rotary encoder menuing system.
to be able to, in theory, also do full language communication or quick needs access.
And these were now three separate software bases.
I was trying to figure out what wanted to be the kind of ultimate compute board,
which I decided was definitely the 2350 PICO 2,
And the CircuitPython 10 on their fruit jam device with the automatic SD card loading up,
when you plug it in, was like, ah, because it's a pain in the tush to take the SD cards out and load them up.
Because when we're talking about, especially my goal is to eventually have an SD card with 12 languages,
kind of 50,000 words just to ship out.
You don't want to have to do that through the CircuitPython,
going back and forth to the SD card.
You don't want to have to pull it out,
stick it in the computer, and put it back.
So it was like that kind of made me decide what the core is.
Unfortunately, the base device draws too much power
without removing parts.
And I asked, and even for a reasonable order,
size of like 100, they won't do any special runs.
And that's fine.
I already had three other versions of RP 2350 kind of circuits.
So because they're open source and I'm open source, I'm taking their baseboard and integrating
it into the next version of the device, getting rid of all of the stuff I don't need, which
basically is just leaving me with the much nicer sound chip than I was using.
and the QSPI microSD card and then the all of the pins PICO and according to the calculations
with my own power circuits I have to add another chip to do some of the wake-up stuff
I should be good for between four months and two years of idle time just quick launch on a
regular 18650 battery.
That's really impressive.
Thank you. Thank you.
And then part of the 3.0 was bringing all of these different disparage code bases together.
And disparage AI or not, it was like it made it really easy to say,
okay, here are three different code bases.
Let's bring them together using kind of the class architecture that I'm fond of.
the long variable names that I'm fond of.
And, yeah, it's been wonderful.
I would have never gotten the CYD version of the software working,
which is an ESP 32 based with built-in touchscreen without Claude,
because it would have just been like, no, no, your documentation is bad.
I have better things to do.
Whereas I was like, oh, you go try doing that.
I'm going to work on the main stuff.
And when you need help, you know, I have two computers, no waiting for me.
I mean, one of the goals is that getting other people into the system to help build devices,
especially for people that they know with unmet needs, having to send off for circuit boards,
group bias or whatever, impedes it.
And now we have the fruit jam.
You plug it into a monitor.
You plug in a keyboard.
poof, you can run kind of nearly any version of the software, which is great for a developer.
Now, with the CYD, there's a kit which comes with a speaker and a better sound without the sound
problems that the typical one has.
So you buy that kit for like under 20 bucks, a battery for 10 plastics, and now you've got a
complete system
touchscreen under 40 bucks
so you can use
this with no need for special
hardware it's running
the same source code with just changes
in the configuration files
which are text files with lots
of explanations and meaningful
names
and so the 3.0 is
really come forward
it does have
submenus which allows
you know, you just say, here are my food and drink tasks.
Hit that and then it's like you could go food and drink, fruit, apple.
So we get you through just an enormous amount of possibilities in a very intuitive and quick fashion.
And then it also has untested what I call the infinite lists items.
So any selection can be something that speaks and has lights and vibration, haptic feedback, and all of that.
That's options on all of these.
You go to a sub-menu, and it can now go to a list menu.
List menu is text only, lists are alphabetical, and it can be sentences and words.
And this is what I did for Michael.
So it allows you to select what I would call the A.
human optimized fashion so that there's an intuition for parsing through this, not just some binary tree,
which our brains don't think of well, to get to say what you want. And then, because I've been
really inspired and productive sense vacation, I have it so that it now has a sub-program
option. And the sub-programs are something which are for a group of autistic children,
are going to be the first real bulk build.
There's an annual charity run where they've bought 30,
what they called stimbats, which are stimulation devices.
Well, this one for them, it has tilt, it has a QR code reader,
it has buttons, it vibrates, it's got a touchscreen, it's got colors,
it's got sounds, all together.
And I think it's going to come in with a,
build material under $100.
And then to go with that,
we're going to have a bunch of
interactive learning games
and, you know,
kind of stimulation response
tailored to different needs
or educational goals.
Right now, I made a working
training game where the device
will speak a question
to you and you select from the list of menus as to what the appropriate response is and it
times you and it keeps high scores and in theory that should be engaging and it will get more
engaging before open sauce is my big public release of everything except for this obviously and
because I was in a mall waiting for my friend to get new glasses and there was a T-Rex
squeaky rubber chicken equivalent, I thought, oh, the sippin puff sensors are something that
exists in the open source, but the ones I saw weren't great. And egotistically, I thought,
I think I can do something better. And not egotistically, I went and researched all of the other
papers, all of the other write-ups. And that was so good because they mentioned what their
weaknesses were. So right now, I've definitely tested the sip and puff to select and rotate
through my communication device, and it works. Intuitive, all of that. I tested a little bit with the
orientation, which could be on the straw. It could be on a little headband or something. That's
as far as I got on that because where you put the sensor makes a world of difference in terms
of how it's going to react, but it'll also work as a mouse. And in theory, it's also already
working as an Xbox accessibility controller. Oh, that's great. Yeah, I mean, you just kind of,
in software engineering in general, you kind of reach this kind of plateau where things are just
coming together.
And with CircuitPython, that plateau is really, really spinning out fast and easy.
I mean, if I was doing this in C++, it was like, yeah, I would definitely have a good working
system for Mojana and probably be at the 2.0 device stage.
But I wouldn't trust anyone else to work on the source code.
So would you say that's using CircuitPython sped up development for you?
Oh, by orders of magnitude.
I mean, I started using Python at work,
and that definitely was a huge win.
And then it's like, oh, CircuitPython is close enough that I can cleverly just write kind of,
what's my processor, what's my OS,
and have the same code work on a Windows machine,
Raspberry Pi or CircuitPython device.
And only the graphics change.
I just knock out crazy number of devices.
I have a reading slash nightlight that is running CircuitPython.
It's also controllable over the Can Bus to be an indicator for automotive problems or solutions
and a lot of other things.
but mostly I've used it as a USB smack it,
and I've got a nice, setable brightness,
setable color light for traveling.
Oh, nice.
Speaking of automotive,
tell me how CircuitPython came to be retrofitted
into an antique car owned by Jay Leno.
Okay, well, that's in progress.
I used to do electric car conversions.
Well, as my main gig,
I still am electric vehicle engineer, but now I have a regular paycheck, and we were working with
Jay Leno and his mechanics on a different project.
And along came a garage find, or I'm sorry, a barn find of a 1911 Detroit electric car
that was not restorable.
And he decided he wanted to retro mod it.
So he brought us on board a while ago, and it kind of,
got a little momentum and then those were early days and you know kind of everyone was acquired
or went out of business a few years later it came back and they were like okay we're back on
the car we need some help and we have these gauges that we have no way to drive and some
indicators and was like, okay, I'll take one of my utility boards, which used to run C, but it's
been running CircuitPython for about the last five or six years. The ESP 32 gives you the Can Bus
really easy. Some other chips do as well. And it's like, so I've just put that together, started writing
some code to take advantage of the Can DBCs. So,
I put together a version of my hardware for him, and it's much nicer than it would have been before.
So it's like not only does it do what he needs it to do, but it's got a little OLED screen on it that displays whatever we want.
I threw a rotary encoder in there so that we can run tests, run simulations, all of that.
and then it all fits into an IP67 case,
whether or not, it doesn't matter if the OLED or rotary encoders are in it or not,
but for testing, that's just so easy to do.
So they're very excited about that.
They gave me all of the information.
I'm supposed to get the gauges to start testing this week,
and then in a few weeks I'll go out and start integrating on their vehicle.
In the meantime, I took a four-channel audio mixer that also I made it to be an audio mixer,
USB keyboard-like device, but also to be able to read and stimulate the Canbus because I can.
Because I have all of these libraries that I've built over the years.
It's just like suck them in, just say, uh, if Canbus, do this.
and so I'm going to be programming that it has a big color screen to be able to emulate all of his systems
so that we'll be able to do tests with nice displays as to what's happening and make sure that my
device is properly calculating all of the calculations and then eventually we can plug it
into his car if there's any problems, see what's going on and also be able to stimulate
any missing input to get it going.
Well, that's pretty neat.
Last question I ask each guest.
You're starting a new project or prototype.
Which microcontroller board do you reach for?
Well, if it needs can, I reach for an ESP 32.
If it doesn't need can, I reach for PCO2 because the RP 2350,
just has stupid good horsepower.
Especially for the price.
Yeah.
Throw the P-S-RAM in it so that I can do animation on the screens.
Michael, thanks so much for coming on the show.
Thanks for having me.
Have a wonderful weekend.
Thank you for listening to the CircuitPython show.
To learn more about Michael and the T-Rex Talk assistive devices, visit t-S-FAA.com.
For show notes and transcript,
visit CircuitPythonShow.com.
.
Until next time, stay positive.