EP 026 ClusterDuck Lora Networks with Nick Feuer

Michael:
I’m so happy that you’re listening in this week. Our guest today is Nick Feuer. He works on ClusterDuck Protocol with an organization called Project OWL. Nick, thanks so much for joining me.

Nick:
Thank you for having me.

Michael:
All right, Nick, I’m always looking for interesting people and projects to explore on the show. I came across the ClusterDuck Protocol, and I thought, “Oh, hey, this looks pretty cool. I know people get interested in this.” So I reached out to you guys and we set up a show. Then as I started doing more research, I was like, “Oh, my gosh, this is really cool.”
I was going through the stuff that you guys have up on GitHub and what you guys are up to. I was really blown away by, one, how you’re making it really easy to set these networks up for just the average person and just the utility of these networks. So people listening probably aren’t familiar with ClusterDuck or Project OWL. So I don’t know if you could just give us just a quick crash course on what it is, how it was born. You can take it wherever, any direction you want to go, Nick.

Nick:
Yeah, so I’m Nick. I am CTO and co-founder of Project OWL, and we’ve developed deployable, ad hoc mesh networks. To maybe help understand where we come from, I can go back up a little bit and talk about our background and talk about hurricane Maria in Puerto Rico. I think it was in 2017. When Hurricane Maria came through Puerto Rico, it completely decimated the island. Network infrastructure was totally down, power. People did not have connectivity for over a month and a half. The real death and destruction didn’t really come from the hurricane, the time that the hurricane came through, but it was actually the months afterwards, where people were not able to get the resources that they needed.
Around this time, IBM hosted an event called Call for Code. It is a global event where IBM made a call to action to developers to build something to help with disaster resilience. So together with my team, we developed Project OWL, which was easy-to-deploy devices that are extremely cost effective. Anyone can go online and buy some of these devices and then go to our open source and load up the code. We wanted to create a very easy-to-use way for people to set up communications to go from 0% to 1%. So now the people can say, “Hey, I need help” right after a disaster.

Michael:
Wow. That’s really cool. That’s a neat origin story there. So, okay. So you guys, your team, was already set up before this whole thing hit. You just jumped into this and were creating some technology here around that. That’s pretty cool.

Nick:
Yeah, and maybe even something to go about [inaudible 00:03:36], and we are a hardware and software company. So we have the hardware. Our ducks is what we have, which we can talk a little bit more about later. Then also we have a cloud system called, we call it the DMS, our data management system, where all the data from the ClusterDuck network comes through. But going into this, I had very limited knowledge about Arduino or hardware. I was actually just a software programmer. I was working in C# and JavaScript.

clusterduck

That’s the wonderful thing about code, and also the day and age we are right now, where you can go online. You have an idea that you want to do, and you can go online and find out what you need to do to be able to build whatever project or idea you had. That’s where it really started. Then what also accelerated this is that we open source all of our firmware. So now we have not just our small team of six people, but we have access to developers from around the world.
We have people in India, the Philippines, China, all over the world, who are helping us build this disaster relief technology. Also, but you don’t have to use it for disaster relief. We have people who are using the ClusterDuck network to build remote farm sensors, or it’s really … That’s a beauty of a open-source, where people come together to build really amazing technology.

 

Michael:
Yeah, that’s really cool. A couple of things I want to touch on there. You mentioned low cost. As I was just browsing your guys’ resources on GitHub, I was blown away at the low cost of some of these hardware devices. Obviously I’m very familiar with Arduino and that whole ecosystem of electronics. I generally expect it to be low cost, but you’re looking at around 20 bucks for one of these just to get started kind of thing, which is really low to get in.
That’s getting you the ESP32. So if somebody is listing, they’re not familiar with an ESP32, and correct me if I’m wrong here, because I don’t use an ESP32 a bunch. I’m more familiar with the 8266. But ESP32, it’s got Bluetooth enabled. It’s wifi enabled. Then the hardware that you guys are launching some of these or recommending, also has a long range antenna. Am I saying that right? LoRa? How do you say that? I always want to say Laura, like I’m talking to my friend Laura or something.

