WiFi Penetration Testing With An ESP32

WiFi is one of those technologies that most of us would have trouble living without. Unfortunately, there are several vulnerabilities in the underlying 802.11 standards that could potentially be exploited. To demonstrate just how simple this can be, [risinek] developed the ESP32 Wi-Fi Penetration Tool that runs on cheap dev boards and can execute deauthentication and Denial of Service attacks, and capture handshakes and PMKIDs.

The main challenge in this project is to implement these attacks while using the ESP-IDF development framework. The closed source WiFi libraries of the ESP-IDF block specific arbitrary frames like deauthentication frames. To get around this [risinek] used two different approaches. The first is to bypass the declaration of the blocking function at compile-time, which is borrowed from the esp32-deauther project. The second approach doesn’t require any modifications to the ESP-IDF. It works by creating a rogue access point (AP) identical to the targeted access point, which will send a deauthentication frame whenever one of the devices tries to connect to it instead of the real AP.

WPA/WPA2 handshakes are captured by passively listening for devices connecting to the target network, or running a deauth attack and then listening for when devices reconnect. PMKIDs are captured from APs with the roaming feature enabled, by analyzing the first message of a WPA handshake. ESP32 Wi-Fi Penetration Tool will also format the captured data into PCAP and HCCAPX files ready to be used with Wireshark and Hashcat. To manage the tool, it creates a management access point where the target and attack type is selected, and the resulting data can be downloaded. Pair the ESP32 with a battery, and everything can be done on the go. The project is part of [risinek]’s master’s thesis, and the full academic article is an educating read. Continue reading “WiFi Penetration Testing With An ESP32”

Voidstar’s Vitals, Visualized For Video

Great news for fans of [Voidstar Labs] — [Zack] is going to be streaming future builds live on YouTube instead of trying to keep up with a grueling and limiting schedule of releasing a build video every week. The only problem is that the wall behind him is totally blank and boring, which matters quite a bit for pretty much any streamer that doesn’t broadcast from a hot tub. Well, not anymore! Now the wall has twenty square feet of rainbow hexagons, because blinkenlights.

But these aren’t just any blinkenlights. They’re informative. They dance to the beat of [Zack]’s bio-metrics, or in other words, they are visualizing how sweaty and anxious [Zack] may be at a given moment, and turning that information into art.

At the heart of this build is a brand-new bio-metric board called the EmotiBit which boasts sixteen sensors in a small package, including a pulse oximeter. The EmotiBit sends vitals to [Zack]’s PC, which is running an oscilloscope app to interpret the signals. Then they are sent over Open Sound Control to an ESP32, which runs the light show.

Like [Zack] says in the video after the break, this isn’t a terribly difficult project, but the construction takes time. [Zack] used aluminum extrusion meant for under-cabinet lighting and ran forty strips of fourteen DotStar LEDs each. The nodes are printed in carbon-fiber PLA and hold the lights away from the wall so it looks cooler. Worried about the current draw? It’s okay, because the brightness and number of lit LEDs at any one time is limited. Add in the fact that none of the LEDs are ever turned off — they fade by one percent each loop — and you have some really cool animations. Check them out after the break.

Want some localized blinkenlights to wear about town? Wear your heart on your sleeve and show them how hard you’re crushing the elliptical at the gym.

Continue reading “Voidstar’s Vitals, Visualized For Video”

New Part Day: ESP32-WROOM-DA

We’re always interested in the latest from the world’s semiconductor industry here at Hackaday, but you might be forgiven for noticing something a little familiar about today’s offering from Espressif. The ESP32-WROOM-DA has more than a passing resemblance to the ESP32-WROOM dual-core-microcontroller-with-WiFi  module that we’ve seen on so many projects over the last few years because it’s a WROOM, but this one comes with a nifty trick to deliver better WiFi connectivity.

The clever WiFi trick comes in the form of a pair of antennas at 90 degrees to each other. It’s a miniaturised version of the arrangement with which you might be familiar from home routers, allowing the device to select whichever antenna gives the best signal at any one time.

We can see that the larger antenna footprint will require some thought in PCB design, but otherwise the module has the same pinout as the existing WROVER. It’s not much of a stretch to imagine it nestled in the corner of a board at 45 degrees, and we’re sure that we’ll see it appearing in projects directly. Anything that enhances the connectivity of what has become the go-to wireless microcontroller on these pages can only be a good thing.

Automated Watering Machine Has What Plants Crave: Fertilizer

We’ve seen countless automated plant care systems over the years, but for some reason they almost never involve the secret sauce of gardening — fertilizer. But [xythobuz] knows what’s up. When they moved into their new flat by themselves, it was time to spread out and start growing some plants on the balcony. Before long, the garden was big enough to warrant an automated system for watering and fertilizing.

