In this article we will cut the cable between the laser harp controller and the sensor detecting your hand on the laser.
The sensor has the purpose to detect the reflection of a laser harp beam when you touch it.
A bit of hacking has been required to understand how the Kromalaser's "Ultrasensor" works.
Without going too deep in details, it is essentially a pulse amplifier. The input pulse comes from a BPW34 photodiode, and the amplifier gives on output two signals, one digital and one analog.
Our purpose is to send the digital pulse from the sensor to the EVO controller board.
The pulse frequency depends on the scanning frequency: measuring we discover that the distance between a beam and the next one is a bit more than 1mS (millisecond) with a standard scanning rate.
This means that our wireless rx/tx system must be able to send the pulse from the Ultrasensor to the controller in less than 1mS.
Initially we thought to use the same system we used for the footswitch, but there was no chance to go that fast.
The delay between the moment in which the button in the remote is pressed and the data is received and decoded on the receiver is far longer than 1mS. In other words, that solution didn't work at all
The aim to solve this with cheap commercial modules led us to this solution:
The sensor (included in the price of the Kromalaser EVO controller, Euro 150 for students)
A pair of Arduino Nano board, chinese clone (Amazon or eBay, less than 4 Euro)
A pair of nRF24L01, a 2Mbps rx/tx module at 2.4GHz (Amazon or eBay, less than 4 Euro)
1 Battery backup with usb-to-MINIUSB cable (Amazon, less than 10 Euro)
Our firmware, open source and free to use (not for commercial products: you can't resell)
Soldering some wires required
Let's start connecting the sensor to the Arduino Nano: these are basic wires to connect:
This wiring allows the Nano to communicate with the RTx module. This wiring is common to both Nanos and nRf24L01s.
In next pictures we will show only the Nano connections to the other devices and not the nRF24L01 which we suppose to be already correctly wired to the Nano.
We need now to use one digital input to connect to the digital out of the Ultrasensor on the first board.
Here is the ultra sensor connectors description:
Connect ultrasensor's pin D to the Nano's pin D2. Connect both GND together on Ultrasensor and Nano and do the same for both +5V. Here a picture of the Nano's supply pins:
And here the connection details:
The sensor+arduino+Rtx must be battery powered. To do that we simply buy a cheap 1-battery backup for cell phones and we use the MINIUSB plug on the arduino nano to supply everything.
Let's go now on the controller's side.
We need a digital output from the Nano to send the pulse to the digital input on the EVO controller board.
The plug we removed has everything we need
So we have to connect GND, +5V to the Nano GND and +5V to supply everything, and next we wire D+ on the Ultrasensor connector to the D2 on the Nano.
You have now to flash both Nanos, one with the firmware for the transmitter (the one connected to sensor) and the other with firmware for receiver (the one connected to Kromalaser Ultrasensor).
Complete schematics, PCB layout and firmware can be downloaded for free here:
Wireless Laser Harp Files
Tools needed to DIY the PCB: Eagle Cad (there is a free version online)