Skip to the content
2 layers92.5 × 82.8 mmRifle and sensors, the printed circuit board in 3D

Caustic project is a full-featured indoor and outdoor lasertag system

Size
92.5 × 82.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
268
Nets
105
Pads
885
Tracks, vias
2,074, 277
Pours
18
Routed
Yes
KiCad
KiCad 4
Created
18 Jul 2016
Updated
12 Jan 2018

Overview

Rifle and sensors is an open-source printed circuit board by DAlexis, from the DAlexis/caustic-lasertag-system repository on GitHub. It is a 2-layer board of 92.5 × 82.8 mm with 268 parts on 105 nets, routed with 2,074 tracks and 277 vias.

It is built around the STM32F103RET6, NRF24L01 and PAM8403, with the MCP73831, USBLC6-4 and TSOP4856 among its other parts. Its parts include 63 connectors, 62 resistors, 46 capacitors, 26 ICs and 18 transistors. It belongs with the radio and wireless and sensors and measurement boards and the STM32 boards of this library.

Main components

8

README

README.md

Caustic Lasertag System

For Russian description scroll down the page.

Описание на русском --- внизу страницы.

Overview

Caustic project is a full-featured outdoor and indoor wireless lasertag system. It consists of principial schemes, PCBs and firmware for devices used in lasertag game. For now, system consists of:

  • Player's gun
  • Player's sensor to detect shoots
  • Smart control point for 'capture the point' game and some other things
  • Bluetooth bridge that provide interconnection between your smartphone and all the devices in game near bridge
  • Android application (currently alpha state) to control the game and change settings

Caustic Lasertag System licensed under GPLv3. Third party code used in project may be licensed under other licences, see corresponding files and comments in the sources. Copyright 2016, see AUTHORS file.

Project structure

Here is a directories description:

  • Android/ --- Android application to control the game and change settings
  • cpp-sources/ --- MCU firmware. Here:
    • bootloader-usb/ is a reference to https://github.com/DAlexis/stm32-usb-bootloader --- bootloader that supports cardreader functionality and flash controller from file flash.bin
    • universal-device/ --- universal firmware for any Caustic LTS device.
  • Docs/ --- some datasheets and useful documents for project
  • media/ --- sounds and its raws. Most of them were get from https://www.freesound.org/
  • schematic/ --- electic schemes, PCBs and gerbers made with KiCad
  • tools/ --- some scripts to simplify primitive jobs
  • sdcards/ --- samples of devices' SD cards containment

How to build firmware

Now only Linux OS supported to build Caustic LTS firmware, but I use CMake so add Windows support should not be a very complicated task.

You need to install cmake, arm-none-eabi-gcc compiler with arm-none-eabi-newlib and arm-none-eabi-binutils installed, and installation dirs should be in $PATH. Simply installation from your distro's repository usually enough. To flash the MCU with ST-link programmer you should install stlink utility. Then:

  • Clone this repository:

    git clone https://github.com/DAlexis/caustic-lasertag-system.git

  • Go to cpp-sources directory:

    cd caustic-lasertag-system/cpp-sources

  • Download git submodule containing bootloader:

    git submodule init && git submodule update

  • Run build.sh for debug build and build.sh release for release one

Then, to program the board:

  • Connect ST-link programmer to the board and to yout PC's USB

  • To flash main firmware run

    flash-universal-device.sh

  • To flash bootloader run

    flash-bootloader.sh To flash release version add release parameter to both scripts

    NOTE: flashing bootloader means removing previous firmware. To flash main program after flashing bootloader you should rename universal-device.bin to flash.bin and copy it to sd-card's root, then reboot device.

  • Then, copy proper sh-card containment to your device's sd-card. For example, for gun you should copy all files and dirs from sdcards/rifle to gun's sd-card.

Лазертаг-система Caustic

Caustic --- это полноценная беспроводная система для внеаренного и аренного лазертага. Проект содержит принципиальные схемы, печатные платы, прошивки микроконтроллера и другой необходимый код. На данный момент, система включает:

  • Оружие игрока
  • Датчики попадания ("головная повязка") для игрока
  • Умная контрольная точка для игры в "захват точки", поддерживающая другие вспомогательные функции
  • Bluetooth-мост, позволяющий подключать смартфон одновременно к любому количеству устройств системы
  • Приложение для Android (на данный момент в альфа-версии) для управления игрой и настройки игровых устройств

