Progress on a fully custom mouse. - Page 9 - Overclock.net - An Overclocking Community

Forum Jump: 

Progress on a fully custom mouse.

Reply
 
Thread Tools
post #81 of 120 (permalink) Old 05-21-2019, 01:32 AM
New to Overclock.net
 
gipetto's Avatar
 
Join Date: Jun 2017
Posts: 486
Rep: 9 (Unique: 7)
It's a brilliant idea to be fair. I also considered using an ic for debouncing because I think my code ignores the hardware interrupts which are used to lower latency for left click. I compromised by preserving the original software debounced circuit pinout so that it can still be used. In theory a click could be skipped if it were of short enough duration so as to miss the code in the loop. maybe that is also an issue in the buxtronix wheel code idk.
I'm often blown away by the genius behind that firmware.
gipetto is offline  
Sponsored Links
Advertisement
 
post #82 of 120 (permalink) Old 05-21-2019, 01:48 AM - Thread Starter
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,674
Rep: 78 (Unique: 63)
To minimize latency in the firmware I'll be reading the whole port at once, either during or right before the ISR. I gave some thought to how I might handle macros in the future, and I think what I'd do is read the port in, then use bitwise operators with an intercept mask and an override mask. That would let the macro take as long as it wants to run, without impacting the latency of other switches beyond that two lines of code.

TranquilTempest is offline  
post #83 of 120 (permalink) Old 05-21-2019, 10:04 AM - Thread Starter
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,674
Rep: 78 (Unique: 63)
What to work on next. Firmware, or shell?
Attached Thumbnails
Click image for larger version

Name:	Photo0098.jpg
Views:	21
Size:	263.5 KB
ID:	270748  


TranquilTempest is offline  
Sponsored Links
Advertisement
 
post #84 of 120 (permalink) Old 05-21-2019, 03:11 PM
New to Overclock.net
 
gipetto's Avatar
 
Join Date: Jun 2017
Posts: 486
Rep: 9 (Unique: 7)
wow, you got it together. whatever makes you happy, even if you can't hack the programming, it won't take long to change the pcb for an atmega.
gipetto is offline  
post #85 of 120 (permalink) Old 05-21-2019, 07:58 PM - Thread Starter
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,674
Rep: 78 (Unique: 63)
Got the scroll wheel working(mechanically). Feels pretty solid. Though I am a bit worried about one of the traces running to the encoder. There's only soldermask separating it from the brace part of one of the outside legs of the encoder, so it's possible vibration would cause it to wear through that and ground one of the encoder data lines. Just something to keep in mind when laying down traces near the encoder.

Everything seems to be working electrically, at least as far as can be tested without firmware. Sensor even seems to be running, you can see it go in and out of sleep mode because the LED changes brightness when it detects motion.

TranquilTempest is offline  
post #86 of 120 (permalink) Old 05-22-2019, 01:30 AM
New to Overclock.net
 
gipetto's Avatar
 
Join Date: Jun 2017
Posts: 486
Rep: 9 (Unique: 7)
I read a datasheet for pcb layout ages ago warning to always solder unused inputs to ground to prevent floating, then checked the atmega32u4 datasheet, and they forbid it in case they are set to output by mistake, which can smoke not just the pin, but the whole mcu. I guess the onboard pullups have that problem solved. I had to redesign the pcb anyway as I had neglected to include a hole for the wheel support. There's so much stuff that passes design rules check that makes you think everything is fine.

here's a q2024 sensor single sided pcb for the io1.1. through hole parts on one side, surface mount on the other, and no vias. some of the old school designers were gifted at routing.
Attached Thumbnails
Click image for larger version

Name:	q2024.jpg
Views:	18
Size:	511.8 KB
ID:	270802  

gipetto is offline  
post #87 of 120 (permalink) Old 05-22-2019, 05:39 AM - Thread Starter
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,674
Rep: 78 (Unique: 63)
no jumpers? That's impressive.


