AS3935 Lightning sensor

Has anyone gotten this to work with I2C?

I always seem to get 0xFF from it when I try to read the device.

I am using the Embedded Adventures board with the default I2C settings.

I’m trying to work my way through this but I’m really lost and I’ve had a hard time finding information on the wiring for this. I see the IRQ and CS pins defined in peekay’s library for the object constructor but is that it? I’m guessing not. What about SDA/SDL/MISO? Any help would be greatly appreciated!

Update: I realized that the board that I was using from Embedded Adventures (MOD-1016) was configured for I2C so I re-soldered for SPI to use peekay123’s library but I’m still not having any luck:

Tuning out of range, check your wiring, your sensor and make sure physics laws have not changed!
Noise floor is: 7
Spike rejection is: 15
Watchdog threshold is: 15

Update2: In case someone else runs into the same hobbyist problem(s) that I did, this is the wiring that I eventually used successfully:

VCC  - 3V3
CS   - A2 (spi 1 ss)
IRQ  - A1
SCL  - A3 (1 sck)
MISO - A4 (1 miso)
MOSI - A5 (1 mosi)
1 Like

Hello @peekay123. Can it be possible, If I want to change the ports to the following of my new Photon?
Thank You!
VDD - 3.3V
IRQ - D5 (or any other valid pin)
CS - A4

@redland, at this time the library only supports hardware SPI using A3(SLCK), A4(MISO), A5(MOSI) and optionally, A2(SS). However, the code could be adapted to use software SPI so any pins could be used (albeit slower of course). Can you tell me why you cannot use the hardware SPI pins?

@peekay123, I ask you if i can use those pins because I had already made a PCB using those pins for the AS3935 thinking that it was easy to change the pins. Also because the other pins were busy for other stuff. I guess I’m stuck now? )-:
Thank You for your support.


How do you disable the AS3935.enableDisturbers();

I had it running to collect data and there was lightning right near the sonsor and it didnt collect any lightning data. Why do you think?

Hello @feraco, Just comment this line //AS3935.enableDisturbers(); or change it like this disableDisturbers()