Reverse Engineering a Wireless Studio Lighting Remote

Strobe Remote

If you want to take a photograph with a professional look, proper lighting is going to be critical. [Richard] has been using a commercial lighting solution in his studio. His Lencarta UltraPro 300 studio strobes provide adequate lighting and also have the ability to have various settings adjusted remotely. A single remote can control different lights setting each to its own parameters. [Richard] likes to automate as much as possible in his studio, so he thought that maybe he would be able to reverse engineer the remote control so he can more easily control his lighting.

[Richard] started by opening up the remote and taking a look at the radio circuitry. He discovered the circuit uses a nRF24L01+ chip. He had previously picked up a couple of these on eBay, so his first thought was to just promiscuously snoop on the communications over the air. Unfortunately the chips can only listen in on up to six addresses at a time, and with a 40-bit address, this approach may have taken a while.

Not one to give up easily, [Richard] chose a new method of attack. First, he knew that the radio chip communicates to a master microcontroller via SPI. Second, he knew that the radio chip had no built-in memory. Therefore, the microcontroller must save the address in its own memory and then send it to the radio chip via the SPI bus. [Richard] figured if he could snoop on the SPI bus, he could find the address of the remote. With that information, he would be able to build another radio circuit to listen in over the air.

Using an Open Logic Sniffer, [Richard] was able to capture some of the SPI communications. Then, using the datasheet as a reference, he was able to isolate the communications that stored information int the radio chip’s address register. This same technique was used to decipher the radio channel. There was a bit more trial and error involved, as [Richard] later discovered that there were a few other important registers. He also discovered that the remote changed the address when actually transmitting data, so he had to update his receiver code to reflect this.

