I designed a case as small as I could that would hold a DSTIKE ESP8266 Development Board WiFi Deauther Mini with 1.3inch OLED Display. Maltronics.com and Amazon both have them and I'm sure other outlets as well. It also holds a 3.7V, 500 mAh LiPo battery (https://www.adafruit.com/product/1578), though the case has to open to disconnect the battery. With a battery, it's a totally self-contained unit and as small as many key fobs.
I put in little bendy tabs to actuate the switches. There isn't provision for an external antenna in this design but the stock wire one it comes with is still surprisingly strong - considerably stronger than the little built-in ceramic bar. The case is thinned over the status LED but if you print with opaque filament, just drill a hole there. You can see the WiFi status LED next to the vent area. There are two versions of the top/face shell. One with and one without a hole for the auxiliary LED. As an annunciator, I didn't want it blasting out but those who want it as a flashlight, OLEDTop2.stl has a hole over that LED.
I routed the antenna cable to where I could use a drop of hot glue to hold the base in place and another drop to hold the antenna. Watch the antenna lead when you stack the sandwich together. Mine likes to get trapped between the WiFi module and the case during assembly.
3 each M3x12 screws and nuts hold it together. I used a little tape to hold the battery away from the circuit board. I was going to make an even thinner back shell for this but the battery connector is just about as tall as the 500 mAh cell I used so no gain without removing the battery connector. With no battery, it has to run from the USB connector and the body of the cable connector is also generally that tall. So thick it is - 14.5 mm.
This case has small features and my slicer really didn't want to fill in between inner and outer shells. It took some trial and error in the print path preview to get something that at least looked like it would be sturdy.
I had a hard time getting the slicer to properly fill in due to the very small size of the parts. Lots of previews to get something that looked good. Just a heads-up.