Nick:
Yeah, LoRa. It’s spelled L-O and then R-A, and that actually stands for long range and it’s a long range radio. Why we use this, and also why it’s so great for IOT is because it’s extremely low power. If you have an IOT device, you’re not hooking this up to a car battery or something like this, and you have these devices out in remote areas, you do not have access to a lot of power. Or if you want to power the device over solar panels, having a communication device that’s able to send messages over extremely low power.
For example, you can have these devices sending messages for weeks or months without needing to change the battery. Also, along with that, you get extremely long range. Now, you won’t be able to stream cat videos or watch Netflix over LoRa, but you will be able to send messages a lot further than you would with wifi.

Michael:
Right. Okay. So I want to dig into some of the … I don’t know, like what I would be doing on one of these networks. So let me just throw a scenario out there. Let’s say, so I live in the Midwest, not the most hazardous place to live in the world. One of the perks of living out this way. But we do get, on a semi-regular basis, storms that come through and just take power out and we don’t have things. The internet will go down for several days or whatever.
If I had one of these networks set up in my community, say just with my friends or something like that, or just other … I don’t know, some business owners in the community or something like that. I would be able to essentially build our own local area network then with these? Would I be able to use my cell phone and connect into the network? Would I be able to do that kind of thing? What kind of things would I be doing, or could I be doing over that network?

Nick:
So there’s a lot of different things you can do because, at its core, it’s a communication network. So you almost kind of think how the telecom, they’re all different kinds of things that you can do over cellular. There are some of that you can transfer over to, to this. One of those being able to send messages. That’s also one of our big efforts is to be able to send almost text messaging to each other. You’d be able to send that.
Another thing that you could do, especially for, let’s say for a local government and the internet’s gone down, so how do they let you know, “Oh, the internet, our power’s supposed to come back in six hours”? How do they let their residents know? This would also be a way where they can send out a message to everyone, or you have somewhere to go and say, “Oh, look this is the most up-to-date or what I should be doing as a resident.”
What if there’s a warning that people need to evacuate? You could use this to notify people that they need to evacuate in certain zones. But so how we have this set up, and also one of the reasons why we use the ESP32, is that every device sets up its own wifi access point. For people who haven’t maybe downloaded an app or something like this, especially in an environment where you have no internet, you can’t download an app. What you can do is you actually can directly connect to one of our ducks and connect to their wifi access point. It works very similar to when you go into a coffee shop or a hotel, and they ask you to … A little window will pop up and will ask you for your name or your room number.
But instead of that, you get onto the Cluster Protocol captive portal. You’ll be able to fill out a form of what your needs are, or be able to see a message board of what’s the current status of things. But if you have the app installed, you would be able to also send messages between each other. So there’s a lot of different things that you can do. Aside from just a disaster relief, you can also do things like remote sensing, if you have remote sensors.
Let’s say you have a, maybe a Raspberry Pi with a camera that’s doing image recognition, somewhere in the mountains, and you want to get data from there. It says, “Okay, I see something here” and it sends a message back to you. That’s also something you can do. Since they’re all IOT devices, what are IOT devices really good at? Collecting sensor data? So that’s also another really great way to use the ClusterDuck network.

Michael:
Okay. That’s cool. Now, I just want to clarify something for my own sake. When you say captive network, or you said a captive something, does that carry a specific or meaning or annotation to it? I’m just not familiar with that term.

Nick:
Yeah. So a captive portal is basically a webpage that automatically will pop up on your phone when you connect to a wifi access point. So normally it would be for … You went to Starbucks, it asked for your email. They used to do this in the past, mate. I don’t think they do it anymore, but they would ask your email before they connect you to the internet.

Michael:
Yeah, okay.

Nick:
So it’s kind of the step before, because since our devices are sending data over LoRa, it’s not an actual wifi connecting to the worldwide web. You’re connecting to the device in just a very simple, simple way. This way, you could also connect to it, using your laptop and you’ll still be able to access the network and communicate with the device.

Michael:
All right. That makes sense. All right. So we’ve been talking about ducks, and I know what a duck is because I’ve seen all ducks. They’re floating around and quacking at me and all that kind of thing. But people might be wondering, what is this whole duck thing? I love, by the way, it’s so much fun. You guys really play on those wonderful words. Before we end this talk, you need to talk about Disco Duck, because I think that was my favorite. But can you explain what this duck thing is?