The receiver was built using another nRF24L01+ chip and an Arduino. Once the address and other registers were configured properly, [Richard's] custom radio was able to pick up the radio commands being sent from the lighting remote. All [Richard] had to do at this point was press each button and record the communications data which resulted. The Arduino code for the receiver is available on the project page.

[Richard] took it an extra step and wrote his own library to talk to the flashes. He has made his library available on github for anyone who is interested.

Solderless Noise-o-Tron Kit Makes Noise at Chicago Makerfaire

Noise-o-Tron

Anyone who’s manned a hackerspace booth at an event knows how difficult it can be to describe to people what a hackerspace is. No matter what words you use to describe it, nothing really seems to do it justice. You simply can’t use words to make someone feel that sense of accomplishment and fun that you get when you learn something new and build something that actually works.

[Derek] had this same problem and decided to do something about it. He realized that in order to really share the experience of a hackerspace, he would have to bring a piece of the hackerspace to the people.  That meant getting people to build something simple, but fun. [Derek's] design had to be easy enough for anyone to put together, and inexpensive enough that it can be produced in moderate quantities without breaking the bank.

[Derek] ended up building a simple “optical theremin”. The heart of this simple circuit is an ATTiny45. Arduino libraries have already been ported to this chip, so all [Derek] had to do was write a few simple lines of code and he was up and running. The chip is connected to a photocell so the pitch will vary with the amount of light that reaches the cell. The user can then change the pitch by moving their hand closer or further away, achieving a similar effect to a theremin.

[Derek] designed a simple “pcb” out of acrylic, with laser cut holes for all of the components. If you don’t have access to a laser cutter to cut the acrylic sheets, you could always build your own. The electronic components are placed into the holes and the leads are simply twisted together. This allows even an inexperienced builder to complete the project in just five to ten minutes with no complicated tools. The end result of his hard work was a crowded booth at a lot of happy new makers. All of [Derek's] plans are available on github, and he hopes his project will find use at Makerfaires and hackerspace events all over the world.

Status Light Tells You The Code is Borked Again

status light

[Arthur] is teaching himself product development. Rather than create a few mock-up products, he’s taking the path of designing real devices he can use. His current device is a status light for automated software tests.  We’ve seen test and GitHub status lights before, however this is the first one to integrate with an outside web service. The status light’s state is based upon output from CodeShip, an online continuous deployment test engine.

The electronic design is simple. An Electric Imp retrieves test status data from CodeShip. The Imp then sends the status data over two GPIO lines to an AdaFruit Trinket. The Trinket controls a NeoPixel ring. A green ring indicates all tests are passing. Purple means tests are in progress. A spinning red ring (of death) means one or more tests have failed. Power is supplied via a mini USB connector.

[Arthur] spent quite a bit of time on the mechanical design of the status light as well. All the parts are 3D printed. This allowed him to quickly go through several revisions of each part. We like the use of white PLA for a frosted effect on the top section of the light, as it diffuses the eye piercing glow from all those RGB LEDs. As a finishing touch, [Arthur] created a fake product page for his light. He doesn’t have any plans to sell it, but we hope he drops the source and STL files so we can create one of our own.

[Read more...]

Monitor GitHub Activity with an RGB LED Matrix

tim-display

Ever wonder who is forking your code? [Jack] did, so he built a real time GitHub activity display for his company’s repositories. The display is based a Wyolum The Intelligent Matrix (TiM) board. The TiM is an 8 x 16 matrix of the ubiquitous WS2811/Smart Pixel/NeoPixel RGB LEDs with built-in controller. We’re seeing more and more of these serial LEDs as they drop in price. Solder jumpers allow the TiM to be used as 8 parallel rows of LEDs (for higher refresh rates), or connected into one long serial chain.

[Jack] wasn’t worried about speed, so he configured his board into a single serial string of LEDs. An Arduino drives the entire matrix with a single pin. Rather than reinvent the wheel, [Jack] used Adafruit’s NeoMatrix library to drive his display. Since the TiM uses the same LEDs as the Adafruit NeoPixel Matrix, the library will work. Chalk up another victory for open source hardware and software!

An Electric Imp retrieves Github data via WiFi and passes it on to the Arduino. This is a good use of a microcontroller such as the AVR on the Arduino. [Jack’s] display has a scrolling username. Every step in the scroll animation requires all the pixel data be clocked out to the TiM board. The Arduino can handle this while the IMP takes care of higher level duties.

[Read more...]

3D Printering: The Problem of Thingiverse

printering

Most makers, I’m sure, enter into the 3D printing world with a goal in mind. Whether that’s printing enclosures for projects, Warhammer figurines, robot chassis, or even a mechanical computer, there is usually some obvious utility in having a 3D printer at home. 3D printers are a machine tool, though, and any time it’s not being used means it’s an investment with a lower return, or at the very least a really cool toy gathering dust.

Where then do you find new stuff to print that you don’t design yourself?

For the longest time now, Thingiverse has been the largest repository to share, browse, and download object other people have made. Even I have some very stupid stuff up on Thingiverse and have made use of a few random objects I found on there. This does not mean the 3D printer community particularly likes Thingiverse, however: Last year, Makerbot, the people behind Thingiverse, changed the terms of use so (allegedly) Thingiverse owns everything uploaded to their service. Couple this with completely unsubstantiated rumors of things being removed from Thingiverse that compete with Makerbot products, and you have a perfect storm of people unsatisfied with an online repository of 3D objects.

There is a huge market for an online repository of user-submitted 3D objects that isn’t controlled by Makerbot, and many have attempted to enter the fray. Defense Distributed, the guys behind the 3D printed AR lowers and all-plastic handguns launched DEFCAD, a Thingiverse clone, made an attempt by mirroring thousands of Thingiverse objects, removing the attribution in violation of these object’s licenses. Shady, yes, but at least it’s an option. There are other repos such as Cubehero and the newly launched YouMagine, a repo developed by Ultimaker. the Luke Skywalker to Makerbot’s Darth Vader.

But here is the problem with Thingiverse: even if you would like to get away from using this Makerbot service, it’s still the largest collection of 3D printed objects on the Internet. It has the most users, and is growing more each day than any of its competitors. Putting your objects anywhere else only means fewer people will see them, and fewer still will incorporate your designs into their new designs.

There are a few tools for you to ‘roll your own’ object repository. Github has a great new tool for viewing diffs between different versions of objects. There’s even a lot of work in making the Github landing page more like a Thingiverse page. This doesn’t address the core value of Thingiverse – if all the objects aren’t catalogued in one database, searchable by anyone, it’s just not as useful a site as Thingiverse.

I’m simply not smart enough to offer up a solution to this problem. Therefore, I’m turning it on to you: how should the 3D printer community retain the great value Thingiverse offers while still making something as usable as the now-malagined site? Should any new site mirror objects already on Thingiverse a la DEFCAD, only with proper attribution? Who should control the portal to all the objects, if anyone?

If you have any ideas on how to solve the problem of Thingiverse, drop a note in the comments.

A Bitcoin vending machine

bitcoinVendingMachine

Accessibility is one of the biggest hurdles facing the Bitcoin revolution, so [Mathias] found a way to give BTCs some market penetration by converting an old condom vending machine. The machine was 30 years old and required some clean up. [Mathias] also worked in a plywood adapter that attaches to the mount on the back so it can install on a wider variety of surfaces. This is an electricity-free alternative to selling coins: the machine is purely mechanical and it vends custom-made vouchers rather than the coins themselves, which you then redeem on the Kondocoin website.

The transaction isn’t as instant or snazzy as the Bitcoin briefcase converter from Defcon this year, but it still provides the advantage of an up-to-date exchange rate, as the vouchers themselves are valued at amount of Euros spent rather than a set amount of coins. The exchange rate is consulted later, when you punch in your voucher key. [Mathias] wants to share the wealth, too, and offers up the server software on github along with a detailed explanation of the process.

Open sourcing everything… there’s an app for that

What happens if you’re a prolific developer and decide to release all of the source code from your work? Well, you should get a huge pat on the back from all interested parties. And so we say thank you to [Hunter Davis] for releasing the source code for his 70+ Android apps. But just making the decision isn’t the end of things, you’ve got actually get the code out there. And herein lies the hack. Instead of archiving and posting all of those projects he wrote a script to crawl, init, and push his projects to Github automatically.

This process is made pretty easy because of the Github API. Looks like he used version 2 for his script but you’ll want to check out version 3 if you’re looking to write your own script. His script takes the API key and username as command line arguments, then traverses his local source tree. Along the way it uses some text manipulation to sanitize the directories for use as the name of the repository. Once that’s established it steps into the directory, creates a repository, adds and commits all the files, then pushes them to Github.

Following [Hunter's] example makes it really easy to share your code. We hope more will follow suit, putting their work out there for others to learn from and build upon.

We’ve seen some hardware hacks from [Hunter] as well. He did a bunch involving the ZipIt, as well as some work with playing games with a Dockstar.

[via Reddit]

Follow

Get every new post delivered to your Inbox.

Join 96,669 other followers