Author Topic: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor  (Read 52914 times)

0 Members and 1 Guest are viewing this topic.

Offline iso

  • Thread Starter
  • Posts: 230
 :thumb: My search for a better mouse is over, this offers me unparalel way to adjust my mouse, standing up, high or low desk position, relaxing back on the chair or very close to the screen, this works with everything.

Teensy 2.0 - https://www.pjrc.com/store/teensy.html
Sensor - https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/
Hook up instructions and original firmware/post form a different user - https://www.overclock.net/forum/375-mice/1588408-teensy-mod-firmware-g100s-13.html

This is a continuation from my previous post, upgraded ergonomic mouse - https://geekhack.org/index.php?topic=93783.0

I re-modelled the shell, new base, new sensor container and scrolling style, using ballheads joint style I managed to make the device ultra adjustable.

The hand piece moves indepenendently from the base and can be locked into place when the hand is in confortable position
The 3 finger cluster left/mid/right click is also movable.
The thumb cluster to scroll up/down is adjustable
Button height/travel distance is customizable
Sensor container moves independently from the base and can be locked into place.
I used reed switches for the left/mid/right buttons
The button springness is given by 2x5mm cubic magnets repelling eachother - Very smooth movement
No clicking noise whatsoever
Brass joints for the button levers, not plastic on plastic
Firmware allows to switch DPIs and there will be a RGB led indicator - See original post on overclock.net


The whole mouse require about 22 parts to be printed
On my Tevo little monster took about 12 hr at 0.2 layer height, 60% infill, 230 degree, medium gray PLA, slowed down to 50mm/sec just so doesnt fail for whatever weird reason and there is lots of overhangs for the hand support piece.

Palm size 170mm long, 110wide

Used flathead 4/40 brass machined nut/bolt

If your hand is little smaller/larger you wont have to resize the model, anything 20mm larger/smaller, you should resize the model, or just print it and keep it around as a piece of art :)

Most expensive parts are the electronics, sensor and teensy, round the price for all parts together, about $50 .
Most time consumming is the modelling, took several months and "wasted" 1kg of filament.
For those who will have to resize the model, I hope you`re decent modeller because is gonna hurt trying to keep some of the original sizes without completelly destrying it.
Modelling done on 3ds max.

Questions ?

« Last Edit: Wed, 10 April 2019, 14:22:11 by hoggy »

Offline RayBailey

  • Posts: 1
Ich weiß, dass diese Site eine große Site zum Datenaustausch ist, also habe ich mehr Informationen recherchiert, um sie mit Menschen außerhalb zu teilen.

Offline Pseudoku

  • Posts: 3
Thank you for sharing. That palm rest is mesmerizing. If you don't mind me asking, what kind of process did it take to design this shape? Was it more parametric approach or freehand design with trial and error?

Offline iso

  • Thread Starter
  • Posts: 230
Thank you for sharing. That palm rest is mesmerizing. If you don't mind me asking, what kind of process did it take to design this shape? Was it more parametric approach or freehand design with trial and error?

You welcome. Triel end error.
Stretch you arm in front of you and shake your palm.
Look at your palm, that is the natural state your fingers rest, if you deviate from that, you`ll be forced to claw/grip the device.
Took few weeks of modelling, printing, throwing the piece away then fixing things, little by little I got to the shape you see.
That addreses the hand shape, wrist position is adjustable from the base ballhead hand support joint.

Offline iso

  • Thread Starter
  • Posts: 230
I printed the second piece using PETG

