We like [Tim’s] drive for improvement. He wrote a WS2812 driver library that works with AVR and ARM Cortex-M0 microcontrollers, but he wasn’t satisfied with how much of the controller’s resources the library used to simply output the required timing signal for these LED modules. When he set out to build version 2.0, he dug much deeper than just optimizing his own code.
We remember [Tim] from his project reverse engineering a candle flicker LED. This time, he’s done more reverse engineering by comparing the actual timing performance of the WS2812(B) module with its published specs. He learned that although several timing aspects require precision, others can be fudged a little bit. To figure out which ones, [Tim] used an ATtiny85 as a signal-generator and monitored performance results with a Saleae logic analyzer. Of course, to even talk about these advances you need to know something about the timing scheme, so [Tim] provides a quick run-through of the protocol as part of his write-up.
Click the top link to read his findings and how he used them to write the new library, which is stored in his GitHub repository.
[Kyle] teaches photography and after being dismayed at the shuttering of film and darkroom programs at schools the world over decided to create a resource for film photography. There’s a lot of cool stuff on here like mixing up a batch of Rodinal developer with Tylenol, lye, and sodium sulphite, and assessing flea market film cameras. There are more tutorials coming that will include setting up a dark room, developing prints, and playing around with large format cameras.
[hifatpeople] built a binary calculator out of LEGO® bricks or toys. It started off as a series of logic gates built out of LEGO® bricks or toys in the LEGO® Digital Designer. These logic gates were combined into half adders, the half adders combined into full adders, and the full adders combined into a huge plastic calculator. Unfortunately, buying the LEGO® bricks or toys necessary to turn this digital design into a physical model would cost about $1000 using the LEGO® Pick-A-Brick service. Does anyone have a ton of LEGO® Technic® bricks or toys sitting around? We’d love to see this built.
Think you need a PID controller and fancy electronics to do reflow soldering in a toaster oven? Not so, it seems. [Sivan] is just using a meter with a thermocouple, a kitchen timer, and a little bit of patience to reflow solder very easily.
The folks at DreamSourceLabs realized a lot of electronic test equipment – from oscilloscopes and logic analyzers to protocol and RF analyzers were all included a sampling circuit. They designed the DSLogic that puts a sampler and USB plug on one board, with a whole bunch of different tools connected to a pin header. It’s a pretty cool idea for a modular approach to test equipment.
Adafruit just released an iDevice game. It’s a resistor color code game and much more educational than Candy Crush. With a $0.99 coupon for the Adafruit store, it’s effectively free if you’re buying anything at Adafruit anytime soon. Check out the video and the awesome adorable component “muppets”.
[Andrew] recently scored an awesome HP 1670A Deep Memory Logic Analyzer, lucky dog. Even though this machine was built in 1992, it was a top of the line device back in the day and had a few very interesting features. This logic analyzer also had a few networking ports implementing FTP, NFS, TCP/IP, and the X11 protocols over a 10Base2 (“thinlan”) and 10BaseT (“ethertwist” seriously, that’s what’s in the manual) connections. The X11 protocol interested [Andrew] so he set this logic analyzer up so he could use it via his Linux box.
[Andrew]’s new toy didn’t support DHCP, so after inputting the IP address manually, he checked the host file – still the same after twenty years – and connected with his Linux Mint box. The result is a remote control panel for the ‘ol girl in a garish color scheme that violates all modern sensibilities.
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]
We’re pretty spoiled these days in that hobby electronics has made a lot of cool tools available on a budget. It’s hard to think of a better example than a logic analyzer, which you can get for a day or two of pay. Consumer-level devices just didn’t exist until a few years ago. [Jouko S] has this HP16500B industrial grade logic analyzer in his shop. It’s from the early 1990’s and it’s got a ton of features. Grabbing a still functional yet super-old model used to be the only way for hobbyists. But one thing you won’t find on it is the ability to connect it to your USB port to get screen captures. Younger readers might not recognize the slot at the top for magnetic media called a floppy disk which is the in-built way of recording your sessions. He set out to find an easier way to get color screen captures and ended up adding RS-232 control to the old hardware.
There is a 25-pin port on the back of the old hulk. But it is a female connector and he didn’t have the adapters on hand to make it work with his serial-to-USB converter. During development he used a breadboard and solder-tail connector to patch into the necessary signals. This was all hooked up to a Raspberry Pi which he planned to dedicate to the system. It worked, and he was able to use an interactive terminal for the rest of his sleuthing. With much trial and error he figured out the commands, and wrote some Python code for the Pi side of the equation. He can now pull color screenshots with ease thanks to the utilities available in the Python Imaging Module.
[Reza’s] methodical investigation of this remote controlled outlet let him patch in with an Arduino using a 433 MHz transmitter. This is a single-device unit, but the techniques used here should allow you to take control of wireless rigs that have multiple modules to control many devices.
We’ve seen some folks at our local hackerspace try to patch into the remote control itself. That used some type of weird button scanning (not just connecting a pin to ground or voltage) and didn’t pan out. [Reza] doesn’t even crack open the case of either of the units seen above. Instead, he goes straight for a wireless receiver he had on hand, using a logic analyzer to capture the signals coming from the remote.
Once he had a good snapshot of the signals sent when pressing the on or off button of the remote he set out to replicate it in his Arduino code. His function called setStateWithDelay takes three parameters: the transmit pin, the level (high or low), and a number of milliseconds to delay. Each signal calls this function many times, but working the bugs out is pretty easy; just capture the signal with the logic sniffer and compare to the stock remote.
If you have a Stellaris Launchpad sitting around, have a go at using it as a logic analyzer
The Stellaris logic analyzer is based upon this earlier build that took code from a SUMP comparable Arduino logic analyzer and ported it to the much faster and more capable Stellaris Launchpad with an ARM Cortex 4F processor.
This build turns the Launchpad into a 10 MHz, 8-channel logic analyzer with a 16 kB buffer comparable with just about every piece of software thanks to the SUMP protocol. Even though the ARM chip in the Launchpad isn’t 5 Volt tolerant, only pins 0 and 1 on Port B are limited to 3.6 Volts. All the other pins on Port B are 5 Volt tolerant.
Not a bad piece of work to turn a Launchpad that has been sitting on your workbench into a useful tool.