Learn To Translate IR Codes And Retransmit Using Arduino

[Dave Jones] from EEVBlog.com takes “Arduino fan boys” off the garden path getting down and dirty with different methods to capture, evaluate and retransmit IR remote control codes. Capturing and reproducing IR remote control codes is nothing new, however, [Dave] carves his own roads and steers us around some “traps for young players” along the way.

[Dave] needed a countdown timer that could remotely start and stop recording on his Cannon video camera, which he did with simplicity in a previous EEVBlog post using a commercial learning remote control unit. The fans demanded better so he delivered with this excellent tutorial capturing IR codes on his oscilloscope from an IR decoder (yellow trace) as well as using an IR photo transistor (blue trace) which showed the code inclusive of 38 KHz carrier frequency. Either capture method could easily be used to examine the transmitted code. The second lesson learned from the captured waveforms was the type of code modulation being used. [Dave’s] remote transmitted NEC (Japanese) pulse length encoding — which can be assertaind by referencing the Infrared Remote Control Techniques (PDF). Knowing the encoding methodology it was trivial to manually translate the bits for later use in an Arduino transmitter sketch. We find it amazing how simple [Dave] makes the process seem, even choosing to write his own sketch to reproduce and transmit the IR codes and carrier instead of taking the easy road looking for existing libraries.

A real gem of knowledge in the video was when it didn’t work! We get to follow along as [Dave] stumbles before using a Saleae Logic analyzer to see that his transmitter was off frequency even though the math in his sketch seemed correct. Realizing the digital write routine was causing a slowdown he fudged his math to make the needed frequency correction. Sure, he could have removed the performance glitch by writing some custom port control but logic dictates using the fastest and simplest solution when hacking a one-off solution.

[Dave’s] video and links to source code after the break.

Continue reading “Learn To Translate IR Codes And Retransmit Using Arduino”

How Much Can You Cram Into A Wristwatch

Creating wearable electronics that are functional and not overly bulky is very, very hard. [Zak], though, makes it look easy. He started his DIY digital wrist watch to see how much he could cram into a watch-sized device. The finished product is really incredible, and one of the most amazing DIY watches we’ve ever seen.

The electronics for the watch include an ATMega328p, a DS3231M Real Time Clock, a Microchip battery charger, and a few resistors and caps. The display is an OLED, 1.3″ wide and only 1.5 mm thick, contributing to the crazy 10mm overall thickness of the watch.

The software is where this watch really shines. Along with the standard time and date functions, [Zak] included everything and more a wrist watch should have. There is an interface to set up to ten alarms on different days of the week, a Breakout and ‘Car Dodge’ game, a flashlight with integrated ‘rave’ mode, and a stopwatch. On top of this, [Zak] included some great animations very similar to the CRT-like animations found in Android.

It’s a fabulous piece of kit, and if any project were deserving of being made into an actual product, this is it.

You can check out [Zak]’s demo of all the functions of his watch below.

Continue reading “How Much Can You Cram Into A Wristwatch”

UTF-8 – “The Most Elegant Hack”

While it may not look like much, the image above is a piece of the original email where [Ken Thompson] described what would become the implementation of UTF-8. At the dawn of the computer age in America, when we were still using teletype machines, encoding the English language was all we worried about. Programmers standardized on the ASCII character set, but there was no room for all of the characters used in other languages. To enable real-time worldwide communication, we needed something better. There were many proposals, but the one submitted by [Ken Thompson] and [Rob ‘Commander’ Pike] was the one accepted, quite possibly because of what a beautiful hack it is.

[Tom Scott] did an excellent job of describing the UTF-8. Why he chose to explain it in the middle of a busy cafe is beyond us, but his enthusiasm was definitely up to the task. In the video (which is embedded after the break) he quickly shows the simplicity and genius of ASCII. He then explains the challenge of supporting so many character sets, and why UTF-8 made so much sense.

We considered making this a Retrotechtacular, but the consensus is that understanding how UTF-8 came about is useful for modern hackers and coders. If you’re interested in learning more, there are tons of links in this Reddit post, including a link to the original email.

Continue reading “UTF-8 – “The Most Elegant Hack””

An Improvised ATtiny2313 Logic Analyzer

2313logic

After banging his head against a wall trying to get a PS/2 interface to work, [Joonas] decided he needed a dedicated logic analyzer. He didn’t need anything fancy; writing bits to a serial port would do. He came up with a very, very simple ATtiny2313-based logic analyzer that can capture at 50+ kHz, more than enough for a PS/2 port.