Here`s the detailed pictures, I know they not perfect.




Offline blawb

  • Posts: 47
  • Location: USA CA
This is very cool. How long have you been using it now? I'm glad you went with no clicking because I've thought about printing my own mouse just to have silent switches. Are you happy with how it is now or do you have further plans for the project?
i hate wet socks

Offline iso

  • Thread Starter
  • Posts: 230
I`ve been using it for little over a month now. I found out that the 1x1mm magnet is very hard to position just right to trigger the reed switch, mainly because I use magnets to cushion the button action and those are 5x5mm, enough to trigger the reeds from over 3cm away
I will be adding a new printable model where the user can switch from reed to DigiKey part # SW986-ND lever switch, fairly cheap and readily available
And one other, which will make positioning the magnet lots easier, hall effect sensor which require some code change in the firmware.
So whoever wants to put this together for themselves, will have 3 options to choose from, reed switch, lever switch (clicky) and hall sensor.
This is the most customizable mouse ever, where you can choose electronics and ergonomics.

Offline Kaibz

  • Posts: 48
  • Location: AFK but not too much
This is extremely impressive good job !!!!

May i know how different is the firmware from you use in your original thread on overclock forums?

Do you think one could adapt your project to make a gaming mouse? i mean is the sensor able to react to very fast movements and do you think adding a way to store keypresses for the mouse buttons is even doable?

Cheers.
Sharing the knowledge

Offline sinusoid

  • Posts: 160
  • fd > ESC
This is the most impressive mouse design I've seen in my lifetime. There's nothing that comes close. You're doing so many things right with this. I love this.

I'll be definitely printing this, and posting feedback. I literally crave to make it my daily driver.

Offline iso

  • Thread Starter
  • Posts: 230
This is extremely impressive good job !!!!

May i know how different is the firmware from you use in your original thread on overclock forums?

Do you think one could adapt your project to make a gaming mouse? i mean is the sensor able to react to very fast movements and do you think adding a way to store keypresses for the mouse buttons is even doable?

Cheers.


Hi, thanks for the kind words.

The firmware hasnt changed one bit, its exactly the way was uploaded by the original poster.
I`ve never added the RGB led and the DPI switching buttons, I dont really care about any lights or DPI on the fly for now, so that bit is the only part I cant tell if is working or not.
I`m gaming with the mouse right now, I play fast paced games, Quake live and slow paced games, Portal/Half life 2, I never noticed any problems with the sensor/device, check the manufacturer`s website on Tindie for technical details, G forces and DPI limits. If you google the sensor name you will find lots of gaming mice that uses the same sensor, they designed a device around the sensor... minus the ergonomics.
With this sensor you`re only using about 8 pins on the Teensy 2.0, there is plenty left to add extra functionality/buttons/macros.

If you do so, let us know hows working for you so we can make this better, I hope this answers your questions.

Offline iso

  • Thread Starter
  • Posts: 230
This is the most impressive mouse design I've seen in my lifetime. There's nothing that comes close. You're doing so many things right with this. I love this.

I'll be definitely printing this, and posting feedback. I literally crave to make it my daily driver.

Thank you

