Wireless Remote for Fuji X100 Camera (or Leica)
I need the ability to wirelessly take photos, however my camera did not have a conventional shutter release, it has the old fashioned "cable" release.
After playing around and buying some cheap cable releases off Ebay I was able to build a working wireless shutter using an Arduino, Servo, and a cheap wireless shutter for a Canon DSLR.
I had thought of using an IR remote however I am planing on using this outside and im not sure how well IR works in direct sunlight. So I went for an RF option.
These remotes have the half press focus option, but as I would not be needing this, and when you bend the wire cable it changes the length of the “press” meaning that it would not always work. To make it more reliable it only takes photos without focusing but as I am going to be using manual focus its not a problem.
I mounted a servo in a small enclosure and pushes on the cable firing the camera shutter.
The servo is controlled by and Arduino that triggers the servo when it gets the command from the wireless remote.
I also mounted the hot shoe adaptor from the old shutterArduino Code Here
Arduino (ATmega 328p microcontroller)
- I would recommend Adafruit Trinket instead
Wireless Shutter Release Remote Control
- See Photo Above for more information
- I was able to take the “hot shoe” off the receiver and mount it to my case so it could be attached to the camera.
Mechanical Shutter Release Cable
- See Photo Above for more infomation
5volt Regulator and Capacitor
- This might not be need if Adafruit Trinket used instead.
Pin 13 of the Arduino was wired via a transistor to the power button of the wireless shutter receiver, this way when the power was turned on the Arduino would power on the receiver automatically.
The wireless shutter has a “double press” button, a half press would focus a normal camera and a full press would take a photo. There are three wires coming from the receiver, “Ground” “Focus” “Shoot”.
Ground is connected to the Arduino ground, “Focus” connected to pin 12, and Shoot Connected to pin 11 and the servo is connected to pin 10.
I never used the focus input as the servo was not accurate enough.
When the “Shoot” pin goes LOW the servo is driven to shoot position for 500ms (See code for more info)
The two LEDs seen in photos are part of the receiver module.
Texting Brick Phone
The cell phones at my work are so bad, that when I was given an old 1992 “Brick” Mobile Phone, I thought that using a 20 year old phone might be the best way to get them upgraded. It needed to be useable, to make and receive calls, also send and receive text messages and use the phone book. They were so bad the bench mark wasn't very high.
(An old 1992 “Brick Mobile Phone” Motorola Ultra Sleek 9660 - A full teardown can be found on the EEVblog)
I thought about imbedding a cheap cell phone inside (like with my rotary phone project) but it was more elegant and easier to start from scratch, build my own PCB and program.
Old phones are analog so they obviously dont work on the new digital GSM networks. After doing some investigations I found the small breakout for sim900 gsm module it was small enough to fit inside the cellphone, and easy to work with, using “AT commands" over serial.
There was an old 7 digit, 7 segment display but using that would have made it too difficult to send and receive texts. So I replaced it with a modern OLED Screen (Adafruit 128x32 OLED) that would fit in the small display window provided. (unfortunately I could not get good photo of the screen working)
The only other DIY cellphone I found was from High-Low Tech, I used there code as a starting point, however there code could not do texting etc or work with any of my hardware, it was very basic and only displayed and dialed the numbers, so a a lot of work needed to make a usable phone.
The next problem was using serial to comunicate with the Sim900 chip, Arduino (atmega 328) chips only have 2k of ram making it very difficult for a noobie programer. I had so meny serial read/writes it would fill up the ram and crash the phone.
This problem was solved by using two 328 chips, the main chip handles keypad input, graphics, coms to GSM chip, and the second chip handles all sounds (ring tones/ text tones/ buttons pushes) and would detect when the phone is ringing/incoming text and alert the master chip.
Communication between the two chips was done with outputs/inputs that would be driven low or high as needed. The Sim900 also has outputs that are driven low for 1200ms upon incoming text, or low while the phone is ringing. The second chip would decipher if its a text or call and tell the master, it would then make the appropriate sound.
The hardest part was trying to get text message input (eg if you press "2” three times the letter “c” would be displayed) I could not find any good solutions for this online, that worked with a matrix number pad, so I wrote my own.
I wanted the phone to look “stock” so I designed a PCB that matched the original PCB in Eagle. I also had to design a custom resistive push button for the keypad and painted restive ink onto the original rubber buttons.
To get everything to fit I had to use surface mount Arduino chips, however I could not find surface mount 328 chips that had the Arduino boot-loader. This was solved by designing an Arduino Shield that programed surface mount chips, you simply hold or clap the surface mount chip down and use the built-in Arduino ISP to program.
Finally the battery, I had to cut open and remove the old battery from its case, easier said than done. I then mounted a 7.2v lipo battery inside and drilled a hole for the charging cable (on the inside so it cant be seen when the battery is on)
The old phone also had the wrong analog antena, it was replaced with a new 900mhz GSM antena, I made sure it was nice and large to fit with the retro look.
It actually works, beter than our phones at work. I have been using it for some time now, the only hard part is trying to find a pocket big enough to put it in.
In version 2.0 I would use all surface mount components including the sim900, and improve the battery design. I would also replace the 328 chips with bigger more powerful one, so I could add features like Tweeting.