Mace & Clubs
· v0.17.0
About
Keep your swing cadence without watching the screen. Mace and Clubs is a
metronome and interval timer built for steel mace, Indian club, and bulava
training, shaped by the way these implements are traditionally trained.
Set your tempo and the watch holds it with a wrist buzz (and an optional
beep). The first beat of each loop is accented, so you feel when to switch
sides instead of reading the screen.
Pick your implement, then your movement: 360 and 10-to-2 for the mace, mill
and shield cast for clubs, and mill, reverse mill, bullwhip, or the
traditional combination set for the bulava. Your choice is saved with every
work set in the activity.
The bulava Combo calls the whole sequence for you: mill, reverse mill, and
bullwhip on one hand, then the other. Each movement change gets an accented
pulse and the hand switch gets a distinct double pulse, with the current
hand and movement on screen. Beats per movement are configurable from your
phone.
Training the old way means giving each hand the same work: switch movement
or working side during any rest without leaving the session, and the
summary shows a left/right set balance at a glance.
Challenge presets bring the traditional timed test: 5 or 10 minutes of
continuous swinging with an on-watch swing counter powered by the
accelerometer. Detected swings show live while you work and are saved with
the activity per set and in total.
Also included:
- Metronome from 5 to 240 bpm, adjustable mid-workout; steady cadence or
the classic club 4-2 pattern
- Interval presets with work and rest, free training with explicit
work/rest phases, or a custom shape set from your phone or the watch
- Five-second start countdown and an advance warning before each work
interval
- Rounds, heart rate, and set count on screen while you train
- Saves to Garmin Connect as a strength activity: per-set movement, side,
implement weight, durations, and set count
- Optional on-watch smoothness score with a private 12-session trend;
nothing is uploaded
- Optional motion-capture logging records accelerometer data each second
for offline swing analysis
What's new
# Mace & Clubs v0.17.0: watches with no MENU button can now open settings and, during rest, change movement or side - tap the hint at the bottom of the screen
34 changes since v0.16.0 (2026-09-08).
## On the watch
- Watches with no MENU button can now open settings and, during rest, change movement or side - tap the hint at the bottom of the screen. Fixes a paused workout being saved when the screen said it would be discarded. ([#185](https://github.com/serroba/mace-clubs/pull/185))
- On the Instinct Crossover the watch hands move aside while the workout summary is up, so the numbers underneath stay readable. ([#181](https://github.com/serroba/mace-clubs/pull/181))
- The app now starts on the Descent G1 and Instinct Crossover too, which share that memory limit and the same reduced build. ([#174](https://github.com/serroba/mace-clubs/pull/174))
- The app now starts on Instinct 2, 2S and 2X. It ran out of memory on launch before, and those watches run a reduced build to fit: no history browser, on-watch workout editor or Connect motion charts. ([#172](https://github.com/serroba/mace-clubs/pull/172))
- Work intervals now show in colour on watches with colour displays. ([#166](https://github.com/serroba/mace-clubs/pull/166))
- Garmin Connect now charts each detected swing, not just the running total. ([#163](https://github.com/serroba/mace-clubs/pull/163))
- Fixed the swing cadence chart, which reported impossible values. ([#162](https://github.com/serroba/mace-clubs/pull/162))
- Smoothness is now called the Rhythm Score. ([#156](https://github.com/serroba/mace-clubs/pull/156))
- The app is now called Mace & Clubs everywhere it can be. ([#152](https://github.com/serroba/mace-clubs/pull/152))
## Tooling and tests
- Let a release note be corrected after its commit is written ([#186](https://github.com/serroba/mace-clubs/pull/186))
- Say what the reduced build costs, in the three places support is stated ([#184](https://github.com/serroba/mace-clubs/pull/184))
- Teach the driver to tap the screen, and take the only route seven watches have ([#183](https://github.com/serroba/mace-clubs/pull/183))
- Drive the Venu 4 too, for the four files it can run ([#182](https://github.com/serroba/mace-clubs/pull/182))
- Retry the simulator when it dies, and only then ([#180](https://github.com/serroba/mace-clubs/pull/180))
- Cover the last two screen widths, neither of which needed anything ([#179](https://github.com/serroba/mace-clubs/pull/179))
- Bring the vivoactive 4S in, which needed nothing ([#178](https://github.com/serroba/mace-clubs/pull/178))
- Ask the menus what they can show, and bring the Forerunners 55 and 945 in ([#177](https://github.com/serroba/mace-clubs/pull/177))
- Identify the pickers by their rows, not by a title Menu2 may not draw ([#176](https://github.com/serroba/mace-clubs/pull/176))
- Scroll to the side row on the shortest screen, rather than shortening it ([#175](https://github.com/serroba/mace-clubs/pull/175))
- Report the project's quality signals, and make the badges unable to lie ([#170](https://github.com/serroba/mace-clubs/pull/170))
- Drop the Cobertura writer, and with it the forked toolchain ([#169](https://github.com/serroba/mace-clubs/pull/169))
- Move to rafiki, the linter's replacement, and pick up two new rules ([#168](https://github.com/serroba/mace-clubs/pull/168))
- Take the Garmin credentials out of CI, now that the image carries the fonts ([#167](https://github.com/serroba/mace-clubs/pull/167))
- Show what the session turns into, using a real session ([#165](https://github.com/serroba/mace-clubs/pull/165))
- Draw the watch properly instead of clipping captures into octagons ([#164](https://github.com/serroba/mace-clubs/pull/164))
- Put the icon back on the site's palette, and make that a test rather than a claim ([#161](https://github.com/serroba/mace-clubs/pull/161))
- Redress the website as a lamplit pit, not a cream template ([#160](https://github.com/serroba/mace-clubs/pull/160))