# Routing Traces Between Pads Not On the 2.45mm Grid

**URL:** <https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342>\
**Category:** Help\
**Created:** [December 21, 2020, 3:25pm UTC](https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342 "2020-12-21T15:25:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![brim2full](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@brim2full](https://librepcb.discourse.group/u/brim2full)\
**Post date:** [December 21, 2020, 3:25pm UTC](https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342/1 "2020-12-21T15:25:50Z")

</div>

I have a device, a connector, whose foot-print is not on the 2.45mm grid. Its pads are actually spaced 4.26mm x 2.19mm but all other devices are on a 2.45mm grid. My problem is I want to route a single trace between a pair of pads and avoid DRC errors. That means the trace MUST be in the middle between the pads. How can I achieve this please? Once I have achieved that then the trace width can be reduced in that area.

---

<div class="post-metadata">

**Author:** ![dbrgn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/dbrgn/32/25_2.png) [@dbrgn](https://librepcb.discourse.group/u/dbrgn)\
**Post date:** [December 26, 2020, 5:56pm UTC](https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342/2 "2020-12-26T17:56:11Z")

</div>

I think so far no ideal solution exists. What I usually do is reducing the grid size to a very small size, so that I can place the trace on an almost arbitrary position. If you need it to be _exactly_ in between the pads, you probably need to edit the coordinates of the polygon points manually.

Support for a grid offset would probably solve this, there’s an open feature request here:

> <https://github.com/LibrePCB/LibrePCB/issues/554>
>
> SUMMARY
> Sometimes packages have pads that are evenly spaced, but that are not on the same grid as other pads. This means...

---

<div class="post-metadata">

**Author:** ![brim2full](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@brim2full](https://librepcb.discourse.group/u/brim2full)\
**Post date:** [December 27, 2020, 11:33am UTC](https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342/3 "2020-12-27T11:33:42Z")

</div>

Thanks I surmised that might be the way forward and it does appear to work. However I have yet to investigate further.

What I did try was to change the grid size to half the pin spacing (y spacing in this instance since the x spacing is different again) of the device in question. I then repositioned the device so its pick point (centre) fell on the new grid and as close to where it needed to be. That caused the first problem. I actually needed it to be 50mm y-direction and could only set it to either 49.755mm or 50.850mm. I guess If I reduce the grid further then I could place the device nearer to the desired location.

Back to the plot: Having reduced the grid I did manage to route successfully between the pins of the device and no DRC errors. At lease not with that device. I have yet route to the rest of the circuitry.

I don’t know how other tools address this problem. I have only played with Eagle and not come up against the issue. It almost suggests that a device needs its own local grid positioned (centred) on a global grid. Maybe that is the way forward.

Regards all and keep safe.

---

<div class="post-metadata">

**Author:** ![dbrgn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/dbrgn/32/25_2.png) [@dbrgn](https://librepcb.discourse.group/u/dbrgn)\
**Post date:** [December 28, 2020, 1:36pm UTC](https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342/4 "2020-12-28T13:36:35Z")

</div>

> [@brim2full](#):
>
> That caused the first problem. I actually needed it to be 50mm y-direction and could only set it to either 49.755mm or 50.850mm.

Hm, I what do you mean with that? You can always enter your own value into the grid size input box.

---

<div class="post-metadata">

**Author:** ![brim2full](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@brim2full](https://librepcb.discourse.group/u/brim2full)\
**Post date:** [December 28, 2020, 4:17pm UTC](https://librepcb.discourse.group/t/routing-traces-between-pads-not-on-the-2-45mm-grid/342/5 "2020-12-28T16:17:39Z")

</div>

Thanks dbrgn.

Agreed. I could set a grid of 0.0000001mm (assuming that is possible). It is also possible to accurately position the device by editing the device x and y position parameters. But there are two objectives:

1. to position the device and

2. route traces centrally between pads of the device.

There is no grantee the required position of the device precisely falls on a grid point in which case traces will not be central between pads. To achieve the objectives one must set a grid that is at least half the device pad spacing. Then reposition the device so it falls on a grid point (0, 0) then move it to its required position or as close as possible. Then route traces between the device pads. Then return the grid to the original setting to complete the routing.

The most obvious choice of grid setting is half the device pad spacing, that would deal with item 2. A finer grid could be used: 1/4, 1/8, 1/16 etc. of the pad spacing. But then an ever finer grid requires a higher zoom to position traces centrally. Believe you me that quickly looses it appeal when routine a 96 pin connector. Of coarse a finer grid would allow the device to be positioned more accurately and coincide with a grid point.

Regards To All.