This clever DIY system is based around a 5L gravity-fed water tank with solenoid control and three [jugs] of liquid fertilizer that is added to the water via peristaltic pump. Don’t worry, the water tank has float switches, and [xythobuz] is there to switch it off manually every time so it doesn’t flood the flat.

On the UI side, an Arduino Nano clone is running the show, providing the LCD output and handling the keypad input. The machine itself is controlled with an ESP32 and a pair of four-channel relay boards that control the inlet valve, the four outlet valves, and the three peristaltic pumps that squirt out the fertilizer. The ESP also serves up a web interface that mimics the control panel and adds in the debug logs. These two boards communicate using I²C over DB-9, because that’s probably what [xythobuz] had lying around. Check out the demo video after the break, and then go check on your own plants. They miss you!

Don’t want to buy just any old peristaltic pumps? Maybe you could print your own.

Continue reading “Automated Watering Machine Has What Plants Crave: Fertilizer”

The Keyboard You Really Don’t Need Or Want

Most people think of a keyboard as a flat, vaguely rectangular thing with around 100ish different keys. A mechanical keyboard enthusiast would heartily disagree and point out various tenkeyless, 75%, 60%, or 40% keyboards that strip down the idea of what a keyboard is by taking keys out. [Stavros Korokithakis] takes that notion and turns it on its side by creating the five-button vertical keyboard known as Keyyyyyyyys.

This keyboard, or keystick, is designed to be onehanded and to be eye-contact-free. With just five keys, it makes heavy use of chording to output all the characters needed. It has a maximum of 32 possible states and taking out pressing nothing as a no-op leaves 31 possible key combinations. So [Stavros] had to get creative and laid out the letters according to their frequency in the English language. The brains of Keyyyyyyyys is the ubiquitous ESP32, emulating a Bluetooth keyboard while being wrapped in a simple 3d printed box. The code is hosted on GitLab.

If you don’t know how hard it is to learn a five-key chording keyboard from scratch, definitely check out [Stavros]’ video embedded below. “C’mon h.” We have heard reports that you can learn these things, though.

While this five-button keyboard may seem small, this two-button keyboard still has it beat by three keys. A one-button keyboard is just a morse code keyboard, and we are looking forward to a wireless Bluetooth version. Continue reading “The Keyboard You Really Don’t Need Or Want”

Pool Temperature Monitor Mollifies Fortunate But Frustrated Children

Who needs the city pool when you can party in the private pool over at Grandma and Grandpa’s house? No need to wait until Memorial Day weekend when it hits 90° F in the first week of May. But how can you placate grandchildren who want to know each and every day if it’s finally time to go swimming, and the pool itself is miles away? Although grandparents probably love to hear from you more often there’s no need to bother them with hourly phone calls. You just have to build a floating, remote pool temperature monitor which broadcasts every 30 minutes to an Adafruit MagTag sitting at kid’s eye level on the refrigerator.

Between the cost of commercial pool temperature monitors and all the reviews that mention iffy Wi-Fi connections, it sounds like [Blake] is better off rolling his own solution. Inside the floating part is an ESP32, a DS18B temperature sensor, and a 18650 cell. Most of the body is PVC, except for the 3D-printed torus that holds some foam for buoyancy. A handful of BBs in the bottom keep the thing pointed upright. For now, it shows the water temperature, but [Blake]’s ultimate goal is to show the air temperature as well.

Maybe it’s still too cold to swim, but the sun shines brightly most days. Why not harness its energy to heat up the water?

Looks Like A Pi Zero, Is Actually An ESP32 Development Board

ATMegaZero ESP32- S2, showing optional color-coded 40-pin header (top)

The ATMegaZero ESP32-S2 is currently being funded with a campaign on GroupGets, and it’s a microcontroller board modeled after the Raspberry Pi Zero’s form factor. That means instead of the embedded Linux system most of us know and love, it’s an ESP32-based development board with the same shape and 40-pin GPIO header as the Pi Zero. As a bonus, it has some neat features like a connector for inexpensive SSD1306 and SH1106-based OLED displays.

Being able to use existing accessories can go a long way towards easing a project’s creation, and leveraging that is one of the reasons for sharing the Pi Zero form factor. Ease of use is also one of the goals, so the boards will ship with CircuitPython (derived from MicroPython), and can also be used with the Arduino IDE.

If a microcontroller board using the Pi Zero form factor looks a bit familiar, you might be remembering the original ATMegaZero which was based on the Atmel ATMega32U4, but to get wireless communications one needed to attach a separate ESP8266 module. This newer board keeps the ATMegaZero name and footprint, but now uses the Espressif ESP32-S2 to provide all the necessary functions.

CircuitPython has been a feature in a wide variety of projects and hacks we’ve seen here at Hackaday, and it’s a fine way to make a microcontroller board easy to use right out of the box.