RX-Modulus (Completely Modular Mouse)

Finally a mouse that can be freely changed, fixed and upgraded suit the user.

Similar projects worth following
Project Story:
The inspiration for the mouse project came about as a direct result of our dissatisfaction with mice presently available on the market. With stale, recycled features that haven't changed in years and shapes that don t really fit all hand sizes, I was left feeling underwhelmed and left many shops empty handed, only to settle on a mouse that felt more like a stepping stone than a forever mouse. This was 3 years ago.

Project Now:
During these 3 years I have been slowly developing this project. I've been though many reviews and start-overs but now I believe I've ended up on the right track. This mouse finally has the capability to be freely changed, fixed and upgraded suit the user. I'm now ready to show this to the great Hackaday community to assistant me in developing this further.


RX-Modulus is an opensource fully modular computer mouse that strives to innovate and empower users and the community to have better than what currently available to purchase. No more do you 'have to get used to' a mouse. RX-modulus allows the user to fully customise their mouse to suit them. The module system allows for different mouse configurations and end user experiences. All modules can be upgraded when required or changed to suit the users budget.

Adjustable Shape:

The RX-modulus allows the mouse to be positioned to suit the users hand in their ideal comfortable position. This system has been built into all modules which enables multiple mouse grip styles to be employed. The panel system is used to define the mouses final shape. The mouse is also compatible with different hand sizes, see the project log: for full details. 

The RX-modulus also allows for mouse grips to be used.

The Panel System: (Developing)

The Panel System is used to define the final shape of the mouse. This system has been developed into all modules and cores. There will be three starter panel sets to choose from (which still need to be designed), additional sets can be printed but my goal is to empower the community to design and share their mouse panel sets which in turn enriches the mouse experience. See the project log for the first draft of the panel system take shape. The the first prototype shell please see the following log:

Current Modules:

There are currently three modules  in development which are:

  1. Touch-D & Basic Click Variant
    1. Touch-D variant enables custom TFT display interfacing and capacitive positioning to enrich and enhance interfacing capabilities. 
    2. Basic Click variant would be the normal click interface all mouse interfaces have.
  2. SMART Scroll Module
    1. Adjustable scroll feedback.
    2. Replaceable adjustable feedback plate.
    3. Contact less positioning for absolute positioning and  operational longevity. 
  3. Laser/Optical Positioning Sensor
    1. Allows the user to swap and change the sensor whenever required.

All Modules support the 'Side Pack Module System' which allows for additional functionality to be added, like for example internet page back and forward. Please see the project log: for a sneak peak at the Side Module Connection Pack and Side Module Click Pack.

Hardware & Right to Repair:

All the hardware used on the RX-modulus is 100% built from scratch. This is to ensure a high level of reliability and as we are sworn enemies of planned obsolescence and  have designed the hardware to last as long as possible which is good for your pocket and the environment. With us having complete control over the build of the hardware we can ensure that this mouse is the first mouse designed to be repair friendly. All hardware schematics will be released after a complete system and module performance test has been completed.


The software will of course be open-source. There will be a official full release for every element of this project after a complete system and module performance test has been completed. This to ensure that 'you' the user are using tried and tested software.

How does our idea benefit those with cerebral palsy or other physical disabilities?

The target audience for the modular mouse is ‘everyone’. However, the flexibility and modularity that benefits everyday users and even hard core gamers could also be highly beneficial to those with minor disabilities. People with physical disabilities...

Read more »


Full Input and Output Specifications of the RX-Modulus Project

