This repository contains the electronics for the Stinger foam dart blaster. The main parts are:
- RP2040 microcontroller with 2MB flash
- Gyro sensor (BMI270)
- Rapid decay solenoid driver (DRV8243)
- 5V step-down and 3.3V LDO
- Standby power switch
- TOF (Time of Flight) sensor (VL53L0X)
- Display output (SPI) and speaker output (PWM)
- USB-C for firmware updates and ESC-passthrough
- 2 adressable RGB LEDs (WS2812B)
- Schmitt trigger for the trigger input
- Analog buffer for the ADC inputs
- Upgrade port for future hardware upgrades (I2C or UART)
Documentation for Stinger is provided in the Stinger-Docs wiki.
To make your own electronics, you will need to:
- Order the PCB from a PCB manufacturer using the provided Gerber files (e.g. JLCPCB)
- Order the components from a distributor using the provided BOM (LCSC recommended for most components, or get your PCB assembled by the PCB manufacturer)
- Assemble the PCB (soldering required, or use a reflow oven for SMD components)
- Solder the THT components (Speaker, XT30, ESC, button, TOF) and underside LEDs to the PCB
- Flash the firmware to the RP2040
Because purchase links regularly change, you will need to search for the components yourself:
- Speaker: 64 Ohm, 4mm pitch, magnetic type
- Button: Usually called "tactile switch" or "push button", usually the 6mm x 6mm type
- TOF: VL53L0X, the typical breakout board, available from various distributors
- Joystick: PSP1000 type
At last, please note that this work is licensed under the Creative Commons BY-NC-SA License. This means you can use the designs for non-commercial purposes, but you must give appropriate credit and share any derivative works under the same license. Also be aware that it is usually cheaper to buy the electronics because of many custom parts. The PCB is mainly provided for educational purposes and to allow you to make your own modifications or repairs.
This project is still in the early stages of making the source available. If you feel like something is missing in order to make this repo accessible, please open an issue or ask in the discussion forum.