I`m working on a keyboard right now but soon I will add a new way to scroll and there will be a new interchangeable thumb part that uses reed/hall effect switching instead of regular round buttons which will fail sooner or later.

Offline iso

  • Thread Starter
  • Posts: 230
Here is the new interchangeable cluster finger bit that uses lever switches instead of the magnetic switches.
Is lots easier to use, position and modify, not so many moving parts to adjust  to perfection.
This is what im using right now myself.

Offline sinusoid

  • Posts: 160
  • fd > ESC
I'm tempted to design a few accessories for this, but this will have to wait for a few months due to ongoing work.

I always liked trackpoints for scrolling. Lots of fine control over speed, direction and acceleration.
IBM used to have one on the MO09BO: https://www.amazon.com/Genuine-IBM-Illuminating-Optical-41A4932/dp/B007TWBUY2

Offline iso

  • Thread Starter
  • Posts: 230
I'm tempted to design a few accessories for this, but this will have to wait for a few months due to ongoing work.

I always liked trackpoints for scrolling. Lots of fine control over speed, direction and acceleration.
IBM used to have one on the MO09BO: https://www.amazon.com/Genuine-IBM-Illuminating-Optical-41A4932/dp/B007TWBUY2

The IBM mice got a 4 way tactile switch for scrolling, whole new bunch of electronics and usb cable. You can do the same on same teensy with the switch you want for max $2. I guess what im saying, is it worth it to buy that and take it apart and modify it ?

https://www.alibaba.com/product-detail/10-pin-10x10mm-smd-smt-multi_1597959788.html

Offline sinusoid

  • Posts: 160
  • fd > ESC
These mice I linked didn't have a switch - they had a trackpoint-like bar you could put your finger on and scroll up/down with varying force.

Regarding scrolling, I'd opt for something analog. So trackpoint or an analogue thumb joystick. Or maybe a trackball, or single axis optical encoder wheel like in ball mice. Depends on what's more easily available.

Analog input lets you scroll smoothly in all directions, and vary the scroll speed from slow to extremely fast. You're essentially inputting a force as a variable, rather than impulsing with a switch (or a scroll wheel).

Offline praxis87

  • Posts: 44
  • Location: WA, USA
I don't really care for the feel of the metal switch levers.  Would it be possible to request a version of the finger cluster for the lever switches that uses the keys from the original (or that use non-lever switches)? 
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline iso

  • Thread Starter
  • Posts: 230
I don't really care for the feel of the metal switch levers.  Would it be possible to request a version of the finger cluster for the lever switches that uses the keys from the original (or that use non-lever switches)?

Hi

Both versions are available in OBJ format, (reed and lever) download whichever you need, they interchangeable.

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Did you have to convert the teensy to 3.3v?
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline Zustiur

  • Posts: 235
Is there a picture or video of your hand on the mouse? I can't figure it out.

Offline praxis87

  • Posts: 44
  • Location: WA, USA
This is how you hold it / how it looks assembled.  I'm still working on mine.  My apologies to ISO for modifying his beautiful and original design with a hatchet.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline praxis87

  • Posts: 44
  • Location: WA, USA
I think I've answered my own question about the 3.3v regulator - not needed for compatibility with the 3360.

iso - Can you confirm whether you're using the PMW3360DM firmware posted by gipetto or the g102 firmware by qsxcv?  You're using the timed debounce rather than the hardware debounce, correct?
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline iso

  • Thread Starter
  • Posts: 230
Is there a picture or video of your hand on the mouse? I can't figure it out.

Please check my first post at the bottom, look for * MEM 01 functional.mp4 *

That is with the reed magnetic switches, later on I added the lever switches and the model

Offline iso

  • Thread Starter
  • Posts: 230
I think I've answered my own question about the 3.3v regulator - not needed for compatibility with the 3360.

iso - Can you confirm whether you're using the PMW3360DM firmware posted by gipetto or the g102 firmware by qsxcv?  You're using the timed debounce rather than the hardware debounce, correct?

Hi.

1. g102 firmware by qsxcv.
2. Timed.

I was about to create a new document, to explain the way qsxcv explained how to put it together but im burried with things to do and I have to prioritise

How does the shell feel for you ?
Thanks for beign the first to give it a try and post pictures.
Just because I did it first does not mean im the best at it, all modifications are welcome and I hope I see more of it so everyone benefits from better design/functionality

NOTE: If you`re using to print this with layer higher than 0.2, its gonna be very hard to fit the electronics inside, everything its pretty tight too keep it from rattling. I guess I should have specified that before, the shell for sensor/teensy and switches needs to be printed at 0.2 or lower.


Offline praxis87

  • Posts: 44
  • Location: WA, USA
Hi.

1. g102 firmware by qsxcv.
2. Timed.

I was about to create a new document, to explain the way qsxcv explained how to put it together but im burried with things to do and I have to prioritise

How does the shell feel for you ?
Thanks for beign the first to give it a try and post pictures.
Just because I did it first does not mean im the best at it, all modifications are welcome and I hope I see more of it so everyone benefits from better design/functionality

