NeuMouse Progress Report


For a general project recap, I am designing a mouse to replace my personal Logitech G502 shown below. I have had this mouse for a very long time now, and the software has stopped working. Additionally, I want a mouse with similar customizeability but with a cleaner, more professional aesthetic. I do still want the mouse to pop and be fun though, not simply being a dull grey or black.

Logitech G502

I am designing a mouse in the aesthetic of ‘neumorphic’, a popular tech aesthetic which has become prevalent in recent years. It features soft drop shadows and indent appearances, with either white or black as the primary colors, grey as a secondary, and purple or blue as an accent. Text is typically very thin and elegant in typesetting. Some good examples are shown below.

Neumorphic UI examples, Medium


I have spent significant time iterating and prototyping the mouse in the past weeks. Although the shape may look very similar, there have been specific tweaks to the outer contouring to accomplish the desired fit in my hand. After all, I do want to enjoy the mouse (once it hopefully works). Here are two screenshots comparing different versions:

Current Version Progress, me

The teal checkered version has been the one I have been recently iterating on, adding the clicker cuts and special contouring to both fit the aesthetic and my hands.

Clicker Contours, me

While it may not seem impressive initially, this project has been made using ‘master modeling’, the practice of inserting part files into other part files, so despite any one given version only having a feature tree of a bit over a page long, there are multiple ancestral parts that are used in generating the next. So, in reality, the fully nested feature tree for this one mouse likely spans at least 3 pages, almost definitely more.

This is the current version as it stands.

4 view, me

While I have definitely improved with my surfacing skills substantially since the project began, I still struggle to build a 100% future-edit-proof robust part (which I am realizing is really not possible with SolidWorks). I am beginn9ng to feel the stress of the semester, and debating what aspects to focus on in order to balance functionality with aesthetics. While I know I could create a really pretty final product if I abandon making it real and functional, I do not want to do that since I legitamately want a new mouse.

Another relevant update is I just ordered the basic electronics from Adafruit. I have very little electronics integration experience, and less circuitPython and ArduinoC experience, so if anyone wants to help me figure out that aspect, please get in contact! Here are the order details (I know I am missing a scroll and optical sensor)

order, me
Previous Post
Post 10
Next Post
Post 10: Photography Box Progress

4 Comments. Leave new

  • Lavender Giebner
    April 15, 2024 11:09 am

    This CAD work seems really impressive – I imagine that making all those organic, lapping curves is not an easy task. Are you basing the curves and dimensions off of measurements of your own hand? Have you made a real-world model to make sure your final design will fit nicely in your palm? I’m not terribly familiar with ergonomic design, just wondering how you’re going about it.

    • Peter Arnold
      April 28, 2024 4:06 pm

      Thanks Lavender! I originally based the overall dimensions on my Logitech G502, then 3D printed shells and tested/adjusted for fit after that.

  • This is really cool, working with surfaces is harder than it looks. I have never heard of the master modelling technique and I am curious why you chose to create your model this way.

    • Peter Arnold
      April 28, 2024 4:09 pm

      Thanks Luke! Master Modeling is advantageous for a few reasons – primarily associated dimensions/geometry, as well as computational performance. Instead of basing relations in an assembly context, they are based in multi-body parts, and use part/solid body inserts to transfer between different parts. It’s weird but it works well.


Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.