For most people, adding WiFi to a project means grabbing something like an ESP8266 or an ESP32. But if you are developing your own design on an FPGA, that means adding another package. If you are targeting Linux, the OpenWifi project has a good start at providing WiFi in Verilog. There are examples for many development boards and advice for porting to your own target on GitHub. You can also see one of the developers, [Xianjun Jiao], demonstrate the whole thing in the video below.
The demo uses a Xilinx Zynq, so the Linux backend runs on the Arm processor that is on the same chip as the FPGA doing the software-defined radio. We’ll warn you that this project is not for the faint of heart. If you want to understand the code, you’ll have to dig into a lot of WiFi trivia.
Continue reading “WiFi Goes Open”
They say you should never cheap out on anything that comes between you and the ground, like tires, shoes, and mattresses. We would take that a little further into the 21st century and extend it to anything between you and work. In our case, ‘buy nice or buy twice’ includes keyboards and mice.
[Marcus Young] is a fan of ortholinear ergonomic comfort, but not of cables. He gave [adereth]’s dactyl keyboard some wings by using a Bluetooth micro, and the Pterodactyl was born. Of course, the two halves still use a TRRS cable to communicate, and wires are required to charge batteries, but it’s the principle of the thing.
That’s not all [Marcus] did to make the dactyl his own — it also has a modified full-fat base that gives him all the room in the world to wire up the keyswitch matrix compared to the original streamlined design.
Instead of the usual Teensy, Pro Micro, or Proton-C, the pterodactyl has a Feather 32u4 in its belly. [Marcus] is clacking on Holy Panda switches which we’ve been meaning to try, and individual PCBs for each switch, which seems like it might negate gluing the switches in place so they survive through keycap changes. Check out [Marcus]’ write-up to see what he learned during this build.
This isn’t the first modified dactyl we’ve seen flying around here, and it won’t be the last. Here’s one with a dual personality — both halves can work together or alone.
Antenna design can be confusing, to say the least. There’s so much black magic that goes into antennas that newbies often look at designs and are left wondering exactly how the thing could ever work. Slight changes in length or the angle between two elements result in a vastly different resonant frequency or a significant change in the antenna’s impedance. It can drive one to distraction.
Particularly concerning are the frequent appearances of what seem to be dead shorts between the two conductors of a feedline, which [andrew mcneil] explored with a pair of WiFi Yagi antennas. These highly directional antennas have a driven element and a number of parasitic elements, specifically a reflector behind the driven element and one or more directors in front of it. Constructive and destructive interference based on the spacing of the elements and capacitive or inductive coupling based on their length determine the characteristics of the antenna. [Andrew]’s test antennas have their twelve directors either isolated from the boom or shorted together to the shield of the feedline. In side-by-side tests with a known signal source, both antennas performed exactly the same, meaning that if you choose to build a Yagi, you’ve got a lot of flexibility in what materials you choose and how you attach elements to the boom.
If you want to dive a little deeper into how the Yagi works, and to learn why it’s more properly known as the Yagi-Uda antenna, check out our story on their history and operational theory. And hats off to [andrew] for reminding us that antenna design is often an exercise in practicality; after all, an umbrella and some tin cans or even a rusty nail will do under the right circumstances.
Continue reading “Lowering The Boom On Yagi Element Isolation”
We know a lot of you are sitting on an unused Raspberry Pi Zero W, maybe even several of them. The things are just too small and cheap not to buy in bulk when the opportunity presents itself. Unfortunately, the Zero isn’t exactly a powerhouse, and it can sometimes be tricky to find an application that really fits the hardware.
Which is why this tip from [Tejas Lotlikar] is worth taking a look at. Using the Pi Zero W, a cheap USB WiFi adapter, and some software trickery, you can put together a cheap extender for your wireless network. The Pi should even have a few cycles left over to run ad-blocking software like Pi-hole while it shuffles your packets around the tubes.
[Tejas] explains every step of the process, from putting the Raspbian image onto an SD card to convincing
wpa_supplicant to put the Pi’s WiFi radio into Access Point mode. Incidentally, this means that you don’t need to be very selective about the make and model of the USB wireless adapter. Something with an external antenna is preferable since it will be able to pull in the weak source signal, but you don’t have to worry about it supporting Soft AP.
With the software configured, all you need to finish this project off is an enclosure. A custom 3D printed case large enough to hold both the Pi and the external WiFi adapter would be a nice touch.
Sometimes connectivity problems go away by power cycling a router. It’s a simple but inconvenient solution to a problem that shouldn’t exist, but that didn’t stop [Mike Diamond] from automating it for a few bucks in parts. The three-dollar router rebooter may be a simple device with only one job, but it’s well documented and worth a look.
The device is an ESP8266 board configured to try to reach Google periodically via the local wireless network. If Google cannot be reached, the board assumes a reboot is needed and disconnects the 12 V power supply from the router by using a relay. Then, after a delay, power is re-connected and all of one’s problems are over until the next time it happens. [Mike] used a relay module that has built-in screw terminals and a socket for the ESP8266-01, so it looks like the whole device can be put together without soldering a thing.
While the code for making this happen may sound trivial, [Mike] nevertheless delves into documenting it. It makes a great example of how to implement a simple event-driven finite state machine in a way that’s clear and concise. By structuring the code so that there is a finite number of specific states the device can be in (router power on, router power off, and testing connection) and by defining exactly how and when the device switches between those states, operation and troubleshooting becomes a much more manageable job. Another great example is this IoT Garage Door Opener project. If you’re programming devices that interface to physical things, these techniques are definitely good practice.
High Altitude Balloons (HAB) are a great way to get all kinds of data and shoot great photos and video, but what goes up must come down. Once the equipment has landed, one must track it down. GPS and LoRA, with its long wireless range and ease of use, are invaluable tools in tracking payloads that have returned to Earth. [Dave Akerman] has made handheld receivers to guide him to payloads, but wanted something even smaller; ideally something that could be worn on the wrist.
One day he came across the affordable LilyGo T-Watch which includes GPS and LoRA functionality, and he started getting ideas. The watch has the features, but the stock firmware didn’t measure up. Not to be deterred, [Dave] wrote new firmware to turn the device into a wrist-worn GPS and LoRA chase watch.
Not only is the new firmware functional, but it’s got a wonderful user interface. GitHub repository for the new firmware is here, and you can see the UI in action in the brief video embedded below.
Continue reading “Custom Firmware Makes A LoRA-Enabled HAB Tracker Watch”
Isolated as we are by national lockdowns and statewide stay-at-home orders, many coworkers are more connected than ever before through oddly-named productivity/chat programs such as Slack. But those notifications flying in from the sidebar all the time are are oh-so-annoying and anti-productive. Ignoring requests for your attention will only make them multiply. So how do you make the notifications bearable?
[Mr. Tom] wrote in to tell us about his solution, which involves a maneki-neko — one of those good luck cats that wave slowly and constantly thanks to a solar-powered electromagnetic pendulum. Now whenever [Mr. Tom] has an incoming message, the cat starts waving gently over on the corner of his desk. It’s enough movement to be noticeable, but not annoying.
An ESP32 inside the kitty looks at incoming messages and watches for [Mr. Tom]’s user ID, prioritizing messages where he has been mentioned directly. This kitty is smart, too. As soon as the message is dealt with, the data pin goes low again, and the cat can take a nap for a while.
The natural state of the maneki-neko is pretty interesting, as we saw in this teardown a few years back.