x-zip-compressed - 1.60 MB - 10/04/2020 at 17:47


  • Full Status Update

    benw10/05/2020 at 13:07 0 comments

    Overall Progress:

    Certainly not far off from the production version now. All of the activates remaining are firmware features to improve the product. So when launched it will have a rich feature set.  

    Core Unit:

    Basic-Click & Touch-D Modules:

    SMART Scroll Module:

    Wired Adaptive Interface Module:

    Sensor Module:

  • Show & Tell Time

    benw10/05/2020 at 12:31 0 comments

    As there is certainly not enough space on the project page gallery how are the current pictures of the prototype RX-Modulus Project. Internal pictures and breakdowns can be found in the following: Here

    Now without further ado, let me introduce you to the RX-Modulus Prototype. 

    With Shell Elements:

    No Shells:

    All ready to go:

  • Prototype to Production Cost Estimates

    benw10/05/2020 at 11:09 0 comments

    Its time to talk about cost.

    Throughout development of this project, my objective has been to create something innovative that will improve the quality of life for everyone in order to realistically make my project available to any who will benefit, With that said I prioritized affordability and functionality. 

    To get an idea of many many parts makeup the RX-Modulus system I would like have a look at the detailed Components List with Exploded Assemblies

    Initial estimates for pricing at different quantities. These prices will hopefully reduce when optimizing/redesigning the current design for production.

    Basic-Click Module:

    ~ 100 units~ 500 units~ 1000 units

    Touch-D Module:

    ~ 100 units~ 500 units~ 1000 units

    SMART Scroll Module:

    ~ 100 units~ 500 units~ 1000 units

    Wired Adaptive Interface Module:

    ~ 100 units~ 500 units~ 1000 units

    Side Button Module: (With Side Base Connector)

    ~ 100 units~ 500 units~ 1000 units

    Sensor Module:

    ~ 100 units~ 500 units~ 1000 units

    Core Unit: (With production Core Interface PWA)

    ~ 100 units~ 500 units~ 1000 units

    Panel Set (Method of manufacture to be chosen)

    ~ 100 units~ 500 units~ 1000 units

    Pricing up example:

    3x Basic-Click, 1x SMART Scroll, 1x Sensor Module and 1x Core unit could cost: (The shells are 3D printed by the user in this example)

    ~ 100 units~ 500 units~ 1000 units

    The RX-modulus can be configurated and updated the suit the users budget and requirements. The price may seem on the high side but to introduce a quality product to the market with a high level of  responsive support. The sale price must be at least somewhat higher than the raw manufacturing cost. This cost will also cover ongoing development/improvements to both hardware and software, which enriches the RX-Modulus ecosystem.

    Of course there is another method we could use to make each element of the project cheaper and that is to offer the users chosen configuration as a kit which they can fully assemble. Just like some of the 3D printers on the market. Just like hardware on the market today products must be made in the thousands to achieve a respectable price.

  • Prototyping to Production Version

    benw10/04/2020 at 21:07 0 comments

    The time has come to discuss how to go from prototype to the production version.

    Plastic/Resin Parts:

    At the moment all the prototype parts have been 3d printed in both ABS plastic and resin. For the production version there are a few ways we could go:

    1. Keep the parts 3D printed
      1. This lets us make small changes without manufacturing an new mould.
      2. Lets users print spare parts if broken.
    2. Parts injection moulded
      1. An element of redesign would have to be done to make the 3D printed parts injection friendly
      2. This will certainly decrease part cost of Qty of 1000.
    3. Hybrid design
      1. Have all Major parts injection moulded that won't be changed in the future.
      2. Have all other parts 3D printed, on a industrial scale. 

    While we mature this design to the production level we will have a better idea of which method to take.

    Mechanical Parts: 

    All machinal parts apart from the custom scroll wheel and core unit base are available off the shelf. When we change version we will look at decreasing the brass insert and screw count and use other techniques. This should make the unit cheaper and easier to manufacture 


    At the moment all module PCB's have been optimised for manufacture and can be manufactured in batches for about £10 each which certainly isn't bad for 4 layers 0.8mm thick double side SMD boards. There is only one board that requires redesign to production level and that is the Dev Interface board.

    Now currently this board is a 6 layers 1.6mm thick double side SMD boards and is designed to be a development board that features lots of debug and monitoring circuits. Because of this and the fact it's 6 layers this is probably the most expensive board of the project at around £70 for a batch of 5. After the prototyping stage we will be designed a low cost production version that still has the same level of protection. The key will be to made it 4 layers which instantly reduces the price and allows this PWA to be made in standard pools. 

  • Designing the First Shell

    benw10/04/2020 at 20:49 0 comments

    It's certainly been awhile since the last shell update log but the first shell has finally been designed and printed. To give you some background this is what the draft shell looked like:

    First Draft Shell:

    Prototype Shell:

    Now I can present the new shell for our project:

    Certainly looks alot different from the draft but I'm very hand with our first of many shells.

    How was this Designed:

    It all started from a lovely piece of concept art, Namely this one.

    We then took this concert and started in Fusion 360 with the Bare Frame. 

    Sad to say using the free-form tools in fusion is slow and painful. So we decided to do the shell development in Blender. Which is much better suited to this task and a couple days later we had this:

    With that done it's time for some good old real life testing and analysis.


    Like most things there is a big difference between looking good on the screen and how it feels. So about after 15 hours of printing from both the FDM and resin printers we have a shell the test.  

    For the testing we showed and got friends and family to try the shell (I would of used to bigger pool but due to Covid 19 restrictions the pool was limited) the following areas are reviewed 1) Hand Size, 2) Feel, 3) Look, 4) Number of Parts and finally 5) Price. We come to the following outcome for this shell:

    Turns out this shell is a great choice for a person with a large hand. The reason for this is actually because of one piece, namely the thumb frame.

    As this part comes away from the core body its actively positions your hand to the left. If you have a large hand this isn't an issue as your hand is large enough to accommodate. But for smaller hands it means the device can't be handled at it's best. This is a great start and with the shell in Blender we can made versions for smaller hands and start our shell community. 

  • Design Evolution

    benw10/04/2020 at 20:02 0 comments

    This project has certainly evolved over the course of this project and there is quite a few story's I could tell you. Rather than attempt to describe with multiple project logs detailing each step of the design process and the decision tree that has led to the design today, I dug around in a few of my boxes and found a pile of old parts and selected a few to create visual demonstration in the form of a timeline.

    Some might look very similar and some look very different but it's all progress for this project.

    You my notice the larger PCB at the top middle, these were the first multi touch sense PWA that I designed and made. They were for the first prototypes of the Touch modules (The Touch-D came from the evolution from using multitouch PWA's to touch screen displays.)

    To give you some perspective:

    Take the design evolution of the Touch Module and Scroll Module from the first prototype (A blast from the past for me) to the second prototype. I would say these two modules has had at least 50 revisions made over it's life cycle. The revisions made were all positives to improve: Size, Feel, Functionality, Manufacturability and Reliability.  These prototype stages also covered major design changes like for example how the module would change shape and the incursion of the panel system. I'm sure this design will continue to grow and mature when the design hits the production stage and I certainly look forward to it. 

  • RX-Modulus USB HID

    benw10/03/2020 at 12:42 0 comments

    This was probably the most mind bending part of the project as there are many ways to handle USB HID incorporation. But for this project it's all about taking baby steps.

    Stage 1: Get the Example Mouse HID working.

    This was probably the easiest part as the STM32CubeMX automatically generates a USB mouse HID type when select "Human Interface Device Class" in the Class For FS IP in the Middleware-USB_Device tab. All we needed to do was add "RX-Modulus HID" to the 'PRODUCT_STRING(Product Identifier). Once the code is generated and built in the Cube-IDE environment we just needed to plug our mouse into the USB port of our PC and deploy our code. 

    Looking on the control panel under "Bluetooth & other devices" we can see that the computer happy recognizes our project as a mouse interface. Now we could have stopped here but the project would just be a common mouse if no special keys or functions. To go further we moved to stage 2.

    Stage 2: USB HID Collection

    This is where it gets tricky but luckily I found these great websites that really helped:

    There are commonly three methods of combining USB devices together namely:

    1. Multiple TLC(Top-Level Collection)
      1. Collections can be used to organize your data, for example, a keyboard may have a built-in touchpad, then the data for the keyboard should be kept in one application collection while the touchpad data is kept in another. We can assign an “Report ID” to each collection, which I will show you later.
    2. Composite Device
      1. Uses the same interfacing framework that all HID devices use, which is based in exchanging data with the host through “reports” via  “endpoints”. Each device added will require it's own start and end point.
    3. Custom HID
      1. Basically a peripheral that does not fit any of the common device definitions that conform the HID standard (Mouse, Keyboard, Gamepad, Webcam, etc) but still use the same interfacing framework that all HID devices use, which is based in exchanging data with the host through “reports” via  “endpoints”. With custom HID devices the operating system doesn’t know what their function is, but it does knows how to speak with them since they comply with the HID specification. They are normally highly-specific hardware devices that require special software and vendor-provided tools to interact with them.

    For this project we decided to use a TLC HID type to achieve a good starting point for our project.

    For this test we used the following descriptor:

    //50 bytes
    		0x05, 0x01, /* Usage Page (Generic Desktop)             */
    	0x09, 0x02, /* Usage (Mouse)                            */
    	0xA1, 0x01, /* Collection (Application)                 */
    	0x09, 0x01, /*  Usage (Pointer)                         */
    	0xA1, 0x00, /*  Collection (Physical)                   */
    	0x85, 0x01,  /*   Report ID  */
    	0x05, 0x09, /*      Usage Page (Buttons)                */
    	0x19, 0x01, /*      Usage Minimum (01)                  */
    	0x29, 0x03, /*      Usage Maximum (03)                  */
    	0x15, 0x00, /*      Logical Minimum (0)                 */
    	0x25, 0x01, /*      Logical Maximum (0)                 */
    	0x95, 0x03, /*      Report Count (3)                    */
    	0x75, 0x01, /*      Report Size (1)                     */
    	0x81, 0x02, /*      Input (Data, Variable, Absolute)    */
    	0x95, 0x01, /*      Report Count (1)                    */
    	0x75, 0x05, /*      Report Size (5)                     */
    	0x81, 0x01, /*      Input (Constant)    ;5 bit padding  */
    	0x05, 0x01, /*      Usage Page (Generic Desktop)        */
    	0x09, 0x30, /*      Usage (X)                           */
    	0x09, 0x31, /*      Usage (Y)                           */
    	0x15, 0x81, /*      Logical Minimum (-127)              */
    	0x25, 0x7F, /*      Logical Maximum (127)               */
    	0x75, 0x08, /*      Report Size (8)                     */
    	0x95, 0x02, /*      Report Count (2)                    */
    	0x81, 0x06, /*      Input (Data, Variable, Relative)    */
    	0xC0, 0xC0,/* End Collection,End Collection            */
    	//78 bytes
    	0x09, 0x06,        // Usage (Keyboard)
    	0xA1, 0x01,        // Collection (Application)
    	0x85, 0x02,        //   Report ID (2)
    Read more »

  • RX-Modulus Testing

    benw10/03/2020 at 11:41 0 comments

    After fault finding and fixing the Dev Interface PWA, the testing of the RX-Modulus doesn't involve that might in terms of equipment. You just require a PC and a STLINK V3 Mini. The image below shows everything you need and even showing the short term fix from the earlier post.

    The first and probably most criteria task was to try the USB interface. To help with the configuration of the STM32 core used we started with STM32CubeMX. Now I cannot tell you how amazingly useful this software package is.

    The most useful features are:

    • Allows to easy pin defines and setup
    • Shows any pin conflicts that are normally hidden in datasheet pin tables.
    • Highlights features that cannot be used if certain pins are used.
    • Easy code generation to open in Cube IDE or Keil MDK.

    The incorporation of STM32CubeMX is really recommended at the beginning stages of the circuit schematic stages. This give you a good starting point to achieve a right first time prototype. In the next post I'll be talking about the USB HID stack and how I achieved a working USB HID Collection.

  • Single Fault Story's

    benw10/03/2020 at 10:40 0 comments

    It's certainly been awhile from my last project log to now but I assure you there has been quite a lot of progress on the project since the last log. The next project log's with being you up to speed.

    High-P Core & Dev Interface PWA:

    What was my setup for firmware development and testing?

    Most of the modules use the same elements for testing which are the following:

    1. Digital Discovery Signal Analyser+ leads
    2. STLINK V3 Mini

    Unlike the ST-LinkV2 the V3 features Virtual COM port (VCP) specific features:

    • 3 to 3.6 V application voltage support on the UART interface and 5 V tolerant inputs
    • VCP frequency up to 15 MHz
    • Available on STDC14 debug connector (Which is designed to the High-P Core)

    This is very handy to quickly send out serial data for fast debugging. This also saves desk space as you don't to use another tool namely a RS232 to USB cable. As the debugger is using interfacing via JTAG will still have the opportunity to look a specific registers while debugging. 

    Initial Test Results:

    Fail: No 3.3V supply at the High-P Core.

    Cause of Failure: 

    Misalignment of Regulator "REG1" not that you can tell from looking at the board. For this we need to look at the layout.

    Just to given you some perspective each pad in 0.25mmX0.45mm with a pitch spacing of 0.5mm. Given the very small pads it's easy to have connection issues when using solder paste and a stencil and placing components by hand or by SMD parts stencils. This IC is ideally suited for PnP placement.  

    Short Term Solution: 

    Due to the looming deadline of this contest we had no time a re-spin a new PWA to solve this problem. The short term solution was to remove "REG1" and wire in R-783.3-0.5 Switching regulator module to convert the USB 5V to a usage system voltage of 3.3V. This fixed the issue and allowed us to continue development.

    Permanent Solution: 

    With the short solution sorted I had a few 30 minutes to sort-out the permanent solution that will be using on the Version 2 Dev Interface PWA and the 'to-be' designed lower cost production Interface PWA. The permanent solution will be departing from the ADP7156ACPZ-3.3-R7 Linear regulator to use the LT8608EMSE#PBF Switch mode regulator. This change increases the energy efficiency and also comes in a friendly 10-Lead Plastic MSOP package. The circuit was simulated using LTspice to monitor and reduce the output ripple.

    Luckily for us this was the only fault on the Dev Interface PWA. After that both the High-P Core & Dev Interface PWA continued to worked with no problems. Not bad I must say.

  • Adaptive Interface Module Full Debug Story

    benw09/07/2020 at 19:09 0 comments

    Well I'm one happy guy the Adaptive Interface Module has been designed, assembled and tested without any issues or board mods. So lets start off the project log story with the following:

    How did I assemble the double sided boards?

    Whole I don't have a PnP machine (yet) I've been assembling the boards by hand with some help of a solder stencil, a reflow oven and finally a SMD stencil (which I discussed in a earlier post).

    Now some of you might be wondering how I soldered both sides using solder paste.Normally in mass manufacture they would use epoxy glue dots to hold down components during double sided manufacture. But this a costly and takes time. There is another method that can be used which is great for prototyping and it simply uses two different reflow temperature solder pastes.

    To assemble the PWA the following equipment and tools are required:

    1. Bare PWA.
    2. Solder Stencil.
    3. Solder Paste distribution (Any card will do) 
    4. ESD Strap and ESD Mat.
    5. ESD Tweezers.
    6. Reflow Oven (Home made or commercial version)
    7. Solder Paste (See below)
    8. A Steady Hand (Tea or Coffee might be required)
    9. Optional SMD stencil for QFN packages.

    A view of the finished boards are below:

    Solder Paste Tip for Double Sided Assembly:

    My tip for assembling a double side PWA's is to use two different solder paste's. My go to choices are:

    • TS391AX > Reflow Temp= 235c
    • TS391LT10 > Reflow Temp= 165c

    The idea is that you with first use the higher temperature solder paste on the less critical comportment side, which in my case was the top side. After reflowed these parts will remain in place during the last pass using the lower temp solder. which was applied to the bottom side. After this you will have a nice double sided assembled board.

    Ready For Module Assembly:

    After PWA assembly the debug UART wires were connected to aid in firmware writing and testing. All that was left is to screw the module frame into the PWA and the module is ready for firmware development.

    What was my setup for firmware development and testing?

    Most of the modules use the same elements for testing which are the following:

    1. Digital Discovery Signal Analyser+ leads
    2. Jlink EDU Mini 
    3. RX-Modules Debug Station

    The completely test the adaptive interface the following extra are required:

    1. 3.5mm 4 Pole Audio Cable to flying leads.
    2. Simple Push Button
    3. Joystick, 10K Pot Version

    Firmware Test Results: Pass with flying colours and fully supports Microsoft adaptive controls and any open source controls. A full specification will be written.


    Currently in Full Firmware Development.

    What's Next?

    As the Adaptive Interface Module has passed both hardware and firmware testing the following can be sent for manufacture:

    • Touch-D Module Core.
    • SMART Scroll Core.

    Both these core's share common circuity and routing to the Adaptive Interface Module Core.

    Apart from that the following are due to be assembled in the next couple of days:

    • High-P Core
    • Dev Interface PWA

    Keep watching the project logs for more exciting news.

    All the Best.

View all 30 project logs

Enjoy this project?



ervlal2001 wrote 05/03/2023 at 23:39 point

I hope you complete the project. Wish you luck.

  Are you sure? yes | no

Sam wrote 04/01/2023 at 14:14 point

Awesome project! I made an account just to say this :D Hope you'll succeed!

  Are you sure? yes | no

John wrote 03/15/2023 at 09:05 point

I was just making another (failed) attempt to experiment with a left-handed mouse setup, and I was irritated at the price I'd have to pay to experiment with different mouse designs.

It also reminded me that my current mouse has a scroll-wheel jump that can't be fixed without taking off adhesive pads that would need replacement, etc. Because I can't open it up and it has big rubber/adhesive parts, it's impossible to clean properly...

Rambling dissatisfaction aside, this is just the sort of project I had been hoping to find, so good luck, and I hope to see more!

  Are you sure? yes | no

benw wrote 03/15/2023 at 11:08 point

Hello, John. Thank you for your interest in the project. Hopefully in the not soo distance future I'll be showcasing the latest version of this project which looks and functions much better than the first shown on this project and not to worry the latest version also doesn't have adhesive pads hiding screws :P so you can take it apart with a small screwdriver.

  Are you sure? yes | no

Pir wrote 04/29/2023 at 10:50 point

magical! :)

