Skip to content

gittyeric/cheesebox

Repository files navigation

🕹️🧀🧀 Cheesebox 🧀🧀🕹️

NeedMorePower

The cheesebox exists for 1 reason: be as cheap at fighting games as possible 🧀

Cheesebox Main

Cheesebox is a kit to hack an existing leverless (or hitbox-style) arcade fight stick into an automated macro stick by physically middle-manning the joystick's buttons and letting the "Cheese board", a cheap Arduino ESP32, have final say over what your off-the-shelf hacked joystick sees through the use of MOSFET N-Channel transistors to hack simulated button presses. Instant microwave cheese!

In pursuit of maximum FG cheapness, an optional ergonomic topper and base plate design that will intimidate your opponents to get every possible unearned edge is provided so your hands won't strain as they command your cheeseboard's superior robotic execution to troll the opposition. Don't bring a knife to a cheese fight!

Marvel vs Capcom 3 is provided as the sample macro program because MvC3 is 100% about who has the cheapest and least dignified execution, and your game will be a small subset of the variety of cheese in MvC3, so your customization work should be nearly as easy as stripping down the MvC modes.


📦 Kit Components

The Cheesebox kit comes in optional components that all work together:

  • Firmware — Arduino "firmware" code to mirror player input and/or overrule the player during automated macros. (Uses MvC3.ino as the base example). This lets you define your own games' hacky macros so you never touch the hardware again.
  • Electronics — The "electronics wiring schema". covers the handful of basic electronics required to man-in-the-middle your favorite controller with robotic smarts.
  • Print — A custom CAD-"printed topper" for ergonomic arcade button placement and a matching cheesy baseplate. In this position medium to large hands can optimally mash the cheapest moves more accurately than standard 2x6 arcade button layouts.
  • Custom Art — Custom "Baseplate art generator pipeline" via ComfyUI. Lets you locally AI-generate baseplate art for 3D printing by generating SVGs that can be included on your baseplate. Requires a decent GPU with sufficient VRAM.

🖐️ Ergonomics

Cheesehand Preview

The optional Death Mittens topper keeps your fingertips naturally as close as possible to the buttons without going full blown ergonomic overkill and up to 20 symmetric buttons. The finger lane dividers prevent accidental button presses while allowing your hand to glide across the surface.


🔧 Firmware

The firmware directory contains the Arduino ESP32 firmware that runs on the Cheeseboard. The included MvC3.ino is a fully-featured MvC3 macro example demonstrating movement macros (Plink Dash, Chicken Mode, Moonwalk, Dashbag, Mash) and taunting macros (Teabag, Triangle Jump). It uses digitalWriteFast.h for near-zero-latency I/O, continuously mirroring player inputs and injecting macro overrides via the dual-pin (rPin/wPin) architecture.

MvC3 Button Mapping

Button Action
SQUARE Light (L)
TRIANGLE Medium (M)
CIRCLE Heavy (H)
X Special (also activates flight)
L1 Assist 1
R1 Assist 2

Modifier Pins

Pin GPIO Function
PlinkPin 48 Held to trigger plink dashes
ChickenPin 13 Held to trigger smooth/cowardly modes

Chicken Mode Features

While holding ChickenPin:

  • Sloppy Circle Inputs — Real-time 4-way direction buffering with auto-injection of intermediates; action buttons buffered until reaching a 4-way direction
  • Shoryuken Shortcut — LEFT/RIGHT + action automatically queues DOWN → FORWARD motion
  • Super Special Mash — Hold SQUARE+TRIANGLE+CIRCLE+DOWN (L+M+H+Down) to rapidly alternate all three attack buttons
  • Taunt Loop — Hold DOWN+LEFT+RIGHT+L3: neutral teabags, LEFT/RIGHT moonwalks, LEFT/RIGHT+DOWN dashbags
  • Triangle Jump — Press L3 to perform a superjump forward followed by MH air dash

See the Firmware README for the full developer guide: timing constants, input mirroring, player lockout, macro authoring, and key function reference.

⚡ Electronics

The electronics wiring schema describes how to wire your fight stick for Cheeseboard control. Each of the 14 buttons is routed through an N-Channel MOSFET (e.g. RFP30N06LE) with a 220KΩ gate resistor, letting the ESP32 mirror player inputs and inject its own signals directly at the hardware level — no USB HID emulation, sub-millisecond latency.

See the Electronics README for the full component list, ESP32 pin mapping, wiring instructions, and MOSFET circuit details.

🖨️ Print

The print directory contains CAD files for 3D printing custom components.

Custom Topper

A ergonomic arcade button topper that replaces the standard leverless layout with optimized button placement for macro execution.

Baseplate

A matching baseplate that covers any of your old joystick's holes in it's baseplate, with custom art (or the default cheese and skulls) if you choose to generate it.

STL Files

Download the STL files for 3D printing your custom components:

Component File Description
Stacked Bracket StackedBracket.stl Multi-layer bracket designed for clean cable routing and organization — keeps wires tucked and protected
Hitox Bracket HitoxBracket.stl Alternative bracket profile offering different mounting flexibility and wire management options
Baseplate Left BaseplateLeft.stl Left side decorative baseplate — features customizable cheese/skull art or your own design for personal flair
Baseplate Right BaseplateRight.stl Right side decorative baseplate — matches the left for symmetrical coverage of mounting holes
Hitsphere Left HitsphereLeft.stl Ergonomic concave sphere for the left side of the ergo topper — optimized for palm comfort during macro execution
Hitsphere Right HitsphereRight.stl Ergonomic concave sphere for the right side of the ergo topper — mirrors the left for balanced hand feel

🎨 Baseplate Art

The art directory contains the ComfyUI workflow and pipeline for generating custom baseplate art. Generate locally AI-generated SVG art for your baseplate using the z_image model — no cloud required.

See the Art README for the full pipeline walkthrough, prompt tips, and model download links.


License

See LICENSE for more about how only I'm allowed to use this and not you, that's the whole point of a cheesebox, is being cheap. If you had this too I wouldn't have the advantage and then I'd have to make a Cheesebox v2 or something and also publish it under a closed source license so you couldn't do it again. If I see you using this online ESPECIALLY any MvC or SF games and ESPECIALLY on Playstation I will pursue damages proportional to my losses. If I win, I'll just laugh and you'll feel bad you have no right to sue because it is he who cuts the cheese who has the knife.

🤝 Contributing

Pull requests welcome I guess! This will however make me suspect you're actually using this in which case I will sue you as the LICENSE warns, especially if I see you on Playstation.

Here's to your double 🧀🧀

About

The cheapest fighting controller imaginable

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages