Embedded - 54: Oh! The Hugh Manatee
Episode Date: June 5, 2014Elizabeth Brenner (@eabrenner) returned to the show to talk about the are-you-ok widget that she and Elecia have been working on. (The initial problem-statement show is episode 17.) There is now a Spa...rkFun tutorial so you can build one of the are-you-ok widgets yourself. As announced in the show, there is a contest to get a SparkFun gift card, it ends 6/13/14 so get your answer in by then (maximum of two entries per person, please). Elecia already took the name Sal Right out of the running (reference). In the photo below, are Maxwell, Hugh (Cation pattern!), Haley, and Grimes (from left to right) so those are all taken as well. Noted on the show were two things El saw at the Solid Conference: 3D printed flexible materials from Kinematics and circuit stickers from Chibtronics. Also, we look forward to trying out the Fitbit channel for if-this-then-that (IFTTT) to see if that can monitor our loved ones too.
Transcript
Discussion (0)
Welcome to Embedded, the show for people who love gadgets.
I'm Elysia White, and happy to have Elizabeth Brenner back on the show to talk about watchdog timers for people.
And to give some SparkFun swag away, but that's later in the show.
Elizabeth, thank you for joining me.
I'm so happy to be here again.
And my co-host, Christopher White, is here too.
Hi, Elizabeth.
Hey.
Elizabeth, last September, you came on the show to talk about a problem you had.
It was episode 17, titled, Facebook Status, Maybe Not Dead.
Can you summarize the problem?
I have a neighbor, Dolores.
Dolores is between 85 and 90 years old. She's fiercely
independent. She lives alone. She has a life alert button, but what if she isn't able to press her
button? How long before somebody notices she isn't okay? Her daughters want her to move to an
independent living community close to them. She, of course, wants to stay in her own home. None of them want to talk on the phone every day, let alone multiple
times a day. Her daughters worry that she'll be ill or injured and unable to call for help.
She worries that she'll die in her sleep and no one will notice for several days and it'll be
icky. Yes. How can all of them be confident that if something happens to her,
it won't be unreasonably long before she gets help?
And this problem resonated with me.
My mom didn't have a life alert.
I wish she had.
But, of course, independence is so, so very valuable to many people.
And she wasn't willing to pay the 30 bucks a month.
She had this scheme where she would email me every day.
And I was supposed to notice when she didn't.
And sometimes she would test and I passed those tests.
But one fall, I was quitting a job, starting a new one,
having a big birthday party and planning and all that and getting a book deal.
Uh, so noticing that something was not in my email box was unlikely and it turned out impossible, and she fell,
and I feel horrible because, well, you know, I should have known.
Oh, that's awful.
The cosmic universe says I should have known. And so when you brought this problem to me,
I was all in favor of, let's at least solve the problem that I had,
and that's inverse information, where you don't,
it's hard to notice when something doesn't happen.
It's a lot easier to notice when something does.
Right, absolutely.
And so we talked about it last September.
And then we got busy with our jobs because that's how things go. And I kind of
poked along using the electric imp to try to make something. The electric imp is a little Wi-Fi
module that has a whole system around it. I guess we'll talk about it more later. But then I made
a little R U OK widget. The idea being you have to interact with it every day
and if you don't then it sends your loved ones
your caregivers I think is what I've called it
an email or a tweet. We started tweeting because
you don't really like Twitter that much but you are on it
and I had some people suggest, since the way you interact with it is an LED,
I had some people suggest initially that we should put it in toilet rolls.
Or the fridge.
That was the other option.
I liked the fridge as an option.
I really like the fridge as an option.
That would have been the one that my father would have been okay with.
Because it's definitely trying to balance the creepy intrusiveness of being spied upon
with this technology helping you and your loved ones to worry less.
Oh, yeah.
And that's one of the things that's been the most interesting to me.
First talking to you and to Chris, and then talking to various
other people, is the wide variety of what people view as intrusive or not intrusive.
And the idea that this is a device that you can package in different ways for different people
makes it really appealing. Because for Delora, she'd love to have a teddy bear.
My sister thinks a teddy bear would be unbearably twee.
She does not want a teddy bear in her house,
but the manatee idea is off beat enough that she thinks that might work.
So the manatee is,
a teddy bear would be like an off the shelf teddy bear we shove electronics
into, a teddy bear would be like an off-the-shelf teddy bear we shove electronics into.
But you've been working on making a stuffed animal manatee because you sew,
and so you actually know how to put these things together.
Well, I've learned how. I know how to sew.
I hadn't made stuffed animals before,
and it was something that I'd been sort of looking at and thinking,
well, I don't have any
tiny children don't my nieces are older I don't have an excuse to try this and then when you came
up with this idea it's like all right I can get that manatee pattern and try it out and see how
it works. And now you've sewn up three four manatees? Oh there Mandy. There was just the manatee with no electronics.
So I think
I don't know, three or four.
And I'm done with manatees
now. I've figured out how that works.
That's cool. Okay, now moving on.
So the manatee, but before
we move on, it was a pattern
off the web.
Absolutely.
There's a woman who's a science teacher in Castro Valley.
She has a website.
I don't know how she pronounces it, cateyondesigns.com.
And she's one of these very visual people who can just make a sketch and turn it into a pattern and put it together, and it looks like a manatee or the cat from some anime.
Well, and the manatee was cute because waiting in his tail means that he actually sits up.
Yes.
It's slightly inexplicable looking, like he's about to fall over like a weeble wobble any time,
but he does sit up
really well oh yeah and when i took him to work yesterday uh various people came by to see him
and one of the new fellows who's contracting looked at it and says oh it's a dugong
which is a philippine an animal that is known in the Philippines.
Not a manatee, but one of the very few animals in the Cyrenia family.
Looks very similar to a manatee.
Manatees are very non-threatening.
He's so cute.
I have one sitting in front of me and I'm petting him.
But they are, and they're just cuddly
because they are chubby. And he's got little fins
and he's got the funny tail that's full. And the glowing
E.T. tummy. And the glowing E.T. tummy. It's glowing red now because he
doesn't have Wi-Fi here at my house. He's got Wi-Fi at your place, right? Yeah.
And using the manatees, you chose a naming scheme.
Oh, yes. The manatee is Hugh, which actually was my husband's suggestion. So, the manatee
is Hugh because, oh, my dear, the humanity of it all. And he now has a friend who's a whale because, I don't know why, because the blobby body
lends itself to all sorts of different animals and a whale seemed appealing. And the whale's
name is, of course, Grimes, because now I can put Grimes and Hugh both in Dolores's house and we can
have a contest to see which one works for her. And the contest, of course, is Grimes and Hugh, both in Dolores' house, and we can have a contest to see which one works for her.
And the contest, of course, is Grimes against humanity.
Oh, my.
I'm sorry.
I couldn't help it.
I knew that ahead of time.
Sorry.
I'm sorry that was sprung upon you.
All puns episode.
And so, Grimes is a whale, and his blowhole area lights up.
That's the plan.
I should have fixed the battery.
Like most whales.
Like most whales.
And he's got two very cute buttons for eyes.
I think we're going to take a picture of all of them and put them in the show notes.
And then Velcro for his electronics inside.
Absolutely.
And Hue is lipo-chargeable, right?
Yes, Hue is your rechargeable version.
And Grimes is the version with the AA batteries.
And so the version with the AA batteries made it into a SparkFun tutorial,
which was super cool.
I was, you know, I have a personal reason for doing this.
I don't really want to make a product because there's just something about monetizing.
Yeah, well, it sounds like work, but there's also monetizing your own atonement project.
And I don't think that's a good idea.
But with SparkFun, anybody can make it.
Although there's a soldering step and you didn't want to do the soldering step.
No, I don't solder.
Why don't you?
You're an embedded software engineer professionally.
Correct.
And have been for at least a little while.
Since the year zero, yes.
Since the year zero.
The Unix year zero?
The Unix year zero.
Of course, yes.
And you don't solder?
No, I don't do hardware, and I especially don't solder.
Why not?
Well, I'm really clumsy.
You sew so much better than I do. that hasn't stopped any of the rest of us
i've got a really cool scar on my arm from a rotisserie spit and i'm very careful to hold
onto the railing anytime i go up and down stairs, because when I was a teenager, I got really
tired of falling up and down the stairs in my high school, which I did on the average
two or three times a month. And there was a real limit to the number of times I burned
myself before I decided that soldering just really was not for me. I think we should, you know, accept that.
I think there are times people don't solder.
And somebody online said that my soldering is not as bad as I say it is on the show.
Of course, they were looking at through-hole parts at the time,
so we don't have to get started there.
And through-hole parts I knew were going to be photoed, so maybe they weren't the to get started there. And through whole parts, I knew we're going to be photoed,
so maybe they weren't the first one I did.
But yeah, there are a lot of software engineers who don't solder,
and maybe it's clumsy, maybe it's, I mean, I have a little twitch,
and so it's hard for me to really stay solid, even under the microscope.
But yeah, everybody's like, well, why don't you solder? Why don't you solder better like why don't you solder why don't you solder better
why don't you solder more it's like guys i type really really well and i can have somebody else
solder for me oh yeah i'm a lot it's just better if i stick to doing things where mistakes are
easier to correct which is why i like sewing and why I do software.
I can hit backspace.
It works good.
Even on the sewing machine?
Because I don't sew.
This is kind of magical to me.
I absolutely use a sewing machine. Like everything else, tools make a huge difference. and I am one of, I'm probably one of the youngest women
who still was required to take sewing in eighth grade.
I think my year was the last year that the high school required that,
or middle school it must have been.
But I'd also learned to sew when I was younger,
and I've been collecting tools over my lifetime.
So the way your garage has
lots of bits and pieces that you can put together, my sewing room has not only my lifetime worth of
tools, but also most of my mother's lifetime worth of tools.
And my garage has some of my mother's tools too, so it is inherited.
I'm not going to confess how much sewing I did as a kid.
Really? Why not?
Because.
That would be strange.
No, I did. I did. I did a lot.
I don't know why I stopped, but
yeah.
I wasn't very good at it.
I think I probably stabbed myself as many times as you burned yourself.
Well, yeah. That's why I do less hand sewing, actually.
Well, one of many reasons.
My hand now is old enough that if I hold something in the same position for too long, it gets quite painful.
I think that was true when I was 14, so I'm not quite sure how old enough matters there.
So when we were talking about sewing, before you mentioned it was all about geometry,
and I don't really get the whole sewing and math going together thing.
Well, okay, so in the last few years, I hadn't sewn very much at all for quite a while. And in the last few years,
I started sewing again, because I decided that learning to make my own patterns just couldn't
be that hard. And finding clothing that fit was impossible. So, you know, there are sort of two
ways to go. One way is to take a real serious course and learn all the nitty-gritty details from a big, thick textbook, and I was not interested in that.
That seems like work.
Yeah.
And the other way is to just keep winging it and finding resources and trying things.
And I have one daughter in particular who is just mad for circle skirts. And one of the things that had
always been a mystery to me was, how do you get the curve of the fabric that is going to go around
the round parts of your body right? And it occurred to me that it has to be math. I mean, there has to be an equation. And so I started looking online,
now that we have the internet, it's a wonderful, wonderful source for figuring this kind of stuff
out. And it's a circle skirt. And the size of the waist is a circle. So if you know the circumference of your waist, you can figure out
what the radius should be. What cracked me up was that trying to figure this out going through the
internet, mostly what I was getting was explanations of how to do it without understanding the math.
It would be so much easier to understand the math. And so, you know, how can you do this without all that irritating measuring?
Here's 15 pages.
I, of course, don't understand.
Why do you not want to measure?
If I measure, then it turns out right.
But, of course, the thing is that sewists in general are people who are
very visual and who just understand how you can take a two-dimensional pattern and make it right
for a three-dimensional result. And I don't have that visual understanding, but by God,
I can do the math and I measure, and I can draw lines.
And it's so cool, because it just works.
When I was at the SOLID conference, there was this booth, Kinematics by Nervous System.
And what they do is they have this finite element analysis tool and these little shapes and a 3D printer that prints with
powder. And so you make the outfit you want, the skirt or the belt or the necklace. And then you
can say how big you want your elements in the finite element analysis to be big or small or this shape or that shape
triangular or whatever and it can print you a dress now the dress is for the whole so i assume
you'd wear something under it but it's a plastic dress and the thing was feeling it when i first
saw it i was like okay that's very art but um but feeling it it felt it moved like fabric it it felt nice and it was still plastic
it was kind of thick but playing on the screen to say oh i want a dress that has little tiny bits
on the top and little triangles and they're going to go down and make big flowers of holes on the
bottom and have it all be math-based i I mean, it was all really math-based.
Well, and I think that the professionals at the big pattern companies,
I think they do it with math, or at least what they use, actually,
is they use programs that do it with math.
But they're doing things that are more complicated than what I want to do.
So I want just that middle,
give me exactly as much instruction as I need and not any more.
And when my little book that tells me how to draw patterns says,
now measure one inch up from the shoulder seam.
I know they're lying.
It can't be one inch.
It has to be a percentage.
And it makes me crazy.
I want to know what the percentage is
so that the size will be right,
whether I'm making it for my eight-year-old niece or for me.
Getting back to whatever the show was going to be about.
Did you see the SparkFun tutorial?
I did see it.
I have to admit to having skimmed it for the language rather than the electronics, though.
Well, it was a little tough because i talked to spark fun and then we agreed
that yes a tutorial would be nice and then we agreed to a few other things regarding a contest
on the show which i promise i will get to eventually uh and then he said okay can i have
one can i have a tutorial and you had just gotten super busy at work and i didn't and part of me
wanted to wait for the manatees to be done because I had a prototype.
The other part of me was like, I want to get this done.
And so I went to Target and got
two stuffed animals. Just paid, you know, four or five dollars
for them. One of them was a dog toy because if you're looking
for durable, easy to clean
stuffed animals, dog toys are the way to go.
Smart.
And the other was a little tiny, super fuzzy dog that's ridiculous and going to be impossible
to keep clean, but it's really, really funny to look at.
And so I got the octopus and opened him up and gleefully excavated his innards
and put him together with the light that lights up when you pat him
and the accelerometer at the top of his head so he just requires a simple touch on top
and battery pack and electric amp and took pictures and and finished my spark phone tutorial
and and then as i was finishing i realized oh i should ask elizabeth if i've just hurt her
feelings by tweeting all these pictures of me killing stuffed animals but you were nice about
that um it was incredibly thoughtful of you to send out that email that was really sweet
well it's it was funny because i had uh just read another
somebody else's blog post about barriers and how we put up our own barriers to not to finishing
stuff and having read that and i'm like oh i am allowing elizabeth's busyness to stop me from
finishing something i want to finish and there's no reason
but um but I did all of this and I made the the tutorial and Max is Maxwell the octopus is in it
and um it was the first time I'd ever done anything like this really it was so easy yeah
I mean I don't think I could make a stuffed animal from scratch because I don't have the
sewing skills and it would be all hand sewn.
But opening a stuffed animal, pulling out some stuffing, shoving in some electronics was remarkably easy.
Dogs open up stuffed animals and remove the stuffing all the time.
So it doesn't take a lot of skill.
It's the putting it back together.
That's the trick.
Well, then I used fishing line.
I do have a little bit of thread and needles, usually those I get from hotels.
But the fishing line let me choose where to put stuff and half fill it and then change stuff.
And then Velcro to put the batteries on at the bottom.
It was, somebody mentioned about the SparkFun tutorial
that they wished they had sold the stuffed animals too,
and I hope that that person doesn't allow a barrier
because it was just not that hard.
Well, and choosing that nice, big, blobby octopus
was a really smart choice.
Even the little dog I have is smaller,
and so he's a little tougher to put together and i put in a smaller led into him and he's gonna have a different battery pack um because he's
long instead of having a nice squat place to put a four pack in but yeah it choose choose your
stuffed animals wisely um but you choose you chose your patterns for a decent amount of fuzz
and then the electronics,
because you don't want to touch the electronics.
It's not as nice to touch.
You also chose beautiful fabric.
I have the whale.
I have Grimes the whale in my hands.
Well, again, that's part of why I sew,
because I care a lot about the way things feel.
So I care a lot about the fabric, a lot about the fit, and very little about the details of the frills and furbelows, which are the things that are kind of harder to sew.
So I just want a shell top that fits in a fabric that's nice.
And making the animals, I'm not going to do it unless I'm working with fabric that feels nice.
Sewing is one of the things I do that is totally selfish.
I do it when I want to, if I want to.
I make what I want to.
And I don't usually sew for other people.
So this question I have here later about the whole wedding in Vegas in Nyad costume is
not really going to help me, is it?
Well, it depends on, you know, what you come up with.
We'll talk about it when we get there.
So you said you skimmed the tutorial for language,
because I think at that point I was still asking for typos to be found.
Do you think that you could make one?
No.
Why not?
Because your skill set, I would say, would be about right.
Well, so I guess I didn't read it carefully enough to be sure I can't make it
because I'm intimidated by anything that comes even close to soldering.
It certainly requires very little soldering the way you ended up presenting it.
Definitely the rechargeable version requires more soldering the way you ended up presenting it. Definitely the rechargeable version
requires more soldering. The battery version requires
hooking your battery compartment up to a plus
and minus. And that, I suggested you kind of
twist and tape, but that isn't as good.
And I did twist and tape, and it worked for a while.
So this morning, I finally had my LED.
I had all the pieces.
I wanted to get it put together before I came here,
and I was feeding the wires through the holes in the box
and the container, and of course, the battery fell off.
I was like, okay, fine. But I guess it's a question
of whether I could cross that soldering barrier, which probably not, or whether I really think I
could beg somebody else to do the little bit of soldering that's required.
Well, you work at a place where you probably could trade lunch for soldering favors.
Although, I think there are other soldering options.
I was wondering if there was any way to make it solderless.
I mean, I remember looking at the tutorial, there were only a few things that needed to be done,
but I don't know how you'd connectorize.
You eventually have to get a connector on something which requires solder.
There do exist tapes.
I mean, could you include a little breadboard, you know,
that just did the connections?
Well, don't there have to be, like, the jumpers you have on your list
have connectors at the ends?
Yes.
But there's got to be a way to buy a connector like that with a little hole in it that you can wind the wire instead of, you know, if the problem was when I wind the wire on a post, it then slips off the post.
Yeah, that's not going to work. If I could wind the wire threaded through a hole a few times
so that it's not going to just slip right off,
there's got to be some sort of connector
that then would slip onto one of your posts.
I wonder if we'd be better off with a connective tape.
At Solid, again, the conference I went to,
there was the Ch I went to,
there was the Chiptronics people and they had stickers.
They had stickers that were conductive.
They looked like they were conductive on both sides, though.
I kind of want something that's non-conductive on one side
and conductive on the other side so that I can wrap the tape around the post and not have it short to the post next to it.
Yeah, but you can do conductive and then put electrical tape over it.
So there's where the experience with tools is what I'm missing.
Yeah.
That I don't think about how to solve that problem.
Maybe I'll send you home with a little bit of copper tape
and electrical tape and we won't solder that other piece.
We'll see.
We'll try it after the show.
Because I do, I mean, those are easy ways to get around soldering.
And there are some other soldering tools now.
There's the ones that create, they don't really have a sharp end.
Instead, they create a little arc.
They're like mini, mini arc welders.
I don't know if they work that well.
But you put what you want in the solder, and then it kind of heats it up really fast.
This little spark.
Don't look directly at the spark.
I guess I should ask the listeners,
has anybody used those?
Does anybody have a better idea
for people who really are just not going to solder?
Because I want to know.
Those jumper wires from SparkFun,
I don't want to say they changed my life,
but they certainly made it a lot easier
to build stuff myself.
Before, when I had to solder wires to what, when I had
to really solder everything instead of just, oh, look, oh, no, I ran out of yellow wires. I'll have
to go get more yellow wires because I like to have them color-coded. Those jumper wires are magical.
Well, when you first showed me the device, before I read the tutorial, I didn't even realize
that the jumper wires were purchased already made.
Oh, oh, oh, I totally, I mean, I have all the tools to make things like that, but mine don't come out looking like that now.
I think, you know, trying to do it without solder makes sense.
But I think if you really want secure, I think there's a reason people use solder I think
it's secure long-term connections and I don't think you know I think if you're going to make
one of these if you made it with tape yeah it might work for a while but tape's going to dry
out and it's going to disconnect so you've got to have something that's either a pre-built connector
or solder a pre-built connector would mean that we would need battery boxes that had them. That had a connector on the end.
That had them.
And I didn't see any of those.
No.
Maybe next time.
So aside from the solder, you've only seen a little bit of the electric imp code.
Because all of your imps are currently controlled under my account.
Right.
There was only the day I came over to try to fix things.
But do you have any questions about electric imp?
Oh, I have lots of questions about electric imps.
I've been very lazy and I haven't read a thing about the electric imps,
which I'm sure is available online, but it is so much easier to ask.
I totally agree.
I agree so much that I need to take this opportunity
to thank Matt Haynes, who works at Electric Imp,
because he read my code over
before I submitted the SparkFun tutorial,
and he, let's just say, made a lot of changes.
That's awesome.
He was so great about it.
And I didn't write a thank you in the tutorial, and I probably should have.
But it is definitely a system that it's easier to ask someone.
Their documentation's gotten a lot better in the last six or eight months.
But it's still kind of hard to figure out what's old and what's new, which way is the path forward and which way was the path forward six months ago and all that.
Do you think this was a complicated project as far as projects go?
Or how would you characterize the complexity of what you did versus maybe what their examples are. Because I wanted low batteries, it was, let's say,
the easiest blink an LED over the internet is a 1.
And the, I don't know, something really complicated is a 10.
Lockatron.
Now that I know how to do this, Lockatron isn't that complicated.
Well, they do other stuff with Bluetooth stuff, too.
Okay, wow.
So we'll put Lockatron as a 10, the automatic door locks that work over electric amp.
I wanted low batteries, so that definitely put me up a couple of pips.
I have I2C control, and if you do the rechargeable version, it's two I2C devices, not just one.
And then a PWM RGB LED.
So, you know, it's probably, of their examples, it's getting up there, a 6 or a 7 for complexity.
And because it's all complete.
The agent side, though, which is the monitoring side, is probably a three. It's just a bunch
of timers timing out or not, depending on if you pet the thing.
And then I don't have any web code.
Most people have some sort of web interface to interact with their agent
which makes the agent more complex, as well
as having the additional piece of web code.
I had that initially when I was playing with lights,
but it was just too much trouble to get working with all of this.
I still kind of hope to go back to it when we can set up all of the animals individually.
I mean, right now they each get a name and who they cry to, who their caregiver is.
So like Maxwell emails me
when he doesn't feel like he's got enough love.
And Hugh Twitters to you, I think.
Right.
Yeah.
And these two are running on my account
and they're running the same code,
but you type in a URL and it can identify which is which,
and that lets us set up who gets what information.
So, yeah, how is that split?
Do you have to clone the code?
How do you set a particular device up to use the correct code and make sure that a code change goes to all the affected devices?
So in Electric Imp, there is an IDE that's all online.
There's no compiler you get to compile offline.
And all of the devices can be part of a single module. I'm not even sure
that's the right name. Let me log in and check.
Active modules. And so all of my
Hue and Grimes and Macwell are all listed under my
Manatee active module. And then I've got an inactive module
that's a faster test manatee
which is the same code but with different timer values okay um and inside that code there is an
agent set and a device set of code and the device runs on the device and the agent runs in the
electric imp cloud each agent for each of the different devices.
Boy, that gets complicated quickly, doesn't it?
So Grimes has his own URL as an agent.
And if I want to change something on the device, I go to the agent URL and I say, okay, now instead of talking to Elizabeth, I want you to talk to me.
And because he's got his own agent URL, we know who that is.
And then Hugh has his own agent, and Maxwell has his own.
And we need some girls, apparently.
Sorry.
Well, there was Mandy, but I really liked that name.
Mandy?
Oh, I love Mandy. Mandy has the wonderful dissonance of the cutesy Mandy name that stands for maybe not dead.
Yet. Maybe not dead yet.
But Mandy didn't actually end up with electronics.
There's time.
So Electric Imp, all of the different cards,
which is what the Electric Imp, it's an SD card-like thing,
has a different agent URL,
and that's how we configure them individually.
In the IDE, they're all running the same code,
but I can separate them out as separate modules, and then they can run different code.
Modules are different programs, I guess.
So there's the module, there's that thing which configures the module.
What's that? Agent configuration?
That's the agent URL.
Okay. So there's the module, there's the agent URL, and there's the...
Agent code.
Okay.
Which is what runs on the server.
Mm-hmm.
And the device code, which runs on the device.
So how is the module linked to the device code?
The module, so the agent code and the device code together are module, create a module.
Okay.
So my active module, under it, it says Manatee.
And then under that, it says Grimes, Hugh, and Maxwell.
And the reason that those are all listed separately is because there is a server log that I can investigate for each of them.
When you didn't have Grimes running, I would come and check and make sure that he was still crying,
that he didn't have attention.
And when Maxwell didn't do what I thought he would,
I came and I saw that there was a bug in the code.
Okay, so the other thing that isn't at all clear to me,
you've got the imp and you've got the breakout board
that the imp lives in.
And watching the way the creatures behave, I think that some of the configuration is saved on the board and some of the configuration is saved in the imp. Yes. If we trade the SD card
between Maxwell and Hugh, their personalities stay the same.
It's that April board has an ID chip on it, an Atmel ID chip.
And that is what the true ID of the system is.
Okay, but who's got the information about wireless networks?
Oh. Because I actually, when I was buying more LEDs,
I figured I should stop mooching off Alicia's selection of stuff.
And so I bought an electric imp as well.
And I put it into Grimes and it blinked for a long time
and then went to sleep.
And so I don't know what it was doing,
but my guess was that it was downloading code
and that then it was waiting for me to tell it about the wireless.
Is that plausible?
It had just gone the other way.
It can't download anything until it gets wireless.
Yeah.
Good point.
I'm just guessing it's on the SD card.
I think it's on the SD card, but I'm going to write that down.
So we're going to have Matt Haynes and Tom,
one of the electric engineers, on the show in about two weeks.
So I am taking questions.
And listeners, if you have questions, go on.
That's kind of a broader question, is what do you need to do to support?
You can buy the April breakout board,
but if you were building your own system,
what are the minimum set of components you need to support an electric amp?
Clearly, this ID chip is one of them.
The ID chip was the big one that was,
I mean, everything else was like power regulation.
Okay.
So it was the only ID chip that was like, huh?
And they list how to do it on their website.
Okay, so the question that we have is the SD card and the information stored therein.
And you, so you asked about complexity like, I don't know, 10 minutes ago, whatever.
And I gave numbers, but there is a limited amount of storage we have on the device.
Right, so that's the other question.
How close do you think you are to the limit of code space and to the limit of processor time?
It tells me when I download how much code space I have.
And I am currently using less than 15%.
Oh, really?
So we have a ton more stuff we could put down on the device.
We could have LED patterns. If we put a piezo out there, we could have it sing.
Although if you're making a door lock system, I suggest you spend more time on the
locking system and less time on the death march. Just a hint.
I'm bitter.
Just a little.
But it's shiny, Alicia.
It's so shiny.
Gadgets are shiny.
Yes, it is shiny.
So we aren't using a lot of code space. We aren't using a lot of processing power either,
because I'm trying to save batteries and go to sleep maximally.
I don't
think I've ever hit
the processing space. It's
got a Cortex-M3 in there.
It's an interpreted language,
so we're not going to be able to use all the cycles of
the M3, but it is
in there.
Fair lot of code space, not a
whole lot of RAM.
We're not
a RAM yet. No, you're not doing
much. No, not really.
Mm-hmm.
I mean,
the RAM you would need to save
state information, and
these little guys don't
have all that much state information. I think you've probably got
plenty of RAM to do whatever you want with.
I think so. I think it's just I haven't used it.
And they do have RAM available,
and then they've got some sort of non-volatile RAM
that even when you go into a low-power state, it will store it.
And I don't think it pushes it up to the server and stores it.
No, because people are using these for data loggers,
so they have to have enough to capture some amount of data
before they can send it to the server periodically.
A lot of the examples were data loggers,
where they would capture three hours of data
and then splat it all up to the internet at one time.
Right.
Well, there's no reason you couldn't be saving the data to the MCU flash.
Other, yeah, you could block,
you could have one block or two
if you were ping-ponging between them.
Or you could probably put a spy flash on if you wanted, right?
It supports external peripherals of some kind, so.
Yes.
Spy, Ni-squared C, definitely.
I think there was a UART, but I don't really remember.
Let's see.
What other questions about the imp did you have?
Not that I did a great job answering those,
just so I have them.
So when you take a new imp out of the box
and you plug it into a device,
what's the sequence of things that happens?
In the ideal world, you take it out of the box, you plug it in, it flashes red, you put
your cell phone and using their special app up to it, your smartphone, and it blinks the screen and updates the SSID and Wi-Fi password,
and then it blinks yellow and green,
and then it goes up to the internet and it gets its code.
And how does it know which code to get?
Yeah.
So when you do the blink up, you log into your Electric Imp account.
And so that attaches.
Based on what's on the little breakout board?
No, no.
So on my phone, I open their app, and I log in as me.
And then I tell it what my SSID and password are.
And then I do the blink up.
And so that links my unit with my account.
Got it.
So you're telling it the SSID and the Wi-Fi password,
but also you're telling it your account on the Electric Imp Cloud.
And that's why I keep offering to set you up with an account
and shove these units over to you.
But when that happens, it shows up on my account as an unassigned device.
And then I can assign it to a module.
I could assign it to the Manatee module.
Or if I went back and put on my Thinking of You light that I'd been playing with that was just an internet-enabled light,
I could put it into there.
And it's just a drag and drop.
And I can rename it.
When it comes up, it's a random string of characters.
But I rename them according to our devices, of course.
And I think you've told me half of this before, but since I didn't ever go through the steps
of doing it, it didn't stick in my mind.
Well, I mean, it makes sense.
You really have to try it.
Sure.
And I wrote the tutorial so that other people could try it,
but I couldn't have written that unless there were other tutorials for me to try.
So once it logs on to your account or whatever it does,
it accesses your account.
First onto my internet or onto my Wi-Fi and then onto my account.
And then you, so something shows up on your account that says new device exists.
Yeah.
And so do the boards identify themselves with a serial number?
A gobbledygook of hexadecimal serial number.
So basically, if you were to, you really want to bring one up at a time then,
because all you really can tell on the account is this is the new board.
Yes.
And I know there are companies using electric imp in manufacturing,
and I'm not sure how that works, although they support it differently.
I mean, the interface I have is very much for developers and initial users,
because if you're buying the electric imp at an April board or one of their other boards,
you're putting things together yourself.
Okay.
For Lockatron and some of the other quirky devices,
I think that that integration of user, the coder, programmer,
whoever owns the code and SD card or electric amp piece is done in manufacturing.
So as soon as we get Wi-Fi, then it goes and fetches the code that belongs to it.
Okay, so now you go on to your account and you say,
okay, new imp I'm going to add to this module,
and then it presumably downloads code?
Yes, yes, the electric imp is essentially sitting there waiting to get code.
Okay.
And then every time, and this part I don't like,
every time that I edit the device code,
it will update all of my devices,
which means that if I make a typo, they all suddenly don't work.
And that's why I have the additional modules
so that I can pull a device over to its own module
and make changes there.
And then when that is successful on my testbed,
I can send them out.
So yeah, the production,
the people who are using it in production
must have another interface
because I know the Lockatron people
can push different firmware to different devices.
Well, that's just a matter of moving them to different modules.
Yeah, but they're doing it a lot, so I don't know how cumbersome that is.
Well, just moving it to a different module is pretty easy.
Okay.
So then the code updates happen how often? Do you know?
They happen as often as the unit wakes up.
So if I make changes to the code for the Manatee module right now,
none of them will get it until we pat them on the head and they talk to the Internet.
So does that mean that every time I pat it on the head, one of the things it does is say, hey, do you have any code for me?
Yes.
And do you have any sense of how long that takes? It takes, I mean, subjectively
it takes like two seconds. So it's a pretty fast download.
But if you were the sort of person who was doing this all the time and
fussing with your code, I have killed batteries that way, yes.
I mean, for the R U OK? project, the idea was
four AA batteries lasts almost a whole year.
Hopefully a whole year.
It's hard to test when you're talking about a whole year.
But mathematically, we're just over a year.
But downloading a lot and updating and flashing the firmware is going to be an expensive power process.
So we hopefully won't do that too often.
So one of the things I've noticed about Hugh is that a significant percentage of the time in my house,
when I pat him on the head, he wakes up and blinks red.
And then if I pat him on the head a second time, he blinks white. So he must be having trouble finding the wireless
or timing out on looking for the wireless a little ahead of time.
Do you have any ideas?
So I didn't have that problem until I got a new router,
and then now I have that problem too.
So I understand.
I added a section to the outline of bugs.
And so right now, when you pat him, he looks for internet for up to three seconds and then turns red if he doesn't find it.
And so changing that three to five is easy.
But I think what I want to do is have him start in a different color
and be able to switch over to whatever color he ends with.
Yeah.
Because now if he starts red, even if he gets internet, he can't go to white.
Just because that's how I've, because I was kind of naive with how I coded the LED interface.
Somehow the red is very unfriendly, which of course is the point of red.
The red came out to be pretty unfriendly, which of course is the point of red. The red came out to be pretty unfriendly.
But it'd be nice if red meant I have been looking and I have failed rather than I'm looking.
Yeah, like he could wake up and blue could mean I'm probably not dead yet, but I'm checking.
And then if he can't find the internet, he can turn red.
And they do check into the internet every hour.
Okay.
So I could modify it so that if he didn't get the last internet update,
that was when he turned red instead of doing it right now.
Since connecting to the internet can be a lengthy process for these tiny devices.
We could just store what he got last time.
That might work out pretty good.
All right.
Yeah, because the three-second, Maxwell's been doing the whole, doing read a lot.
Do you get any kind of log off them? Can you say, does it have like,
oh, I wasn't able to associate
or I didn't even see the SSID?
Is there any kind of wireless debugging
you can do after the fact?
Or is it just kind of opaque?
There's some debugging I could do.
It would require looking at actual
error returns on messages
and stuff. Oh, that sounds boring.
Spoken like an
experienced software engineer.
There are times I have wanted
to do that just because when he doesn't have internet at all, I don't want him to wake up very often.
Yeah.
Because it can kill itself trying to find internet.
Right now, the ones that you brought over that aren't on my internet are not currently seeking constantly.
They're seeking every hour and then deciding they don't have it.
And then they're seeking whenever we touch them.
Yeah, I was curious as to whether having Hugh at work yesterday was going to kill his battery.
I was very pleased that he was still whining at the same rate at the end of the day as
at the beginning.
And you did get an email or Twitter yesterday that Hugh hadn't connected.
I have to actually log on to my Twitter account to see, so I don't know.
Because the way it's set up, I suppose I could log on to my Twitter account and snoop, but if he can't log into the internet, if he can't log into Electric Imp and say, my battery is X, then he will fuss.
Then the agent will fuss and say, I haven't heard from Hugh for six hours.
He's supposed to check in every hour.
Something's wrong,
and then it will tweet to you or email to your caregiver and say,
I don't know if anything's wrong.
All I know is the wireless isn't working.
So I'm reasonably sure that I didn't see anything on my feed, but I thought you told me that you disabled the sending whining to
my feed because he was whining all the time when I had him turned off.
I did for Grimes.
I didn't think I did for Hughes.
All right.
No, he says he fussed yesterday.
Hugh fussed.
Well, I'll have to check and see if I got it.
And the server log says EFOSTA.
Okay, so moving along.
I put in an email this week.
I sent you an email that now these guys can talk over email.
Right, excellent.
And that's Mailgun, which, like Twitter, you have to sign up and get all these developer IDs.
And I've always been a little hesitant about it
because it seems like a pain.
But Mailgun was super easy.
It was slightly easier than Twitter,
which all I did was push the buttons
and follow the example
and got exactly the right thing.
I haven't tried Twilio yet.
That's for texting.
But you don't care
because you don't like to text on your phone.
No.
No, I have a Google Voice account for texting because
my daughter's made me get it, but
not otherwise.
Is email the best
way for you? Absolutely.
Okay. And that's what I've heard from
most people is
email or texting
is best. Twitter is fine
for debugging because it's
lightweight and free. But
emailing and texting. So are the mail and texting options not free?
Mail is free as long as you don't mail more than a $10,000
a month, which would be kind of hard. Seems easy to stay under.
Especially when you're sending email to yourself instead of spamming other people.
Twilio is free in small doses, but I'm not sure if it's like you get 100 free texts forever or 100 free texts a month.
Maybe something to look at.
I was kind of excited about Twilio initially, but it was just a little harder to use.
Although Electric Imp now has references for Twilio. That was one of the things
Matt Haynes from Electric Imp did with
my code, was to take the
example code I had taken from somebody doing Twitter, some random person's blog,
and move it over to the official Electric Imp
reference code for Twitter.
If anybody's thinking about using web services, use theirs.
Well, and isn't your tutorial the first one that SparkFun's put up
that wasn't produced inside SparkFun?
It was.
They invite people to come to Colorado and hang out for a couple of weeks and play with all the toys.
But yes, Jim over at SparkFun was kind of excited about having somebody fairly random say, I want to write a tutorial.
Well, I think I also wanted to cover other ways to solve this problem.
Because when we talked last September, one of the things we talked about was Fitbit.
Yeah.
And that the padding of the heads in the life alerts, they solve different problems,
although it's still the independent parent problem or independent
college student, depending on which way. If you're in the middle, that's even better.
But we also joked about having a Fitbit to make sure they were moving around.
Yeah. And at the time, if I remember correctly, we talked about using the zip because it's got a battery that lasts for six months.
Yeah.
And having something that will be incredibly effective for a week is not really good enough.
Even I forget to charge my Fitbit.
Yeah.
But there wasn't really any way to get the information without sharing somebody's account.
And I mean, there are certainly people who are very public
about their Fitbit stats,
but there are a lot of us who really don't care to share.
Yeah.
And we talked at that time about, gosh, it's a shame
you can't have a special Fitbit client or you can't interface
with this, this, then that. And just in the last week or two, they did release an interface with
this, this, then that. And the fellow who was responsible for that interface
was really kind of excited about this application,
which is not one that had crossed his mind.
They're thinking about the applications for fitness buffs.
You've been sitting still too long, get up and move around.
You've climbed a mountain, hooray. And the idea that it would also be useful for a completely different
segment of the population. The getting an email if someone doesn't take 10 steps today.
Yeah. Or doesn't take 10 steps by 10 a.m.
And I have an older sister.
She's, well, she's 10 years older than I am, whatever that is this year.
And she refers to herself as in late middle age because none of us are ever old.
No, of course not.
And she's very healthy and she's very active. She lives in
Manhattan. She walks everywhere. And I can imagine that for her, she might be willing to use a zip
that was set up to send me an email if she hadn't taken 100 steps by noon.
And I could call her and make sure she's okay.
It wouldn't be that hard now.
It wouldn't.
And that's not that intrusive.
I think, again, that that's very individual.
I was talking about it at work yesterday,
and the fellow sitting next to me said,
Elizabeth, that sounds horribly intrusive.
And it's like, well, then we won't do it for you. But I think for my sister, it would probably be a degree of intrusion that
would be acceptable. It's a little more complicated though, right? Because it's got to talk to
something. The Fitbit doesn't just talk to the internet. So you need a phone or a computer
always on to sync with. Absolutely. And Dolores doesn't have that, but my sister does.
Got it.
Yeah.
The solutions are individual because they're for individuals.
Yeah.
All right.
So we're going to give away the SparkFun kit.
Since I did the tutorial and and as part of doing the tutorial
I asked could they maybe give away a kit
preferably on my show and we talked
about that and the answer is yes.
We're going to do this having to do with names.
We've talked a little bit about the names of our guys here,
Hugh and Grimes.
Grimes against humanity.
And Maxwell is my octopus.
And he was named initially.
Somebody complimented me on the name Maxwell being hardy.
You know, it's got the well part, but he's also got a name that's a humanish name.
But he wasn't named for that.
It was named because of Maxwell's demon and the electric imp.
And so the whole system was named Maxwell before it became this, but he's going to stay
here as Octopus Maxwell.
And Mandy, which I think was what started, I emailed you, I said,
oh, I finally found out a good name, I'm tired of calling it the R U OK widget,
and let's call it Mandy, and your response to me was hilarious.
Well, first of all, I love the Mandy, as mentioned before,
because of the cognitive dissonance of the name versus what it refers to.
But I also feel very strongly that the person who receives the device should have the privilege of naming it.
I think that things should not come pre-named.
The people who own them should be able to give them a personality.
And I believe I managed to bite my tongue before going on for three paragraphs about why I feel this way.
No, no, go on.
Oh, truly?
So I have two daughters. So as they were growing up, they were given many dolls. Their parents gave them dolls and trucks and building blocks and
teddy bears and tools, but their aunties and uncles like to give them dolls. And I managed
to keep Barbie dolls out of the house for about 10 years because they're horrible. They come
with a predefined personality. And I think that little girls should have dolls that
they make up the personality. And of course, this is not original to me. This is my mother's rant,
and for God's sake, probably her mother's rant. And sometimes if you give a child a doll,
and the doll has no name attached and no personality attached and you listen to them playing with the doll for a while, you will discover that one of their dolls is the bad doll.
That's a good thing, actually.
It's a wonderful thing. It's a way that they work out human interaction and they play at it with their dolls. And if there's a child who's having really serious issues, play therapy is what can be done with small children. And you watch them play with a dollhouse, and they're very, very transparent.
I remember when some neighbor kids came over to play, and part of what they were playing with
their dolls was, you can't come back yet, we haven't finished the remodeling, you have to
stay with your grandmother another week. And that was exactly what was going on in their life. So, you know,
you get, if you let children decide, then you get the good doll and the bad doll and the athletic
doll and the party doll, and they get to make up how the family interacts and their toys grow as they grow.
But if you give them something that already has a defined name and a defined personality
and a defined set of accoutrements, then they're boxed in.
And that's not the point of having a doll.
You can cut that out if you want.
Oh, no, no, I like that and I wish...
I don't know, I had Lego Star Wars,
you know, the Kenner Star Wars figures
and they have pretty fine personalities
but they didn't end up having the personalities
they came with at the end.
I think it depends on how much baggage there is.
Right.
Well, this goes back to the Cabbage Patch dolls and how they were a sensation because they all had individual names, which means they all had individual personalities.
And you don't get that if you name all of a mass-produced thing the same name. If we mass-produced the manatees and called them all Mandy, it would be different than
having a Hugh and a Grimes and a Maxwell.
And so now we're back to the contest.
This was all on point, believe it or not.
I know that's unusual, but it was.
So there are three other names that I have in my bucket of names.
There's Haley, which goes along with Maxwell and keeping it healthy.
And Rosie, which is in the same one.
And then Chris Gamble suggested Saul Wright.
You know, Saul Wright, Saul Wright.
So, I liked all of those, and I liked the idea that it was a name that meant more than just the name.
And it did indicate the function, but it also was a name, a real good name.
And I had trouble coming up with a contest for SparkFun because you're all really
good at Googling quotes. So I think I want you to send me the name of your potential Are You Okay
widget and what you would put it in. I mean, maybe he's going to go on the trash can lid and be called Groucho. That would be an entry I would like.
And so what I want you to do is send me what you would name it
and where you'd put it, and I'll pick my favorite,
with Elizabeth casting any tiebreaker votes.
I love the idea that you're going to choose, but you might have a tie.
So you have one vote, but you might not be able to figure it out.
I don't think that doesn't strike me as the least bit unusual.
Well, I mean, realistically, Chris has always got a vote in whatever I do.
It's a very small vote.
49% I hear.
Yeah, that's right.
I have my own plurality.
This show posts on the 4th of June, 2014,
and I'm going to need answers by the 13th of June,
so you have just over a week.
And then I can announce it on the Electric Imp
show, which means you should also get me questions for the Electric Imp folks by 6.13. So let me know
what your name of your widget will be and what you would put in it, or where you would put it,
or, you know, make a little story. It doesn't have to be like 10 paragraphs, but like two lines would be good.
And if you win, you get a $75 SparkFun coupon.
And you don't have to use it to build a kit.
Oh, yes, you do.
Oh, all right.
We'll say yes, you do.
We're going to come to your house and check.
I don't think so.
So that's the plan.
I don't think I have to do any of these disclaimers or anything.
I guess, you know, if this isn't valid in your country, heck if I'd know, you're just going to give it a Spark Fund coupon.
So it'll be fine.
It'll be fine. It'll be fine.
Just disclaim all liability, and I think we're safe.
Oh, right.
No liability here.
We will refund to you exactly what you paid for for this podcast.
Oh, yes.
I do think you should mention the licensing for the Are You Okay widget.
Right, because you wanted me to to put copyright in there because
without any copyright that can be a little dicey uh and so the copyright i chose was was actually
from jim at at spark fun although he's not the first one to do this and that is beer wear it is
okay to use reuse and modify this code for your purposes commercial or private and if you do
consider sending me a note uh or adding this comment to the above and maybe buying me a beer
someday so yes it's beerware you can use it i don't mind and if you use it for the intended
purpose even better because parents parents should be monitored,
so should children. All right, Chris is giving me the I'm hungry, let's get out of here look.
Any last thoughts you'd like to leave us with?
Well, it's been an honor and a pleasure working on this with you. And I don't know whether you did it intentionally, but the R U OK?
I always pronounce it as the A-Yach.
I do too sometimes, yes.
Rolls right off the tongue.
My guest has been Elizabeth Brenner, Senior Embedded Systems Engineer and Maker of Stuffed Animals, among many other titles.
Thank you for coming to talk.
Thank you.
Also, thank you to Christopher for being co-host.
I agree with those of you who've said it's nice to hear him.
He's also producing the show, so if we sound good, it is thanks to him.
Also, if we sound bad.
If we sound bad, it's more likely because I was fidgety and thank you for listening hit the
contact link at embedded.fm or email us show at embedded.fm if you have questions for electric
imp send those in and i'll ask them in a couple weeks and if you want that spark fun kit to build
your own are you okay widget or whatever you have in mind with your electric imp,
hit the contact link at embedded.fm or email us.
Or tweet at Logical Elegance.
I do want to know the name that you'll name it
and the body you'll put it in.
Final thought for this week from Douglas Adams.
It is a mistake to think you can solve
any major problem with just potatoes.