Nick:
Yeah. So we came up with this whole duck nomenclature to make it really easy to understand the hierarchy or how each of the different devices have different function. So the first we started with is the duck link, and this is the edge nose. These ones are the … give more can range to try to find all the people. So it’s just more, just at the very edge it’s sending messages, where people can connect and send messages.
Then you have the mama duck. The mama duck is where it’s able to not only send messages, but also receive them. So it works as a repeater, where it will relay the message over between mamas, which we call hops, until it gets to a papa duck. The papa duck is where all the benches messages get funneled into, where it’s connected to the cloud. So whether that be over a satellite connection or a wifi connection, and then all that data is then sent to the cloud, where anyone around the world can view that data. So it’s a nice little duck family, and that’s how they work together in a little cluster, and that’s how we ended up with the ClusterDuck network.

Michael:
Gotcha. All right. So each duck is a physical thing. It’s like some type of physical hardware, but then it is also … has a specific use then.

Nick:
Yeah, it has a different role.

Michael:
Okay.

Nick:
Each duck has a specific role that they play in that network.

Michael:
Do they share similar code basis then? Or is it like, when you’re setting up a papa duck, for example, is it a totally different process than sitting up a mama duck? Or just different kind of code or that you’re installing or-

Nick:
It’s a little bit different, but we make it really easy in our GitHub. We have an example for each one. They all use the same ClusterDuck protocol library. Each one has his own example that you can use. So it’s very easy to set up. The papa duck just as an extra step. If you want to send the data over the internet, you’ll have to do some settings, or if you want to, we also have the option where you can send it over the satellite. But also we have a completely offline version, too, if you want to just be able to see all your data without connecting to the internet. We also have other stuff as well on our GitHub, how to do that.

Michael:
Okay.

Nick:
But it’s all very easy. We try to make the setup as easy as possible, that you just get one of your devices loaded up with mama, papa duck, whichever code you want, and then it’s ready to go.

Michael:
Yeah. So we’re really just talking about somebody has an Arduino IDE installed, which probably most of our listeners do. Then they’re downloading some code. They’re hooking up. They’re going to make sure that they can work with the ESP32. So there’s some package you’ll install for that. Then it’s just a matter of getting the code and setting up the libraries. I saw you guys have a lot of example code that comes with your libraries to set up these basic … just to give some quote/unquote, I guess, hello duck or hello quack examples and stuff to get you up and running. So it looked really straightforward.
I can’t wait to get my hands on some of those modules you guys were pointing to because it just looks fun. I want to set up a little network and play around with it. But as far as the code base that you’ve guys have created here, I didn’t dig into it too much, but I’m just curious. So are you guys leveraging the code that’s already been written for the ESP32 then, and you’re playing around with that? What stuff do you got going on in there? I’m just really curious.

Nick:
Yeah. So, we are leveraging the ESP32. The ESP32 is really awesome because in just one package, you get a microprocessor, a Wi-Fi and Bluetooth. So that it makes it really easy and also extremely cost effective. But ESP32 just the first step of CDP. We actually are planning on growing where other microcontrollers can … or other radios be able to use the CDP. So we at Project OWL, we want to be integrators. So if people have other different boards that are using LoRa, but aren’t using ESP32, that they can still use the CDP for as almost as a, almost hopefully maybe becomes a standard for mesh protocols. So we want to be able to grow it out beyond just the ESP32. So right now, the ESP32 is just the start.
We have an amazing community. We have a slack channel where we are all talking about all the updates, as well as also active community members. It’s an extremely friendly environment. We have a YouTube channel to help get started, where we go through if you want to set up your environment in Windows, Mac, Linux. But also we also have a stream where we actually do a deep dive into our code and actually add features, fix bugs, to help people who are maybe not familiar with the CDP and how it’s structured. They can actually watch us, how do we add a functionality or fix bugs and so help them navigate through the code base.

Michael:
Wow, that’s really neat. So people who might want to contribute or want to learn more about it, that you guys have tons of resources. You can jump into a community there. That sounds pretty cool.

Nick:
Exactly.

