Reverse Engineering And Networking The A/C Remote Control

IoT has become such an polarizing, overused term. But here it is in its essence: [zeroflow] had a thing (his airconditioner) and he needed to put it on the Internet.

For his contribution to this modern vernacular atrocity, he first had to build an IR debugging tool and reverse engineer the signals coming from the air conditioner’s remote. He wrote up a really good summary of the process, and worth reading. He loads up an IR library onto an Arduino and dumps the resulting 32 bits of information to his computer. In a process much like filling in the blanks on a word puzzle, he eventually determines which blocks of the data correspond to the remote’s different buttons.

Next he throws an array of IR LEDS and an ESP8266 onto a bit of protoboard. After writing some code, available on GitHub, he could set the temperature of his room from anywhere on the planet. We take it on faith that [zeroflow] has a compelling reason for doing so.

Bolstered by this success, he didn’t stop there. [Zeroflow] admits to having more than one thing on the Internet. Boom! Internet of things.

Run A RepRap On An ESP8266

What can’t the little $5 WiFi module do? Now that [lhartmann] has got an ESP8266 controlling the motors of a 3D printer, that’s one more item to check off the list.

What’s coolest about this project is the way that [lhartmann] does it. The tiny ESP8266 has nowhere near the required number of GPIO pins, the primary SPI is connected to the onboard flash memory, and the secondary SPI is poorly documented and almost nobody uses it. So, [lhartmann] chose to use the I2S outputs.

I2S is most often an audio protocol, so this might at first seem like a strange choice. Although I2S sounds like I2C, it’s really essentially an SPI protocol with a fourth wire that alternates to designate the right or left channel. It’s actually just perfect for sending 16×2 bits of data at high data rates.

[lhartmann] takes these 32 bits and feeds them into four shift registers, producing 32 outputs from just the four I2S data lines. That’s more than enough signals to run the stepper motors. And since it updates at 192 kHz sample rate, it’s plenty fast enough to drive them.

The other side benefit of this technique is that it can work on single-board computers with just a little bit of software. Programming very complicated stepper movements then becomes just a matter of generating the right “audio” file and playing it out. [lhartmann] demonstrated this earlier with an Orange Pi. That’s pretty cool, too.

The code for turning the ESP8266 and a short handful of 74HC595s into a 3D printer controller are up on GitHub, so go check it out.

Thanks [CNLohr] for the tip!

Software USB On The ESP8266

A while back, [cnlohr] needed a USB keyboard and mouse. His box ‘o junk didn’t hold this particular treasure, and instead of hopping on Amazon like a normal geek or venturing into the outside realm on a mid-level ‘store’ quest like a normal person, [cnlohr] decided to turn an ESP8266 into a USB keyboard and mouse. How hard could it be? The ESP doesn’t support USB, but bitbanging hasn’t stopped him before. The end result is a USB stack running on the ESP8266 WiFI module.

[cnlohr] has been working for about a month on this USB implementation for the ESP, beginning with a logic analyzer, Wireshark, Xtensa assembly, and a lot of iteration. The end result of this hardware hacking is a board based on the ESP8285 – an 8286 with integrated Flash – that fits snugly inside a USB socket.

This tiny board emulates low-speed USB (1.5 Mbps), and isn’t really fast enough for storage, serial, or any of the fancier things USB does, but it is good enough for a keyboard and mouse. Right now, [cnlohr]’s ESP USB device is hosting a webpage, and by loading this webpage on his phone, he has a virtual keyboard and mouse on a handheld touchscreen.

If you’re keeping track, [cnlohr] has now brought Ethernet and USB to a tiny microcontroller that can be bought for a few bucks through the usual online outlets. If you’d like to build your own ESP USB stick, all the files are over on the Gits.

Thanks [lageos] for the tip.

Continue reading “Software USB On The ESP8266”

Hackaday Links: August 28, 2016

E-paper looks awesome, but it’s a pain to work with. You need only look at the homebrew implementations of e-paper drivers and the mess of SMD components for proof of that. [jarek] wanted to play around with e-paper and developed this tiny little driver for a Teensy. It’s a fun toy, and the simplest possible circuit necessary to drive this particular e-paper module.

I am once again asking if anyone knows where to buy this computer case. No, not a complete system – I just want the case, folding keyboard, and monitor integrated into an mATX enclosure.

