This is a pretty baller ESP, and it does one thing really well. It gives your project access to the internet pretty much anywhere it goes without relying on Wi-Fi. Whack in a SIM, write some extra lines of code, and you get 4G connectivity in your IoT projects pretty much anywhere that is mobile coverage. And the name of this board? Now, this seals the deal. Walter. Get it? Walter. Like Walter from Breaking Bad. Walter.
Welcome back to Core Electronics. Today, we are looking at Walter. You don't know how many times we've said Walter around the office the last few weeks. Internet of Things, or IoT, isn't exactly the hot new trend anymore. It's not the buzzword slapped on every tech product out there. But boards like Walter, and I promise that's the last time, boards like Walter here are a great example of what good modern IoT looks like. But what is it? Well, put short, it's a really kitted out ESP32.
The heart of the board is an ESP32 S3 with 2 megs of RAM and 16 megs of flash, plenty of overkill for most projects. And it also comes with Bluetooth 5V LE and Wi-Fi up to 150 megabits per second, pretty standard ESP32 stuff. The real star of the show is that Sequence modem on the other half, which is going to give you 4G cellular data through LTE-M and narrowband IoT, two low-power and low-bandwidth technologies specifically designed for IoT devices. Now, the cellular in this thing is 4G, it's defined in the 4G standards, but the technology is largely supported by 5G infrastructure.
I was just a bit confused when I saw 4G/5G all over the Walter site, but it's essentially saying wherever you can get 4G or 5G coverage, this is probably going to work. And I know it's probably a long way away, but when 4G gets shut down, chances are these are still going to be fine. On that Sequence chip is also a GNNS receiver capable of getting its location from GPS and Galileo navigation satellite systems. It's got GPS, just to keep it short. Also, random side note, if you remember the company Pycom who made similar boards, this can be a drop-in replacement for the GPi.
Now, let's get the big thing out of the way. When I first saw the price of this thing, I kind of went, wow, that's an expensive ESP32. Next, I dismissed it and moved on to another video, but then I thought about what it actually gives you, what it actually is. If you do some rough napkin calculations of the cost of parts and manufacturing, getting this thing designed and made overseas, by the time it hits a retailer, you're probably looking at around 80, 85 Australian dollars. Walter is a tad more than that, but there are some nice little goodies filling in that price gap.
First of all, it's designed and manufactured in the EU. I think it's built in Belgium. Always happy to support EU manufacturing. It's also got certifications for most major economic regions. Not a big thing if you're a maker at home tinkering on your own projects, but if you are looking for something that lies on that high end of the maker market and starts to bridge into more your commercial industrial space, that is quite nice. It's also open source. There's commitments to a decade of availability. It's quite compact space-wise, and it just feels like a quality board.
I would guess that the flaws in my code are going to be the unreliable weak link in a project with this. Luckily, though, that leads us into a really nice thing about Walter. I nearly said it. The libraries and documentation. We will also get into this in a bit, but the documentation is pretty good. The libraries are available in C++ and MicroPython, and they expose pretty much everything that the modem is capable of, which is really great, and it's not that hard to use. I love finding cheap hardware from China, but there's often no English documentation, or you've got to go find a library that's somewhat compatible.
It's a really nice change of pace to have something that is well-documented, has a library built for it. It's just one of those things where you pay in time or you pay in money. So those goodies might be a bit meh for a maker at home with all the time in the world to figure out things, but if you're looking for a board with certification and good support, it's kind of a decent value proposition then. There really isn't much else to talk about, so let's just fire it up and have a look. Out of the box, you're going to need a GPS and LTE antenna, which are usually only a few bucks, and you can find appropriate ones in the written guide linked below.
Now, big warning here, as usual, don't turn on your wireless devices unless there's an antenna plugged in. You will likely damage or destroy something on Walter if you do. Try and use the functions without the antenna attached to it. Also, just a side note, look how small this GPS antenna is. I've been fawning over it the last few days. I'm also going to go ahead and whack in a SIM card just on the bottom, and for our demo, I'm just using the one from my phone, but if you weren't aware, IoT SIM plans are pretty cheap nowadays. You can often find ones that have a few SIMs on one data plan for only a couple of dollars a month.
You don't get much data, but you likely aren't going to be sending much data anyways. Also, I don't know what project needs it, but I can imagine you can just whack in a global SIM and have this thing work pretty much anywhere in the world as well. With that, we can power on our Walter just via USB, and there's actually some pre-flashed firmware on it already. If you head on over to walterdemo.quickspot, you'll find all the Walters currently running this default firmware. I couldn't get a GPS lock in here, so I just popped it outside, but we should be able to see our device.
That, by the way, is the same MAC address on the bag. And we can see, first of all, it's a very hot day here in Australia. It's a summer day. But we're also going to be getting our GPS data beamed through like so. I just went for a little lap around the block with Walter. And keep in mind, this is only a preloaded demo, but it is a little nice check that everything is working correctly. And I wouldn't worry that there's a big shadow government Walter tracking your every move and thought. This is just the behavior of the demo code. And the code is just written to beam data to this website.
I don't know, web address. I don't know, client app, something. One of those internet buzzwords. If you don't want to broadcast your location to this site, just don't put your SIM card in and flash something onto it first. Speaking of flashing, we're going to be using Thonny for our demos with MicroPython, but they do have documentation for C++ and other development environments. So go and chase that if you want to use your preferred thing. Installing MicroPython is exactly the same as pretty much any other ESP32. Just ensure you select the S3 variant and the generic version of MicroPython.
And installing the libraries is pretty much exactly the same as usual as well. You can just head on over to the GitHub, download the libraries, and then upload them to your libraries folder. I don't know why, but I was expecting some maybe crazy custom firmware here, but it's nice that it's just a regular MicroPython installation with some libraries on top. And with that, Walter is ready to go and do whatever you want in your project. Write your code as you normally would, then go through and browse the library documentation to get the wireless and GPS portions of your project going.
We are, of course, though, going to fire up some demo codes we've written, and we've just built them off the documentation and other demo codes from the developers. And as always, you can find these in the written guide linked below. Now, just a little warning here before we get any deeper. Using Walter is not beginner friendly. I wouldn't call this a beginner project. The commands to actually use the library, not too hard, maybe expect a little bit of a learning curve, but writing good, reliable code with it that is fault proof gets a little bit tricky.
You're almost certainly going to have to use AsyncIO. You're going to have to use lots of awaits here. You're going to have a whole bunch of error handling with try and accept. These are not very beginner friendly concepts. And because you're using AsyncIO, the code really is scattered all over the place. Because of that, we would put this at sort of maybe an intermediate skill level. You could cheese it with ChatGPT, and if you post in our demo codes, it'll tell ChatGPT what it needs to know and all the gotchas of using the libraries. But it's just a great little board to learn how to interact with cellular networks.
So give it a go, you know, 2022 style and write it by hand. In the written guide, we'll also have a breakdown of this code chunk by chunk if you do want to learn what is going on under the hood and how this all works as well. So this first demo code is just going to connect to the internet over LTE, the easier network to use, and it gets the time from the network, and then it's just going to query a site. So let's give that a run, and it's going to go through and do its things. Print statements firing up. It's probably booting up the modem now. Connected to LTE. We've just got a whole bunch of print statements telling it what it's doing.
Hey, look, there we go. We've connected. That all flew through. So you can see that we connected. We grabbed the network time. We queried our site, and we got our data back. We're just being a little bit lame here and just querying timeanddate.org. If you are going to be using time, remember it's an epoch time, so second since January 1st, 1970. And this might not seem like a very impressive demo, and it's kind of just, you know, testing out, you know, it all works. But what we're doing here is, you know, pretty cool. It shows that with some lines of MicroPython code, we can connect an ESP32 to the internet anywhere in cellular range.
There's also a whole heap of things you can do with, you know, the connection information. You know, you can get signal strength. You can get tower location. Lots of cool things through the library as well. Just go and have a... Really, the whole point of this video is here's Walter. If you want to check it out, go explore the library. You could also query a variety of sites that return some sort of JSON text or information. We did a boring demo of just getting the time and date, but I don't know, maybe you could get weather forecasts based off GPS coordinates. I don't know how you'd get like a GPS coordinate on this thing to send over, but I'm sure it's possible.
Alright, let's expand on this and actually do something useful with it. Here, I've got our second lot of demo code, which is going to just connect to the cellular network exactly like before, but it's going to take our current GPS location and then beam that to an MQTT broker. The Walter library has, you know, a nice MQTT library built into it, by the way. We're going to be using Adafruit IO here, which is, you know, got pretty generous plans, and it also happens to have a nice map GPS plotter that we can use to see our reported points on. Again, if you want to deep dive into this code, you'll find it in the written guide link below.
And with this code, we can essentially create, you know, a GPS tracker, you know, for a car or something like that, you know, whatever your project calls for. As long as the signal isn't blocked by a giant metal warehouse like we're currently in right now, Walter can get its location, you know, anywhere in the world. And if it's in cellular range, it'll let us know where it is from this web UI that we can log into from anywhere in the world as well. That's pretty cool if you think about it. You know, there's definitely, you know, purpose-built products out there that can do this, but the fact that we can build this ourselves on open source hardware and you know if you hosted your own MQTT server you could do it all privately on your own setup.
We're getting pretty close to lunchtime here I'm craving for a Costco hot dog right now. I think me and the fellas might go for a trip and I'll bring along Walter and you can see you know where we're going on the thing. I'll just leave it open while we go. I probably shouldn't have had a Costco hot dog between shits. I'm gonna be a little bit low energy right now but as you can see on the map we are pretty darn close to a Costco which is really great but it's also a curse. Again this is a simple example and it's pretty straightforward it's just you know sending GPS location to an MQTT broker but you know you could send any data from anything connected to its GPIO pins.
Remember it is a you know full ESP32 here or you could even do the reverse. You could create a button on your Adafruit dashboard and have the Walter control something that's connected to it based on the input from that or you know you could use the input button on there to request you know a real you know a new GPS update or something like that. There's a nice little layer of connectivity here you know IoT MQTT device slap all the buzzwords in there for me editor. Now what is an IoT device without the prospect of running it off battery power? The ESP32 has some fantastic low power deep sleep modes and thus so does the Walter so we went ahead and modified the demo to go for a quick 20 second deep sleep between each MQTT broadcast.
I actually recorded this footage last week when we were testing so I'm just going to go ahead and pretend to react to it as if it was running right now in front of us. You won't notice the difference. Alrighty we have the Walter connected up to our OTIAC. Let me connect it up to our OTIAC. This is our super accurate power consumption device and I'm just going to go ahead here and turn it on like so. We can see our ESP32 is initializing and then look at wow look at that power spike when we connect to cellular. As you can see it looks to be about 80 milliamps when we're trying to do things with the cellular and now it's trying to get a GPS lock and it's sitting at about 60 milliamps.
There is no hope of getting a GPS lock in here so it'll do about another two minutes of this before it times out and then it's just going to report you know zero zero location. And now that we're at the end of this it's timed out looking for a GPS lock and we can see our spike again as it reconnects to our cellular, sends the message and then wow look at that deep sleep low power mode. Again the library really helps to make this straightforward you just put the modem and ESP32 into sleep and you know it goes low power. Yes tick the box it can be used in low power modes for battery projects not a really big surprise for an ESP32 thing.
So Walter it's a premiumly priced ESP32 with cellular and GPS capabilities. It's open source it's got a few goodies like certifications and whatnot that are great for you know industry commercial space less so you know maker at home but really the star of this show is the libraries and documentation. If I was looking to do a cellular project I think the time saved in having access to you know a reasonably well documented library alone is worth considering Walter. Because of that as well it's also you know a great tool for learning cellular based IoT probably another reason to pick it up.
We've also only scratched the surface here using LTE and MQTT are the easiest IoT examples that we could get going with Walter but there are definitely more advanced things it can do and of course it's documented. You might want to try out the narrowband frequencies which use even less power and things like CoAP or CoAP I don't know how to pronounce that CoAP I've only ever seen it written which Walter has a library to use as well. Editor can we get a quick shout out to DP Techniques for making this board. Well that about wraps us up here again if you want to follow along with any of the examples we looked at here there's a code and the breakdown of the code in the written guide link below as well as extra information about how to use Walter and get all the demos that we looked at going on your own Walter.
I nearly said it there. If you do make something cool with Walter or you need a hand with anything from the video feel free to head on over to our community forums and post about it there. Until next time though happy making.

Makers love reviews as much as you do, please follow this link to review the products you have purchased.