NOTE: If you`re using to print this with layer higher than 0.2, its gonna be very hard to fit the electronics inside, everything its pretty tight too keep it from rattling. I guess I should have specified that before, the shell for sensor/teensy and switches needs to be printed at 0.2 or lower.

Thanks for clarifying. 

I'm having trouble with the firmware.  The LMR click buttons all work regardless of which firmware I use (I modified the pin assignments so they match).  On the G102 firmware (unmodified) the mouse cursor instantly jumps to the bottom right of the screen and insists on staying there - it moves back there when I move the cursor with another mouse.  On the PMW3360DM firmware the mouse cursor kind of wanders. 

I've attached a diagram of how I have everything hooked up currently as well as how I have the PMW3360DM firmware modified (in case I did something stupid).  +5 and gnd are connected but not noted.

The shell feels amazing.  My hand literally sighs when I place it on it.  I did modify the shell to make the part next to the pinky a little wider, spread out the thumb rest, and bent the bottom rib in a bit to make it better fit my hand.  STL attached if you care to see.  I've been modifying everything with meshmixer - which has felt like butchery to me.

If you felt up to making a guide - I would love to see what I did wrong.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #24 on: Fri, 01 February 2019, 01:54:54 »
Sorry you`ve ran into problems, here is the wiring and attached is the firmware im using with a PDF.

s = sensor
t = teensy

s-GD to t-GND
s-SS to t-B0
s-SC to t-B1
s-MO to t-B2
s-MI to t-B3
s-VI to t-VCC

For some reason I have a hard time writing documentation of any kind but I`ll get to it if you still have problems.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #25 on: Fri, 01 February 2019, 07:34:21 »
WOW!
any chance for a limited run or creating a shop on shapeways or another online 3d printer for those of us without printers?
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #26 on: Fri, 01 February 2019, 10:23:28 »
WOW!
any chance for a limited run or creating a shop on shapeways or another online 3d printer for those of us without printers?

Are you looking for just the 3d printed parts or fully assembled?


Sorry you`ve ran into problems, here is the wiring and attached is the firmware im using with a PDF.

s = sensor
t = teensy

s-GD to t-GND
s-SS to t-B0
s-SC to t-B1
s-MO to t-B2
s-MI to t-B3
s-VI to t-VCC

For some reason I have a hard time writing documentation of any kind but I`ll get to it if you still have problems.

You are a saint.  I'll check my wiring and re-flash with this and report back.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #27 on: Fri, 01 February 2019, 12:01:53 »
i'd be curious what the printed parts would cost.

if you plan on making it a DIY kit, i think it could be wildly popular in our little niche in the world. wether you provide the prints or just post the files, parts list, build guide & firmware. (i'd help in anyway i can)
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #28 on: Fri, 01 February 2019, 12:19:15 »
WOW!
any chance for a limited run or creating a shop on shapeways or another online 3d printer for those of us without printers?

You can download the obj`s, the models and send it to some on-line printing service if you want or ask a friend, please not that tolerances, particularly teensy/sensor case are tight and if is printed above 0.2 you wont be able to fit the electronics inside. Depending on printer speed and material you`re using, you`re looking at 10+ hours of printing per device, that if none of the parts fail and have to start over with those.

Im working on a finall approach on how to have the scroll to work with the unmodified firmware.
People that cant get the print themselves/have a printer, usually wont be able/willing to solder, clean plastic parts and modify the firmware.

Meaning they need a complete product.  Im the kind of person that likes to over-deliver when its time to deliver.

As it is right now I cant put the time into modifying the model to have 20 hand shapes and let the user measure and order the shell size to fit their hand because lets face it, thats all what this is about, perfect fit for each hand

If I start selling those as it is, Im only gonna run into unhappy users because the plastics wont fit properly if I only have one model/size.