Система Caustic лицензирована под GPLv3. Система включает код тертьих лиц, который может быть лицензирован под другими лицензиями. Copyright 2016, Алексей Булатов.

Структура проекта

Проект устроен следующим образом:

  • Android/ --- Приложение для Android
  • cpp-sources/ --- Прошивка для контроллера
    • bootloader-usb/ --- ссылка на https://github.com/DAlexis/stm32-usb-bootloader --- загрузчик, превращающий устройство в кардридер, если при запуске оно подключено к компьютеру по USB. Прошивает контроллер из файла flash.bin
    • universal-device/ --- универсальная прошивка для любого устройства системы Caustic
  • Docs/ --- даташиты, документация и некоторые полезные документы
  • media/ --- звуки и их исходники. по большей части, взяты с https://www.freesound.org/
  • schematic/ --- схемы, печатные платы, герберы, сделанные в KiCad
  • tools/ --- некоторые скрипты, упрощающие некоторые простые действия
  • sdcards/ --- содержимое SD-карт для устройств разных типов

Как собрать прошивку и загрузчик

На данный момент поддерживается сборка только из-под Linux, однако проект использует CMake, так что добавить поддержку Windows не составит труда.

У вас дожен быть установлен cmake, компилятор arm-none-eabi-gcc, включая arm-none-eabi-newlib и arm-none-eabi-binutils. Компилятор должен быть доступен в $PATH. Обычно, достаточно просто установить соответствующие пакеты из репозитория вашего дистрибутива. Для прошивки нужен программатор ST-link и соответствующая утилита stlink.

Загрузчик не является обязательным.

Итак, для установки:

  • Склонируйте этот репозиторий:

    git clone https://github.com/DAlexis/caustic-lasertag-system.git

  • Перейдите в папку cpp-sources:

    cd caustic-lasertag-system/cpp-sources

  • Инициализируйте и загрузите подмодуль, содержащий загрузчик:

    git submodule init && git submodule update

  • Запустите build.sh для сборки в режиме build, или build.sh release для сборки в release

Теперь, чтобы запрограммировать устройство:

  • Подключите программатор к плате устройства и к компьютеру. Включите питание устройства

  • Чтобы прошить основную программу, наберите

    flash-universal-device.sh

  • Чтобы прошить загрузчик:

    flash-bootloader.sh Чтобы прошить программу, собранную в release, добавьте параметр release к каждому из скриптов.

    ВАЖНО: При прошивке загрузчика стирается всё, что до этого было зашито в контроллер. Поэтому после прошивки загрузчика нужно сделать следующее: переименовать universal-device.bin в flash.bin и положить в корень sd-карты (это можно сделать, просто подключив устройство по USB к компьютеру). После перезагрузки устройства загрузчик автоматически зальет прошивку в контроллер. Вообще говоря, можно вообще не использовать загрузчик.

  • Скопируйте необходимое содержимое на sd-карту. Например, если устройство --- это оружие игрока, скопируйте всё содержимое sdcards/rifle на карту устройства. Именно так прошивка поймёт, "кем быть".

Parts

