Programming Constrained Internet of Things (IoT) Devices with Marvell



tell me a little bit about yourself and your background in IOT so I'm the vice president of the kinoma software team here at marvell semiconductor i'm sort of a programmer by day and a manager by night or vice versa either way but try to balance those two so I kind of chill keep my hands in the in the code and kind of know what's going on I found my way into IOT through mobile I was doing mobile app development and a lot of the kind of the same concerns of early mobile development in terms of constrained environments you know not altogether reliable networks things like that we're very similar problems to IOT so as we merged kinoma from a standalone company into marvell semiconductor IOT was sort of a natural transition for us now kinoma it has a bit of history obviously it isn't it hasn't been started specifically for IOT but it sounds like there's their similarities maybe give us a little bit of a background on on kind of where kinoma has come from sure you know we we started at the very tail end of the internet bubble I'm working on portable runtimes put a ways to write software that's portable for embedded devices which is kind of what I OT is now sure kind of become and we worked very closely with Sony for about five or six years and that that really helped to set up the requirements you know for what what we would need in the platform what kind of technology I mean some of the really core decisions we made you know one of the things we learned from working with Sony is that there were all these different divisions and the engineers from one division couldn't work with engineers or on projects from another division because their software stacks were different and everything you know the language was different the tools were different and so it was like all these independent companies but they they were they knew they needed to work more and more together there were you know these initiatives to get their products to talk and so what part of our contribution to that was this idea of using javascript is the programming language everywhere at the time it was it was a little bit radical but it certainly become kind of almost accepted in the mainstream kind of idea today and you know that really work we were able to take for example at that time and years who had been working on portable media products you know digital video players and drop them into the camera division and they were they were very effective we could take some of those same just skills and apply it to the computer division of people doing the vaio at the time and so this idea of being nimble with software by having some commonality in the software stacks there's really a core part of what we're doing have been doing with kinoma since the very beginning okay now kinoma is an embedded chip set where do you see a Peter the business coming from let's say in the next couple years for embedded chips that's like yours well soak anomalous really the the software that runs on the embedded chips that we don't we aren't middle marvell AR our parent company here this makes the chipsets so they make you know mobile chips IOT chips the chip that goes in google chromecast and the thing that we bring it's really unique kind of related to that that Sony start is our same application software runs across all of those and so once you've learned how to develop software using kinoma using our scripts you're able to make something that works on a TV or make something that works on mobile make something that works in a printer makes something that works in a light bulb and that is really powerful know that's really important to our customers because you know every time companies are doing more and more diverse products and every time they start a new one they don't want to have to learn something from scratch because the development cycles which used to be you know five years for a product line are now down to like six months right and so that they just don't have that time so the learning being able to reuse the skills in some cases being able to reuse the code is really significant benefit for people working and embedded yeah and I think also the development environment you know specifically want to have them a familiar development Armin and also something you know that our that our audience or my audience talks about a lot is the support the programming support what supporting we're going to have and therefore if you've got more of a broader I suppose if you have a broader platform then you can bring more you know more support to barrack know it supports a big deal you know one of the things that you've seen in the last few years and embedded really kind of come into play is open source right and you know people are really demanding open source for any software that they're going to commit to because it's not it's often not so much your issue of price but it's just kind of insurance against you know what's going to happen a few years from now or what if what if I need to make a change in your vision right right and so you know we we see support kind of in three layers we have kind of open source where you can do it all yourself you're good we have online support forums where we are available my team my engineers hang out and can answer questions for people directly and then for you know for kind of customers who are engaged in a commercial relationship with Marvel will work very directly with them sometimes helping them to build out the architecture or optimize their code and things like that so you know different levels but depends on where customers at yeah I think you know something you know in just independent of whatever company you work with you know we're starting to see brick devices you know where the company is no longer in existence maybe they're not even not listening to you but they're not even there to listen to you anymore so that does that does actually bring up the point of focusing on software rather than hardware however saying that I mean if you are focusing if you're using a particular development environment I suppose there's not that much flexibility and moving it to different to a different Hardware partner for example is there well I mean that's part of what we're we're really trying to change you know the one of the reasons we chose javascript is a language to base everything on is it was never tied to any particular operating system or any chipset so it's intrinsically portable and by open sourcing our software you know we already have it running on probably a dozen different operating systems over the history of the of the company people can take it to other silicon and and you know little by little we're seeing that people are taking our open source software and bringing it up in different places and I think over the next year we'll start to see some some significant deployments that aren't just on on our silicon and you know it's some work to do that but it gives people a lot of flexibility to go where the cost structure is right where strategically makes sense for them well it's also a risk management issue yeah absolutely well let's talk let's talk a little bit about developing for constrained devices in particular what I'd like to know is where are the biggest challenges or where the biggest cost when you are developing for a constrained device the biggest cost tends to be the thing you didn't plan for so it's I mean people spend a lot of time trying to optimize the hardware costing oh you know we're gonna say fifty cents on this chip we're gonna save a nickel on you know this sensor and you know and when you get to a certain volume that really matters but for most I am T devices it's you know it's thousands of devices or tens of thousands in the place where all your money goes is your R&D costs your software development costs rise and so you know I I always kind of advise people to do the hardest part first you know and for different companies that's different things some people your product lives or dies based on its battery life eunos okay don't make everything work first just figure out if you can have this thing on and doing kind of like what it you know the very basics it needs to for however long that is right for some people it's performance right if this thing doesn't you know respond and in the half a million and a half a second right it's a fail okay well can you do that because who cares about the rest yeah for some it's memory you know we have a million-in-one features and we're just not sure we can pack them all in and so getting that sorted out really early will tend to minimize the rd surprises down the road and it's never the same you know for some people it's network challenges you know you've you've got to work in these very unreliable network environments how do you make that work and and so you know part of it is working with a platform where you can kind of see your way through two solutions to that part of it is having tools right if memory is the issue can you measure memory right are there tools available that will show you your memory use clearly just so you can know when you're making progress because visibility is the first step to solving those problems right right no that's a good point now now switching you know being very specific to I OT obviously an important component is sensors and what I'm interested in is a big part you know of starting at a project once you understand what data you need is then through my well how am I going to capture that data someone's can be on the internet you know through microservices a lot of it's going to be through sensors so when choosing sensors will they work with any embedded system or vice versa what is how does that work yeah I mean there are two when you're looking at kind of prototyping kits there are two kind of schools of thought one is a very open school of thought and that that one is things like raspberry pi is a good example you know kannamma create and condemn element our products are both open in that respect so we kind of give you the pins and you can connect what you want that requires a little bit more knowledge but it gets you access to almost everything you know the flip side are there are devices that have a specific set of sensors for them you know the most fun example is little bits right because you can snap things together right and I mean literally a child can do it and they can't hurt themselves and it's great you know the pieces are you know 20 or 30 bucks apiece but you know if you're building one it works well I mean it's a fun way to get started there's things like Arduino that are kind of in between which has some standard form factors that like the shields that people typically use with Arduino it work great and are really easy to stack up but again they sort of limit you in terms of form factor and what's available compared to more general which Arduino can also support so you know my I mean my advice to people as if you're uncomfortable hardware something that just snaps together as a way to learn hey what are these things what do they do how do i connect him it's great but you know you're you're getting to product development you may try you know half dozen different temperature sensors to get one that behaves the way you want yes because sensors are not as kind of automatically simple working beasts as people imagine and so having a platform that is open where you can just plug those things in is really critical to getting to the right selection of components for the final product so I understand you know from a prototyping point of view that makes sense but at some point when you're going from your prototype and to your moving into your minimally Viable Product you need to be using something that's going to be commercially available that's gonna be mass-produced so on those on those boards that is it pretty much is it pretty much a given that any sensor will I mean it's just gonna be generally a voltage or an amperage interface I presume we'll all boards are all embedded chipsets be able to support pretty much anything or what are you looking at it's never that easy I mean I squared C is a good which is what a lot of the sensors ours is a good example of a standard that's not quite standard you know and in our development you know we get as many I squared C devices as possible just to prove that they work because you do run into strange problems with with some of them occasionally analog devices tend to be a little bit more sensitive to voltage levels we've seen so that that can be a challenge so it's there's really you know the theory as always these things should work together the reality is that they don't always you know raspberry pi is a good example doesn't really have built in pwm s which you need for a certain class of problems especially robotics so if you're going to do things that involve a lot of control you would want to use a platform that has that something like a BeagleBone for example is really good for that we recently did some enhancements to our kannamma create to give much more control over pwm so you know it's I mean the my real advice to people is not to just assume the data sheet is true but to really get in and try it because you you're never going to know for certain until you actually put it together and put it through its paces and kind of the way that you expect to use it yeah yeah so if there's a prototyping environment that you use the same I guess the same interface as hardware interfaces I mean and that's probably a good place to start and if not then after the prototyping stage you're probably going to have to test it with a number of number of different embedded systems yeah yeah yeah all right let's talk about cost now put things in perspective for the art for my audience in terms of what are we looking at in terms of cost now not what not the sensors obviously but just more the more the brains that are on that interment of things themselves sure I mean it's there's a real range and it depends on what you are looking for in terms of performance you know adding an Arduino to a product you know as a dollar or two it's great as you get into more and more performance you can be up into the ten and twenty dollar range right now Google chromecast is a good example it's a $35 product that's not a high margin business for Google they're they're doing that to see the market so you know you've got to kind of figure out what's important I am I like a lot they're starting to be some all-in-one chips which save some money but also just save board space and engineering so you know the more metal part that we've been working a lot with recently is the IOT product from our Belen pacts called the MW 302 and remember part numbers now and it's a high it's one it's one chip kind of the size of your fingernail that has 200 megahertz ARM processor in it Wi-Fi built-in right and and a half a megabyte of RAM which turns out to be enough actually for a huge fraction the products out there so you basically bring your power supply a crystal and flash and you've got you know the ability to Wi-Fi enable any product you know there's other people who do similar things for example with ble and I think these all one things are great because it means that the the chip manufacturer has done the pre-integration for you right it also is you know in general going to consume less power its constituent les portes pay as you say the engineering effort of wiring everything together so I think you're going to see more and more of that you know it's kind of the soc for mobile that had you know the GPU built in GPU most of the time but the networking is really a core part of it in the memory the memory is there that's kind of a traditional part of embedded as well so you know those things are by the time you get a board put together and everything you know tested and whatever are still and you know single-digit dollars you know say less than five bucks may be substantially depending on how you do it to Wi-Fi enable a product and that's that's only going down so i think it's it's very cool and it's why i OT ends up being an inevitable right if you look a couple years out two or three years out and it costs two dollars to add Wi-Fi to your product and that means it's remote control and reconfigurable and can connect all these things you know you're making a product that's a hundred dollars two hundred otters it's going to start to become just something you're always going to have and by the way that can be the microcontroller for everything else you do in your product you probably needed one anyway and so you know i OT really just becomes a part of the woodwork how we use it right what the scenarios are how how we enable it an industry how we enable cities how we enable consumers is still an open question and we're really actively all exploring that but but the price point and the capabilities at that price point are really phenomenal as you just look a little ways out sure so the kinoma website is a great place to start k inom a calm said we we really are big believers in open open source open cloud open sensor and so you can see all of that there there's just tons of sample code tons of documentation of course it's open source so all almost all the source code is there as well so people can go check it out to get in touch with me twitter is a great way to do that my hate them sort of uh so it's a quirky twitter feed but but aren't they all and that's this p hottie pho ddie on twitter or the canola twitter feed I'm just ki in oma again so yeah i mean check it out there's a lot of interesting things are you know we have stuff for people who just want to play we have things that are simple as blockley you can use visual programming to wire together things you know and then most of its in javascript and then for you know the hardcore programmers just you know you can dive down into the sea code and pick it apart at that level so there's a lot to chew on no matter what level you're coming in it cool thank you you

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *