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

0 Members and 1 Guest are viewing this topic.

Offline praxis87

  • Posts: 27
  • Location: WA, USA
Yep, that's the spot.  The wires soldered to the end pins on the teensy prevent the catch from seating fully.

Ohh... Never seen round body tac switches before. 

Offline iso

  • Thread Starter
  • Posts: 94
I found the round switches when I took apart an old display to salvage the electronics, of course I had to order 100 of them.

@praxis87 - Does your teensy have headers ? I added some pins and I can see why wire management is a bit of a problem.
@nevin - Order the electronics and other piece of hardware you`ll need to assemble this, by the end of the next month you`ll receive the plastics. As I remember the sensor will take minimum 2 weeks to arrive. When Im done modifying the sensor compartiment/cap I`ll message you about shipping money/location.


Offline nevin

  • Posts: 306
  • Location: US
@iso - awesome! i'll get with you in the next couple days to put a complete parts list together for myself as well as any others that decide to print/build. (looks like most of it is listed, just want to make a concise list)

what gauge wire you guys using? i just got a multicolor spool of 30awg for another project.

i did like the angled 3 button piece, reminded me of an engine block (the holes & the angle) but the revised will probably be easier to work with.

excellent work as always.
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: 94
24 gauge/0.4mm, solid copper for teensy to the sensor connection, you can get those from LAN cables. Ads lots of stiffness to the assembly, also I added double sided sticky tape on top of the sensor`s IC, to hold the teensy as I soldered those two together.
Everything else is from old/salvaged USB/HDMI/VGA cables. I have probably over 50 colors to choose from. I dont remember ever buying cables/wired for DIY projects.
As I`m trying to create space to add more wires, the design of the sensor/teensy case will chage, aready did 3 itteration of whats in the pictures, when Im happy with the result, I`ll add the OBJ again with picture.

Offline nevin

  • Posts: 306
  • Location: US
yeah, i got a bunch of crap wire as well. but i'm working on a hand wired keyboard and didn't want to get a bad section of crap/intermittent wire. i'll have enough fun tracking down other issues, i don't want that to be one of them.

how close are those 3 buttons on the base to your thumb? reachable?
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: 94
1. Re-did the sensor case and the cover for it. Looks... weird but now there is lots more space to work the wires out. No hole for the LED, just for the DPI/Navigation buttons.  Holes through. M3/4-40 flathead machine screws will fit.
2. Re-did the cap for the sensor. Lower profile, minimalistic, will exert little bit of pressure on the teensy IC, is designed that way.
3. No branding (for now)

@nevin , not reachable. Is difficult to model/add those next to the scroll-wheel and unless I have more options/buttons I dont dont see myself putting the time for just 2 buttons, so that bit will have to wait.

Offline nevin

  • Posts: 306
  • Location: US
nice.

i'm all for function over form. doesn't look bad at all either. reminds me of some of the battery braces from back in my R/C racing days. do you need that much pressure that a bolt & nut is necessary, or would some plastic/wood screws from the top be enough to hold down the top brace? any way to squeeze a small hole in there to access the reset button?

buttons. oh, it's no problem. was just curious.
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: 94
Top cover is pretty thin, very little pressure but the 4-40 screws will keep it from rattling, previous model had a "snap on" kind of mechanism, would be pretty stiff at the beginning then  will get loose after removing/adding it few times, i never liked it, always felt like I have to pry it open with certain care so I dont destroy it. With the screws looks/feels better built.
For an easy payment of $99.99/month or 1000/year you can have a tiny reset hole, limited offer, act now, this wont last !.

If you take on assembling this, chances are you have a drill bit to poke a hole on a 2mm piece of plastic :)

Offline nevin

  • Posts: 306
  • Location: US
lol. no problem. i know from other projects the community would make noise anytime the reset button was not easily accessible.
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: 306
  • Location: US
Lots of digging/research into the firmware stuff....

Actually, after initially programmed, you can hold one of the mouse buttons when plugging in to invoke the bootloader, so really, no need to get to button on teensy after 1st flash.
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: 94
I guess if the firmware gets ported into Arduino, all other options will be lots easier to implement, mainly because even beginners can throw some non-sense in there and upload the code and find what they actually want as extra button/functionality.
Unless someone else is faster than me and create the model, the extra buttons will have to wait.