268
QtyValueFootprintReferences
32WHOLES-LINE-3components:wholes-line-3wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes, wholes +16
230.1uFCapacitors_SMD:C_0805C1, C1, C1, C1, C1, C1, C1, C2, C2, C2, C2, C2, C2, C2, C10, C11 +7
2110kResistors_SMD:R_0805R4, R4, R4, R4, R4, R4, R4, R5, R13, R14, R15, R17, R19, R20, R22, R23 +5
21150Resistors_SMD:R_0805R1, R1, R1, R1, R1, R1, R1, R2, R2, R2, R2, R2, R2, R2, R3, R3 +5
14BUSPin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmP1, P1, P1, P1, P1, P1, P1, P2, P2, P2, P2, P2, P2, P2
11Q_NMOS_GSDTO_SOT_Packages_SMD:SOT-23Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q2, Q2, Q3, Q3
8NCP551TO_SOT_Packages_SMD:SOT-23-5U1, U1, U1, U1, U1, U1, U1, U4
70.1Capacitors_SMD:C_0805C2, C3, C4, C5, C8, C9, C17
7100uFCapacitors_Tantalum_SMD:CP_Tantalum_Case-B_EIA-3528-21_ReflowC3, C3, C3, C3, C3, C3, C3
7STM32F030F4PxHousings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mmU2, U2, U2, U2, U2, U2, U2
7SWDPin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmP3, P3, P3, P3, P3, P3, P3
7TSOP4856Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmT1, T1, T1, T1, T1, T1, T1
7V+Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmP8, P8, P8, P8, P8, P8, P8
7V-Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmP9, P9, P9, P9, P9, P9, P9
6IRLML2502TO_SOT_Packages_SMD:SOT-23Q2, Q3, Q4, Q5, Q6, Q7
547kResistors_SMD:R_0805R1, R2, R3, R4, R5
5RGB-LEDLEDs:LED_WS2812-PLCC6U3, U3, U3, U3, U3
4100uFCapacitors_Tantalum_SMD:TantalC_SizeB_EIA-3528_ReflowC1, C12, C13, C16
220pFCapacitors_SMD:C_0805C6, C7
23.3kResistors_SMD:R_0805R25, R26
2470Resistors_SMD:R_0805R9, R11
2I2C displaySocket_Strips:Socket_Strip_Straight_1x04P13, P14
2IRLEDs:LED_D5.0mmD1, D1
2PA0Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmP4, P4
2PA1Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmP5, P5
2PA10Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmP7, P7
2PA3Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmP6, P6
2RGBLEDs:LED_WS2812-PLCC6U3, U3
2R_LEDResistors_SMD:R_0805R6, R6
2R_loadResistors_SMD:R_0805R8, R8
10.015uFCapacitors_SMD:C_0805C18
10.47uFCapacitors_SMD:C_0805C19
11.5kResistors_SMD:R_0805R8
1100Resistors_SMD:R_0805R12
12kResistors_SMD:R_0805R10
14.7uFCapacitors_SMD:C_0805C14
18MHzCrystals:Crystal_HC49-U_VerticalY1
1ChrgLEDs:LED_0805D1
1DBGLEDs:LED_0805D2
1DEBUG_TXPin_Headers:Pin_Header_Straight_1x02P7
1FLASHPin_Headers:Pin_Header_Straight_1x01P15
1FirePin_Headers:Pin_Header_Straight_1x01P8
1G B VccPin_Headers:Pin_Header_Straight_1x03P3
1GNDPin_Headers:Pin_Header_Straight_1x03P19
1IRLML6402TO_SOT_Packages_SMD:SOT-23Q1
1IR_LEDPin_Headers:Pin_Header_Straight_1x02P17
1MCP73831TO_SOT_Packages_SMD:SOT-23-5U3
1MICROSD-SDIO-CDcomponents:MICROSD-CD-112J-WHP1
1NRF24L01components:NRF24L01-miniP4
1PAM8403SMD_Packages:SO-16-NU5
1RC522Socket_Strips:Socket_Strip_Straight_1x08P10
1ReloadPin_Headers:Pin_Header_Straight_1x01P9
1STM32F103REHousings_QFP:LQFP-64_10x10mm_Pitch0.5mmU1
1SWDPin_Headers:Pin_Header_Straight_1x04P2
1S_A_M1_M2Pin_Headers:Pin_Header_Straight_1x04P6
1Speaker1Pin_Headers:Pin_Header_Straight_1x02P11
1Speaker2Pin_Headers:Pin_Header_Straight_1x02P12
1TTLPin_Headers:Pin_Header_Straight_1x01_Pitch2.00mmP20
1USBLC6-4TO_SOT_Packages_SMD:SOT-23-6U2
1USB_AConnect:USB_BP5
1USB_OTGConnect:USB_Micro-BP18
1VIBROPin_Headers:Pin_Header_Straight_1x01P16
1lev1Resistors_SMD:R_0805R16
1lev2Resistors_SMD:R_0805R18
1lev3Resistors_SMD:R_0805R21
1lev4Resistors_SMD:R_0805R24

