Overclock.net - An Overclocking Community

Overclock.net - An Overclocking Community (https://www.overclock.net/forum/)
-   Mice (https://www.overclock.net/forum/375-mice/)
-   -   Progress on a fully custom mouse. (https://www.overclock.net/forum/375-mice/1724838-progress-fully-custom-mouse.html)

gipetto 06-24-2019 11:29 AM

1 Attachment(s)
I got the photoreflectors in the mail today, and followed the example 10k pullup circuit for the detector(emitter to ground). I can only get one tenth of a volt of a swing from 4.7v down to 4.6v or so. I tried reversing polarity of the detector but that seemed to completely cook it, even after reverting the polarity there was no voltage swing.

TranquilTempest 06-24-2019 11:43 AM

If you're not using an opamp, you'll want a higher value resistor. If your meter has a microamps range, measure the light vs dark current with the 10k resistor in place, then select your new resistor to give the appropriate voltages at those currents.

If your meter doesn't have that range, try ~470k, and go up or down from there.

gipetto 06-24-2019 12:28 PM

I seriesed a 100k pot with the 10k resistor and it is more responsive. It turns out the keyboard backlight was swamping the detector. The advice was helpful, thanks.

JP54 07-08-2019 02:46 PM

2 Attachment(s)
I'm also down the rabbit hole of building my own custom mouse and this thread is nothing short of amazing and filled with helpful research.
Right now my design is of 40g fully carbon fiber, large ambi mouse.I have some carbon fiber prototypes using deathadder pcbs and most recently a 3360/teensy comby using a tutorial made by bst.
The thing is, i'm a mechanical engineer with very basic knowledge about electronics. Composites and strucutral stuff is my area and this thread is showing just how ignorant i am on the subject of pcb/firmware and how much can be improved namely the analog switch debounce which i didn't even know it was a thing and has really got me interested. Besides that, using a fully custom pcb is obviously way more efficient than having to addapt an internal structure to receive an already available component and i estimate that something like 10g can be saved by getting rid of such structures.
My question is how does one get into custom mice pcb build. The 3360 reference circuit diagrams present on the datasheet are very helpful but i feel like its missing something out of them or im too dum to actuall use them.

gipetto 07-08-2019 04:47 PM

Kicad has a steep learning curve, but it's not that difficult to use, once you have your habits formed. I started out making a few pcbs with a hand drill, hacksaw and flat screwdriver to carve out traces. Later on I wanted to try out pcbs so i installed fritzing and replaced all the wires with hand drawn traces on a standard rectangular pcb, which agreed well with my chaotic prototyping process.

Kicad forces you to do everything in a linear mathematical way to regulate the cognitive load. Design schematic, assign footprints, design rules check, export netlist, markout pcb outline and cutouts, then layout the ratsnest pcb traces. The end product might look simple, but everything posted here has 10+ previous failed iterations.

I think that if you want to design a pcb then start off with a simple project to familiarize yourself. To start with, stick to a through hole design and build something uncomplicated like a switch matrix for a keyboard numpad in fritzing. It may seem like a waste but you can use the bought pcbs to check for errors in layout and sizing.

You need to be more specific in what your issues are. It shouldn't be too difficult to make a blank pcb in the shape you want by following youtube tutorials for instance. Then if you want to know how to place a component do a search. some videos will force you into making custom component footprints, but since most components have common spacing it's not necessary and another existing part can be reused. By using lateral thinking you can navigate around most insurmountable obstacles.

TranquilTempest 07-08-2019 05:06 PM

Well, I got into designing my own PCB by downloading KiCAD and jumping in. Lots of reading datasheets.

It's probably helpful to look at the implementation of whatever teensy you're already using, rather than the implementation in the 3360 datasheet: https://www.pjrc.com/teensy/schematic.html

If the sensor board you're using has published schematics, take a look at that too. The main thing to look at there is the level shifting for IO voltage, which you might be able to do differently.

Then you can get rid of the parts you aren't using/don't need.

Though if you're soldering it by hand, I recommend getting a TQFP version of the chip instead of a QFN packaged version, so you can solder it with an iron instead of needing hot air. Also a hard no on components smaller than 0603.

Easiest way to implement delay free switches is hooking the common contact to ground, and the other two contacts to different input pins. If the NO contact is closed, the button is pressed. If the NC contact is closed, the button is not pressed. If neither is closed, maintain current state.

IPS.Blue 07-09-2019 08:30 AM

Quote:

Originally Posted by JP54 (Post 28032114)
I'm also down the rabbit hole of building my own custom mouse and this thread is nothing short of amazing and filled with helpful research.
Right now my design is of 40g fully carbon fiber, large ambi mouse.

Wet lay-up plain weave?

JP54 07-09-2019 02:01 PM

Quote:

Originally Posted by gipetto (Post 28032326)
Kicad has a steep learning curve, but it's not that difficult to use, once you have your habits formed. I started out making a few pcbs with a hand drill, hacksaw and flat screwdriver to carve out traces. Later on I wanted to try out pcbs so i installed fritzing and replaced all the wires with hand drawn traces on a standard rectangular pcb, which agreed well with my chaotic prototyping process.

Kicad forces you to do everything in a linear mathematical way to regulate the cognitive load. Design schematic, assign footprints, design rules check, export netlist, markout pcb outline and cutouts, then layout the ratsnest pcb traces. The end product might look simple, but everything posted here has 10+ previous failed iterations.

I think that if you want to design a pcb then start off with a simple project to familiarize yourself. To start with, stick to a through hole design and build something uncomplicated like a switch matrix for a keyboard numpad in fritzing. It may seem like a waste but you can use the bought pcbs to check for errors in layout and sizing.

You need to be more specific in what your issues are. It shouldn't be too difficult to make a blank pcb in the shape you want by following youtube tutorials for instance. Then if you want to know how to place a component do a search. some videos will force you into making custom component footprints, but since most components have common spacing it's not necessary and another existing part can be reused. By using lateral thinking you can navigate around most insurmountable obstacles.

Thanks for the advice. Since i'm a complete novice when it comes to this stuff i think ill try by something very simple such as the encoder/scroll click separate pcb on Kicad to get familiar with the whole process and the program

Quote:

Originally Posted by TranquilTempest (Post 28032358)

Easiest way to implement delay free switches is hooking the common contact to ground, and the other two contacts to different input pins. If the NO contact is closed, the button is pressed. If the NC contact is closed, the button is not pressed. If neither is closed, maintain current state.

So you just treat the NC and NO pins as separate inputs and then have the firmware recognize them as "is or not" pressed? Why arent most mouse manufacturers doing this? Seems like in one go you could get rid of double-clicking and switch delay to overcome the bounce time that causes said double click.

Quote:

Originally Posted by IPS.Blue (Post 28033286)
Wet lay-up plain weave?

Prototype in the picture is indeed wet layup plain weave but i have now my own tools and resources to work with prepreg and complex machined molds

TranquilTempest 07-09-2019 03:02 PM

Quote:

Originally Posted by JP54 (Post 28033906)
So you just treat the NC and NO pins as separate inputs and then have the firmware recognize them as "is or not" pressed? Why arent most mouse manufacturers doing this? Seems like in one go you could get rid of double-clicking and switch delay to overcome the bounce time that causes said double click.

That is the idea. Not sure why it's not done more. The biggest mouse manufacturers would probably sell fewer mice if the switches never failed in that mode, but the smaller ones could probably gain enough market share to overcome that. I think once one mouse is sold in high volumes with it, the rest of the industry will follow.

IPS.Blue 07-10-2019 05:00 AM

Quote:

Originally Posted by JP54 (Post 28033906)
Prototype in the picture is indeed wet layup plain weave but i have now my own tools and resources to work with prepreg and complex machined molds

Nice. Prepregs are expensive but worth it. :)


Quote:

Originally Posted by TranquilTempest (Post 28033994)
That is the idea. Not sure why it's not done more. The biggest mouse manufacturers would probably sell fewer mice if the switches never failed in that mode, but the smaller ones could probably gain enough market share to overcome that. I think once one mouse is sold in high volumes with it, the rest of the industry will follow.

I think «planned obsolescence» is a likely explanation.


All times are GMT -7. The time now is 05:41 AM.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
vBulletin Security provided by vBSecurity (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.