How to i place PCB tracks like Spokes on a wheel

I would upload an imaged of a cad design but forum will not let me.

I know track placement is automatic for obvious reason but hos would i make or place tracks as if they are spokes on a wheel.

Many thanks

It should now. Welcome to the forum. :wave:

One option is to PCB Editor / Route / Interactive Router Settings and then set Mode / Highlight collisons and Options / Free angle mode.

image

Another option is to first draw a track, and then drag its endpoints to where you want them to be.

With both options you probably also want to lock the trackes, as KiCad’s interactive router is eager to undo your artwork if you accidentally bump into your track while routing another track.

For more elaborate artwork, it is probably better to draw an image in some external program, and then import it on a copper layer. In the upcoming KiCad V8 (Expected next February) you can apparently directly assign a net name to imported graphics, but for now this is a bit complicated.

“How to … like Spokes on a Wheel”…

I will assume that is what you want. Without more Info (such as wanting a Gap between Axis of rotation and the tracks), I place a Round Terminal THT/Pad. But, can do any way you want it… Don’t even need a Pad/Terminal…) and will deal with DRC errors as needed. Video should give you food for thought…

Please see attachment for track design. i will need to add pad and holes etc but need to figure out how to get this bit done first.

If you use regular PCB tracks then their width will be uniform, while your “spokes” are tapered. Is that acceptable?

As written before, the same options are available. Blackcoffee suggested to use a circular array, and this certainly is an option for this encoder wheel. You can hand calculate 4 track segments and then draw an array, or draw only one spoke, create an array and do the connecting end points manually. As an aid, you can use PCB Editor / Place / Add Image to add the image you posted as a background and reference in the PCB editor.

Edit:
An easy way to do it as a circular array is:

  1. Draw a single spoke.
  2. Create an array of them.
  3. Add two of the interconnecting tracks.
  4. Create arrays of those too.

Alternatively: Delete everything except two spokes and the two interconnecting tracks, and then create an array of them.

The option I mentioned to import it is also a good option. You posted a jpeg image. If you have this encoder wheel available in a vector format, you can import it directly.

A third option is to write a python script in the PCB editor itself. This would be a loop with around 10 lines of code, and this way you can make it parametric, so you can easily make adjustments later.

A 4th option is to draw it as a footprint. KiCad has: Footprint Editor / File / Create Footprint / Circular Pad Array which looks like:

By default this does only THT pads, but you can modify a copy of this python script to make trapezoidal SMT pads (covered by solder mask so they act like more regular pcb tracks. In KiCad it is common to use overlapping SMT pads with the same pad number. KiCad treats these as a single big pad. For examples, have a look at any footprint with the word “thermal” in it. I would probably only use this option if things like the trapezoidal tracks or sharp corners are important.

All very new to me I’m a CAD designer by nature so PCB is a sharp learning curve.

Thank you this isn’t and encoder wheel. So learning as I go.

1 Like

Each line is a 0.25mm Track. Gap at bottom = 0.8mm

Ignore the Typo’s… I ignore them, too

1 Like

Black coffee that is astounding. I know you have given reason but I’m still impressed and will have to learn. Thank you

Is there a video tutorial on this as I’m struggling with basic knowledge.

Some steps. I don’t like video tutorials, so I made a textual writeup. Apparently you do like pictures, so I added some too. Basically it is the same steps as I wrote in an earlier post, but now with more detail.

  1. Set the grid to something coarse (Like 5mm) and then PCB Editor / Place / Place Drill/File Origin and set it at (100, 100[mm]). This will be the center of the wheel. (It’s not an encoder).
  2. PCB Editor / Place / Add Image to add your wheel image. and place it at (100, 100). You can set transparency for images in Appearance Manager / Objects tab on the right side of the screen. It now looks like:
  3. I assume the inner diameter is 70mm and the outer radius is 110mm, so I draw a track from (35, 0) to (55, 0) This is relative to the newly placed drill/file origin.
  4. Scale the image by dragging one of it’s corners to make it fit the track segment. You have to set the grid back to a fine value or disable the grid to get a fine scaling resolution.
    Alternatively, select the image, press e to edit it, and type in a number for the scale factor.
  5. Select the track, Right click and Create from Selection / Create Array from Selection. I used these settings:
    These settings are a bit off, but yo probably know the number of spokes (and dimensions) it really has.
  6. Delete all except three spokes from the array you just drew:
  7. Route / Interactive Router Settings with Mode / Highlight Collisions and Options / Free Angle Mode
    image
    Use it to draw two of the connecting tracks. You will see the cursor as a small cross with a circle when it recognizes the off grid end points of the spokes.
  8. Delete the third spoke of the wheel.
  9. Draw the array again, but now with half the number of instances. So I used 125.
  10. Save, Exit PCB Editor, Project Manager / File / Archive Project.
  11. Upload to KiCad Forum:
    2023-11-13_asdf_spokes.zip (2.1 MB)

Note: I did not attempt to get dimensions and such correct, I only did something that “sort of looks plausible” and am sure you can fill in the rest of the details.

Oops, forgot to mention: After you have made this artwork, you want to select all the track segments and press L to lock them in place. This prevents the Interactive router from moving them unintentionally.

1 Like

@Regenerate3D , Let’s start from beginning

Assume This:
• the inner Hub Diameter = 40mm, thus Radius = 20mm
• the outer Diameter is 60mm
• the track is for digital signals thus, minimal power so you want
track width to be the thinnest possible and PCB will be Two-layers
• you want to have JCLPCB make the PCB so you look up their rqmt’s for minimal Track-Width and Spacing (screenshot) and see those minimum values are 0.127mm for both width and spacing
• your commonsense and design rqmt’s suggest you can increase both of them to 0.20mm

Do This:
• Set Kicad’s PCB Grid to 0.1mm
• Place an Origin (recommend a Drill Origin) and note it’s Origin Location (get it from info at bottom of window)
• Click the Center of the Origin, then Press the Space-Bar to Set the Origin for the Info to 0,0
• Switch to a User-Layer (to draw reference lines)
• Draw the Inner and Outer Reference diameters
• Set Track Width to 0.2mm
• Switch to a Copper Layer, Draw a Vertical Track from Outer-Diameter to Inner-Diameter (drawing Vertical (or Horizontal) will minimize off-axis visual distortion). Let’s neglect the Track’s round ends
• Draw the inner-horizontal track segment where it’s Segment-length = Track-Width+Spacing+Track-Width = 0.2+0.2+0.2 = 0.6mm

Calculate Circumference of Inner-Diameter:
2Ď€r = 125.7mm, use 125mm
Calculate the Quantity (Number) of one “one-track+one-spacing” and Divide by 2,
N = 125/(0.2+0.2)/2 = 125/0.4/2 = 157

Create a Circular-Array with the Center at the coord’s you previously got from the Info

Because we didn’t calculate the Horizontal Segment-length for Track’s outer diameter, we make a test rotation then Measure Gap Distance and we get 0.8mm.

Undo the Array (leaving one full track + Spacing) and Draw the Top-Segment of 0.8mm

Now, create the Array with the completed one track+spacing+top-segment

one-full-track+spacing

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.