@@MrMakingwavesmedia it's open source, just fix whatever is shit yourself. that's the thing, its easy to repair and you can modify it to your liking to make it the best possible mouse for you
If you plan on doing a custom mouse, I'd look into modding the logitech g305. It's way more intuitive and it has a ton of community support for shell swap mods. r/mousereview might be a good place to start.
Same! They're always too small for me, and gaming mice are just ridiculously tiny and feel like the thinnest cheapest plastic crap (I guess lots of people want a super light mouse but I find it unpleasant). I might just use the internals from an MX Master or something for the BT stuff but this is a big inspiration
Btw if you use a subdivision based workflow in blender, you can export the unsubdivided base mesh as a quad obj. You can import this into fusion 360, convert to t-spline in the form mode. When you close the form mode, you are left with a shape very close to the original subdivided model. I mention it as I find SubD modelling in Blender so much faster and easier than messing around with organic shapes in Fusion.
I picked up a Logi G305 Lightspeed a few years back and was surprised at how modular and repairable it was. After a few years when a click (left, I think?) inevitably died, I just... opened it up and desoldered out the switch to swap for one from a random other junk mouse I had. Never really thought it'd work but it's been great, and I've been curious about 3D printing a custom shell to put its guts into for even better modularity, but now I'm curious about just making one from scratch! What a great video!
Super cool! Love the photogrammetry to get a perfect fit for your hand. Your end shape actually reminds me exactly of the Mionix Naos, which is the most comfortable mouse I've ever owned. Great project!
"I decided that its time to quit putting off the inevitable and finally LEARN PCB DESIGN!" , "Finally decided to learn Python", "Ok its time to learn..." its like a pattern in every video,... Love how you like to challenge yourself and keep learning. applause
ty for thissss I've been working on my own from scratch and it's been difficult to plan this from the ground up, from sensors, ICs, and wrapping it up into a PCB design. It's been hard to find others documenting the journey, especially at the level I'm trying to do it.
@@RoamingAdhocratthe mouse buttons and scroll wheel encoder should all be through hole components, desolder the fuckers. You might run into trouble because the new ones require more or less debounce but apart from that it SHOULD work. Try it on an old mouse first please.
Photogrammetry often uses the background to figure out what angle you're taking the picture from, so putting it on a turntable without extreme measures to 100% remove all background is exactly the wrong approach.
Great video! I love that you put all the code up for the world. I'm getting so fed up with the logitech software breaking that I'm considering build my own mouse and this seems like a great starting point
@@benmakeseverything Great to hear, I would suggest you to do a video for tips on how you learn stuff and organize your project. That could be interesting
Good job! My first thought was that instead of a rotary encoder, you could use a BLDC motor - and even do custom dents into whatever mode you want to use! Not sure if it would be a better scroll wheel, but it WOULD be super neat to see you attempt it hahaha Either way, very cool project! Keep up the great work!
So you have seen the smart knob video by scottbez! Awesome project. I would assume that it is possible to implement but not without blowing the complexity of the mouse out of the water for a few reasons. As it stands the mouse features two real time systems. The communication with the PC and the position tracking. Both require pretty tight timing for that low powered microcontoller. He had to dial down the DPI for the bluetooth variant just to make do with the available resources. The knob is an entire new real time system with more added complexity. So either add more microcontollers or step it up to a beefier unit and both would impact battery life or at least make it a lot more diffficult space wise. You could just outsource the communication to a dedicated module and leave all the mouse parts to the Arduino. That would probably work but again it need energy and space. And a few compute cycles to send the information over.
The rotary encoder on the mouse wheel is the first to fail or glitch in my experience. After I learned that logitech puts opto-pair on even the cheapest mouses, it becomes my favorite brand.
This is awesome. I've been using a Steelseries Rival 500 for idk how long now and its not manufactured anymore. i had to fix it countless times. swap out switches, replacing the cable, glueing broken pieces back together etc since no other mouse does it for me like this one does. it fits perfectly in my hand and has exactly as many buttons as i need. But i never thought about making my own mouse which would fix my issues. im gonna try to do this :D
Love the project and I've been looking into building my own mouse for a bit now but I'd say that repairing a mouse is far easier, especially the scroll wheel. I had problems on my Razer Naga Chroma's scroll wheel and for anyone interested all I had to do was unsticking the plastic adhesives that cover the screws (gently, being careful not to break them to reuse them), unscrew the bottom, unscrew the mouse wheel rotary sensor (just another screw) and opening it. Inside there are some small metal legs that push against another metal part. In most cases to fix the sensor it's enough to bend the metal legs a little bit outwards using some tweezers, to make sure that they make contact with the other part of the sensor. After that put everything back together and that should be it! It's that easy and doesn't cost you a penny. If you have some at home I'd suggest putting a tiny bit of lube in it, such as wd40, it will help the contacts last longer without interfering with the functionality of the sensor. For the buttons it's a tiny bit more complicated, but nothing that you wouldn't have to do if you consider building your custom mouse: soldering! You just have to spend a few cents for another mouse switch (or rescue it from another broken mouse), open up your mouse, locate the switch that isn't working. Then you just have to desolder the old switch and solder in the new one. To desolder it, if you don't have the tools to do it don't worry: you can improvise and try to do the job using just the soldering iron. You just have to hold the tip of the iron on one of the pins that you have to desolder until the solder gets melted, then you try to move one part of the switch out (doesn't matter if it doesn't completely come off, don't rush it). Once done do the same for the other pin of the switch. You continue to repeat this bit by bit until the switch eventually comes off. Then you solder in the new one and another mouse has been saved from the trash! ps: just to make it clear, no hating here! Just a guy, whose primary language isn't english, that is trying to share some knowledge with people that may need it or just be interested :)
I would definitely buy one of these (I have no idea about programming/assembling it), but it looks so nice and I really love the idea of keyboard switches on a mouse. Great job.🎉
awesome stuff, been looking to do something like this for a while seeing at how big custom keyboards are and how nobody is really making custom mice as far as i know
Using those optical/hall sensor switches would've been insane also, so you could program them as axis buttons too for driving games throttle/braking etc!
Really cool build Ben! I always appreciate it when people include the bumps on the road along the way to victory :). Reminds me that we are all human and it's normal to fail some times. That being said I'd say the result compared to the original idea is bang on. Even the build quality and easthetic's are nice. Don't ask me why but I'm addicted to the thumb button cluster on the razer naga hex v1. I've been keeping it alive for almost 10 years. I'm on my 3rd set of buttons 😂. When it eventually dies I'll most likely build something very simmilar to you. Something i haven't seen yet is a smooth finnish on a 3d printed mouse. I haven't tried it yet but if you print in ABS with a small layer height and smooth it with acetone I'm pretty sure you can achieve something very smooth and comfortable. Thanks for reading my essay. Cheers!
This is super awesome. I've never fully delved into Arduino and from what I hear its the easiest way to start. I personally like my Logitech MX and I have rather enormous hands that dwarf it but I've still come to like it. I would however like to do something like this for a CAD specific mouse add on with the controllable keys and stuff. The info on the PCB design software you used is also helpful as I too have never had luck with surface mount components and can really only understand simple PCBs.
Some sensors are pretty easy to source from aliexpress, digikey, mouser and others. I ended up postponing building a DIY trackball as the Ploopy Thumb Trackball fits my needs damn nearly perfectly. And it's open source too. Although the DIY mouse and trackball communities aren't as big as the DIY keyboard community, there are plenty of resources online.
@@gcolombelli I've been looking the last couple of days and they are available now in 'normal' quantities. 3y ago I would have had to source them trough alibaba with moq of 10000
YT randomly recommended this and I'm so glad it did. I love my Logitech M575 trackball, but the main switches have a tendency to fail in a year, and for gaming the polling rate and latency sucks. Once in a rare while I'll get it in my head that I'll learn what I need to build my own and will spend some time looking up people's DIY mouse projects for inspiration. This is maybe the best example I've seen yet that gives me hope that one day my dream of the perfect M575 alternative will exist.
I recall reading somewhere that the reason Logitech's switches tend to fail is because they don't use them correctly. They're only designed for so much voltage, and Logitech puts too much through them, resulting in arcing, which results in deposits building up on the contacts, making them not click properly. You can pull the switches apart and clean the contacts, but from what I've seen, that's going to be super-fiddly.
PLEASE make a full Tutorial series on how to program an Arduino / How you learnt how to program it, how you learnt to do all the wiring, 3D Designing etc. Basically a full "DIY Course" would be awesome (I REALLY want to get into that kind of programming but don't know where/how to start..)
I suppose I could try making some instructional videos. I'm completely self-taught, mostly by just watching tutorials, but I do understand that it can be overwhelming. Right now I'm focused on building my next project, but I will consider your suggestion for the future. Thanks for watching!
Awesome! The only thing I'd change is to either sand the surface or use acetone smoothing on it. Although, you probably appreciate the extra grippiness of the unsmoothed print.
Fellow big hand here, yeah i was thinking of just going for a case mod that way i can still keep the pros of the G502 but still be able to use the thing. Was actually watching this video as I want to make a wireless mouse but in the shape of a pen, so the sensor is the pen tip, as a means for me to learn art without investing into a graphics tablet as I could also make a modular keyboard setup for all the hotkeys and such to use in whatever app i will use! Great vid
i love the idea of putting extra buttons for the index and middle fingers, instead of doing like the razer trinity where you have to press everything with your thumb
If you have a magnifying rig like a head mounted loupe, it's actually not that hard to solder surface mount stuff as long as the pins are visible and you have a small enough tip to work with. That rules out BGA and QFN packages, but you still can do a lot without them. It does eliminate the ESP32 mini module variants, though.
Thank you! Finally someone else who understands the beauty of having extra left and right clicks!!! My favourite mouse of all time still is the Roccat Tyon with 16 buttons spread out evenly over all fingers with 32 functions using the onboard shift key (non of the thumb keypad BS!). Unfortunately that mouse was too niche and was pulled from their lineup after a short production.
Hello Ben. I really like your project,but i have a question. It could be possible to integrate (buying from Ali MagSpeed scroll wheel) the induction MagSpeed scroll wheel from logitech MX3 in to this mice???? I'm super interested abut this,because after i got the MagSpeed wheel under my hands, I won't never again ride ordinary scroll wheels encoder again. Thanks.
This is really cool! It inspires me to bind right click to z button for aiming and left click to e button for shooting... Whoa! I kinda like it! Thank you so much! 😊❤
Tip when you're doing photogrammetry of objects like this. Take photos in a vertical arc, starting lower down, and then rising up to the top of the object, then step to the side and take another arc. This requires about 10x fewer squats since you only have to personally orbit the object a single time. It also results in more consistent vertical and horizontal spacing of the images.
Really cool project - wouldn’t mind making one and I can think of a few other uses for some of the tools. Obviously a bit of a late suggestion, but I wonder if you could get the Arduino version of the code to work with a nice!nano? It’s sold as a drop in replacement for the Pro Micro, and it seems like folks have gotten it working with the PMW3360 trackball.
Nice go at it. But there are quite a few reasons why people opt to build new shells around existing mice guts, and while simplicity is probably the main one, having tried and tested components, firmware/software and top-notch sensor/wireless functionality are definitely in that list as well.
Hi Ben, about the mouse rotary encoder, the way it works from some datasheet i found is that they are treated like 2 individual switches, there are copper plate inside and each of them represent individual switches when rotate the gears press copper together, so those 3 pins are technically the keyboard matrix. thats how they cheap out on getting tactility scroll wheel on gaming mice, not all encoder are the same, there are also hall encoder and IR encoder which i think all the mouse with infinite scroll wheel have, even my 12 years old budget logitech g300s mouse have it, the way they achieve tactility in these encoder are through a different mechanical design tho
So great. It would be neat if you released a standard ‘core’ that people could build then just add their own 3d printed grip on top. (Opposed to having to redesign the entire shell)
The Corsair M65 is very easy to take apart. There's just no repairing it. It is notorious for the scroll wheel to mess up. Some have said cleaning it helps for awhile, but I had no such luck. Switched to Razer and it's been two trouble-free years. YMMV of course
I was looking for such a mouse tracker! thanks finally found one. but a few tips for your pcb design as a teacher: 1. avoid angles sharper than 45 degrees in your traces. to sharp of an angle can cause emc. this also goes for junctions, add diagonals to them. 2. don't run traces through pads. because of soldering and regular currents through the pads they will wear out quicker causing it to fail faster. 3. add a ground plane and power plane, this will reduce production cost and emc. though I must say you did well for a first design, keep it up.
Man I am over here trying to figure out how to fix my g903 because its the only "gaming mouse" that comfortably fits my had. I use palm grip. I cant even figure out how to make 3d printed base and shell to lighten her up lol. This guys over here designing his whole mouse himself. Great job man!
That is awesome! Your scroll wheel grabbed my attention. It looks like it has to make your UX better with this main buttons. In general mouse looks great, but I was left upset when you didn't reveal the weight :( Maybe it was too important to me. I just love how some people get creative out of their annoyence. These products are the best! What is even more cool - that you do it for yourself mostly BY yourself :D Thanks for the video!
Super cool project dude! How is the latency of button presses on the wired version? Do you have some way to test it? Maybe you could have some program running on your computer that would "respond" to the mouse (sending some command back) and then test the roundtrip time?
Good video and well explained. Having big hands and playing FPS can get painful. I have been working on one myself that has a Cortex-M4 at its heart, dual sensors, as well as a different suite of buttons. In shaping the body we took almost exactly the same steps, I just did more smoothing in blender. Also some of those rotary encoders have COM on the side pin.
this is really cool, nice job. I've been a logitech trackball user for years due to my needs and the quality of the switches has gone downhill in all of their mice. one used to last me years and I replaced the last few withing a year because of faulty clicking. finally had to swap out the switches with some kailh blue 2.0 -that fixed that but the rubberized plastic and micro usb are def not made to last.....
Oh dang, I just commented on your Cyberdeck video because I also made a custom Framework computer. Now I realized that you also built a custom mouse? I must admit, it's not a competition, but yours is slicker than mine. It was several years ago, and I couldn't figure out how to get an arduino to read a mouse sensor, so I ended up using the Keymouse PCB which is meant for their products, which include a keyboard, so they're bigger.
@14:12 "The ergonomics are nop notch" he says while having to keep his fingers hovering above the mouse buttons. Strain! This is exactly why I started to develop RSI to a point I HAD to learn to operate a mouse with my left hand. This is now 20 years ago, and I still can't operate a mouse with my right hand more than a few minutes.. Be careful! Love the project though!
I don't actually have to do that, no idea why I was in this video clip, probably should have used a different one here. The buttons aren't THAT sensitive. but I appreciate the feedback! sorry to hear about your injury.
If you sold this, I would buy one. I also have a bit bigger hands AND I think it's pretty smart to have two buttons where there is usually 1, the scroll wheel is also very smart. I'd buy one.
Awesome design dude, but you may want to smooth out the surfaces. The layers from the printing are gonna be great way for sweat, grease and dead skin to get stuck.
Cool build! I was looking at doing something like this but I'm stuck in my current projects code as I know very little about Arduino code. Might be able to get round to it in like a year lmao
Making your own mouse is a great way to implement macro buttons, which I miss everytime I change my mouse (and had to accomodate with the new button layout). They are very useful in CAD. BTW, did you consider using a ESP32 instead of arduino ? With its higher clock speed you may increase poll rate and precision. There are a bunch of ways to use it as HID and even, with some boards, you already have bluetooth (ESPRESSIF ESP32 should be very good for this task). Great job.
I did try to create a version using a Feather S3, which is ESP32-based. That was the wireless version mentioned in the video. Unfortunately, the latency was not very good. It may be that the code was not optimized, but I figure there is probably a good reason that commercially available wireless mice use a dedicated USB receiver...
Had an idea like this bouncing around my head for a few months now. I haven't been happy with the way a mouse has felt in my hands since the Saitek R.A.T. 7 but even if I wanted to scrounge around for old stock i'm too used to the extra buttons and functionality my Roccat Leadr provides. And since mice like the Leadr seem to be few and far between i've been thinking "screw it i'll do it myself". I've also seen all the "take this mouse and put it in a new shell" videos and that's what i've wanted to avoid. I figured I was going to have to design a PCB at some point, but I had no idea how I was going to do the rest. This helps a ton. Might be a bit before I actually get around to doing this but the idea keeps growing :3 Gonna miss the wireless bit of my Leadr though, but I barely deal with code as it is i'm not going to attempt to figure out how to get the latency down.
Hey, I just wanted to tell you that the micro usb port in the arduino pro micro isn't durable, it is a surface mount and not through hole. It cannot resist being plugged and unplugged over and over and very light forces could break it. I've used one for a macro keyboard and it broke in less than a year. If you want to use that board for a wired mouse, I will recommend a kind of support as a strain relief. Other than that, loved the project. Keep it up
Building a custom mouse with custom buttons is something i figured is possible. I want to be able to work in an accelerometer so the mouse movement can be adjusted based on the mouse angle to the screen, just not sure if that's something would be able to learn with drivers and code or using arduino.
I have found the perfect wireless mouse for me, although it uses a dongle instead of Bluetooth to connect. But its latency is too little for me to notice and except for needing one switch replacement so far it works flawlessly and has exactly the functions I need. Mouse wheel that can be pressed to toggle the ratchet and pushed left or right to scroll left or right (very rare function as it seems), a seperate middle click so I don't scroll when middle-clicking, and a back and a forward button which I regularly use as I work a _lot_ in the browser where they come in handy. And no more functions, just the ones I need. It's a Logitech mouse, although I haven't been able to figure out the exact model so far. It's an office mouse but also capable of basic gaming. [EDIT]: And no, this isn't an ad, this is just me describing why I really love the mouse I got several years ago.
I love the attention to repairability in this design.. nice work !!
what does this help if the mouse is shit LOL
@@MrMakingwavesmedia it's open source, just fix whatever is shit yourself. that's the thing, its easy to repair and you can modify it to your liking to make it the best possible mouse for you
HAHA
7:55 "oh my pkcell"
Dankpods moment
Two people beat me to it. Well played.
@@xliquidflamesdi 😂y😂lebw😢❤
i didn't notice, wow
na-no
Nice. I can never seem to find the right mouse and have thought about making my own. Thanks for sharing your process!
Ayo, the soundclown man!
same problem here..
If you plan on doing a custom mouse, I'd look into modding the logitech g305. It's way more intuitive and it has a ton of community support for shell swap mods. r/mousereview might be a good place to start.
Same! They're always too small for me, and gaming mice are just ridiculously tiny and feel like the thinnest cheapest plastic crap (I guess lots of people want a super light mouse but I find it unpleasant).
I might just use the internals from an MX Master or something for the BT stuff but this is a big inspiration
Btw if you use a subdivision based workflow in blender, you can export the unsubdivided base mesh as a quad obj. You can import this into fusion 360, convert to t-spline in the form mode. When you close the form mode, you are left with a shape very close to the original subdivided model. I mention it as I find SubD modelling in Blender so much faster and easier than messing around with organic shapes in Fusion.
That's cool, I did not know that. Thanks for the tip!
dude thats excellent workflow thanks
I picked up a Logi G305 Lightspeed a few years back and was surprised at how modular and repairable it was. After a few years when a click (left, I think?) inevitably died, I just... opened it up and desoldered out the switch to swap for one from a random other junk mouse I had. Never really thought it'd work but it's been great, and I've been curious about 3D printing a custom shell to put its guts into for even better modularity, but now I'm curious about just making one from scratch! What a great video!
The G305 is great for customizability! I've actually followed the same clay technique for printing a g305 battery cover molded to my hand.
double index & middle buttons is something i now want on every mouse
Super cool! Love the photogrammetry to get a perfect fit for your hand. Your end shape actually reminds me exactly of the Mionix Naos, which is the most comfortable mouse I've ever owned. Great project!
"I decided that its time to quit putting off the inevitable and finally LEARN PCB DESIGN!" , "Finally decided to learn Python", "Ok its time to learn..." its like a pattern in every video,... Love how you like to challenge yourself and keep learning. applause
a god among men.
Thanks for taking us along for the journey! Love the project!
ty for thissss I've been working on my own from scratch and it's been difficult to plan this from the ground up, from sensors, ICs, and wrapping it up into a PCB design. It's been hard to find others documenting the journey, especially at the level I'm trying to do it.
Really nice take on custom mouse project, kudos to you
Really cool! I've always wanted to try making a DIY mouse but wasn't sure where to get the optical sensor, definitely going to keep this in mind!
I mean in a pinch you could use the PCB and sensor from an existing mouse, with a new case and new buttons and reuse/relocate/replace the scrollwheel?
@@RoamingAdhocratthe mouse buttons and scroll wheel encoder should all be through hole components, desolder the fuckers. You might run into trouble because the new ones require more or less debounce but apart from that it SHOULD work. Try it on an old mouse first please.
Not easy picking up PCB design. Great stuff Ben!
I love your work and I have added your channel to my recommended channels list
love your videos. you make it seem/sound so easy, like, "oh, I just did that." it's very inspiring
Photogrammetry often uses the background to figure out what angle you're taking the picture from, so putting it on a turntable without extreme measures to 100% remove all background is exactly the wrong approach.
Great video! I love that you put all the code up for the world. I'm getting so fed up with the logitech software breaking that I'm considering build my own mouse and this seems like a great starting point
Those keys are looking real good 🙆🏻♂️
Insanely cool and well thought out project!
Oh man I don't what your background is but you are kind of the perfect mix of artist and engineer, truly inspiring work there
Thank you. My day job is building websites, but I have always made stuff since I was a kid and also enjoy drawing/painting, etc.
@@benmakeseverything Great to hear, I would suggest you to do a video for tips on how you learn stuff and organize your project. That could be interesting
Good job! My first thought was that instead of a rotary encoder, you could use a BLDC motor - and even do custom dents into whatever mode you want to use! Not sure if it would be a better scroll wheel, but it WOULD be super neat to see you attempt it hahaha
Either way, very cool project! Keep up the great work!
So you have seen the smart knob video by scottbez! Awesome project. I would assume that it is possible to implement but not without blowing the complexity of the mouse out of the water for a few reasons. As it stands the mouse features two real time systems. The communication with the PC and the position tracking. Both require pretty tight timing for that low powered microcontoller. He had to dial down the DPI for the bluetooth variant just to make do with the available resources. The knob is an entire new real time system with more added complexity. So either add more microcontollers or step it up to a beefier unit and both would impact battery life or at least make it a lot more diffficult space wise. You could just outsource the communication to a dedicated module and leave all the mouse parts to the Arduino. That would probably work but again it need energy and space. And a few compute cycles to send the information over.
The rotary encoder on the mouse wheel is the first to fail or glitch in my experience.
After I learned that logitech puts opto-pair on even the cheapest mouses, it becomes my favorite brand.
This is awesome. I've been using a Steelseries Rival 500 for idk how long now and its not manufactured anymore. i had to fix it countless times. swap out switches, replacing the cable, glueing broken pieces back together etc since no other mouse does it for me like this one does. it fits perfectly in my hand and has exactly as many buttons as i need.
But i never thought about making my own mouse which would fix my issues. im gonna try to do this :D
This is incredibly impressive, awesome job!
Lovely design. I hope to see a more polished V2 some day
Love the project and I've been looking into building my own mouse for a bit now but I'd say that repairing a mouse is far easier, especially the scroll wheel.
I had problems on my Razer Naga Chroma's scroll wheel and for anyone interested all I had to do was unsticking the plastic adhesives that cover the screws (gently, being careful not to break them to reuse them), unscrew the bottom, unscrew the mouse wheel rotary sensor (just another screw) and opening it. Inside there are some small metal legs that push against another metal part. In most cases to fix the sensor it's enough to bend the metal legs a little bit outwards using some tweezers, to make sure that they make contact with the other part of the sensor. After that put everything back together and that should be it! It's that easy and doesn't cost you a penny. If you have some at home I'd suggest putting a tiny bit of lube in it, such as wd40, it will help the contacts last longer without interfering with the functionality of the sensor.
For the buttons it's a tiny bit more complicated, but nothing that you wouldn't have to do if you consider building your custom mouse: soldering!
You just have to spend a few cents for another mouse switch (or rescue it from another broken mouse), open up your mouse, locate the switch that isn't working. Then you just have to desolder the old switch and solder in the new one. To desolder it, if you don't have the tools to do it don't worry: you can improvise and try to do the job using just the soldering iron. You just have to hold the tip of the iron on one of the pins that you have to desolder until the solder gets melted, then you try to move one part of the switch out (doesn't matter if it doesn't completely come off, don't rush it). Once done do the same for the other pin of the switch. You continue to repeat this bit by bit until the switch eventually comes off. Then you solder in the new one and another mouse has been saved from the trash!
ps: just to make it clear, no hating here! Just a guy, whose primary language isn't english, that is trying to share some knowledge with people that may need it or just be interested :)
Thank you for the info!
I would definitely buy one of these (I have no idea about programming/assembling it), but it looks so nice and I really love the idea of keyboard switches on a mouse. Great job.🎉
Hell yeah, I love it! Wanted to atempt it myself but didn't know whete to start from
awesome stuff, been looking to do something like this for a while seeing at how big custom keyboards are and how nobody is really making custom mice as far as i know
Dude, amazing work.
Using those optical/hall sensor switches would've been insane also, so you could program them as axis buttons too for driving games throttle/braking etc!
i love it! i have always wondered about a mice with keyboard switches finally someone made it!
I love this. Keep making videos. They are greatly appreciated
This is my first time watching your channel and I loved this video -- great job! Subscribed
Great project involving many different disciplines, well done !
Really cool build Ben! I always appreciate it when people include the bumps on the road along the way to victory :). Reminds me that we are all human and it's normal to fail some times.
That being said I'd say the result compared to the original idea is bang on. Even the build quality and easthetic's are nice.
Don't ask me why but I'm addicted to the thumb button cluster on the razer naga hex v1. I've been keeping it alive for almost 10 years. I'm on my 3rd set of buttons 😂. When it eventually dies I'll most likely build something very simmilar to you.
Something i haven't seen yet is a smooth finnish on a 3d printed mouse. I haven't tried it yet but if you print in ABS with a small layer height and smooth it with acetone I'm pretty sure you can achieve something very smooth and comfortable.
Thanks for reading my essay. Cheers!
Very nice!
Thank you for sharing!
It's amazing. I now have a thing that I can do and reference you when I have time and money to afford it.
Great project to do on vacation.
OH MY PKCELL!!!!!!!!!!
...you beat me to it. Well played.
Dankpods
Yes the dankpods official
r/suddenlyDankPods
them keyboard switches sound mighty good, I might need to brake out my hurdur 6hunjos from me ole mate seni.
Awesome build, really well done!
Bro That's Cool I recommend you to make your own company you are genius.
Liked & subscribed. Great stuff all around in this video.
This is super awesome. I've never fully delved into Arduino and from what I hear its the easiest way to start. I personally like my Logitech MX and I have rather enormous hands that dwarf it but I've still come to like it. I would however like to do something like this for a CAD specific mouse add on with the controllable keys and stuff. The info on the PCB design software you used is also helpful as I too have never had luck with surface mount components and can really only understand simple PCBs.
Incredible design
I had the same dream some 3 years ago. My problem then was sourcing the sensor. Maybe I'll look into it again now. Thanks!
Some sensors are pretty easy to source from aliexpress, digikey, mouser and others. I ended up postponing building a DIY trackball as the Ploopy Thumb Trackball fits my needs damn nearly perfectly. And it's open source too. Although the DIY mouse and trackball communities aren't as big as the DIY keyboard community, there are plenty of resources online.
@@gcolombelli I've been looking the last couple of days and they are available now in 'normal' quantities. 3y ago I would have had to source them trough alibaba with moq of 10000
8:30 bro this is beautiful.
YT randomly recommended this and I'm so glad it did. I love my Logitech M575 trackball, but the main switches have a tendency to fail in a year, and for gaming the polling rate and latency sucks. Once in a rare while I'll get it in my head that I'll learn what I need to build my own and will spend some time looking up people's DIY mouse projects for inspiration. This is maybe the best example I've seen yet that gives me hope that one day my dream of the perfect M575 alternative will exist.
I recall reading somewhere that the reason Logitech's switches tend to fail is because they don't use them correctly. They're only designed for so much voltage, and Logitech puts too much through them, resulting in arcing, which results in deposits building up on the contacts, making them not click properly. You can pull the switches apart and clean the contacts, but from what I've seen, that's going to be super-fiddly.
I love the idea of mechanical switches on a mouse. Nice work.
PLEASE make a full Tutorial series on how to program an Arduino / How you learnt how to program it, how you learnt to do all the wiring, 3D Designing etc. Basically a full "DIY Course" would be awesome (I REALLY want to get into that kind of programming but don't know where/how to start..)
I suppose I could try making some instructional videos. I'm completely self-taught, mostly by just watching tutorials, but I do understand that it can be overwhelming. Right now I'm focused on building my next project, but I will consider your suggestion for the future. Thanks for watching!
@@benmakeseverything Thank you so much and I'll make sure to check my subscription box :)
@@benmakeseverything How long did this take u? im thinking of trying it out for school but there is a deadline so idk if its worth it
Awesome! The only thing I'd change is to either sand the surface or use acetone smoothing on it. Although, you probably appreciate the extra grippiness of the unsmoothed print.
Very well done, thanks for sharing with us
Fellow big hand here, yeah i was thinking of just going for a case mod that way i can still keep the pros of the G502 but still be able to use the thing.
Was actually watching this video as I want to make a wireless mouse but in the shape of a pen, so the sensor is the pen tip, as a means for me to learn art without investing into a graphics tablet as I could also make a modular keyboard setup for all the hotkeys and such to use in whatever app i will use! Great vid
i love the idea of putting extra buttons for the index and middle fingers, instead of doing like the razer trinity where you have to press everything with your thumb
If you have a magnifying rig like a head mounted loupe, it's actually not that hard to solder surface mount stuff as long as the pins are visible and you have a small enough tip to work with. That rules out BGA and QFN packages, but you still can do a lot without them. It does eliminate the ESP32 mini module variants, though.
Thank you! Finally someone else who understands the beauty of having extra left and right clicks!!! My favourite mouse of all time still is the Roccat Tyon with 16 buttons spread out evenly over all fingers with 32 functions using the onboard shift key (non of the thumb keypad BS!). Unfortunately that mouse was too niche and was pulled from their lineup after a short production.
PS, it's pretty handy to have PGUP/PGDN, Home/End, Ctrl+T/W, Ctrl+Shift+T/W, and Ctrl+Tab/Ctrl+Shift+Tab on the mouse as a power user of the WWW.
Very cool!
Hello Ben.
I really like your project,but i have a question.
It could be possible to integrate (buying from Ali MagSpeed scroll wheel) the induction MagSpeed scroll wheel from logitech MX3 in to this mice????
I'm super interested abut this,because after i got the MagSpeed wheel under my hands, I won't never again ride ordinary scroll wheels encoder again.
Thanks.
I'm a big fan of the thumb scrollwheel idea
One more GOOD CONTENT, Ben!
Man! You are God send for my Arthritis! Thank you very much!
This is really cool! It inspires me to bind right click to z button for aiming and left click to e button for shooting... Whoa! I kinda like it! Thank you so much! 😊❤
Very awesome, nice work bro
Tip when you're doing photogrammetry of objects like this. Take photos in a vertical arc, starting lower down, and then rising up to the top of the object, then step to the side and take another arc. This requires about 10x fewer squats since you only have to personally orbit the object a single time. It also results in more consistent vertical and horizontal spacing of the images.
Good tip, thanks! But all the squats are good exercise haha
Another awesome video!
Thank you!
man ! straight out of some sci-fi movie ! i would rlly have a gaming mouse with such asthetics .
Really cool project - wouldn’t mind making one and I can think of a few other uses for some of the tools.
Obviously a bit of a late suggestion, but I wonder if you could get the Arduino version of the code to work with a nice!nano? It’s sold as a drop in replacement for the Pro Micro, and it seems like folks have gotten it working with the PMW3360 trackball.
Great video, 10/10.
Like and subscription well earned!
Wow finally somebody promoting the PROMICRO, my favourite 😍
Nice go at it. But there are quite a few reasons why people opt to build new shells around existing mice guts, and while simplicity is probably the main one, having tried and tested components, firmware/software and top-notch sensor/wireless functionality are definitely in that list as well.
good job! just an idea would it be nicer to use transparent filament maybe since the inside components (chip and wheel) looks cool
Hi Ben, about the mouse rotary encoder, the way it works from some datasheet i found is that they are treated like 2 individual switches, there are copper plate inside and each of them represent individual switches when rotate the gears press copper together, so those 3 pins are technically the keyboard matrix. thats how they cheap out on getting tactility scroll wheel on gaming mice, not all encoder are the same, there are also hall encoder and IR encoder which i think all the mouse with infinite scroll wheel have, even my 12 years old budget logitech g300s mouse have it, the way they achieve tactility in these encoder are through a different mechanical design tho
I don't understand how that differs from his explanation. Can you explain more?
So great. It would be neat if you released a standard ‘core’ that people could build then just add their own 3d printed grip on top. (Opposed to having to redesign the entire shell)
6:03 the Elecom HUGE and their similar trackball mice have thumb operated scroll wheels
and as I found out, they give me bad RSI in my thumb, but I found a hacky workaround to toggle the trackball between pointer and scroll wheel
@@_BangDroid_ when I'm not using all the buttons I actually use my pointer to scroll with it, just dangle it over the edge and scroll
The Corsair M65 is very easy to take apart. There's just no repairing it. It is notorious for the scroll wheel to mess up. Some have said cleaning it helps for awhile, but I had no such luck. Switched to Razer and it's been two trouble-free years. YMMV of course
I was looking for such a mouse tracker! thanks finally found one.
but a few tips for your pcb design as a teacher:
1. avoid angles sharper than 45 degrees in your traces. to sharp of an angle can cause emc. this also goes for junctions, add diagonals to them.
2. don't run traces through pads. because of soldering and regular currents through the pads they will wear out quicker causing it to fail faster.
3. add a ground plane and power plane, this will reduce production cost and emc.
though I must say you did well for a first design, keep it up.
Thanks for the tips!
Can you explain #2? Doesn't every pad need at least 1 trace to be useful?
@@TheRainHarvester basically don't connect 2 traces to one pad, but add a T-junction next to it. this will reduce the strain on the pad itself.
Man I am over here trying to figure out how to fix my g903 because its the only "gaming mouse" that comfortably fits my had. I use palm grip. I cant even figure out how to make 3d printed base and shell to lighten her up lol. This guys over here designing his whole mouse himself. Great job man!
I would love to see a vertical mouse version of this one
That is awesome! Your scroll wheel grabbed my attention. It looks like it has to make your UX better with this main buttons. In general mouse looks great, but I was left upset when you didn't reveal the weight :( Maybe it was too important to me. I just love how some people get creative out of their annoyence. These products are the best! What is even more cool - that you do it for yourself mostly BY yourself :D
Thanks for the video!
Thank you! I can't find my scale right now, to weigh it but if I do, I'll let you know.
@@benmakeseverything appreciate your attention to my comment. I'd be grateful if you'd do that for me!
Found the scale. 143 grams/5oz
@@benmakeseverything DAAAAMMMM that's a lot, does it feel that heavy anyway?
@@centip3de930 Not really, I barely noticed a difference from my other mouse, but then it comes down to personal preference
Super cool project dude! How is the latency of button presses on the wired version? Do you have some way to test it? Maybe you could have some program running on your computer that would "respond" to the mouse (sending some command back) and then test the roundtrip time?
Good video and well explained. Having big hands and playing FPS can get painful. I have been working on one myself that has a Cortex-M4 at its heart, dual sensors, as well as a different suite of buttons. In shaping the body we took almost exactly the same steps, I just did more smoothing in blender. Also some of those rotary encoders have COM on the side pin.
i think a vertical mouse version would be cool
this is really cool, nice job.
I've been a logitech trackball user for years due to my needs and the quality of the switches has gone downhill in all of their mice. one used to last me years and I replaced the last few withing a year because of faulty clicking.
finally had to swap out the switches with some kailh blue 2.0 -that fixed that but the rubberized plastic and micro usb are def not made to last.....
Some microcontrollers support both USB HID and BLE. The ESP32C6 is one I’m looking at currently.
Oh dang, I just commented on your Cyberdeck video because I also made a custom Framework computer. Now I realized that you also built a custom mouse?
I must admit, it's not a competition, but yours is slicker than mine. It was several years ago, and I couldn't figure out how to get an arduino to read a mouse sensor, so I ended up using the Keymouse PCB which is meant for their products, which include a keyboard, so they're bigger.
@14:12 "The ergonomics are nop notch" he says while having to keep his fingers hovering above the mouse buttons.
Strain! This is exactly why I started to develop RSI to a point I HAD to learn to operate a mouse with my left hand.
This is now 20 years ago, and I still can't operate a mouse with my right hand more than a few minutes..
Be careful!
Love the project though!
You could put really stiff switches in the mouse that can support a finger resting on it!
I don't actually have to do that, no idea why I was in this video clip, probably should have used a different one here. The buttons aren't THAT sensitive. but I appreciate the feedback! sorry to hear about your injury.
Very cool and inspirational!
I definitely want to make something like this sometime, it seems like it would be super useful for me.
so cool! I love this mouse!
If you sold this, I would buy one. I also have a bit bigger hands AND I think it's pretty smart to have two buttons where there is usually 1, the scroll wheel is also very smart.
I'd buy one.
Nice project! love it
This was so cool!
awesome . i wished the mouse makers make bigger ergonomic mouses like yours
Awesome design dude, but you may want to smooth out the surfaces. The layers from the printing are gonna be great way for sweat, grease and dead skin to get stuck.
Cool build! I was looking at doing something like this but I'm stuck in my current projects code as I know very little about Arduino code. Might be able to get round to it in like a year lmao
Superior content, sir!
Making your own mouse is a great way to implement macro buttons, which I miss everytime I change my mouse (and had to accomodate with the new button layout). They are very useful in CAD.
BTW, did you consider using a ESP32 instead of arduino ? With its higher clock speed you may increase poll rate and precision.
There are a bunch of ways to use it as HID and even, with some boards, you already have bluetooth (ESPRESSIF ESP32 should be very good for this task).
Great job.
I did try to create a version using a Feather S3, which is ESP32-based. That was the wireless version mentioned in the video. Unfortunately, the latency was not very good. It may be that the code was not optimized, but I figure there is probably a good reason that commercially available wireless mice use a dedicated USB receiver...
Had an idea like this bouncing around my head for a few months now. I haven't been happy with the way a mouse has felt in my hands since the Saitek R.A.T. 7 but even if I wanted to scrounge around for old stock i'm too used to the extra buttons and functionality my Roccat Leadr provides. And since mice like the Leadr seem to be few and far between i've been thinking "screw it i'll do it myself". I've also seen all the "take this mouse and put it in a new shell" videos and that's what i've wanted to avoid. I figured I was going to have to design a PCB at some point, but I had no idea how I was going to do the rest. This helps a ton. Might be a bit before I actually get around to doing this but the idea keeps growing :3
Gonna miss the wireless bit of my Leadr though, but I barely deal with code as it is i'm not going to attempt to figure out how to get the latency down.
Hey, I just wanted to tell you that the micro usb port in the arduino pro micro isn't durable, it is a surface mount and not through hole. It cannot resist being plugged and unplugged over and over and very light forces could break it. I've used one for a macro keyboard and it broke in less than a year. If you want to use that board for a wired mouse, I will recommend a kind of support as a strain relief.
Other than that, loved the project. Keep it up
Building a custom mouse with custom buttons is something i figured is possible. I want to be able to work in an accelerometer so the mouse movement can be adjusted based on the mouse angle to the screen, just not sure if that's something would be able to learn with drivers and code or using arduino.
I have found the perfect wireless mouse for me, although it uses a dongle instead of Bluetooth to connect. But its latency is too little for me to notice and except for needing one switch replacement so far it works flawlessly and has exactly the functions I need. Mouse wheel that can be pressed to toggle the ratchet and pushed left or right to scroll left or right (very rare function as it seems), a seperate middle click so I don't scroll when middle-clicking, and a back and a forward button which I regularly use as I work a _lot_ in the browser where they come in handy. And no more functions, just the ones I need. It's a Logitech mouse, although I haven't been able to figure out the exact model so far. It's an office mouse but also capable of basic gaming.
[EDIT]: And no, this isn't an ad, this is just me describing why I really love the mouse I got several years ago.
Great job 👏