Im done resizing the model for hand piece and finger cluster. I`ll print those tomorrow.

@nevin - does it bother you if plastics gonna be lime/gray mix ? I ran out of gray filament.

Offline nevin

  • Posts: 306
  • Location: US
Printed parts... COOL!
Colors... No, beggars can't be choosers....
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: 94
@nevin

Lime green actually looks good with medium grey.
In reality the green is darker, not so shiny.

Offline praxis87

  • Posts: 27
  • Location: WA, USA
I'm going to have to stop printing my mouse pieces just in black.

Offline nevin

  • Posts: 306
  • Location: US
@iso - Looks fantastic! Thank You! Soooo excited! Sending pm in a min.
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: 94
I'm going to have to stop printing my mouse pieces just in black.

Dont you dare, you need to be known as the guy that prints black only, I`m the guy that prints on any other color  :))

Offline praxis87

  • Posts: 27
  • Location: WA, USA
@iso - Question about your experience with the magnetic quadrature.  I built the reed switch quadrature pack similar to your pictures and I made sure to orient the quadrature pack so that the rotation path of the magwheel would cross one reed switch at a time.  But, I'm getting inconsistent performance out of the wheel quadrature.  Do you have any issues with the reed switches being right next to each other? 

Offline iso

  • Thread Starter
  • Posts: 94
@praxis87

Are you using a round magnet ? You only need 2 reeds.
Are you sure your magnet has radial polarization ? Imagine that on the GIF you have south/north as the white/black bar, the GIF has a better technical explanation of what is happening, sorry for my english.

Let say the magnets move from right to left, to synch with the GIF
1. North enters the trigger zone, reed a
2. North enters the trigger zone, reed b
 --This is how the electronics know you`re scrolling up or down, if triggers a first, goes up, if triggers b first, goes down.
3. South enters the trigger zone, reed a
--Here is telling direction, N N S > UP
4. North leaves the trigger zone, reed a
/LOOP/

If you`re using tiny flat magnets, those need to face the reed switches S N S N S N S N S N S N, you cannot randomly position those
You can have as little as 2 magnets per wheel and you`ll only scroll what is considered one line per revolution.
Takes very fine adjustments to find the sweet spot, half mm can be the area where the right sequence is happening, depending on the size of the magnet/reeds, the smaller the harder is to find it
To simplify this  process, add long wires to begin with for the reed switches.
Clamp down the scroll assembly, make sure the thumb wheel moves freely and you have access to the plastic bridge that faces the exposed magnets.
Open a tall webpage where you have to scroll alot or a very large text file.
Position the mouse cursor over it.
Center the scrollbar to the middle of the page/window.
Hold the reed assembly with one hand and get it close to the plastic bridge, with the other hand slowly start moving/rotating the scroll assembly/magnet.
Touch the plastic bridge over exposed magnet with the reed assembly, while the wheel assembly is rotating, move the reeds up/down the bridge, pay attention to the page/text file window
As you slowly move it back or forward you will notice that the page will start scrolling up/down.
After you find where will move in one direction, reverse thumb/magnet rotation. Move the magnet up/down the bridge till the page moves the other way.
Do this and you`ll find the spot where moving the wheel up/down, the page will scroll up/down. Sometimes is reversed, desolder the other 2 wires, not the ground, switch position.
Since the area where the right sequence is happening is so small, you`ll have trouble attaching the reeds to the bridge right where needs to be.
First, take a mental note on how far/close  is the reed asembly from the edge
Add a very tiny drop of superglue to the bridge, while moving the scroll with one hand, with the reeds on the other hand, get close enough to the bridge wthout touching the glue but close enough to find the spot again, then push down on superglue.
Most likely you will fail few times but you`ll get it, its important you dont use lots of superglue to begin with, after is glued in position you can add more.
Do not use hot glue unless you really know what you`re doing, reeds will demagnetise/damage at 180F

Reed switches need to be next to each other, yes
If you still have problems let me know, I can make a short video, or for $99.99/month you can join my club, named "I can superglue random stuff"  and I`ll teach you in person :))

Offline praxis87

  • Posts: 27
  • Location: WA, USA
