Overclock.net - An Overclocking Community - Reply to Topic

Thread: Progress on a fully custom mouse. Reply to Thread
Title:
Message:

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


  Additional Options
Miscellaneous Options

  Topic Review (Newest First)
07-10-2019 05:00 AM
IPS.Blue
Quote: Originally Posted by JP54 View Post
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 View Post
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.
07-09-2019 03:02 PM
TranquilTempest
Quote: Originally Posted by JP54 View Post
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.
07-09-2019 02:01 PM
JP54
Quote: Originally Posted by gipetto View Post
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 View Post

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 View Post
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
07-09-2019 08:30 AM
IPS.Blue
Quote: Originally Posted by JP54 View Post
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?
07-08-2019 05:06 PM
TranquilTempest 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.
07-08-2019 04:47 PM
gipetto 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.
07-08-2019 02:46 PM
JP54 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.
06-24-2019 12:28 PM
gipetto 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.
06-24-2019 11:43 AM
TranquilTempest 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.
06-24-2019 11:29 AM
gipetto 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.
This thread has more than 10 replies. Click here to review the whole thread.

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