Look ma - no wires! I've been working for a while on making a wireless self-powered GPIB adapter using Bluetooth and finally it (almost) works. The idea is to draw power from GPIB lines using diodes. It took a few iterations but now I have a working setup. The only thing that remains is to switch from regular Bluetooth (HC-05) to BLE, this would make it into a practical device. I could use some help since I am not very familiar with BLE.
The starting point is AR488 for Atmega328P with Bluetooth, a version of code posted some time ago. I switched the board to 3.3V, 8 MHz Arduino Pro Mini to get less power and less voltage required. It also eliminates the need for level shifters to talk to HC-05. The lower TTL levels work just fine with GPIB.
Next, one needs a step-up converter to 3.3 V, because the power that can be extracted from GPIB lines is at a voltage between 1.7 and 2.5 V. After trying a couple, I found Pololu model 2114 ($5), which has high efficiency for relatively small 10-50 mA output current. The amount of current that can be extracted from GPIB lines is about 10 mA, so one needs a super capacitor to store energy for Bluetooth communication, which takes about 20 mA when active. I am using a 3.5F 5.5V supercap (ESR=0.1 Ohm, $4 from Digi-key). Finally one needs 16 Schottky diodes to connect all GPIB lines to the supercap. I am using 1N5817 ($2 from Ebay for a bunch). The supercap is on the input side of the Pololu boost converter, the output is powering Arduino and HC-05, bypassing their voltage regulators.
The next step is to modify WaveyDipole's code to make all Arduino lines go high impedance in the idle GPIB state when there is no communication. It may not exactly meet the GPIB protocol specifications, but seems to work fine. This way when (most of the time) GPIB bus is idle, one can extract power from the instrument GPIB lines.
Finally, one can use low-power libraries for Arduino to reduce power further. LowPower.idle command with everything turned off except USART reduces its power consumption from 4 mA to less than 1 mA without much effect on the code (except auto=3 command doesn't seem to work). For HC-05 module the low-power commands are not well documented or may not work. The only one that I found which helps is AT+IPSCAN=1024,1,1024,1, it reduced the current when Bluetooth is not paired to about 4 mA. So by opening and closing the serial port one can control the power. But this is very inefficient and slow compared with what BLE is supposed to do.
The plot below shows the voltage on the supercapacitor as I open and close the serial port. When the port is open, I use GPIB to read HP3457. One can see that there is not enough power to keep the supercap from discharging if the port is open all the time. But when it's closed, the supercap can recharge. With BLE one can hope to reduce the transmission times to much less than a second for each reading. The question is what is the best module to use and how to modify the program.