If you still have problems let me know, I can make a short video, or for $99.99/month you can join my club, named "I can superglue random stuff"  and I`ll teach you in person :))

I'd totally join that club.

Thanks for the writeup.  I'm using 8x round magnets arranged in a NSNSNSNS configuration.  I re-modeled the finger switch holder and a more traditional mouse wheel to carry the magnets.  I'll post pix in a couple of days.

Short version is it was working correctly while it was briefly in the sweet spot... Now that I know how small that sweet spot is, I just need to re-find it (and figure out if I destroyed the reed switches when I hot glued/heat shrunk them).

Offline nevin

  • Posts: 306
  • Location: US
Yes, all excellent info. Answered a couple questions i knew i would have. Thanks.
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: 306
  • Location: US
Last of the parts should be here in a few days. Going to mock it up so i can play with firmware until the printed parts are ready. (again, no rush, seriously)

From what i've researched, there's at least 2 revisions to the firmware, newer than what we've been playing with. Also, looks like there will be a way to add keyboard codes to the firmware.

@praxis87 - There's also a user working on getting the code for the sensor into arduino (i remember you mentioning that's something you would like) Last i checked, he has the sensor & some buttons working, wheel code still needs added (going to use buxtronix's example).

That's all i have for now.
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: 27
  • Location: WA, USA
Scroll wheel is successfully implemented on my setup. 

I completely re-modeled the switch holder in Fusion 360 and adjusted it for the wheel.  I wasn't sure I was going to like the split setup for the middle button/wheel, but so far I'm actually really happy with it.

Offline iso

  • Thread Starter
  • Posts: 94
Loking good @praxis87, thanks for the pictures

Glad you`ve got the reeds working
I couldn`t live with having to hold down the mid-button and scroll with the same finger.
I have in the works a lighter mouse-base and more support for the hand piece, uploading models soon, most lilely next Monday.

Offline nevin

  • Posts: 306
  • Location: US
@praxis87 - nice work, looks good
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: 94
Updated:

1. Base - Only poked few holes, uses less plastic, little ligter, reduce printing time
2. Finger cluster has a straigt down support/ball joint instead of angled. Added larger finger separator, those are handy while lifting the mouse off the table.
3. Hand piece, added cable routing hole, extended finger support, removed some of the pinky support, now its easier to lift it off the table without clawing it too hard.

« Last Edit: Mon, 08 April 2019, 23:28:43 by iso »

Offline nevin

  • Posts: 306
  • Location: US
Speed Holes! NO WAY! it's got to be a fast mouse now.... lol

looks great iso.
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: 94
Its all in the DPI :)

Thinking about making a 3d printed trackball too.
Same sensor, same teensy, different firmware, the axis need to be flipped because the sensor is gonna be almost upside-down, I ordered a stainless steel 50mm ball to test with and made a little imprint to get a better idea on how big is gonna be and overal hand position

@nevin, have you received the sensor for the mouse thats on its way to you ? If you could help with the firmware, flip axis, would be amazing but without a sensor to test with, gonna be lots of back and forth with me/others testing it

Its hard to see but there is a  hand imprint
« Last Edit: Wed, 10 April 2019, 12:35:11 by iso »

Offline nevin

  • Posts: 306
  • Location: US
yeah, all parts are here. the only questionable part is the bearing, which, hopefully i have one that fits (lots of R/C stuff). didn't want to order a box of that size for just one bearing.

the material of the ball may be an issue, we'll see. as far as trackballs go, the kensington expert mouse is fantastic (don't know that there's much to improve on)

some image captures from this sensor on various surfaces (from another thread)
SQUAL (=surface quality, higher is better)

Logitech G440 Mousepad


Anodized Aluminum (=Apple MacBook Retina 2013)


Fabric (a t-shirt)


A4 print paper


Printed character (by a laser printer) on A4 paper


Office desk (white)


Leather

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: 306
  • Location: US
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #128 on: Wed, 10 April 2019, 14:36:44 »
the expert mouse is an optical trackball, and the ball itself looks like candy metallic paint form a car.


i have one of the older beige kensington orbit trackballs which is mechanical not optical.

the ball supports (what the ball sits on) are small plastic or glass balls like tiny clear ball bearings. i'll take a bunch of pics & send later.
« Last Edit: Wed, 10 April 2019, 14:44:56 by nevin »
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: 94
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #129 on: Thu, 11 April 2019, 10:09:28 »
@nevin You should have told me that you need a bearing, I would have left in there for you. I`ve got a trackball that I took apart, there is plenty that can be improved upon :)

Offline nevin

  • Posts: 306
  • Location: US
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #130 on: Thu, 11 April 2019, 10:30:43 »
@iso - Bearing - It's fine. I should have some   .....somewhere.

Got the prints, looks fantastic! Thanks for the nameplate, nice touch. The larger of the two main skeletal pieces is perfect. Can't wait for the day to be over to start building!

THANK YOU!

What make/model trackball gave it's life to science?
« Last Edit: Thu, 11 April 2019, 10:40:14 by nevin »
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: 94
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #131 on: Thu, 11 April 2019, 11:34:58 »
You welcome.

