Embedded - 54: Oh! The Hugh Manatee

Episode Date: June 5, 2014

Elizabeth 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)
Starting point is 00:00:00 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.
Starting point is 00:00:29 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
Starting point is 00:01:10 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.
Starting point is 00:01:46 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.
Starting point is 00:02:31 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.
Starting point is 00:03:02 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
Starting point is 00:03:42 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
Starting point is 00:04:12 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.
Starting point is 00:04:49 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.
Starting point is 00:05:18 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.
Starting point is 00:05:51 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.
Starting point is 00:06:10 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
Starting point is 00:06:52 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
Starting point is 00:07:27 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
Starting point is 00:08:15 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.
Starting point is 00:08:38 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.
Starting point is 00:08:55 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.
Starting point is 00:09:30 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?
Starting point is 00:09:58 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.
Starting point is 00:10:14 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
Starting point is 00:10:50 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.
Starting point is 00:11:30 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.
Starting point is 00:12:08 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.
Starting point is 00:12:37 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?
Starting point is 00:13:09 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.
Starting point is 00:13:29 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
Starting point is 00:14:20 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
Starting point is 00:15:14 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.
Starting point is 00:16:02 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
Starting point is 00:16:58 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,
Starting point is 00:17:51 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.
Starting point is 00:18:28 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?
Starting point is 00:18:55 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.
Starting point is 00:19:32 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.
Starting point is 00:19:59 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
Starting point is 00:20:47 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.
Starting point is 00:21:36 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.
Starting point is 00:22:03 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
Starting point is 00:22:33 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.
Starting point is 00:22:59 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.
Starting point is 00:23:42 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?
Starting point is 00:24:17 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
Starting point is 00:24:52 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
Starting point is 00:25:19 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,
Starting point is 00:26:00 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.
Starting point is 00:26:22 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,
Starting point is 00:27:06 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.
Starting point is 00:27:44 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.
Starting point is 00:28:08 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?
Starting point is 00:28:29 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
Starting point is 00:28:46 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
Starting point is 00:29:29 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.
Starting point is 00:30:00 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.
Starting point is 00:30:26 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.
Starting point is 00:30:48 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.
Starting point is 00:31:41 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.
Starting point is 00:32:18 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,
Starting point is 00:32:50 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.
Starting point is 00:33:19 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.
Starting point is 00:33:56 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
Starting point is 00:34:31 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.
Starting point is 00:35:17 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,
Starting point is 00:35:49 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?
Starting point is 00:36:16 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?
Starting point is 00:36:38 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,
Starting point is 00:37:12 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.
Starting point is 00:37:55 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
Starting point is 00:38:29 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.
Starting point is 00:38:49 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?
Starting point is 00:39:14 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.
Starting point is 00:39:42 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.
Starting point is 00:40:11 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.
Starting point is 00:40:40 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
Starting point is 00:40:57 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.
Starting point is 00:41:15 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,
Starting point is 00:41:31 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
Starting point is 00:41:57 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.
Starting point is 00:42:21 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
Starting point is 00:42:38 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.
Starting point is 00:43:21 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.
Starting point is 00:43:49 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.
Starting point is 00:44:16 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.
Starting point is 00:44:45 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.
Starting point is 00:45:11 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,
Starting point is 00:45:45 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.
Starting point is 00:46:28 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,
Starting point is 00:46:56 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,
Starting point is 00:47:18 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.
Starting point is 00:47:35 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.
Starting point is 00:48:12 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.
Starting point is 00:48:45 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.
Starting point is 00:49:19 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.
Starting point is 00:49:53 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.
Starting point is 00:50:28 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,
Starting point is 00:51:06 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
Starting point is 00:51:27 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.
Starting point is 00:52:04 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.
Starting point is 00:52:58 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.
Starting point is 00:53:30 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.
Starting point is 00:53:48 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,
Starting point is 00:54:10 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.
Starting point is 00:54:23 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
Starting point is 00:54:39 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.
Starting point is 00:55:15 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.
Starting point is 00:55:48 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.
Starting point is 00:56:32 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.
Starting point is 00:57:13 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
Starting point is 00:57:41 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
Starting point is 00:58:36 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
Starting point is 00:59:14 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,
Starting point is 00:59:40 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.
Starting point is 01:00:14 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.
Starting point is 01:00:43 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.
Starting point is 01:01:11 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.
Starting point is 01:01:49 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
Starting point is 01:02:33 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
Starting point is 01:03:53 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.
Starting point is 01:04:46 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.
Starting point is 01:05:05 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.
Starting point is 01:05:53 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.
Starting point is 01:06:46 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.
Starting point is 01:07:19 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
Starting point is 01:07:53 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.
Starting point is 01:08:25 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.
Starting point is 01:08:48 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
Starting point is 01:09:28 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.
Starting point is 01:10:15 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.
Starting point is 01:10:41 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.
Starting point is 01:11:16 Final thought for this week from Douglas Adams. It is a mistake to think you can solve any major problem with just potatoes.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.