When are you planning to do it?

what are you planning to make as a "finished" product in the end? - will it be possible to order its making from you or to buy source materials, on the basis of which it will be possible to buy-print-adjust it all yourself?

  Are you sure? yes | no

benw wrote 05/01/2023 at 19:54 point

I would say in the next month on so, I'll be posting the updated project. Life has gotten certainly very busy for myself as my first child will be born soon (exciting times ahead).

In terms on 'build' finish options there are three idea's I'm currently thinking of:

1) For the person who doesn't want to build their mouse, it will come pre-assembled and tested. At slightly higher cost to option 2 & 3.

2) For the Builder, It will come in a kit form to be assembled with the selected mouse style body panels. Lets you get nice and personnel with your new computer accessory.

3) For the naked runner, it will come with the bare core parts and no body panels, relies on the user to have a set already or is developing a new mouse style.

All options allow for the user to select the modules and mouse styles they require for their mouse from the store.

At the moment there is only one mouse style that I've done but depending on how this project is received more styles can be created and uploaded. Of course users can also design there own styles for others to try.  

All body panels and mouse shape are open sourced and easily editable on Fusion 360 (they could be ported into other packages) and can either be printed at home or via a recommended manufacture (Shapeways have been quite good for the SLS Nylon 12 body panels I've had done).

With that said I'll probably have to think of the best place to create an store and a website to host the build files and user made creations.

  Are you sure? yes | no

Pir wrote 12/21/2022 at 08:00 point


It's awesome project, i want try to use this mouse)

Please update project-log, what kind status now?

  Are you sure? yes | no

benw wrote 12/21/2022 at 09:01 point

Thank you, The project is currently getting updated to an new version which improves in a lot of area's. I'm honestly quite excited for the new version. Not going to lie it's a slow process as this project is done in my limited free time.

  Are you sure? yes | no

Pir wrote 12/21/2022 at 09:43 point

Got it anyway, thanks a lot! :)