Back in 1985, a young [Matthias Wandel] built a remote control forklift out of a few windshield wiper motors, wood, and not much else. He’s rebuilt this toy recently, just to prove you can build anything with a stack of plywood and a wood gear template generator.

More Adafruit muppets they probably can’t call muppets. Yaaay. This time it’s J is for Joule. Watts that? A second.

The Raspberry Pi Project, one of our favorite projects in the Hackaday Prize that uses a Raspberry Pi, one of the most liked, viewed, and followed projects on Hackaday.io, and a technological tour de force the likes of which have not been seen since the invention of the steam engine got an update this week. [Arsenijs] and the rest of the Raspberry Pi Project team have released a version of their Raspberry Pi pinout helper. Previously, this tool was only used internally to the project, but since this pinout helper has such far-reaching utility they’ve decided to release a public version. Truly, they are kings among men.

This is possibly the coolest use of stacked plywood I’ve ever seen. It’s a spiral staircase, with each step made of 12 layers of plywood. The ‘spine’ of this staircase is a 3″ sch 40 steel pipe, with a proper foundation. The layer of ply are adhered to the pipe with construction adhesive, and each layer of ply is glued together with wood glue. No, it’s not up to code yet, but it was cheaper to build than just buying a spiral staircase.

[Brek] wrote a graphics library for the ubiquitous 128×64 monochromatic LCDs. It’s written for PICs, but damned if we can’t find a link to the library itself. Hopefully [Brek] will jump in the comments below.

Those really, really cheap ESP8266 modules only have 512kB of Flash in them. Here’s how you upgrade those modules to 4MB. You can do it without a hot air gun, and all you need is a few cheap Flash chips.

Here’s a sound card for a Raspberry Pi. No, that’s not a completely dumb idea. This sound card uses quality op-amps, 24-bit ADCs and DACs, and has MIDI. If you’re experimenting with Pure Data or any other Linux audio toy, this could be a useful addition to your Pi stack.

Dirt Cheap VR Gun With Tracking For $15 Of Added Hardware

Virtual reality doesn’t feel very real if your head is the only thing receiving the virtual treatment. For truly immersive experiences you must be able to use your body, and even interact with virtual props, in an intuitive way. For instance, in a first-person shooter you want to be able to hold the gun and use it just as you would in real reality. That’s exactly what [matthewhallberg] managed to do for just a few bucks.

This project is an attempt to develop a VR shooting demo and the associated hardware on a budget, complete with tracking so that the gun can be aimed independent of the user’s view. [matthewhallberg] calls it The Oculus Cardboard Project, named for the combined approach of using a Google Cardboard headset for the VR part, and camera-based object tracking for the gun portion. The game was made in Unity 3D with the Vuforia augmented reality plugin. Not counting a smartphone and Google Cardboard headset, the added parts clocked in at only about $15.

ESP8266 on FiducialUsing corrugated cardboard and a printout, [matthewhallberg] created a handheld paddle-like device with buttons that acts as both controller and large fiducial marker for the smartphone camera. Inside the handle is a battery and an ESP8266 microcontroller. The buttons on the paddle allow for “walk forward” as well as “shoot” triggers. The paddle represents the gun, and when you move it around, the smartphone’s camera tracks the orientation so it’s possible to move and point the gun independent of your point of view. You can see it in action in the video below.

Tracking a handheld paddle with a fiducial marker isn’t a brand new idea; We were able to find this project for example which also very cleverly simulates a trigger input by making a trigger physically alter the paddle shape when you squeeze it. The fiducial is altered by the squeeze, and the camera sees the change and registers it as an input. However, [matthewhallberg]’s approach of using hardware buttons does allow for a wider variety of reliable inputs (move and shoot instead of just move, for example). If you’re interesting in trying it out, the project page has all the required details and source code.

This isn’t [matthewhallberg]’s first attempt and getting the most out of an economical Google Cardboard setup. He used some of the ideas and parts from his earlier DIY Virtual Reality Snowboard project.

Continue reading “Dirt Cheap VR Gun With Tracking For $15 Of Added Hardware”

MagicShifter 3000: An Over-Engineered POV Stick With A 15-Year Journey

3 hackers, 16 LEDs, 15 years of development, one goal: A persistence of vision display stick that fits into your pocket. That’s the magicShifter 3000. When waved, the little, 10 cm (4 inches) long handheld device draws stable images in midair using the persistence of vision effect. Now, the project has reached another milestone: production.

