Git Product home page Git Product logo

mcu_game_timers's Introduction

MCU_Game_Timers

Recreation of the GamModEr foam-flinging oriented game timer, featured at https://gamemoderepository.wixsite.com/dart/koth-timer-v3

Keeps many of the core build concepts, but aims to introduce an upgrade to some of the hardware capabilities while streamlining the build.

Features

Revamped navigation and interface

The original buckets used a simple system to aim for lower complexity, relying on just the team buttons. I've decided that the increase in input complexity is a worthwhile cost to enhance the functionality of the ui. A rotary encoder is used for the majority of UI navigation with the team buttons being used solely for team selection. During a timed game mode the encoder can pause and resume the timer.

Consolidated construction

Core portions of the original design are maintained, such as usage of a 5gal bucket lid and a residential electrical gang box. My design aims to confine the majority of the components to inside of the electrical box "core", including even the bottoms of the team buttons. This enhances wire management and adds a layer of safety for both the integrity of the electrical connections and the person handling the timer. LED wires are the only outward-facing wires as the bucket lid inherently doesn't allow running them concealed.

CircuitPython vs C++/Arduino

This change is primarily due to my own coding ability, but also to make modifications, additions, and customizations easier on end-users. CircuitPython can be edited by as little as a text editor on a phone or tablet and allows for quick turnaround on changes. I've personally made changes to the code during an event and was able to add in a new mode with audio output before lunch. The basic version is currently built for a Pi Pico for cost and availability reasons, but the code is compatible with any CircuitPython capable board. The networked version is being built around ESP32-S3 boards for their proprietary ESP-NOW protocol and native USB, but should be compatible with any other CircuitPython ESP32 boards.


My code and designs included in this repo are licensed under CC4.0 CC-BY-NC-SA. Code references, libraries, and other non-original creations are under their original licenses and attributions.

mcu_game_timers's People

Contributors

donutcables avatar

Watchers

 avatar

mcu_game_timers's Issues

Todo list: Updates to Domination mode

TODO: Add option to return back to no team/green team from an active team in the case of a false start.
TODO: Add time remaining to end screen for versions that utilize it.

Todo list: "Undo input" button

TODO: Long-press option for single-sided modes to undo an input

  • Long press opposite team's button to decrement accidental input increment.

Todo list: Bucket audio output

TODO: Potentially add per-bucket speakers for better communication of game states with nearby players to final hardware revision

Todo list: Game mode end LED patterns

TODO: Better differentiation in LED patterns for modes with multiple possible end-states, such as Control having "bucket locked" and "time expired" end results

Todo list: KotH variation

TODO: Add KotH rotating variation:

  • 6min time
  • A, B, C bucket designations
  • Swap active bucket at 1min intervals

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.