Last edited by TranquilTempest; 05-22-2019 at 05:47 AM.
TranquilTempest is offline  
post #88 of 120 (permalink) Old 05-22-2019, 12:36 PM - Thread Starter
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,674
Rep: 78 (Unique: 63)
One thing to be aware of, the top result on google for usb wire colors is wrong, D- is white, and D+ is green. I don't want to admit how long it took for me to figure that out.

In any case, the factory loaded USB bootloader seems to be working.

TranquilTempest is offline  
post #89 of 120 (permalink) Old 05-22-2019, 04:07 PM
New to Overclock.net
 
gipetto's Avatar
 
Join Date: Jun 2017
Posts: 486
Rep: 9 (Unique: 7)
no jumpers whatsoever. I got my first batch of dummy pcbs in today from jlcpcb. the good ones should be in two weeks time extrapolating from the arrival date of these. I was worried the switches would be in the wrong locations but they work in the mouse shell, although could be moved a little. That's something you gotta look out for to keep down costs, there's a lot of useful information you can gather from a faulty pcb, it's better to wait until they come and check your design for errors before you re-order. If I do screw the pcb up again I will modify it for the intellimouse 1.3 shell.

I thought I would have to go to 1.25 mm holes for the switches but 1.2mm is perfect as is. I bought a lot of 10 dirt cheap d2fc-f7n omron and one of them randomly has twice the actuation force for some reason lol.
I think I saw the faulty image you are talking about. I used to do minor radio circuit mods and the information was often riddled with errors, which was made worse due to sites copying each other. back then i'd look for like 3 different versions and pick best two of three. another issue was language differences, some words could change meaning over time and geography. For my pcb I used the g203 pinout and plug to make life easier. I would have liked to have the plug at the front like the original pcb, to keep weight down but the learning curve was too steep.
gipetto is offline  
post #90 of 120 (permalink) Old 05-22-2019, 05:49 PM - Thread Starter
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,674
Rep: 78 (Unique: 63)
Quote: Originally Posted by gipetto View Post
no jumpers whatsoever. I got my first batch of dummy pcbs in today from jlcpcb. the good ones should be in two weeks time extrapolating from the arrival date of these. I was worried the switches would be in the wrong locations but they work in the mouse shell, although could be moved a little. That's something you gotta look out for to keep down costs, there's a lot of useful information you can gather from a faulty pcb, it's better to wait until they come and check your design for errors before you re-order. If I do screw the pcb up again I will modify it for the intellimouse 1.3 shell.
Yeah, I've made a few fixes to the PCB design since I got my boards, but so far nothing that will keep me from making these work; just have to put more work in. If I do order new boards though it will go a lot faster.
Quote:
I thought I would have to go to 1.25 mm holes for the switches but 1.2mm is perfect as is. I bought a lot of 10 dirt cheap d2fc-f7n omron and one of them randomly has twice the actuation force for some reason lol.
How was the fit of the rotary encoder? The leads on my switches measure 1.0mm, but the datasheet recommended 1.2mm to account for manufacturing tolerances. The boards I got from OSHPark had a little bit of play for the switches, and a close fit for the rotary encoder. I didn't have to force or bend anything, but it also didn't rattle around once it was in. I'd be more specific but I don't have pin gauges to make an accurate measurement. I think some PCB manufacturers drill oversize to account for plating thickness, and others use the drill size you specify, and let you account for plating thickness yourself.
Quote:
I think I saw the faulty image you are talking about. I used to do minor radio circuit mods and the information was often riddled with errors, which was made worse due to sites copying each other. back then i'd look for like 3 different versions and pick best two of three. another issue was language differences, some words could change meaning over time and geography. For my pcb I used the g203 pinout and plug to make life easier. I would have liked to have the plug at the front like the original pcb, to keep weight down but the learning curve was too steep.
Yeah, though even if you are matching a pinout, you need to know which pin of the microcontroller goes to which position on the connector. At least it doesn't require replacing the PCB to fix if you get it wrong, just rearrange the connector.


Last edited by TranquilTempest; 05-22-2019 at 06:55 PM.
TranquilTempest is offline  
Reply

Tags
custom , modding , mouse , pcb , shell

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off