[CNLohr], ESP8266, USB…

“Round up the usual suspects…”

[CNLohr] just can’t get enough of the ESP8266 these days — now he’s working on getting a version of V-USB software low-speed USB device emulation working on the thing. (GitHub link here, video also embedded below.) That’s not likely to be an afternoon project, and we should warn you that it’s still a project in progress, but he’s made some in-progress material available, and if you’re interested either in USB or the way the mind of [CNLohr] works, it’s worth a watch.

In this video, he leans heavily on the logic analyzer. He’s not a USB expert, and couldn’t find the right resources online to implement a USB driver, so he taught himself by looking at the signals coming across as he wiggled a mouse on his desk. Using the ever-popular Wireshark helped him out a lot with this task as well. Then it was time to dig into Xtensa assembly language, because timing was critical.

Speaking of timing, one of the first things that he did was write some profiling routines so that he could figure out how long everything was taking. And did we mention that [CNLohr] didn’t know Xtensa assembly? So he wrote routines in C, compiled them using the Xtensa GCC compiler, and backed out the assembly. The end result is a mix of the two: assembly when speed counts, and C when it’s more comfortable.

Continue reading “[CNLohr], ESP8266, USB…”

Hackaday Prize Entry: Solar WiFi Rover Roves At Night

[TK] has a stretch goal for his RC car project — enabling it to recharge on solar power during the day and roam around under remote Internet control at night. It’s like a miniature, backyard version of NASA’s Curiosity rover.

Right now, he’s gotten a Raspberry Pi Zero and a camera on board, and has them controlling the robot over WiFi. He looks like he’s having a great time piloting it around his house. Check out the video down below for (crashy) remote-controlled operation.

We can’t wait to see if solar power is remotely possible (tee-hee!) as an option for this vehicle. The eventual plan to connect it via 3G cellular modem is still off in the future, and will probably demand more of the smarts of the Raspberry Pi than at present. But we love the idea of a long-running autonomous vehicle, so we’re pulling for you, [TK]!

Continue reading “Hackaday Prize Entry: Solar WiFi Rover Roves At Night”

Editor Wars: The Revenge Of Vim

Rarely on these pages have I read such a fluff piece! Al Williams’ coverage of Emacs versus Vim was an affront to the type of in-depth coverage our Hackaday readers deserve. While attempting to be “impartial” he gave a seven-sentence summary of Vim, the Ultimate Editor. Seven sentences! Steam is pouring out of my ears like Yosemite Sam.

yosemite+samAl, like a lot of you out there, thinks that he “knows how to use vi”. I’m here to tell you that he doesn’t. And unless you’ve spent the last few years alone in a cave high in the Himalayas, with only food, drink, a laptop, and Vim Golf, you probably don’t either. Heck, I don’t consider myself a Vim master, but I’m going to write this overwrought essay praising it (using Vim, naturally).

The reason I’m writing this is not to perpetuate the vi-versus-Emacs war. That idea is silly anyway, and was probably invented by Emacs folks to steal some of vi’s limelight. You see, vi-versus-Emacs is a red herring. Vi and Vim are so strange, so different from any other editor you might use, that it makes Emacs look simply boring in comparison: it’s just a normal editor with decent extensibility (if you can stand Lisp), horrible key combinations that may or may not cause carpal tunnel syndrome, and code bloat that rivals Microsoft Word. If you’re comfortable using Pico or Nano or Joe or Notepad++ or Gedit or Kate, or anything else for that matter, you can be comfortable using Emacs in a month or so. It’s really just another editor. Yawn.

Vi is something else. It’s a programming language for editing text that’s disguised as an editor. If you try to use it like a normal text editor, you will suffer. If you approach your text editing chores like factoring code into functions, you’re starting to understand Vi.

Continue reading “Editor Wars: The Revenge Of Vim”

DNS Tunneling: Getting The Data Out Over Other Peoples’ WiFi

[KC Budd] wanted to make a car-tracking GPS unit, and he wanted it to be able to phone home. Adding in a GSM phone with a data plan would be too easy (and more expensive), so he opted for the hacker’s way: tunneling the data over DNS queries every time the device found an open WiFi hotspot. The result is a device that sends very little data, and sends it sporadically, but gets the messages out.

This system isn’t going to be reliable — you’re at the mercy of the open WiFi spots that are in the area. This certainly falls into an ethical grey zone, but there’s very little harm done. He’s sending a 16-byte payload, plus the DNS call overhead. It’s not like he’s downloading animated GIFs of cats playing keyboards or something. We’d be stoked to provide this service to even hundreds of devices per hour, for instance.

If you’re new here, the idea of tunneling data over DNS requests is as old as the hills, or older, and we’ve even covered this hack before in different clothes. But what [KC] adds to the mix is a one-stop code shop on his GitHub and a GPS application.

Why don’t we see this being applied more in your projects? Or are you all tunneling data over DNS and just won’t admit it in public? You can post anonymously in the comments!

Vegapin: A Beautiful Virtual Pinball Machine

One click on the wrong YouTube link, and one sleepless night after being introduced to virtual pinball, and [Sascha Rossier], aka Swiss hip-hop rapper [Der Lügner], was at work on his own design. You can watch the plans, and the build progress on [Sascha]’s project diary (in German, translated here). The awesome case, huge monitor serving as the playfield, bump and tilt sensors make this a droolworthy device.

We also learned how to say “greebles” in Swiss-German: “greebles“. And there are greebles galore in this build. [Sascha]’s 3D printer was working overtime churning out not only fan ducts for the computer that lives inside the case, but also dia-de-los-muertos themed foot brackets and all sorts of loudspeaker covers and dinosaur accoutrements. This is clearly a labor of love. (And [Sascha] wrote us back about the date in the name: it’s when he and his girlfriend met 20 years ago, playing pinball nonetheless!)

Head off to [Sascha]’s website and check it out. All of the details are there, from the mechanical design to the part selection. This is probably the most elaborate virtual pinball build we’ve seen, but it’s not the only one. Heck, we’ve even seen a virtual machine built into a real pinball machine’s case. But never before have we seen one with so darn many greebles.

Photodiode Amplifier Circuit Spies On Your Phone

In order to help his friend prepare for a talk at DEFCON this weekend, [Craig] built an IR photodiode amplifier circuit. The circuit extended the detection range of the hack from a few inches to a few feet. We’re suckers for some well-designed analog circuitry, and if you are too, be sure to check out the video embedded below.

Continue reading “Photodiode Amplifier Circuit Spies On Your Phone”

Simplest Jumping Kangaroo Bot

One of the takeaway ideas that we got from BEAM robotics was the idea that the machine itself, rather than tons of processing power, can do a lot. Your hand affords gripping, and humans have made a pretty good living out of manipulating things (he says, typing). None of this is about the brain; it’s all about the mechanism.

Which brings us to the one-motor “Runner” robot. We’ll admit that we were a little bit disappointed to see that it doesn’t run so much as hop, flop, or scoot along on the two legs and that front wheel-nose. Still, it’s an awesome mechanism, and gets the locomotion job done in a very theatrical way. We’re left wondering if using two motors would allow it to steer or just flip over and flail around on its back. Going to a six “leg” design will definitely get the job done, as demonstrated by Boston Dynamics RHex robot.
Continue reading “Simplest Jumping Kangaroo Bot”