praxis87 confirmed this, he could be the  only person that actually did print everything and, of course,  had to modify the model to fit his hand

Im thinking about having a kickstarter campaign because is the only way I`ll  be able to start working part time and have the money to hire designers/engineers/marketers and create 20+ hand size/shape variation using same/better electronics. 3 months ? 6 ? 2 years, I dont know, I got to talk to friends.

Note: I can totally print same size plastic parts Im using and sell it to you if thats  what you`re asking but cant afford to take the time to modify this to perfectly fit your hand size/style. To me the soldering part is hard because all the wires have to be tucked in, sandwiched between the PCBs.

Printable MEK-01 post coming soon (Keyboard)


Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #29 on: Fri, 01 February 2019, 12:29:18 »
i'd be curious what the printed parts would cost.

if you plan on making it a DIY kit, i think it could be wildly popular in our little niche in the world. wether you provide the prints or just post the files, parts list, build guide & firmware. (i'd help in anyway i can)

The plastic used its gonna be about $3 and another $2 in electricity, the electronics are the expensive parts, $13 for Teensy and $30 for the sensor, not sure how much money you make/h but with soldering and cleaning the parts probably another... 1h. So, you do the math there.

If I were to sell those, I could not afford to sell under $80

All parts are already posted on my first post, same with the firmware. There isnt a comprehensive guide yet, looks like Im gonna have to make one sooner or later.


Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #30 on: Fri, 01 February 2019, 12:53:13 »
3Dhubs is quoting me ~$110 for the prints in PLA...  :eek:  That is based on my current parts set... so the original files from iso may be less.

I'm very new to this little niche... so I have no idea how price sensitive folks are.  Or if they're willing to accept the fact that the underside of some of the parts won't be super clean (due to the necessity of supports while printing) and will need to be cleaned up.  Thoughts?

Iso also touched on the fact that neither his nor my palm file is going to fit everyone.  Based on what I can tell, both of our hands are pretty close in size and I still had/chose to modify it to fit me. 

IDK.  I'd be willing to print some for folks, but it would have to be a conversation and between time spent and shipping cost it would have to cost enough to be worthwhile.  That is assuming ISO is even cool with me printing these for folks.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #31 on: Fri, 01 February 2019, 12:53:23 »
totally understand not wanting unhappy.

i'll keep an eye out & check back soon. (a.k.a.  ...gotta get back to work...)
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #32 on: Fri, 01 February 2019, 13:21:10 »
$110 plastics alone  ? Thats ridiculous. The printing/shipping in US, time to clean up should be $35 max. 3dhubs must be doing well.

Any of you got money ?  :p We can make something happen, we can create molds and inject these and sell for $15/pop, shipped in US.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #33 on: Fri, 01 February 2019, 13:24:34 »
3Dhubs is quoting me ~$110 for the prints in PLA...  :eek:  That is based on my current parts set...

that's more along the lines of what i was expecting.... online 3d print shops are expensive, especially for multiple parts. you'd have to group the parts together to make it worth it. but then there's even more cutting/cleaning up of the parts. i don't know a good solution to this yet. i've seen it numerous times over the last couple years since online 3d printing became popular. there have been a couple things i would've loved to have printed but didn't because of the cost.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #34 on: Fri, 01 February 2019, 13:53:33 »
there have been a couple things i would've loved to have printed but didn't because of the cost.

That right there is literally why I bought my first 3d printer.

$110 plastics alone  ? Thats ridiculous. The printing/shipping in US, time to clean up should be $35 max. 3dhubs must be doing well.

You're not wrong... I think I've spent maybe $15 in filament prototyping this mouse so far.  On the other hand, look at what u/crystalhand is doing with dactyl-manuform keyboard cases and those are easily over $100 a set.  More print time/more plastic on those (and more expensive failures), but I don't think he's actually making that much per unit.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #35 on: Fri, 01 February 2019, 14:21:23 »
yeah, with the price of printers coming down, you could probably justify the cost with a couple projects.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #36 on: Fri, 01 February 2019, 14:57:46 »
i'm just thrilled that there's a DIY mouse in the works, the fact that this one is beyond ergo is just icing on the cake. i've been waiting for years for the parts to surface (optical sensor) & someone to hack together some firmware.

this will definitely be my next project. i'm currently working on a hand-wired keyboard.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #37 on: Fri, 01 February 2019, 17:09:12 »
speaking of printing prices..... cough... (have your exploitive censor beeper handy)
https://www.shapeways.com/shops/bespokeys
(the dactyl on shapeways)
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #38 on: Fri, 01 February 2019, 17:45:40 »
speaking of printing prices..... cough... (have your exploitive censor beeper handy)
https://www.shapeways.com/shops/bespokeys
(the dactyl on shapeways)

I think that's more a function of inefficient design for 3d printing on that version of the dactyl than outrageous cost.  There is no good reason for a weirdly-shaped bottom piece.  I was looking at the dactyl-manuform on shapeways... and I've got to say that $140 for both pieces printed in nylon is actually kind of tempting.  I figure that it would take me $30-40 just in nylon filament to print it myself - never mind the 48++ hours of printing time and a very high risk of a possible failure.  I still figure that their cost represents a 40-50% profit though.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #39 on: Sat, 02 February 2019, 02:20:59 »
Well, I have a working version now.  Thanks for the instructions and FW, iso, they really helped!  I'm even writing this reply using it.

Status/thoughts:
- my scroll up/down buttons are not working - probably because it's expecting input from a quadrature instead of simple high/low.  Not sure if I want to fix it in FW or add a scroll wheel - probably going to go with the wheel
- need new mouse feet as the stock ones are too tall for me and the sensor drags with nothing - currently sitting on some washers glued to the bottom
- wire routing channels might be a nice addition
- add and enable in FW a dpi button and change the DPI steps to 600/1000/1600
- need something between my fingers and the switch levers - really don't like the feel of the end of the micro switch levers.
- I really like the "feel" of the mouse as it tracks
- need a better USB cable lol
- not sure I'm sold on the timed debounce - it seems to have a hard time knowing when to release with held clicks
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #40 on: Sat, 02 February 2019, 07:37:42 »
YAY! congrats. looks great.

feet... add whatever you need to get the sensor off the desk, then you can get teflon mouse feet tape and do portions or the majority of the bottom of the base.
https://www.amazon.com/Skates-Teflon-Computer-Replacement-Yourself/dp/B01LZ44P6M

wire channels, if it's just a little clearance a small round file should do the trick (little bigger round than a tooth pick)
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #41 on: Sat, 02 February 2019, 14:50:41 »
Nice.

Im almost done printing the last bit on PETG and modelling the new bit, reed magnetic encoder case.

The ronud silver piece is a magnet, radial magnetisation pattern, combined with 2 reed switches, will replace a regular encoder but without the wear, think of it as a flywheel, 1 mm away from the reed switches.
Yes, will use a little bearing to its super smooth
I`ll put together a little parts list for the scroll mechanism alone.
The firmware I uploaded already has the encoding working, no modifications needed, is what I wanted to do from the beginning so whoever wants to put it together only needs to hack the hardware together without touching the software.

For the wire routing, I never used flat/band type wires, straight up, because is ugly.
My approach to it is normal wires coming out  and use shrinking wrap to make it look pretty, then split/route where necessary.
I have no problem modelling... wire guides into the parts but replacing/adding extra connections to the teensy will require larger holes/guides and I dont want to make it look bulky before I see how the other users are using it. (But its a valid point on having wire/connector guides).

« Last Edit: Sat, 02 February 2019, 14:56:34 by iso »

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #42 on: Sat, 02 February 2019, 15:08:17 »
If you insist on having a/multiple button for scrolling this is what I have, still needs modifications to "plug it" into the firmware.
Is all hacked together by various people, I havent wrote any of this except for small modifications.

!!!! New file for the code below !!!!
// Each button has its own dedicated scroll speed/direction - 6 buttons in total


#include <Keyboard.h>
#include <Mouse.h>

int count = 0;
void setup() {
pinMode(0, INPUT_PULLUP);
pinMode(1, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
//Reverse
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);

}
void loop() {
if(digitalRead(0)==LOW){ Mouse.scroll(-1); delay(7);}
if(digitalRead(1)==LOW){ Mouse.scroll(-1); delay(70);}
if(digitalRead(2)==LOW){ Mouse.scroll(-1); delay(400);}
//Reverse
if(digitalRead(3)==LOW){ Mouse.scroll(1); delay(400);}
if(digitalRead(4)==LOW){ Mouse.scroll(1); delay(70);}
if(digitalRead(5)==LOW){ Mouse.scroll(1); delay(7);}
}



!!!! New file for the code below !!!!
// Scrolling with 2 buttons, holding down a button will start accelerating the scroll process on vertical plane. (Thanks L.)


#include <Keyboard.h>
#include <Mouse.h>

void setup() {
    Serial.begin(9600);
    pinMode(0, INPUT_PULLUP); // Forward
    pinMode(3, INPUT_PULLUP); // Reverse
    Serial.println("Setup complete.");
}

void mouseAccelerate(int signalPin=0, int scrollDirection=0, int startRate=400, int accelRate=50, int stepRate=5){
 Serial.println(" Entered Accelerate.");
    int currentRate = startRate;
 int stepCount = 0;
 while (digitalRead(signalPin) == LOW) {
        Serial.print("  Scrolling active! stepCount: ");
        Serial.print(stepCount);
        Serial.print(" - Pin state: ");
        Serial.println(stepCount);
  if (stepCount >= stepRate && currentRate > accelRate){
            currentRate = (currentRate-accelRate);
   stepCount = 0;
            Serial.print("   Reset stepCount. currentRate: ");
            Serial.println(currentRate);
  } else
  Mouse.scroll(scrollDirection);
  delay(currentRate);
  stepCount++;
 }
    Serial.println(" Scrolling stopped..");
}

void loop() {
    Serial.println("Loop - main.");
 if(digitalRead(0)==LOW){ Serial.println("Calling accelerate."); mouseAccelerate(0, -1, 400, 50, 5); } // Forward
 if(digitalRead(3)==LOW){ mouseAccelerate(3, 1, 400, 50, 5); } // Reverse
}



Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #43 on: Sat, 02 February 2019, 15:50:14 »
Another approach to scrolling would be:

a. Two Hall magnetic sensors, up/down that measure the magnetic force, meaning depending how close the magnet is to the sensor, will change scrolling speed to fast/slow.
b. Two LDRs and one LED, isolating/controlling the ammount of light from the LED to the LDR, will control the scrolling speed. Think of it as light sensing device, receiving more or less will affect the scrolling speed

Both of these require extra pins/firmware modification, anyone want to give it a shot ? :)

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #44 on: Sat, 02 February 2019, 17:54:50 »
You guys are crazy brilliant! Love it!
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #45 on: Sat, 02 February 2019, 18:12:22 »
Another approach to scrolling would be:

a. Two Hall magnetic sensors, up/down that measure the magnetic force, meaning depending how close the magnet is to the sensor, will change scrolling speed to fast/slow.
b. Two LDRs and one LED, isolating/controlling the ammount of light from the LED to the LDR, will control the scrolling speed. Think of it as light sensing device, receiving more or less will affect the scrolling speed

Both of these require extra pins/firmware modification, anyone want to give it a shot ? :)

I've got a small surplus of the led/wheel/sensor from various logitech mice that I'd ideally like to use.  I believe they are just an optical quadrature, but I haven't played with it much so I'm not sure how hard it's going to be to adapt.  I think this is basically the same as your option b.  Working on modeling how to hold it all currently.

You're right about the flat wire being ugly.  I just used it because I had it handy and I thought it might help keep things tidy (it didn't).  I also didn't tuck this one in very well as I expected there to be problems and/or revisions.  Combining ground before coming down to the teensy would have been a good call.

I'm thinking about sugru for the lever switches.  Thoughts?
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #46 on: Sat, 02 February 2019, 21:00:02 »

I've got a small surplus of the led/wheel/sensor from various logitech mice that I'd ideally like to use.  I believe they are just an optical quadrature, but I haven't played with it much so I'm not sure how hard it's going to be to adapt.  I think this is basically the same as your option b.  Working on modeling how to hold it all currently.

You're right about the flat wire being ugly.  I just used it because I had it handy and I thought it might help keep things tidy (it didn't).  I also didn't tuck this one in very well as I expected there to be problems and/or revisions.  Combining ground before coming down to the teensy would have been a good call.

I'm thinking about sugru for the lever switches.  Thoughts?

You`re talking about optical encoders, does not work same way, the diference is that the receiver does not per-say measure the ammount of ifrared light coming from the emiter, its either on or off, LDR can measure light. the LED is to have a way to always have same ammount of light so the device does not have to calibrate the LDR every time you touch the mouse. So, needs to be light proof and the only source of light would be the LED and a little "door" thats moved by the user`s thumb, lets some light hit the LDR, opening the door more/less, will increase/decrease resistance  - Mouse.move(1); delay(LDR_resitance);

Youtube "ldr light control arduino", you`ll get it.

The joint on the finger cluser should let you adjust the angle of the buttons, will also move the buttons slightly away from the hand support.
Looking at the picture you posted earlier looks like the finger cluster is too close to the hand support piece and the tip of your fingers dont hit the center of the lever.
What can you do ? Add extra lenght to the joint assembly locking mechanism to create distance.
If your pinky is touching the table aready, you need to lenghten the joint asembly shaft that goes between base and hand support.

On the video is my hand, proper the finger tip distance touching the center of the levers, there is no need to add anything, you need to resize things properly  :))

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #47 on: Tue, 05 February 2019, 00:58:28 »
All done, magnet flywheel is working as expected. I had a round multi-pole magnet from a stepper I pulled from an old floppy disk.