The design has evolved since it started with a green LED bargraph around 2002. The current version features 16 APA102 (aka DotStar) RGB LEDs, an ESP-12E WiFi module, an NXP accelerometer/magnetometer, the mandatory Silabs USB interface, as well as a LiPo battery and charger with an impressive portion of power management. An Arduino-friendly firmware implements image stabilization as well as a React-based web interface for uploading and drawing images.

After experimenting with Seeedstudio for their previous prototypes, the team manufactured 500 units in Bulgaria. Their project took them on a roundtrip through hardware manufacturing. From ironing out minuscule flaws for a rock-solid design, over building test rigs and writing test procedures, to yield management. All magicShifter enclosures are — traditionally — 3D printed, so [Overflo] and [Martin] are working in shifts to start the 500 prints, which take about 50 minutes each to complete. The printers are still buzzing, but assembled units can be obtained in their shop.

Over all the years, the magicShifter has earned fame and funding as the over-engineered open hardware pocket POV stick. If you’re living in Europe, chances are that you either already saw one of the numerous prototype units or ran into [Phillip Tiefenbacher] aka [wizard23] on a random hacker event to be given a brief demo of the magicShifter. The project always documented the status quo of hardware hacking: Every year, it got a bit smaller, better, and reflected what parts happened to be en vogue.

magicshifter-timeline

The firmware and 3D-printable enclosure are still open source and the schematics for the latest design can be found on GitHub. Although, you will search in vain for layout or Gerber files. The risk of manufacturing large batches and then being put out of business by cheap clones put its mark on the project, letting the magicShifter reflect the current, globalized status of hardware hacking once more. Nevertheless, we’re glad the bedrock of POV projects still persists. Check out the catchy explanatory video below.

Continue reading “MagicShifter 3000: An Over-Engineered POV Stick With A 15-Year Journey”

Hackaday Links: August 21, 2016

Are you in New York? What are you doing this week? Hackaday is having a party on Wednesday evening. come on out!

How about a pub in Cambridge? Hackaday and Tindie will be there too, on Wednesday evening. It’s a bring-a-hack, so bring a hack and enjoy the company of your fellow nerds. If this goes late enough we can have a trans-Atlantic Hackaday meetup.

Portable emulation machines are all the rage, and [Pierre] built one based on the Raspberry Pi Zero. It’s small, looks surprisingly comfortable to hold, and is apparently it’s fairly inexpensive to build your own.

For the last year or so, the Raspberry Pi Zero has existed. This came as a surprise to many who couldn’t buy a Raspberry Pi Zero. In other news, Ferraris don’t exist, and neither do Faberge egg omelets. Now, the Raspberry Pi shortage is officially over. They’re in stock everywhere, and we can finally stop listening to people who call the Pi Zero a marketing ploy.

No Starch Press is having another Humble Bundle. Pay what you want, and you get some coding books. They have Python, Haskell, and R, because no one should ever have to use SPSS.

[Reg] wrote in to tell us about something interesting he found while cruising eBay. The used and surplus market is awash in Siemens MC45/MC46 cellular modem modules. They’re a complete GSM ‘cellular modem engine’, with an AT command set, and cost about $10 each. Interfacing them with a board requires only two (strange) connectors, SIM and SD card sockets, and a few traces to through-hole pads. Anyone up for a challenge? A breakout board for this cellular modem could be very useful, should someone find a box full of these modules in a surplus shop.

On this page, about halfway down the page, is an LCD driver board. It turns a video signal into something a small, VGA resolution LCD will understand. This driver board is unique because it is completely hand-made. This is one of those small miracles of a soldering iron and copper clad board. If anyone out there is able to recognize these parts, I’d love for you to attempt an explanation in the comments.

A few weeks ago, the RTL8710 WiFi module showed up on the usual online marketplaces. Initially, we thought it was a competitor to the ever-popular ESP8266, offering a small microcontroller, WiFi, and a bunch of useful output pins. A module based on the RTL8710, the RTL-00, is much more than a competitor. It’s pinout compatible with the ESP8266. This module can be swapped into a project in place of the ESP-12, probably the most popular version of the ESP8266. This is genius, and opens the door to a lot of experimentation with the RTL8710.