Michael:
Now you guys have written this in C++. Is that correct?

Nick:
That is correct. It is a C++. There is also Arduino specific stuff in there as well, but there’s a lot of C++. It’s pretty much all C++, except for the captive portal, which has a little bit HTML as well. But we also have other projects as well that are using Python and JavaScript as well. So it continues to grow as we move along.

Michael:
That’s cool. So I know people are using this network and I’m just curious if you can think of some examples where it’s been deployed and just, I don’t know, some interesting stories that you’ve gotten from the field or from its usage. I’d love to hear about some of those maybe.

Nick:
Yeah. So actually, we have an ongoing deployment in Puerto Rico, going back to our roots where it inspired us to build this. We continuously want to deploy our technology there. So we actually have a deployment of over, what is it, three dozen ducks at the University of Mayagüez, where we actually worked with the university students there. Also, they help us maintain it as a disaster mesh network. But they also use it for research as well.
So we actually work with … They have a Formula One team who builds their own cars and races them. We actually were working with them to develop a sensor, to be able to help them get their tire temperatures, because how they’ve been having to doing it up until the point is that they would stop the car and then have some run over with a little temperature gun and try and get the data. But at that point, the tires have already cooled. So they’re not really sure how the temperature changes as it’s racing. So since we had set up a mesh network at the university, they would be able to add these remote sensors onto the car itself and get a live data feed of the tire temperature.

Michael:
That’s pretty cool. I just feel like there’s a lot of applications for mesh networks, especially ones that rely on its own infrastructure, like a little independent infrastructure there. Especially, I really liked the whole disaster preparedness type thing. I think it just seems like a good idea. It’s not like some crazy prepping thing. It doesn’t hurt. It can really help out in some situations. It’s amazing.

Nick:
Open sourcing this technology helps us get that technology to the people who need it faster because we’re a small company, only six people, and there are disasters happening around the world. Making this open source, people can make a difference in their own communities without having to wait for us to ship supplies. They can just go, say, “Hey, this is a problem in our community. Here’s a solution that we can do and be able to start setting it up and we can work.” That helps us get the CDP or the ClusterDuck Protocol around the world as quickly as possible.

Michael:
That’s cool. All right. So a couple more questions here. I don’t want to keep you too long, but so Project OWL, is that the name of the company then? Is that the name of your company and then ClusterDuck Protocols is one of the projects that your company is working on? Is that about right?

Nick:
So, yeah, Project OWL is our company that works on and builds a product. But the ClusterDuck Protocol is an open source that’s actually open source of the Linux foundation. So we don’t own the trademark to it or anything. It’s completely open source, but we do maintain it. So we are the main maintainers of it. We are putting out content and we also use the CDP in our own product as well. Also, by the way, you actually asked about the Disco Duck.

Michael:
Yes.

Nick:
Disco Duck is actually one of my favorite projects I actually had worked on. So I like going to music festivals, and music festivals are where we have lots of people who come together in one place to listen to a lot of great music. But the problem is, is that when you have so many people in a small area, and everyone’s trying to use their cell phone, it ends up congesting the network. So if I want to find my friends on the other side of the field, it becomes impossible. It basically becomes a huge dead zone, even in music festivals right here in New York city, where you would imagine you’d have the best cellular connectivity. It just goes completely dead.
So what we did is we actually took a bunch of ducks, and we loaded it up with our Disco Duck software and had a little app, and where we actually went around and stuck a couple nodes around in the festival area and basically built our own offline network at the festival, so that we could communicate with each other without using cellular, because we wouldn’t be able to get in touch with each other.

Michael:
That is so cool. That’s neat. That’s just a fun usage of it. I love it. I’m curious, how high do you have to get these things to get an effective … Yeah, that’s one thing we didn’t mention as far as actually building the network. Are we talking about … I know in the videos you guys have, you’ll show you’ll show a duck and then you’ve got an emanating circle from that duck that represents its coverage area. Then I’m assuming that for a mesh network that is not communicating over GSM or something like that, you’re going to have … You want these things to overlap obviously. Right?

Nick:
Yeah, exactly.

Michael:
Probably the more overlap between nodes, the better, the more solid the communication. But how big can a person expect that circle to be, and is that circle represented by the LoRa? That circle’s the LoRa, right?