You can get something similar here: https://supermagnetman.com/collections/neodymium/products/r1050?variant=11410341251

I dont have a model for the magnet in the link, I will order soon and I will create one

Note: The DPI buttons do work, you have to hold down the button and plug in the USB. I know, its kind of weird, will not change the DPI unless you unplug, hold down the button and plug it back in.




Offline nevin

  • Posts: 1646
  • Location: US
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #48 on: Tue, 05 February 2019, 01:24:36 »
just beautiful! :thumb:
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline Kaibz

  • Posts: 48
  • Location: AFK but not too much
Re: MEM 01 - Modular ergonomic mouse - 3d printed, teensy 2.0 and pmw3360 sensor
« Reply #49 on: Tue, 05 February 2019, 09:07:17 »
this thread is absolutely fascinating to me and you did triggered me to buy a PMW3360, just have to wait 2/3 weeks till it arrives.

If i may ask, some of you were talking about implementing hardware debouncing with nand gates, would this make gaming performance better for example?

Praxis was asking about sugru for levers, personally i've been trying to make some ABS levers for my omrons switches, i tried to model it like the one i found in newest logitech mouses, so i will know for sure how confortable/sturdy/efficient it is as i ordered several thicknesses, size...All i know is that using ABS it should be pretty sturdy as the bend will also be limited as it will be pretty close to the switch.


« Last Edit: Tue, 05 February 2019, 09:13:19 by Kaibz »
Sharing the knowledge