Some Nikon DSLR don't support bulb mode long exposure through USB PTP connection. As a workaround several DIY cable instructions are made. All these cables use a serial-usb device as a hack using RTS line wired to a transistor. This is not a suitable solution. Due to the fact that this setup is not stable and safe, I decided to build up a more stable version based on a NodeMCU ESP8266 microcontroller, a dedicated serial to usb adapter and mechanical relays. This setup "translates" the weak RTS HIGH signal to a discrete signal on the microcontroller and power it up with npn transistors to switch relays safe and stable.
This board provides the logic, WLAN and debugging options. At the moment only the hacky way using a serial connection is provided. In future a nice web API will be a more sophisticated way to connect. The USB-Connection of the NodeMCU will not be used for the serial hack so it is open for powering the circuit and connecting a pc to it.
This is used only for the serial hack! The USB port do not provide any data connection. The board MUST be set to 3.3V to avoid damage of the NodeMCU! DONT EVER use 5V!
The Transistors are used to amplify the weak signal from the Microcontroller pins to switch the relays.
Two resistors are used to avoid shortening of base-emitter-circuit
Two diodes are used to avoid high voltage on switching the relays off. They are NOT OPTIONAL!
We use the source voltage of the NodeMCU to provide enough amperes for the relays to switch!
NodeMCU PIN 4 - resistor (100Ohm) - Base 1 NodeMCU PIN 5 - resistor (100Ohm) - Base 2 NodeMCU PIN 0 - FTDI RTS NodeMCU 3.3V - Sources of the Transistors Diode Kathodes parallel to relays coil pin - Emmitters of the transistors
Ground connected to all devices and one coil pin of the relays and diode anodes.
Relays base pins both goes to the ground of the headphone jack. NO pins goes to the other pins of the jack. If it focusses and don't shoot, switch both.
First flash Micropython to the NodeMCU. It is described in Micropython documentation. Setup a IDE like Pycharm with micropython plugin. Upload sketch.
Shoot!
Yes this has TWO USB-Ports. The one from the FTDI is ONLY for triggering the exposure. The one of the NodeMCU is for programming, powering and further development. You can't power this using only the FTDI Connection! A USB Power adaptor at the NodeMCU or a PC Connection on it is always neccessary!