Nick:
Yes, that is the LoRa. Yeah. So, yeah, exactly. So height is king. Having a line of sight definitely helps, but there are also other things that you can do to help increase your range. So whether that be using different antennas also really help or having directional antennas. Actually, one thing I did not talk about is that we actually recently just did space ducks-

Michael:
Oh, sweet.

Nick:
… which is actually really cool, where we actually closed a LoRa link of over 50 kilometers. So it can go really far if you have the right conditions. So actually what we did is we put our devices in a box attached to a weather balloon, and sent it up 25 kilometers or 100, I think it was 160,000 feet. So we actually were actually finishing off the report on that and also having a really cool video that we’ll be posting as well on that. It’s got some really-

Michael:
That’s cool.

Nick:
Of course, we got some amazing footage from space where [inaudible 00:26:00] sets. It’s crazy how, when you get high enough up, you just see the earth and you just see all black. It’s very surreal.

Michael:
That’s totally cool. Yeah, I like that. Hey, and one other thing I wanted to ask, too. So the LoRa, it works within a certain frequency band. Is that correct?

Nick:
Yes.

Michael:
Do you need a license to operate in that band in the US or you don’t need a license?

Nick:
So the benefit of using LoRa is that we’re actually able to operate in the ISM band, and this is an unlicensed band, so anyone can use it. There are some regulations to using it so that you don’t completely … Since it’s open to everyone, you don’t want someone who’s just transmitting one watt of power and then drowning everyone else out. So there are rules you have to follow, but for the most case, it’s extremely easy to use. So it’s a 902 to 920 band in the US and we use 915.
But you can also, if you want to, we’re actually adding in the feature where you can actually change that a little bit, if you want for different channels. So if you don’t want to be listening to other people’s traffic, like a walkie-talkie being able to change the channel a little bit.

Michael:
Right. Okay. I don’t know if you’re familiar or not, because I’m sure not, but does Europe have similar type bands or do they have a different kind of-

Nick:
Yeah, each region has their own ISM band. So in Europe it’s a much narrower. It’s at 433. I think it’s just only a couple hundred, a couple of kilohertz bandwidth. So it’s much smaller than … The US is much, much wider. But also in India, I think it’s 868. Then in Australia, I think it’s also 868. So each region has a different frequency. So anyone who wants to set up their own radio should look on, find out. I think we have a little bit of documentation on there to help you figure that out. If not, send us a ping. If you have any questions or anything that’s missing, let us know. We’re very much trying to improve our diameters use as much as possible, but it’s very easy to figure out. You can find the hardware that will fit in your ISM band pretty easily. They’re very accessible.

Michael:
Cool, man. So exciting stuff. So if people want to learn more about ClusterDuck Protocol and Project OWL, where should we send them? Where would they look online?

Nick:
Yeah. So they can look at our website, clusterduckprotocol.org. That is for our open source. We also have our, if they want to learn more about Project OWL, we have a project-owl.com. Or also, we have, if they want more resources about how to set things up or also watch our streams, we have a YouTube channel called Project OWL. Also our GitHub has a lot of resources, a lot of documentation, and we have a whole Wiki of how to get started.
Then of course, join our community. We have a lot of amazing people from all around the world who are working on great technology. Everyone has their own projects that they’re working on, but everyone is really ready to help each other out. So definitely check that out. Don’t be shy to say hi, and everyone is excited to help and build some ducks.

Michael:
That’s cool. Awesome. Hey, Nick, thanks so much for your time. I really appreciate it.

Nick:
Thank you.

Michael:
Cool. Have a good one.

Nick:
You, too.

 

 

AppLab Bricks open in background with actual brick

Arduino AppLab Bricks → Marketing Garbage or New Powerful Interface?

Arduino Ventuno single board computer - top side

New Ventuno Q Dual Brain Single Board Computer

AppLab Pip Install

How to Add Python Packages in Arduino AppLab (No pip install needed)

Arduino Power Section Schematic

Kit-on-a-Shield Schematic Review

Just how random is the ESP32 random number generator?

Just how random is the ESP32 random number generator?

Leave a Comment