Skip to content

Latest commit

ย 

History

History
375 lines (282 loc) ยท 14.1 KB

File metadata and controls

375 lines (282 loc) ยท 14.1 KB

Note

If you enjoy this Aimmy fork with Kmbox support, please consider giving us a star โญ! We appreciate it! :)

Aimmy v2 - Ferrum (Kmbox) Fork

Aimmy is a universal AI-Based Aim Alignment Mechanism developed by BabyHamsta, MarsQQ & Taylor to make gaming more accessible for users who have difficulty aiming.

This is a community fork that adds Ferrum (Kmbox) hardware support to Aimmy v2, providing hardware-level mouse control for enhanced precision and compatibility.

Unlike most AI-Based Aim Alignment Mechanisms, Aimmy utilizes DirectML, ONNX, and YOLOV8 to detect players, offering both higher accuracy and faster performance compared to other Aim Aligners, especially on AMD GPUs. This fork extends that functionality with direct Kmbox API integration for hardware mouse control.

Aimmy also provides an easy to use user-interface, a wide set of features and customizability options which makes Aimmy a great option for anyone who wants to use and tailor an Aim Alignment Mechanism for a specific game without having to code.

Aimmy is 100% free to use. This means no ads, no key system, and no paywalled features. Aimmy is not, and will never be for sale for the end user, and is considered a source-available product, not open source as the original developers actively discourage other developers from making commercial forks of Aimmy.

Original Aimmy: https://github.com/BabyHamsta/Aimmy
Official Discord: https://discord.gg/aimmy
Official Website: https://aimmy.dev/


๐ŸŽฏ Kmbox Fork Features

This fork adds the following hardware integration features:

๐Ÿ”ง Ferrum (Kmbox) Support

  • Hardware Mouse Control: Direct communication with Ferrum/Kmbox devices via serial
  • Low Latency: Hardware-level mouse movement bypassing Windows mouse input
  • Multiple Device Support: Compatible with Ferrum, MAKCU, and other Kmbox variants
  • Auto-Detection: Automatic COM port scanning and device recognition

๐Ÿ–ฑ๏ธ Enhanced Mouse Methods

  • Fire-and-Forget Commands: Optimized mouse movement without response waiting
  • Precise Control: Hardware-level pixel-perfect mouse positioning
  • Click Support: Full mouse button support (left, right, middle, side buttons)
  • Real-time Communication: Direct serial communication at 115200 baud

โš™๏ธ Configuration System

  • JSON Configuration: Easy-to-edit device settings
  • Auto-Configuration: Automatic config generation with safe defaults
  • Device Profiles: Support for multiple device configurations
  • Diagnostic Tools: Built-in connection testing and validation

๐Ÿ“‹ Table of Contents


Kmbox Fork Setup

Prerequisites

  • Hardware: Ferrum (Kmbox) or compatible device
  • Software: All original Aimmy requirements (see below)
  • Permissions: Administrator privileges for serial port access

Installation Steps

  1. Install Original Requirements

  2. Hardware Setup

    • Connect your Ferrum (Kmbox) device via USB-C
    • Note the assigned COM port (usually COM3 or COM4)
    • Ensure device drivers are properly installed
  3. Download and Run

    • Download this Kmbox fork from releases
    • Extract the Aimmy.zip file
    • Run Aimmy.exe as Administrator (required for serial port access)
  4. Configure Mouse Method

    • Launch Aimmy v2
    • Navigate to Settings โ†’ Mouse Movement Method
    • Select "Ferrum (Kmbox)"
    • Check logs for successful connection

๐Ÿ› ๏ธ Building from Source

Prerequisites for Building

  1. Development Environment

    • Visual Studio 2022 or later
    • .NET 8.0 SDK
    • Git for version control
  2. Required Runtime Dependencies The following DLL files are REQUIRED for AI functionality and are included in the Dependencies/ folder:

    File Purpose Notes
    onnxruntime.dll ONNX Runtime core library AI model execution
    onnxruntime_providers_shared.dll ONNX providers (DirectML/CUDA) Hardware acceleration
    DirectML.dll DirectML support for AMD GPUs GPU-accelerated inference

