As you’ve been looking through the DIYODE website, it’s probably no surprise we’re big fans of creative photography. But we found something really unique, and it was prototyped on Arduino!
Initially, we came across this amazing high speed timing system through a local photographer, Craig Kenyon, who had been winning awards for his stunning droplet photography. Craig built a great system to develop his style – and the resulting photos were what caught our eye. When we contacted Craig, thinking he was the one who built the controller, to our surprise he referred us to Peter Lin, who developed the base controller and valve system that Craig was using. We caught up with the two of them: with Peter, to chat about the design and development of the controller itself and then Craig, to explore the end-user experience.
Developing the System
Your high-speed water drop timing circuit is fantastic. What inspired you to start developing it, and how did you go about designing it?
There were some groups on Flickr where a lot of people were playing with water drop photography. I designed a simple circuit back in 2006, but it was just a simple circuit; a bit better than manual drop operation, where you use an eye dropper to drop water and then manually trigger the camera. It was hard to use, though better than manual drop (as my current circuit detects a laser beam and has timing delays).
There was another water drop machine, which I think is called “Time Machine”, but it was out of my budget so I didn’t buy it. After I moved back to China, I found making PCBs really easy and cheap, so I decided to design one for myself. I actually went on Kickstarter and got that project funded. Later, I designed a better, more powerful one. The best feature of my water drop machines is the use of a remote control. With most other machines, the user has to physically touch the controller and push buttons; however mine uses a small IR remote control that acts like a keyboard, making it very easy.
You raised over $20,000 on Kickstarter – such a great result! Do you have any tips for a hobbyist who is looking to take their prototype commercial using crowdfunding, such as Kickstarter?
The only tip I have, is to make a good presentation video. Although later on, I also found out that having a good project is not enough – you also need good promotion.
Definitely good advice. Obviously you found some demand for them anyway. Were there any challenges turning it from a prototype into a commercial kit?
I found them back in 2006 and like I said, there are a lot of people doing water drops. I did not think about commercialising it, but having a project funded by Kickstarter seemed like a pretty good idea, so I went for it. Even now, I still have this idea of helping water drop artists by providing an easy-to-use system with high quality parts. For example, the Shako valves I use are considered to be the best. They cost about three times more than other vendors’ valves, but I offer them at a competitive price.
What microprocessor are you using, and did it change between prototype and commercial product?
The microprocessor for the three valve controller uses PIC16F1847, and the six valve controller uses ATmega328P, the same as Arduino uses in many of their boards. In fact, it was developed with Arduino first, and then ported over to a stand alone unit.
It’s definitely versatile, and does make any transition from an Arduino board to a production board relatively straight forward. You interface with multiple camera models. Were there any challenges in creating the universal interface?
No, it’s not as much of challenge as finding the right commercial cables for the right camera!
How accurate is the timing on the valves and shutter? Do you have to compensate for hardware responding at different rates?
With the three valve controller, timing is very accurate. The basic timing element is 1ms and at 16MHz, so executing loops for three valves is not big deal; in fact, I think I still have some spare computing power left. The key part is utilising the machine code. Of course, if two valves are supposed to open at same time, there will be some difference between them, but the timing difference should be minimal; maybe 0.1ms per 100µs or even less. With the six valve controller you can change the basic timing element – I call it a tick – to be as little as 100µs or 0.1ms. Executing loops for six valves in 100µs is not a problem at all since ATmega328P is very fast (running one instruction per cycle), so you can run 16 million instructions per second.
Very true - that’s extremely fast for relatively simple functions. Have you considered any other applications for your precision timing circuit?
No, but if there is a need, the code bases I have built will be handy.
What’s the most fun or impressive thing you have seen someone do with one of your kits?
I am very happy to see a lot of users creating amazing photographs, winning awards and the like. Craig is one such user.
Yes! We were hugely impressed with how Craig’s used your controller to create award-winning artwork (more on this later). The remote control is a great feature, and presumably eliminates the need for onboard controls. Were there any challenges developing an intuitive infrared-controlled interface?
The remote control is not hard to decode. I didn’t even use any tools like a logic analyser or oscilliscope to decode it. I just used Arduino to decode the time and that was it. Having the IR remote eliminates a lot of physical buttons and I can use less of an MCU (memory controller unit). It greatly reduced circuitry and simplified the design. The MCU only needs one pin, compared to other designs that use an onboard hardware control interface, which may require up to 10 pins.
I/O is definitely the limitation on many developments, so infrared control was definitely the way to go! We can see there’s some other creative products in your range. Is there anything currently in development that you can share with us?
Yeah, I just finished some circuits that will use a speaker to move things at micro level.
Wow! Even more interesting ways to create stunning images! We can’t wait to see what you do with it, Peter!