The hardware for [Joonas’] build is a simple ATtiny2313 breadboard adapter, an FTDI Friend, and not much else. The 2313 has eight input ports on one side of the chip, making attaching the right logic line to the right port a cinch.

The highs and lows on each logic line are sent to a computer over the FTDI chip, converted into OLS format, and piped into Open Sniffer to make some fancy graphs.

[Joonas] was able to capture PS/2 signals with his logic sniffer, so we’ll call this project a success. However, there were a few problems that made this project a little more trouble than it was worth: there is no easy way to turn a serial dump into a binary file, Putty didn’t allow suppressing output to the terminal, and Mac serial ports twinkling above 115.2 kbps don’t work natively. Still, the project did its job, and we couldn’t ask for anything more.

[via Dangerous Prototypes]

Hacking A Flatbed Scanner To Scan Very Large Documents

lds

When you need to scan really large documents, camera setups can get pretty expensive. There are professionals that do it, but they are fairly pricey too. What if you need to do it on the cheap? A flatbed scanner would be perfect, but the lip on the edge of most flatbed scanners keeps the document from touching the platen properly. [Matthew] decided to hack his Canon LiDE 90 scanner to use it in a face-down format. By removing the top of the case, and making a couple extra tweaks, the scanner can now lay flat and simply be moved in a grid.

Once you have the images, you’ll need a way to stitch them together. [Matthew] points to this tutorial, but he awesomely decided to write a little Python script to make it all happen automatically. We imagine that script might be useful for more than just this project.

We’ve seen some other scanners recently, but this one is probably the easiest for the majority of hobbyists to achieve with parts on hand.

Wi-Fi Enabled Garage Door Opener

Normally, internet-controlled household devices are a cobbled together mashup of parts. This is great for a prototype, but if you’re looking for something that will last a decade in your garage, you’ll need something a little cleaner and more robust. [Phil]’s Internet-enabled garage door opener is just that, replete with a custom-made enclosure for his Arduino powered system.

The main hardware for [Phil]’s build is a Freetronix EtherTen, an Arduino clone with a built-in Ethernet interface. Aside from that, the electronics are simple: a relay, transistor, and diode provide the connection from the EtherTen to the garage door opener.

The software for this setup consists of a main file that sets up the web page, the serial monitor, and loops through the main program. There are a bunch of classes for initializing the web page, writing passwords to the EEPROM, activating the door, and setting the MAC and IP addresses.

Opening the door with this remote is a snap: with any WiFi enabled smartphone or tablet, [Phil] only needs to log onto his network, surf on over to the page hosted on the Arduino, and enter a password. From there, opening the door is just a press of a button. Passwords and other configuration settings cane be entered with MegunoLink. This software also includes a serial monitor to log who opened the door and when.

It’s an interesting and compact system, and handy to boot. You might sometimes forget your garage door opener, but we’re thinking if you ever find yourself without your phone, a closed garage door is the least of your problems.

Turn A Decommissioned Robot Into A CNC Machine

adeptRobot

Some of us may have been accused of living in Mom’s basement – [Benjamin] kicks it up a notch by keeping an industrial robot in his parent’s attic shed loft.
[Benjamin] was tasked with stripping down some retired equipment at work. It turns out the “retired equipment” was three Cartesian robots from Adept Robotics. These are large industrial XYZ platforms capable of high speed movements (3000 IPM rapids!).

Getting from a decommissioned machine to a working CNC is never a simple path. In this case [Ben] was able to make the transition relatively easily. Each axis of the robot has a 400 Watt Yaskawa servo with a 65k encoder and brake. The original Adept servo amps and control system was still working, so he kept it. The controllers were new enough that they communicate over a daisy chained IEEE1394 (Firewire) link. That is relatively modern compared to some of the conversions we’ve seen in the past.  The final piece of the puzzle was G-code creation Translating common G-code to a format his machine could recognize. Ben chose MeshCAM for the task.

One problem [Ben] ran into was stuttering on the X-axis. The original machines only had a single sided drive system on the X-axis. Single side is fine for an assembly machine that doesn’t see any tool load. However for a CNC machine that will see spindle loads, a single side drive creates a twisting force which threatens to rack the entire frame. He used one of the drive systems from his spare robot to convert his main machine to a double-sided drive, eliminating the issue.

Continue reading “Turn A Decommissioned Robot Into A CNC Machine”