Build Instructions

  1. Clone the Repository

    git clone https://github.com/MansHeree/Arduino-EditionV2.git
    cd Arduino-EditionV2
  2. Copy Runtime Dependencies After building, copy the required DLLs from Dependencies/ to your output directory:

    โ”œโ”€โ”€ bin/Debug/net8.0-windows/
    โ”‚   โ”œโ”€โ”€ Aimmy2.exe
    โ”‚   โ”œโ”€โ”€ onnxruntime.dll          โ† Copy from Dependencies/
    โ”‚   โ”œโ”€โ”€ onnxruntime_providers_shared.dll โ† Copy from Dependencies/
    โ”‚   โ””โ”€โ”€ DirectML.dll             โ† Copy from Dependencies/
    
  3. Build the Project

    dotnet build --configuration Release
  4. Copy Dependencies Post-Build

    # Copy to Release output
    copy Dependencies\*.dll bin\Release\net8.0-windows\
    
    # Or for Debug builds
    copy Dependencies\*.dll bin\Debug\net8.0-windows\

โš ๏ธ Important Notes for Builders

  • Missing DLLs = No AI: Without these DLLs, the AI detection will not work
  • Version Compatibility: These DLLs are specifically compatible with this build
  • Manual Copy Required: You must manually copy the DLLs after building
  • Administrator Required: Run the built executable as Administrator for Ferrum support

Alternative: Automated Post-Build

You can add a post-build event in Visual Studio to automatically copy the dependencies:

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
  <Exec Command="xcopy &quot;$(ProjectDir)Dependencies\*.dll&quot; &quot;$(OutDir)&quot; /Y" />
</Target>

Add this to your .csproj file to automatically copy DLLs after each build.


Ferrum Configuration

๐Ÿ”ง Configuration File Location

C:\Users\YOUR USER\AppData\Roaming\Aimmy2\Ferrum\ferrum_config.json

๐Ÿ“ Default Configuration

When you first select Ferrum (Kmbox), Aimmy will automatically create a configuration file. You can edit this file to match your specific setup:

{
  "ComPort": "COM3",
  "BaudRate": 115200,
  "TimeoutMs": 500,
  "EnableDiagnostics": true,
  "EnableLogging": true,
  "Protocol": {
    "CommandPrefix": "",
    "LineTerminator": "\r\n",
    "ResponseTimeout": 250,
    "MaxRetryAttempts": 1,
    "KeepAliveInterval": 5000
  },
  "Diagnostics": {
    "EnableLatencyMeasurement": true,
    "EnableThroughputTesting": true,
    "SampleSize": 100,
    "TestInterval": 1000,
    "LogDetailedMetrics": false
  }
}

โš™๏ธ Key Settings to Adjust

Setting Description Common Values
ComPort Your device's COM port COM3, COM4, COM5
BaudRate Communication speed 115200 (Ferrum), 57600 (older devices)
TimeoutMs Command timeout 500 (fast), 1000 (slower devices)

๐Ÿ” Finding Your COM Port

  1. Open Device Manager
  2. Expand "Ports (COM & LPT)"
  3. Look for your Kmbox device (usually shows as "USB Serial Port")
  4. Note the COM port number (e.g., COM3)
  5. Update the ComPort setting in the config file

What is the purpose of Aimmy?

Aimmy was designed for Gamers who are at a severe disadvantage over normal gamers.

This includes but is not limited to:

  • Gamers who are physically challenged
  • Gamers who are mentally challenged
  • Gamers who suffer from untreated/untreatable visual impairments
  • Gamers who do not have access to a separate Human-Interface Device (HID) for controlling the pointer
  • Gamers trying to improve their reaction time
  • Gamers with poor Hand/Eye coordination
  • Gamers who perform poorly in FPS games
  • Gamers who play for long periods in hot environments, causing greasy hands that make aiming difficult

This Kmbox fork additionally helps:

  • Users requiring hardware-level mouse control
  • Users with software mouse input restrictions
  • Users seeking maximum precision and minimal latency

How does Aimmy Work?

flowchart  LR
A["Playing Game System"]
C["Screen Grabbing Functionality"]
B["YOLOv8 (DirectML + ONNX) Recognition"]
D{Making Decision}
DA["X+Y Adjustment"]
DB["FOV"]
E["Triggering Functionality"]
F["Hardware Mouse Control"]
G["Ferrum/Kmbox Device"]

A --> E--> C  -->  B  --> D --> F --> G
DA  -->  D
DB  -->  D
Loading

When you press the trigger binding, Aimmy will capture the screen and run the image through AI recognition powered by your computer hardware. The result it develops will be combined with any adjustment you made in the X and Y axis, and your current FOV and will result in direct hardware commands sent to your Ferrum/Kmbox device for precise mouse control.