I`ve got 2, both work, one is wireless, I dont remember the brand, thats aready being used on a keyboard, second, wired, I kept most important bits, Kensington Orbit.

Apparently the little bearings the large ball slides on are zirconia or ceramic.
If I ever get to build one of those I`ll probably use the tungsten version with a large ball that can be repositioned from thumb to fingertips position. We shall see.

Once assembled, add some first 24h usage impresions, more than anything Im curious about how long gonna take you to re-learn the thumb scroll position.
Weirdly enough, it appears  lefties have an easier time re-learning/adjusting, my right handed friends were like "I guess I can get used to it", lefties "Duhhh, this is the way now, cant go back"

Offline nevin

  • Posts: 306
  • Location: US
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #132 on: Thu, 11 April 2019, 12:13:59 »
Lefties! i know. Totally agree. Only ones in their right mind...

Tackballs. I like the scroll ring the kensington expert mouse. The buttons on all trackballs need work.

Trackball modules would be interesting for this "modular" mouse. Either for 2 axis scrolling (thumb) or tracking (ball up at fingers with a switch or two to right of ball, left click would be thumb). I find index finger on ball is more adept than thumb for fine control/accuracy.
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: 306
  • Location: US
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #133 on: Mon, 15 April 2019, 12:34:09 »
Finally got a working mouse together this weekend. Initial impressions are fantastic!, so many possibilities.

Because of the ergonomic gripping position (more vertical, so wrist side to side motion is now up & down), i'm going to move the sensor to the front (at least for now) to get a closer reaction of the sensor to the hand/arm movement that i'm used to with a normal mouse. Plus this will give me the most sensor movement from minimal physical movement (horizontally). This will require rotating the orientation of the sensor and rewiring it 180 deg. from it's current position (so usb connector is over the front of sensor instead of the back of the sensor). This is needed as the usb port would be facing the ball on the base. A way to avoid rewiring the sensor 180 would be to hardwire a usb cable to the teensy (not using the usb connector). Another benefit of rotating & moving the sensor to the front, the side buttons on the sensor pod are now reachable with your pinky.

Going to make some adjustments to the firmware as well:
- Increase cpi to get closer to what my current mouse is (aprox 4k).
- As well as hopefully being able to include keyboard commands & possibly support for a couple more switches. (all versions of firmware out there are up to 5 button)
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: 94
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #134 on: Mon, 15 April 2019, 12:56:16 »
Sounds awesome, please post pictures with your mods and the new HID :)

Offline iso

  • Thread Starter
  • Posts: 94
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #135 on: Tue, 23 April 2019, 11:52:49 »
Live streaming now for the next 4hr - https://www.twitch.tv/2_am

Online sJ1N

  • Posts: 54
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #136 on: Tue, 23 April 2019, 12:04:28 »
very cool ! sorry if it's been asked before but is the pcb footprint big enough to fit a g305 pcb in order to make a wireless version ? just a thought that came to my mind

Offline praxis87

  • Posts: 27
  • Location: WA, USA
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #137 on: Tue, 23 April 2019, 12:23:44 »
very cool ! sorry if it's been asked before but is the pcb footprint big enough to fit a g305 pcb in order to make a wireless version ? just a thought that came to my mind

The current electronics mount is the size of a Teensy 2 (the base will just cover my MX Master though).  You could certainly modify the base and sensor container to carry a different PCB...  you might have to "destructively rearrange" the PCB to make it fit though.  You're definitely going to have to de-solder switches and the mouse wheel also.  It looks like there is a model for a G305 board carrier on Thingiverse that might be a good starting point.  https://www.thingiverse.com/thing:3531075
« Last Edit: Tue, 23 April 2019, 13:25:57 by praxis87 »

Offline iso

  • Thread Starter
  • Posts: 94
Re: MEM 3d printed modular ergonomic mouse, teensy 2.0 and pmw3360 sensor
« Reply #138 on: Wed, 24 April 2019, 20:25:40 »

MEM Compact.

Since I dont have the need to adjust the mouse anymore, found the perfect angles I decided to measure the distance between each bit and fuse the model to make it ocmpact.
I cut toothpicks on various height sizes and place them under the different elements, like pilars, hand piece, 3 locations, finger cluster, 2 locations, magnet flywheel, 3 locations, etc.
Took sharpies various colors and painted the toothpicks, took pictures with toothpicks in place.
Took those out and measured them one by one, went back to 3ds max and adjusted the height/angle/position as measured, then fused the model to get the compact version, I streamed the whole modelling session on Twitch.
The only thing thats still adjustable is the sensor case, can be rotated. Uses same sensor case model, same everything. Enjoy.