Is it possible to read ARP probes? (for Amazon Dash button detection)


I’m trying to get an Amazon Dash button to communicate with my Photon using the “hack” described here. Basically all I need to be able to do is read ARP probe broadcasts and check the MAC address to see if it matches my Dash button. Is it possible to do this on a stock Photon?

Thanks in advance for your help! :smile:

Second that request. I would like to connect a bunch of Amazon Dash buttons around the house. The buttons would all be monitored by a single Spark (or cousins) and the code there could do pretty much anything (talk to my web server etc.)

I dont want to hack the Dash Button firmware (like Broadcom WICED SDK for Amazon Dash for example). That is a noble project but too involved for me. I would be happy doing a simple one time init / connect to my Wifi of each Dash button and after that do all my hacking on the Particle console which I like.

Sooo, back to the original question: can the Spark see ARP probe requests and can I write a loop that responds to those (presumably would need access to the MAC in the ARP probe to distinguish between different Dash Buttons that try to connect) ?

PS: and why the Dash buttons instead of using Sparks or cousins ?

  1. cheaper (I got my buttons for $1 each)
  2. form factor already perfect (enclosed, big button)

Hi @SparkToad

FYI Spark is now Particle. The Photon could surely monitor ARP requests in the way described in that link but that was not the intended usage of it, so there is no easy software do that. You would need to program the Photon at a very low level in the networking stack (WICED) or RTOS. That is very doable but requires a good bit of experience and expertise.

I were you, I would just get a Raspberry Pi W and run the Python code from that link. It would cost you around $35 instead of $20, but there would be essentially no work for you do. Since there is a beta for Raspberry Pi to work with Particle, you could still use the Particle Cloud or any web hook integrations.

Thanks, a good suggestion I think. I just asked my son, he has a Pi lying around somewhere I think :slight_smile:

Thats the way to go software wise:

1 Like
PS: thanks bko, the Pi idea worked