Jimmie Deauth is a cheap and small ESP8266 WiFi deauthentication tool.
The ESP8266 module is capable of sending almost arbitrary WiFi packets, including so-called deauthentication packets and packets including beacon information. Browsing the internet, I found that RandDruid already did most of the work for me. He wrote software for the ESP that kicks everyone in range out of their WiFi hotspot. Why does that work? The router and the client talk to each other. The router can send a special packet - the deauthentication packet - to the client that makes the client disconnect. The software now searches for nearby hotspots and clients, and as soon as there are any found, the module, claiming to be the router, sends the deauthentication packet. There is another special packet that tells a client a router’s name (SSID) and a kind of address (MAC). kripthor wrote a small example that sends random beacon packets in the air. I used their code as template for a function that I included in RandDruid’s original software. You can download the code here.
Next came the hardware part. The ESP8266 is a 3.3V device that draws up to 200mA, maybe about 100 mA on average in this application. As power supply, I used rechargable LiFePo4 batteries. Those are very robust and, unlike typical batteries, stay at 3V for a long time. Mine has a capacity of 700mAh which should be enough for a few hours. The battery can be directly connected to the ESP. I added a switch to be able to turn it on and off.
Modern WiFi devices are immune to a deauthentication, but be aware to not to disturb clients that are not your own. Use at your own risk and only for testing purposes.