With burning eyes we are waiting for updates)

Can you please specify some approximate very rough time for updating the status? )

  Are you sure? yes | no

UnseenAcademical wrote 09/03/2021 at 17:59 point

Hello! Wondering if this is still being developed / actively worked on at this point. I'm very excited about the idea of actually getting to customize a mouse. Has there been any progress behind the scenes?

  Are you sure? yes | no

Jon wrote 09/03/2020 at 19:16 point

Support for the different grip styles suggest a bulky, ergonomic-style design popular with Microsoft and some resellers might be suitable but I do wonder if the design could go nearly vertical(?) as with the current Logitech ergonomic design.

  Are you sure? yes | no

benw wrote 09/04/2020 at 06:06 point

Hello, Jon. Thank you for your comment. Thinking it over I believe the mouse could go almost vertical but there are two possible ways to achieve this: (With a cheeky third option)

1) Design a new vertical core shape.

2) Keep the current core shape and design a vertical frame and shell to support the modules in their new oriantation.

*3) Using the Adaptive Interface module under EXT_I2C you could create a small vertical very ergonomic handhold device which feature the modules you desire. It might look odd as you are going from PC >USB> Core+Adaptive Module >Cable>Vertical device. But I guess you could hide the USB cable and core. 

I have added this to our future development list as at the moment I'm spinning quite afew plates getting our project ready for the finals :) 

  Are you sure? yes | no

