Skip to content

Latest commit

 

History

91 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

foss-box

A fencing scoring machine based on the Pimoroni Interstate75W (RP2350) driving a 64x32 HUB75 LED matrix.

About

Fencing scoring machines are expensive. The little SG boxes have gotten to be $400+ and those are as basic as they get.
I wanted to make an open source scoring machine for club use that is feature-rich! The FossBox can function as a simple scoring box, a scoring machine with timer and score controlled by a ref via their phone, or a box with score and time that two fencers can use on their own with no ref (work in progress at the time of writing)!

I am also tired of everyone trying to make a quick buck off a piece of new shiny fencing tech. That's why this is all open source. All the electronics can be bought for ~$70 and some pieces, like the floor cord plugs, can be things you already have lying around. My first proof of concept box used spare epee sockets to connect the floor cords and epee socket arms as a stand. (Fun fact, most epee socket screws are M3, which is the same threads as the mounting holes on the back of the LED matrix.)

Note: At the time of writing the FossBox is epee only.

Requirements

  • Python
  • Interstate75W (RP2350) or Adafruit Matrix Portal S3
    • Note: The I75W seems to be hard to find in the US currently. I was only able to find one at a local Microcenter. You can order from their site, but you'll be hit by tariffs.
    • Note part 2: the FossBox was originally written for the I75W. Any new features will likely be written for that board first.
  • 64x32 HUB75 LED matrix panel
  • USB C cable
  • 2x epee sockets (or 4mm banana sockets)

Setup

1. Edit the config

Make any changes to Config.py that you need. Most likely you'll need to change the GPIO pins for the weapon and bells.

I would also recommend changing BLUETOOTH_ID if you have more than one box

2. Get your controller ready

2a. Pimoroni Interstate75W

  1. Download Pimoroni's custom MicroPython firmware for the RP2350 from their GitHub releases page - look for a file targeting the Interstate75W.
  2. Hold the BOOT button and plug in USB - the board mounts as a mass storage drive.
  3. Drag the .uf2 onto the drive; it will reboot automatically.

2b. Matrix Portal S3

  1. Download the CircuitPython .uf2 for the Matrix Portal S3 from circuitpython.org.
  2. Double-tap the reset button - the board mounts as MATRIXBOOT.
  3. Drag the .uf2 onto the drive; it reboots as a CIRCUITPY drive.

3. Flash the FossBox code

3a. Pimoroni Interstate75W

  1. In src/main.py, uncomment PimoroniI75 and comment out MatrixPortalS3.
  2. Copy the contents of lib/pimoroni-i75w/ to the /lib directory on the board.
  3. Copy all .py files from src/ to the root of the board. The src/pwa/ folder is the web remote only - it does not go on the board.

3b. Matrix Portal S3

  1. In src/main.py, confirm MatrixPortalS3 is uncommented (it is by default).
  2. Copy the contents of lib/adafruit-metro-portal-s3/ to the /lib directory on the board.
  3. Copy the fonts from fonts/ in this repo to a /fonts directory on the board (create it if it doesn't exist).
  4. Copy all .py files from src/ to the root of the board, except boot.py - that file is Pimoroni-specific and will cause an error on CircuitPython. The src/pwa/ folder is the web remote only - it does not go on the board.

Third-party credits

About

FOSS Fencing scoring machine

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages