← Back to community index
# designreview·Active

https://tscircuit.com/MustafaMulla29/

https://tscircuit.com/MustafaMulla29/wireless mouse pcb files

Started by Mustafa7Sep 2, 202617 messages

Discussion

Last active 3 days ago · plain text
Mustafa7original post
https://tscircuit.com/MustafaMulla29/wireless-mouse-pcb#files
mohan-bee
battery connector rotated inside ?
Seve
reviewing in a sec
Mustafa7
<@757706909351411845>
Seve
also needs mounting holes (they can be anywhere, need at least 3) it might not be a bad idea to get a 3d model for this but otherwise this looks pretty solid to me
Mustafa7
<@757706909351411845> is this correct? i told codex to create a hole but it created a cutout by looking at the datasheet: https://asav.dev/pmw3360/files/pmw3360-datasheet.pdf
Seve
that might work yea
Seve
look for references
Mustafa7
its not routing, throwing this drc: `Component component overlaps with pcb_cutout [pcb_cutout_0]`
Mustafa7
this requires a new spec to fix right? <@757706909351411845>
Seve
isn't the cutout part of the footprint?
Seve
could be a tscircuit/checks bug- but you need to make sure the cutout is within the footprint
Mustafa7
Yea it was outside of footprint, will check by putting inside the footprint
Mustafa7
<@757706909351411845> Checked placing `<cutout/>` within the footprint, still throws drc. How is this plan to fix it?: ```It needs changes in both `core` and `checks`, plus the `circuit-json` schema. A checks-only fix would be unsafe because the generated `pcb_cutout` currently contains no ownership information. `checks` cannot distinguish: - A valid sensor overlapping its own footprint cutout. - An unrelated component accidentally placed over a cutout. The correct implementation is: 1. `circuit-json`: add optional `pcb_component_id` to every `pcb_cutout` shape. 2. `core`: when a `<cutout>` is inside a footprint, populate that ID. This should mirror how [`Hole.ts`](/Users/mustafamulla/Desktop/tscircuit-repos/core/lib/components/primitive-components/Hole.ts:55) already determines its owning component. 3. `checks`: in `checkPcbComponentOverCutout`, skip the error only when: ```ts cutout.pcb_component_id === component.pcb_component_id ``` 4. Add tests ensuring the owner is allowed, while unrelated components still fail. The autorouter and Gerber exporter should not need changes. Once the false placement error disappears, routing can proceed while the cutout remains a real physical routing obstacle.```
Sapphire
<:warning:892823499205406760> Please avoid using excessive mentions, as it creates unnecessary notifications and disrupts others — use mentions only when truly needed to keep the discussion focused and respectful; repeated misuse may lead to moderation action.
Seve
yea that looks correct

Want to add to the conversation?

Reply in Discord so your notes stay connected to the source.
Continue in Discord ↗