Jon wrote 09/04/2020 at 21:14 point

Definitely not looking to throw you off with feature creep, but as an ergo mouse enthusiast I did want to put it on your radar. I think either 2 or 3 is valid (don't dismiss 3 - completely valid depending upon the design!). Allow me to present two of my daily driver vertical designs, both pistol-grip style mice.
For a completely vertical pistol grip you basically could stack the grip on top of the core and still be fairly neutral (so not too much lift from the forearm to the mouse). That's how my MonsterGecko Pistol Mouse is constructed. I think something like my 9-5 work mouse, the Zalman FPSGUN. would require hanging the hand grip components off the back of the mouse core.
As many ergonomic designs have come and gone (and not necessarily because they were flawed but rather because they filled such a small market niche) I think getting them on your design wall was a worthwhile effort. Great work so far and looking forward to further updates!

  Are you sure? yes | no


[this comment has been deleted]

benw wrote 08/25/2020 at 06:39 point

Sorry, just saw your comment. What research do you intend to do :D

  Are you sure? yes | no

shellkr wrote 06/30/2020 at 10:23 point

I would recommend you to put the charging port below the scroll module in the front of the mouse. This is how most other do as it makes it possible to both charge and use the mouse at the same time. This is mostly true for a wireless iteration but might be important to consider when making the modules for it.

  Are you sure? yes | no

benw wrote 07/02/2020 at 07:31 point

Hello, Shellkr sorry about the late reply. Very good suggestion ^^ the issue we have is if we add the charge USB at the front centre position the mouses height would increase too much :( At the moment the USB-C connection is on the side of the core unit and uses a right angle USB cable to power the mouse (Can also be the charge port for the wireless version).   

  Are you sure? yes | no

Oleksandr Hubanov wrote 06/07/2020 at 21:21 point

hey, very nice idea, but i have few questions:

- why atmel, not stm32

- why there is so many details, maybe it can be simplified in future?

- what about software for pc, alternative for Razer Synapse for example

- why do u need touch screen? what funcs u want to provide?

- there definitely should be clutch button to drop down/up DPI

- is it gonna be wireless, can we do plug-in wireless?

- is it possible to make rubber surface, maybe with spray paint or something

- as i understood ur planning to use an magnetic absolute encoder for wheel, but that is expensive and overkill, maybe there is simplier solution?

I'm using razer deathadder for last 8yrs i belive, but new ones aren't same surface quality as old ones, no rubber surface anymore, and DPI button only at most expensive model. 

Actually i would like to joint project if its possible, I have expirience in creating absolute encoders, been working while with different image sensors. As well have experience of C# pc apps creating and writing firmware for stm32. As well have strong skills in fusion360

  Are you sure? yes | no

benw wrote 06/08/2020 at 15:30 point

I'm more than happy to answer your questions here are your answers:

- why atmel, not stm32

The modules use the ATSAMD21 as used on the Adafruit feather M0, Just so they make the prototyping  and open source coding easier using the Arduino IDE or Atmel studio. The core processor that controls the whole of the mouse is a STM32 G4 chip as I require the speed and computing power and there is space for one.

- why there is so many details, maybe it can be simplified in future?

Yes I started relatively complex first with all the bell and whistles attached. I will in future make ‘lite’ versions.

- what about software for pc, alternative for Razer Synapse for example

I haven’t had much time to develop this yet but yes there will be software for PC and Mac. I have also toyed with the idea of having a phone app as well.

- why do u need touch screen? what functions u want to provide?

The touch screen modules are completely optional. The actual reason I had the displays was because they already incorp an capacitive sensor which allows for different click outcomes depending on where you click for example. There are quite a few good functions the touch element of the module can provide. In terms of the display it just adds a next level of personalization and can show the touch regions if set.

- there definitely should be clutch button to drop down/up DPI

This can be done in quite a few ways. You could use the touch screen to do this when set up to do this functionality or add a side click module.

- is it gonna be wireless, can we do plug-in wireless?

At the moment it is planned to be wired but it could be made wireless but I’m leaving that for the beta build. I’m currently working on alpha.

- is it possible to make rubber surface, maybe with spray paint or something

100% yes this can be applied to a panel set then fixed onto the mouse. I will hopefully be able to show the first panel set this week.

- as i understood ur planning to use an magnetic absolute encoder for wheel, but that is expensive and overkill, maybe there is simplier solution?

There are two simpler ways of doing this: one being optical the other being the standard encoder. I went with the magnetic method as it wears less then standard methods and also allows for greater control of where the scroll steps are. This is especially useful as the bump plates can be replaced with different profiles that might feature less or more scroll step feedback bumps.

Yes I have been seeing this alot recently where mouse manufactures reduce their quality compared to older models then add small addon like DPI set buttons for the most expensive model. Crazy really. This is way I'm trying very hard to develop this mouse.

As for your kind offer to help just send me a pm and we can discuss further ^^

  Are you sure? yes | no

bacbat wrote 05/22/2020 at 06:07 point

Great Updates! 

I love my 7 mouse, so naturally i cannot wait to get my hands on the RX Modulus ;)

And thanks for the tip with Photon File Validator, this looks very usefull.

Keep up the amazing work!

  Are you sure? yes | no

benw wrote 05/22/2020 at 07:14 point

Thank you for your kind comment. It's funny I actually started this project 3 years ago when my beloved RAT mouse died and Madcatz weren't trading. No problem on the Photon File Validator ^^ it ready is a useful tool when using a resin printer. I'll of course keep up the hard work so you can one day enjoy our mouse. I'm hoping the Hackaday contest will help us greatly and gives me a chance to help others back :D

  Are you sure? yes | no

chris.paglinco wrote 05/03/2020 at 00:33 point

Hi there, 

Based on how this mouse looks, in the design, is it ambidextrous? i love the idea but if it's right-handed it doesn't suit this user. Based on how I see the renderings, I'm not sure I see it being "neutral-handed" or customized to be specifically left-handed. 

I'm probably not seeing it in the proper way though. Could you let me know if it is handed and if so, what hand?

  Are you sure? yes | no

benw wrote 05/03/2020 at 18:56 point

Hello. The first prototype is designed to be right handed. While I do love the idea of the mouse being ambidextrous sadly there isn't enough room to design this in. But there will of course be an Left hand version as I wouldn't want to split the market. The Left hand version will come after I work out the bugs with the right hand version.

  Are you sure? yes | no

benw wrote 05/03/2020 at 19:09 point

I should add that it's only the Core Unit that is right handed. All modules are designed ambidextrous.

  Are you sure? yes | no

chris.paglinco wrote 05/04/2020 at 13:35 point

Thanks for the reply. I understand now what you mean, in that the "Core Unit" is right-handed in this case. But that a left-handed version will be developed and available. 

In terms of handedness, I don't mind having (at least at first) a specific hand for the core unit. Right-handed should come first as that's the largest userbase. Left, second and ambidextrous would be third. 


  Are you sure? yes | no

sunny wrote 04/30/2020 at 07:39 point

How to send a picture to your?

  Are you sure? yes | no

benw wrote 04/30/2020 at 07:43 point

That's Easy :) just click my name and then press 'Send a Private Message'

  Are you sure? yes | no

sunny wrote 04/29/2020 at 13:22 point

Great idea. I bought a lot of mouse, but they can't adapt to my hand very well. They are too small or have other defects. Because of the hard work, I got tenosynovitis in my right hand, so I had to learn to operate the mouse with my left hand. My biggest demand for the mouse should be that there are security ring fingers and small fingers on the mouse. I don't understand the touch buttons. What's the benefit of this design? I have some welding skills, as well as some fusion 360 skills, and I would like to make some contributions to this project.

  Are you sure? yes | no

benw wrote 04/29/2020 at 18:02 point

Hello, Sunny. Thank you for the comment. Sorry to hear that you got tenosynovitis on your hand. Hopefully having a well fitting mouse could get you back working with your right hand again. Certainly interested in your suggestion would you be able to draw alittle picture of the security ring fingers and small fingers you would like to see. Hearing these comments are great to improve the project. 

As for the touch buttons.  The benefit is the additional input options it can achieve, here is a short and sweet list of what the touch system can do difference to the standard click version:

1) Allows for multiple outputs per switch depending on where you click, for example if you were playing a FPS game you can set the area 0 to 50 as Primary Weapon and 51 to 100 as Melee. Moving from area to area with swap weapons and pressing down we preform the normal click action of shoot or attack. This can also be doing for functions where one area could be copy and another area for paste. To be honest you can do alot.

2) The module can become an touch sensor/scroll, if you wish to use it.

To be honest I'm still thinking of applications and I have along list of uses :D 

3) The display was a extra as it included the capacitive sensor. I did design and prototype three capacitive sensors but I was hard to make them to fit the module finger area. I grew to like the displays as it will allow for some lovely customisation :D

It's very nice of you to offer some of your time to contribute to this project, having some more fusion 360 help would be great. PM me and we can discuss this further.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates