Airsoft ammo counter
Print Profile(1)

Description
This project is something I’ve been working on in my spare time: an ammo counter for my airsoft replica. The device is designed to fit snugly between the sight and its protector.
The counter starts at a user-set magazine size and counts down to 0. When it reaches 0, the display flashes "RLD" to indicate it’s time to reload.
It features two buttons:
- + Button: Increases the magazine size or brightness.
- - Button: Decreases the magazine size or brightness.
Holding either button for more than 2 seconds lets you adjust the screen brightness, while pressing them briefly adjusts the magazine size in increments of 10.
I’ve also included:
- The source code for the ESP32 controller, where the default magazine size is set to 110 (modifiable on line 17).
- 3D printable files for the parts in both STL and STEP formats.
You can find my design here on Onshape. Feel free to modify it to fit your needs.
Please note, I’m neither a 3D designer nor an expert in ESP32 programming, so if you spot any bugs, issues, or ways to improve upon what I’ve done, I encourage you to share your improvements with the community.
Thank you, take care, be safe, and have fun!
Parts List:
- 1x Switch 3x6x5: Reload button
- 2x Switch 6x6x6.5: Buttons to set magazine size/brightness
- 1x Small ESP32 board: Controller (no separate programmer needed)
- 1x Small OLED screen: Display
- 1x KY-037 microphone: For detecting the shot
- 1x Step-up power module: Supplies 5V to the microphone
- 1x 18650 battery and charger
- 1x Battery box: Example (I only used the spring and the positive contact)
- 9x M2x10 screws: For assembly (1 for the microphone, 2 for the ESP32 board, 2 for the display, 4 for the face plate)
- Hook-up silicone wire kit: Stranded tinned copper wire, 6 colors
Update: New version now tracks the total amount of BBs shot between reboots.
Pasetbin link with the source code: https://pastebin.com/W7ckSWJC












Comment & Rating (15)