The 259 most common of 268 parts.

More from DAlexis/caustic-lasertag-system

12
  • 2 layers77.5 × 97.1 mmRifle mono v1-panelized, the printed circuit board in 3D

    Rifle mono v1-panelized

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    237 parts16
  • 2 layers92.5 × 96 mm10x10, the printed circuit board in 3D

    10x10

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    176 parts16
  • 2 layers267.7 × 109.1 mmUniversal dev v1-r1-append, the printed circuit board in 3D

    Universal dev v1-r1-append

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    165 parts16
  • 2 layers90.4 × 95.5 mmHead rifle round sensors, the printed circuit board in 3D

    Head rifle round sensors

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    149 parts16
  • 2 layers92.4 × 98.9 mmFixed hs g431-tube sensors, the printed circuit board in 3D

    Fixed hs g431-tube sensors

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    149 parts16
  • 2 layers78.1 × 85.7 mmHs mono g431-panelized, the printed circuit board in 3D

    Hs mono g431-panelized

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    112 parts16
  • 2 layers92.8 × 58.1 mmRound sensors usb, the printed circuit board in 3D

    Round sensors usb

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    102 parts16
  • 2 layers88.8 × 30 mmRifle mono v1, the printed circuit board in 3D

    Rifle mono v1

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    88 parts16
  • 2 layers50 × 50 mmSensor module, the printed circuit board in 3D

    Sensor module

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    80 parts16
  • 2 layers61.3 × 34.3 mmRifle shield, the printed circuit board in 3D

    Rifle shield

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    62 parts16
  • 2 layers61.3 × 34.3 mmUniversal dev v1-r1, the printed circuit board in 3D

    Universal dev v1-r1

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    60 parts16
  • 2 layers78 × 41 mmHs mono g431, the printed circuit board in 3D

    Hs mono g431

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    57 parts16

Similar boards

  • 4 layers49.6 × 49 mmIR PCB, the printed circuit board in 3D

    IR PCB

    Kreyl/IR_PCB

    IR TX/RX PCB for competitions

    128 parts
  • 4 layers53.2 × 138.8 mmSndLocket, the printed circuit board in 3D

    SndLocket

    Kreyl/LocketSound

    226 parts
  • 2 layers99.4 × 60.2 mmTeslaBMBCheck, the printed circuit board in 3D

    TeslaBMBCheck

    svpetry/TeslaBMBCheck

    Simple device that reads the voltage levels and temperatures from a Tesla Model S BMB board.

    42 parts1
  • 2 layers50 × 30 mmRGBW Controller, the printed circuit board in 3D

    RGBW Controller

    OliverHi/RGBW-Controller

    A RGBW Led Controller

    18 parts3
  • 2 layers61.5 × 105.3 mmTimekillerXtreme, the printed circuit board in 3D

    TimekillerXtreme

    stanislavbrtna/SDA_Wonder_HW

    Hardware part of the SDA Project.

    114 parts8
  • 4 layers60 × 28 mmRailLink, the printed circuit board in 3D

    RailLink

    Misaka0x2730/RailLink

    Compact isolated version of J-Link v9.

    83 parts134
  • 4 layers122.2 × 115.1 mmScan controller kicad, the printed circuit board in 3D

    Scan controller kicad

    fwachsmuth/Filmkorn-Raw-Scanner

    The Filmkorn Raw Scanner, turning 8mm and 16mm films into lossless 12-bit CinemaDNG

    170 parts13MIT

Questions

How big is the Rifle and sensors PCB?

It measures 92.5 × 82.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Rifle and sensors use?

268 parts, built around the STM32F103RET6, NRF24L01, PAM8403 and MCP73831. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Rifle and sensors KiCad files?

From the DAlexis/caustic-lasertag-system repository on GitHub, at the commit this page was made from: the board is schematic/grouped-boards/rifle-sensors/rifle-and-sensors.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Rifle and sensors design in my own project?

Its repository states no licence, so its author keeps all rights: ask DAlexis before reusing the design.