Why is software crucial to successful IoT hardware? Brian Geisel, CEO of Geisel Software, explains the role of software in IoT deployments. He mentions two aspects of the software in IoT solutions: one is enabling the hardware, and the other is the higher-level software that controls the device and interfaces it with other systems. The firmware aspect enables the hardware to function and is essential for optimizing the device’s performance. However, the software that sits on top of the firmware is where the real problem-solving happens. In space applications, the firmware must also consider the device’s restrictions, such as size, weight, and power, to optimize performance. An example is the Voyager spacecraft, which has been operating on low power for decades and has even left the solar system.
Brian Geisel is the CEO of Geisel Software, a custom software company with unique expertise in embedded and application software and a passion for staying ahead of the technology curve. With a rare combination of deep technical expertise and business acumen, Brian leverages emerging technologies like artificial intelligence and machine learning to create groundbreaking solutions. Brian and his team have not only worked with some of the most visionary hardware, software, and security companies in the medical device and robotics industries but have also completed various successful projects for the U.S. government, including the Department of Veterans Affairs, the U.S. Army, and NASA. During a career that spans two decades, Brian has developed a reputation for skillfully applying innovative technology to solve complex problems. He is an active thought leader featured in Entrepreneur Magazine, Bloomberg Business, BBC, Forbes, Minyanville.com, and other major outlets. Named SBA’s Massachusetts Small Business Person of the Year, Brian has led the company through tremendous growth, earning it a spot on Inc. Magazine’s list of 5000 Fastest Growing Companies in America.
Interested in connecting with Brian? Reach out on Linkedin!
About Geisel Software
Geisel Software is a custom software development company passionate about innovation and unique expertise in embedded and application software solutions. Their highly skilled team designs, develops, and deploys groundbreaking software solutions that incorporate stringent security protocols. They’ve worked with some visionary companies to deliver world-class web/cloud, mobile, IoT, AI/ML, and embedded solutions. Their revolutionary thinkers and problem-solvers embrace innovation to tackle some of the most demanding technical challenges in robotics, medical devices, and more.
Key Questions and Topics from this Episode:
– [Brian] This really neat thing that’s coming is as we get more and more capabilities and as we get more and more features, we’re getting more ideas that we couldn’t have done prior to as we’re getting more and more enabling technologies for those things.
– [Ryan] Hello everyone and welcome to another episode of the IoT for All Podcast presented by IoT for all the number one publication and resource for the Internet of Things. I’m your host, Ryan Chacon. On today’s episode we have Brian Geisel the CEO of Geisel Software. They are a custom software development company focused on, with a special expertise in embedded and application software solutions. And we’re going to focus our conversation around the topic of why software is the key to hard IoT hardware success. Basically how software can create scalable IoT hardware. So I think this is a topic that a lot of you can relate to and really are looking for answers around. So yeah, I think we get a lot of value outta it. But before we get into it, if you out there are looking to enter the fast growing and profitable IoT market, but don’t know where to start, check out our sponsor, Leverege. Leverege’s IoT solutions development platform provides everything you need to create turnkey IoT products that you can white label and resell under your own brand. To learn more, go to iotchangeseverything.com. That’s iotchangeseverything.com. And without further ado, please enjoy this episode of the IoT for All Podcast. Welcome Brian to the IoT for All Podcast. Thanks for being here this week.
– [Brian] Hey, thanks for having me.
– [Ryan] Absolutely, looking forward to this conversation. Let’s kick it off by having you give a quick introduction about yourself and the company to our audience, if you wouldn’t mind.
– [Brian] Yeah, I’m Brian Geisel. I’m the CEO of Geisel software. We’re a software development company that builds IoT devices for our clients and we do a lot of robotic solutions. We’ve done a lot of swarming space robots for NASA as well. So doing a lot of fun software stuff.
– [Ryan] Fantastic. So one of the things I wanted to kinda kick this conversation off with is around the software side, the software side of IoT hardware. So why software is kind of the key to IoT hardware success. How software can create scalable IoT hardware. But I wanted to maybe high level at first and explain how software and hardware kind of work together or like explain kind more of that software component of the hardware. ‘Cause I think a lot of people maybe don’t look at that or really understand how software is playing a role in hardware itself.
– [Brian] Yeah, no, that’s a really good point. So I think there’s maybe two aspects of software as you’re thinking about the IoT solution. One is sort of just enabling the hardware. It’s that hardware board bring up aspect where the hardware just doesn’t do anything when you power it on and you need software that brings the hardware up and gets it into the state that you need it in for your particular application or the way that you’ve even built the hardware to sort of do some of the wiring, which isn’t quite right, but you get the idea. And then the other part of it is the software to actually do what you’re doing on your device. That’s sort of the higher level software that you’re thinking about that’s controlling the device, that’s interfacing it to other things and making it do what’s so specific to your application. So I there’s those two kinds of and we might call one firmware and one software. That line’s getting pretty blurry these days. But I think those two aspects of it.
– [Ryan] So as you mentioned like the software, the piece that’s connected, that’s inside the hardware, enabling the hardware to do what you needed. Is that really kind of the key to optimize, if you optimize that software correctly, that’s the key to kind of how IoT hardware can be as functional and as valuable as it possibly can be for a solution or really what are these like the key considerations for software playing a role in the success of hardware doing what it needs to do and being optimized for a solution?
– [Brian] Yeah, I think. The firmware side of it. I’ll talk about ’em that way. I’ll talk about, I know the line is a little blurry, but I’ll talk about firmware as the enabling the hardware part. And that firmware aspect of it, a lot of it is just getting it to go. A lot of that is just requirements to make the thing sort of turn on in any real sense that’s useful. But there are, like you mentioned, a lot of optimizations that can happen there. To me, I think the really interesting part is the software that sits on top of that, where we can really start to solve problems. That’s the part that gets really interesting. But in the firmware part, there is a thing there that’s really interesting in enabling some of the things that might be required for your particular solution. And this is where like in space applications, we talk a lot about swap size, weight and power, because it’s expensive to ship weight to space. We don’t have a lot of power there and this kind of thing. And so this aspect of dealing with the restrictions of the device mean that your firmware might take advantage of some super low power modes on the device. Some of the things, if I can jump fully into space, like if you think about the Voyager one and two, that if one of them’s actually left the solar system at this point, that thing is operating on such low power and it’s been operating for decades. And so those can you, now hardware has some amazing low power modes where you can turn it way, way way down and then only use them at particular intervals. And that part is really interesting in the firmware. So there are some interesting aspects of the firmware. I think the more interesting stuff is what we can do with it now that we get ahold of it in what I’ll call the software layer.
– [Ryan] Gotcha. Yeah, it’s a very interesting piece when you’re thinking about all the challenges that come up in deploying an IoT solution and the hardware itself, like take the software piece out of it, has its own challenges, right? But then building the software component in is really, really what powers that piece of hardware to be functional and it allows for scalability. And you’ve kind of already mentioned a few things in your answer a second ago, but what other elements of software as it connects with the hardware really allow hardware to scale and that solution thus to scale as well?
– [Brian] Yeah, I think. It’s a big question. There’s a lot of of pieces in there. One aspect of this that we think a lot about is that sort of what enables that to go, which is a way to do updates over the air. And so before we had a way to update the device in the field, whatever hardware and whatever software you shipped it with is what it stood with. Now that we have this ability, like Geisel has product called Nitrium, check it out at Nitrium.io, it will do over the air updates for your device, handles that portion of it. What that means is, for example, one of the things we could talk about is you can ship your product as an absolute MVP. You got just the absolute minimum you need to in features in your software and get it shipped, get that out to customers, start selling it, start making money, start getting feedback from customers. And as you go, you can now be updating the software and adding new features to it. And so as you’re talking about like scalability, it gives you a lot that way where now all of a sudden I can start doing more in the software. The thing that I bought off the store shelf at Walmart or at Home Depot or whatever, when I get it home it might do more by the time I get it home just because of a software update. And so, that’s sort of the start I think of a really cool path in software on some of the other things that you can do or that’s the enabler to the other things you can do in software.
– [Ryan] Yeah, I mean that’s a huge, I mean a huge value and as we think about just the evolution of things being able to update devices over the air is a big innovation. What are some other innovations you’ve seen in the software space as it connects to kinda the topic you’re talking about, right? Creating scalable IoT hardware, having our IoT hardware have a better chance of succeeding and working correctly outside of more the over the update piece. What are some other innovations you’ve seen on the software side that are really enabling IoT to be more successful now than probably really ever?
– [Brian] Yeah, and this is where it gets really cool because then it just sort of explodes into so many different things. And so if you think about just we are already the point that some of these devices are doing these things, but you think about being able to voice control devices, this this integration and interoperability of other devices. This ability of devices to, and we talk about IoT interoperability isn’t there yet? It’s come a long way though. There’s really is a lot in interoperability. That we can sometimes downplay, but there’s still plenty more to come. But yeah, if you think about devices like Google at Home and Alexa and some of these things that you can use to control these devices, and all of a sudden, solve bigger and bigger problems. I think to me that scale is about what kinds of, what kinds of problems can we solve with these? And even to where you get to things that people are starting to implement. Things like share Wi-Fi between neighbors for devices that live between your homes to monitor things in the neighborhood or to, and so there’s this, this really neat thing that’s coming is as we get more and more capabilities and as we get more and more features, we’re getting more ideas that we couldn’t have done prior to as we’re getting more and more enabling technologies for those things. I don’t know, I’m, I’m excited about some of these problems that I think we’re getting to solve just to the, I forget what it was the other night that I was like, I need this thing tonight and there’s no way, there’s no way I’m getting it tonight. Stores are closed, no one will deliver right now or whatever. And I was like, I can’t wait for the day that I could say Alexa deploy robot swarm to return me deodorant or whatever it is. And we’re getting to the some of those things with the IoT being able to enable all these different capabilities and features from the way that we control them like voice to the kinds of things that they can do, like robotics where they can reach out and manipulate things in the physical world. So I don’t know if that’s answering your question. There’s all sort of plethora of things out there that’s pretty.
– [Ryan] There’s anywhere, you could take that question kind of any way you want really. I mean there’s so many different innovations in technology and software that are enabling solutions to scale these days and us see more success, which I think is very exciting. And I could obviously tell by your answer that you’re very excited and optimistic going forward as well. But lemme look on the other side of that, when it comes to the challenges that software and hardware working together can create or maybe challenges that you need to just be on the lookout for when it comes to the deployment and trying to build that scale, especially as it connects to the software piece for hardware. If you could just kind of talk through maybe some of the challenges that you see that really kind of come up more often than not and then just at a high level how you kind of approach and think about it for our audience.
– [Brian] Yeah, so I think one of the pieces at the higher level that we, there’s a huge challenge of security, is not only security and securing the device. That’s a challenge when we work on it. We know how to, we know ways to address that. But one of the other issues we have is the reputation of IoT and security as so many devices just go out with no basically no security at all. And that’s an issue for the whole industry. But to kind of come down more specifically to software and hardware integration, one of the things that at the, the bits and the bytes that gets really tricky is figuring out this dance between hardware and software of what hardware do I need to solve this problem? And you need to think about the software required to interface with that. So one of the examples that we run into regularly is that they’ll, a customer will design their hardware before they talk to the software team. And so they’ll be using say a Bluetooth radio that’s no better or worse than another Bluetooth radio for their application. That is really hard to implement the software for. And so we’ll come in late and go, listen, if you can still change your hardware design, if you can change this component, you’ll save two months of hardware of software work. Because of where this, because this component already has a Linux driver ready to go or whatever the particulars are. But one of those things is really this choosing hardware and software in a way that they can mesh together well and designing that together. Even thinking about where we talked about OTA updates just from the standpoint of what you can do to your device later. So what you can do to your device later in software is always constrained by the hardware you picked. If you think about Tesla’s, one of the things that they’ve done is taken LIDAR off off of the vehicles and so they’re doing it fully via visual cameras, which is really cool, that they can do all that stuff via visual cameras. But if they want to cut through fog or some of these other issues one day, they can’t do that through a software update. They can’t change the physics of light and maybe they can find some cool AI solutions that can ascertain other information from other, some other set of sensors or, I’m not saying they can’t come up with good solutions, but if you need to just cut through that fog you need to go get a physical LIDAR and add it onto that device, that kind of thing. And so thinking about how you want, what hardware you want on your device for something you might enable in software much later is another component of that as well.
– [Ryan] How do you? ‘Cause as you were talking, I was thinking about something that, I know comes up quite often when you’re talking with a potential or a company is talking with a potential company that maybe isn’t as close to the technology as maybe others are or understanding of the technologies. What does that challenge look like when you’re on the communication front with customers when you’re trying to talk about the capabilities of the software, capabilities of the hardware, capabilities of kind of all that working together to solve a particular problem they may have and how either close or not close the solution is able to get to do what they want. Because I think there’s also, there’s oftentimes a difference of opinion on what can be done and what can’t be done. And trying to bring that into kind of harmony together is something that I can imagine could be tricky when you’re dealing with customers who expect something and you know, but the one close to the technology is like, maybe this is not possible or it’s not possible in the way they’re envisioning it. So how do you kind of navigate that?
– [Brian] Yeah. So one of the aspects is I think as you’re doing this, for me it’s an analog to me building this company. So I built this company ’cause I was really good at writing software and so I built this software company. Now we’re about 50 people. No one cares if I’m good at writing software, I have to be really good at running a company. And that’s not what I started it for. And so I have to shift and realize like, oh, the thing I have to be good at now is running a company. Well if you want to use goofy examples but you know, you want this IoT device to make donuts ’cause you’re really good at making donuts, now you need this IoT device and you’ve gotta have this conversation about building this device. You’ve gotta stop and recognize that you’re not just building donuts anymore. You have to own the technology as well. And you might make donuts better than anyone else now because you have this technology, this IoT thing that you’re gonna create to solve it. Not only that, but you are solving a problem that’s never been solved before. If you’re not, you don’t have it. It’s not an innovative company or innovative solution. It’s exists already, but if you are doing something innovative it didn’t exist before. So yeah, from the hardware software standpoint, we might come in thinking, yeah, that’s not possible ’cause it’s never been done before and so you wanna take this thing and create this thing that’s never been done before. That’s fantastic. You’re gonna have to get through some of those hurdles. You’re gonna have to understand, just like I said a minute ago, about understanding that integration between hardware and software so that hardware and software can come up with a better solution together. You need to get that, as a founder you need to learn what’s possible from the the technology standpoint or what the capabilities are of the technology, because you’ve got some innovation you wanna do. And if you want that innovation to really work, you have to have some understanding of the technology so that you can translate that and maybe find a new way to apply the technology so that you can solve this really great problem that you’re after and gonna solve this really great solution you’re coming up with. So I think that’s one of the tricks there. And one of the things that makes that difficult is that communication, that translation, you have to own it, you have to step into it.
– [Ryan] Yeah, fair enough. Last question I wanna ask you before I let you go here is we’ve had a lot of conversations with other guests about supply chain and just the availability of hardware. How do you kind of navigate that as far as like if hardware is maybe not available or, at certain stages of the development process or takes longer to get hardware or takes longer to develop the hardware, whatever it is, how do you still make progress against that with maybe the hardware always not being kind of as quickly readily available as you’d expect or need?
– [Brian] Yeah, so in the spaces we play, a lot of times the hardware isn’t available when we have to start on a device. I, in fact, I was working with a client one time and they said, okay, we need this software, it needs to be developed in six months. We’re like, okay, great, that sounds like about the timeline. When do we get the hardware? They were like in six months and we had no hardware to develop it against to test it against all this kind of thing. And so we had to build emulation systems to emulate that hardware. And so some of the hardware platforms that we work on are upwards of a million dollar system and so we don’t just have a plethora of those lying around for us to test on. So a lot of the work that we do, a lot of the work that we do for space applications you can’t just test it on Mars and hopes it works. So we’re doing a lot of places where we’re implementing simulation, where we’re doing emulators, where we’re even maybe just emulating a sensor. We have everything but we’re missing a sensor. We might have to emulate that particular sensor and give ourselves both the good and the bad data it might give us to try to test that out, so that when we get the actual sensor we can run with it. We’ve also had issues where chips weren’t available and I might be biased as a software guy, but that’s one of the things I love about software is we can abstract some of these things and so we’re building the layers that control the things. Like I talked about, that software layer is a bit abstracted from the firmware layer, so that we can rewrite a firmware layer for a chip that is available and all the software above it still works. =And so being really smart about that way that you’re abstracting your layers and building it with modularity it’s really important and really goes a long way to helping a lot of those supply chain issues.
– [Ryan] Fantastic. Well Brian, thank you so much for taking the time. This has been a awesome conversation. For our audience out there who wants to learn more about what you all have going on, any of these topics, follow up questions, all that kind of good stuff, what’s the best way they can do that?
– [Brian] Yeah, easiest thing is hit us on the web at geisel.software. You can check out our OTA update tool at Nitrium.io and and all those things will get you to social media, to me, or any other thing. So yeah, love to hear from you and it’s been a great conversation. I’ve enjoyed it. Thanks so much.
– [Ryan] Absolutely. Thanks for being here. Alright everyone, thanks again for watching that episode of the IoT for All Podcast. If you enjoyed the episode, please click the thumbs up button, subscribe to our channel and be sure to hit the bell notifications, so you get the latest episodes as soon as they become available. Other than that, thanks again for watching and we’ll see you next time.