A few weeks ago, I was working on a small project of mine, and I faced a rather large problem. I had to program nearly five hundred badges in a week. I needed a small programming adapter that would allow me to stab a few pads on a badge with six pogo pins, press a button, and move onto the next badge.
While not true for all things in life, sometimes you need to trade quality for expediency. This is how I built a terrible but completely functional USB to serial adapter to program hundreds of badges in just a few hours.
We just spent the last hour watching a video, embedded below, that is the most comprehensive treasure trove of information regarding a subject that we should all know more about — sniffing logic signals. Sure, it’s a long video, but [Joel] of [OpenTechLab] leaves no stone unturned.
At the center of the video is the open-source sigrok logic capture and analyzer. It’s great because it supports a wide variety of dirt cheap hardware platforms, including the Salae logic and its clones. Logic is where it shines, but it’ll even log data from certain scopes, multimeters, power supplies, and more. Not only can sigrok decode raw voltages into bits, but it can interpret the bits as well using protocol decoder plugins written in Python. What this all means is that someday, it will decode everything. For free.
[Joel] knows a thing or two about sigrok because he started the incredibly slick PulseView GUI project for it, but that doesn’t stop him from walking you through the command-line interface, which is really useful for automated data capture and analysis, if that’s your sort of thing. Both are worth knowing.
But it’s actually the hardware details where this video shines. He breaks down all of the logic probes on his bench, points out their design pros and cons, and uses that basis to explain just what kind of performance you can expect for $20 or so. You’ll walk away with an in-depth understanding of the whole toolchain, from grabber probes to GUIs. Continue reading “Everything You Need To Know About Logic Probes”→
[Sverd Industries] have created a pretty cool bench power supply integrating soldering helping hands into the build. This helps free up some much-needed bench space along with adding that wow factor and having something that looks unique.
The build is made from a custom 3D printed enclosure (Thingiverse files here), however if you have no access to a 3D printer you could always just re-purpose or roll your own instrument enclosure. Once the enclosure is taken care of, they go on to install the electronics. These are pretty basic, using a laptop PSU with its output attached to the input of a boost/buck module. They did have to change the potentiometers from those small PCB mounted pots to full size ones of the same value though. From there they attach 4 mm banana sockets to the output along with a cheap voltmeter/ammeter LCD module. Another buck converter is attached to the laptop PSU’s output to provide 5 V for a USB socket, along with a power switch for the whole system.
Where this project really shines is the integrated helping hands. These are made from CNC cooling tubes with alligator clips super glued to the end, then heat shrink tubing is placed over the jaws to stop any accidental short circuiting while using them.
This isn’t a life changing hack but it is quite a clever idea if space is a hot commodity where you do your tinkering, plus a DIY bench power supply is almost a rite of passage for the budding hacker.
The “Crivit Sports” is an inexpensive chest-strap monitor that displays your current pulse rate on a dedicated wristwatch. This would be much more useful, and presumably more expensive, if it had a logging option, or any way to export your pulse data to a more capable device. So [RoGeorge] got to work. Each post of the (so-far) three-part series is worth a read, not the least because of the cool techniques used.
In part one, [RoGeorge] starts out by intercepting the signals. His RF sniffer? An oscilloscope probe shorted out in a loop around the heart monitor. Being able to read the signals, it was time to decode them. Doing pushups and decoding on-off keyed RF signals sounds like the ideal hacker training regimen, but instead [RoGeorge] used a signal generator, clipped to the chest monitor, to generate nice steady “heartbeats” and then read the codes off the scope without breaking a sweat.
With the encoding in hand, and some help from the Internet, he tested out his hypothesis in part two. Using an Arduino to generate the pulses logged in part one, he pulsed a coil and managed to get the heart rates displayed on the watch.
Which brings us to part three. What if there were other secrets to be discovered? Brute-forcing every possible RF signal and looking at the watch to see the result would be useful, but doing so for 8,192 possible codes would drive anyone insane. So [RoGeorge] taught himself OpenCV in Python and pointed a webcam at the watch. He wrote a routine that detected the heart icon blinking, a sign that the watch received a valid code, and then transmitted all possible codes to see which ones were valid. Besides discovering a few redundant codes, he didn’t learn much new from this exercise, but it’s a great technique.
We’re not sure what’s left to do on the Crivit. [RoGeorge] has already figured out the heart-rate data protocol, and could easily make his own logger. We are sure that we liked his thorough and automated approach to testing it all, from signal-generator-as-heartbeat to OpenCV as feedback in a brute-force routine. We can’t wait to see what’s up next.
[Andrea De Napoli] created a LED display consisting of a half-dozen LEDs connected to the inverted signals of a CD4017 decade counter, giving the effect that a dark LED is running back and forth. The CD4017 works by activating 10 outputs, one at a time, as controlled by a clock signal sent to pin 14.
The first and last LEDs are lit by outputs 0 and 5 with the help of a PNP transistor and a 12K resistor. The middle four LEDs are switched by two outputs each and go dark when one of them goes high. [Andrea] really delves into the CD4017 and he shares a lot of detail in the project page.
If you’ve got a SEGA Dreamcast kicking around in a closet somewhere, and you still have the underutilized add-on Visual Memory Unit (VMU), you’re in for a treat today. If not, but you enjoy incredibly detailed hacks into the depths of slightly aged silicon, you’ll be even more excited. Because [Dmitry Grinberg] has a VMU hack that will awe you with its completeness. With all the bits in place, the hacking tally is a new MAME emulator, an IDA plugin, a never-before ROM dump, and an emulator for an ARM chip that doesn’t exist, running Flappy Bird. All in a month’s work!
The VMU was a Dreamcast add-on that primarily stored game data in its flash memory, but it also had a small LCD display, a D-pad, and inter-VMU communications functions. It also had room for a standalone game which could interact with the main Dreamcast games in limited ways. [Dmitry] wanted to see what else he could do with it. Basically everything.
We can’t do this hack justice in a short write-up, but the outline is that he starts out with the datasheet for the VMU’s CPU, and goes looking for interesting instructions. Then he started reverse engineering the ROM that comes with the SDK, which was only trivially obfuscated. Along the way, he wrote his own IDA plugin for the chip. Discovery of two ROP gadgets allowed him to dump the ROM to flash, where it could be easily read out. Those of you in the VMU community will appreciate the first-ever ROM dump.
On to doing something useful with the device! [Dmitry]’s definition of useful is to have it emulate a modern CPU so that it’s a lot easier to program for. Of course, nobody writes an emulator for modern hardware directly on obsolete hardware — you emulate the obsolete hardware on your laptop to get a debug environment first. So [Dmitry] ported the emulator for the VMU’s CPU that he found in MAME from C++ to C (for reasons that we understand) and customized it for the VMU’s hardware.
Within the emulated VMU, [Dmitry] then wrote the ARM Cortex emulator that it would soon run. But what ARM Cortex to emulate? The Cortex-M0 would have been good enough, but it lacked some instructions that [Dmitry] liked, so he ended up writing an emulator of the not-available-in-silicon Cortex-M23, which had the features he wanted. Load up the Cortex emulator in the VMU, and you can write games for it in C. [Dmitry] provides two demos, naturally: a Mandlebrot set grapher, and Flappy Bird.
Amazed? Yeah, we were as well. But then this is the same guy emulated an ARM chip on the AVR architecture, just to run Linux on an ATMega1284p.
At least one in their lives — or several times a day — everyone has wished they had a third hand to help them with a given task. Adding a mechanical extra arm to one’s outfit is a big step, so it might make sense to smart small, and first add an extra thumb to your hand.
This is not a prosthetic in the traditional sense, but a wearable human augmentation envisioned by [Dani Clode], a master’s student at London’s Royal College of Art. The thumb is 3D-printed out of Ninjaflex and mounted to a printed brace which slides over the hand. One servo rotates the thumb, and a second pulls it closed using a bowden cable system — not unlike that of a bicycle brake. Control of the thumb is achieved by pressure sensors in the wearer’s shoes, linked via Bluetooth to a wristband hosting the servos and the electronics. We already use our hands and feet in conjunction, so why not capitalize on this intuitive link?