Features

  1. Full Fledged UI

    • Aimmy provides a well designed and full-fledged UI for easy usage and game adjustment.
  2. DirectML + ONNX + YOLOv8 AI Detection Algorithm

    • The use of these technologies allows Aimmy to be one of the most accurate and fastest Aim Alignment Mechanisms out there in the world
  3. Hardware Mouse Control (Kmbox Fork)

    • Direct Ferrum/Kmbox device communication for hardware-level mouse control
    • Support for multiple Kmbox device types and variants
    • Real-time serial communication with automatic device detection
  4. Dynamic Customizability System

    • Aimmy provides an interactive customizability system with various features that auto-updates the way Aimmy will aim as you customize. From AI Confidence, to FOV, to Anti-Recoil Adjustment, Aimmy makes it easy for anyone to tune their aim
  5. Dynamic Visual System

    • Aimmy contains a universal ESP system that will highlight the player detected by the AI. This is helpful for visually impaired users who have a hard time differentiating enemies, and for configuration creators attempting to debug their configurations.
  6. Adjustable Anti-Recoil

    • Aimmy offers an incredibly customizable Anti-Recoil system that's designed to be easy to use. With features like recording your Fire Rate, setting your X and Y adjustment, and Configuration Switch Keybindings
  7. Enhanced Mouse Movement Methods

    • Ferrum (Kmbox): Hardware-level mouse control via serial communication
    • Automatic device detection and configuration
  8. Hotswappability

    • Aimmy lets you hotswap models and configurations on the go. There is no need to reset Aimmy to make your changes
  9. Model and Configuration Store with Repository Support

    • Aimmy makes it easy to get any models and configurations you may ever need, and with repository support, you can get up to date with the latest models and configurations from your favorite creators

Device Compatibility

โœ… Supported Kmbox Devices

Device Status Protocol Baud Rate Notes
Ferrum (Kmbox) โœ… Fully Supported KM API 115200 Primary target device
MAKCU โœ… Compatible KM API 115200 Uses same command set
Legacy Kmbox โœ… Compatible KM API 57600/115200 May need baud rate adjustment
Generic Kmbox โš ๏ธ Untested KM API Variable Should work with standard API

๐Ÿ” Device Detection

The system automatically detects your device type using the km.version() command:

  • Ferrum: Returns "kmbox: Ferrum"
  • Legacy: Returns "kmbox: 2.0.0 Aug 31 2020 21:49:51"
  • MAKCU: Returns device-specific version string

Troubleshooting

โŒ Common Issues

Device Not Detected

  • โœ… Check USB connection and cable
  • โœ… Verify COM port in Device Manager
  • โœ… Run Aimmy as Administrator
  • โœ… Install device drivers if needed

Connection Timeout

  • โœ… Check baud rate setting (try 57600 if 115200 fails)
  • โœ… Verify device isn't used by other software
  • โœ… Edit config file: C:\Users\YOUR USER\AppData\Roaming\Aimmy2\Ferrum\ferrum_config.json

Mouse Not Moving

  • โœ… Verify device connection status in logs
  • โœ… Check for command echo in logs
  • โœ… Ensure proper COM port configuration
  • โœ… Test with device diagnostic tools

๐Ÿ”ง Configuration Reset

If you're having issues, delete the config file and restart Aimmy:

C:\Users\YOUR USER\AppData\Roaming\Aimmy2\Ferrum\ferrum_config.json

A new configuration with safe defaults will be automatically created.


How is this fork different from original Aimmy?

This fork maintains all the original Aimmy functionality while adding dedicated Ferrum (Kmbox) hardware support. The key differences:

  • Hardware Integration: Direct serial communication with Kmbox devices
  • Enhanced Precision: Hardware-level mouse control bypassing Windows input
  • Device Management: Automatic COM port detection and device configuration
  • Simplified Setup: Streamlined to focus on Ferrum/Kmbox compatibility

All original Aimmy features remain intact, including the AI detection, ESP system, anti-recoil, and model store.


Credits

Original Aimmy Development Team:

  • BabyHamsta
  • MarsQQ
  • Taylor

Kmbox Fork Contributions:

  • Community development for hardware integration
  • Ferrum API implementation and optimization

Special Thanks:

  • Ferrum development team for KM API documentation
  • Aimmy community for testing and feedback

Legal Notice

This fork is designed for:

  • Hardware Testing: Device functionality verification
  • Diagnostic Purposes: System performance analysis
  • Educational Use: Learning hardware communication protocols
  • Accessibility: Helping users with aiming difficulties

Use responsibly and in accordance with applicable laws and software terms of service.


Note: This is an unofficial community fork. For official Aimmy support, please visit the official Discord: https://discord.gg/aimmy

โšก