Embedded Board Array question - Page 1
Forum section: electronics / general

author: deanclaxton
author_rank: Regular Contributor
timestamp: January 25, 2020, 11:37:45 pm
content: Im making a small board which is made up of a number of designs using the embedded board array capability in Altium.I use the Create Primitives from Board Shape function to create the routing path around the outside of all the embedded boards, then the Slice Tracks function to slice the routing path for mousebites (adding the mousebites drill pattern manually as a predefined footprint).For this design I don't want to include a frame or rails (PCBs will be manually assembled and have a handful of through hole connectors on them).So after the above process I'm left with a mechanical layer that includes just the routing path. The PCB fabs like JLCPCB don't like this - they need an outline for the outside of the board, plus the routing path for the inner detail.My question is, is there a way to trace the outside of the "panel" so I can include that on the mechanical layer? If I can do that, I should be able to then manually delete the outer routing path.

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: January 27, 2020, 01:36:45 pm
content: I would just temporarily change your board shape to the panel.

author: deanclaxton
author_rank: Regular Contributor
timestamp: January 27, 2020, 10:14:10 pm
content: Is there a way to automatically trace the board outline onto a mechanical layer though, or would one have to redraw it manually?I tried creating the panel layout including mousebites in solidworks, then exported it as a dxf, which I imported into a new mechanical layer in altium. I then selected the outline, and Design -> Board Shape -> Define from selected objects.That gave me a PCB that followed the outline of my panel (doesn't recognise any interior cutouts from the dxf though, and you can't select them from the dxf when using the Design -> Board Shape -> Define Board Cutout either), however if you then try the Design -> Board Shape -> Create Primitives from Board Shape it totally ignores the board shape that you just created, and creates the routing path based on the embedded board outlines.It would be a LOT easier just to add a frame and be done with it, but I want to work out how I can create a frameless embedded board array (with an irregular outline) that can be submitted to JLCPCB for fabrication.I'm using Altium 20.

author: deanclaxton
author_rank: Regular Contributor
timestamp: February 01, 2020, 10:48:00 pm
content: I achieved this by:1. Drawing the panel outline in Solidworks including the mousebite bridges2. Exporting the outline to dxf3. Importing the outline into Altium into the Routing layer (which will become the board outline layer when gerbers are created)4. Selecting the dxf outline, Design -> Board Shape -> Define from selected objects.5. Placing my embedded boards in position as per the dxf layout6. Placing my mousebite drill patterns over the bridges as per the dxf layout7. Creating the routing path on the routing layer using Design -> Board Shape -> Create Primitives from Board Shape8. Using Edit -> Slice Tracks to slice the routing path for the mousebites following the positions as per the dxf9. Delete the outer routing paths, leaving the board outline on the outside, and routing paths on the inside only10. Create gerbers using the routing path layer for the panel outline11. Successfully submitting output files to JLCPCB (minimum 3mm mousebite width with them BTW)So a bit of work and required external CAD tools.Some annoyances with Altium Designer:1. Routing path width has to be less than the gap between the boards on the panel. Eg with a 2mm gap between boards, the routing bit must be 1.9999mm - means it has to do two passes - seems dumb. Should be able to specify a 2mm tool for a single routing pass.2. Design -> Board Shape -> Create Primitives from Board Shape - doesnt actually use the defined board shape from step 4 - it always uses the shape of all the embedded boards - I think this is a bug? For my panel this meant that I had to create some additional space filler PCB's and embed them to control the routing path since it ignored the defined board shape.3. It would have been nice to have been able to trace the final board outline onto a mechanical layer - why cant Altium offer this as a menu item? It seems silly that you define your board shape etc, and yet you still have to manually draw a board outline on a mechanical layer? Shouldnt this be an automated thing with some kind of 'trace definded board outline' menu option?4. It would be nice to be able to select shapes from the dxf and use these to define internal cutouts - again seems dumb you have to manually redraw them (or do what I did above and create space filler pcbs to guide the routing path). Actually that would have to be a critical feature. One would need to be able define the cutouts and board outline before creating the routing path.I'll send this through to Altium and see what they say. If there was a trace board outline function I wouldnt have had to manually draw the panel in the first step and could have traced it once the routing path and mousebites had been created.Cheers,Dean

author: deanclaxton
author_rank: Regular Contributor
timestamp: February 03, 2020, 07:03:27 am
content: Discovered the Tools -> Convert -> Create Board Cutout from Selected Primitives menu item! Will give this a go and see if it simplifies things.

author: thm_w
author_rank: Super Contributor
timestamp: February 03, 2020, 09:44:53 pm
content: Quote from: deanclaxton on February 01, 2020, 10:48:00 pmNot sure why anything other than space between the boards >2mm matters here. You draw the board outline and JLC will figure out how to route it. They aren't going to follow routing steps with specific toolbits you've built into the gerbers.QuoteYou imported the DXF, why not import that to the mech 1 trace layer? Wouldn't that create traces on mech1?I'm not sure what you mean by "routing" layer, maybe that is the same.QuoteAgain, this is JLC, they don't care about route paths or anything. If you want internal cutouts, you put an enclosed trace on the mech1 layer. Importing the DXF's should contain these internal traces right?3D view won't show up "correctly", so you can fix that by adding manual cuts if you want. But in terms of getting it made properly, only lines on mech1 are needed.

author: deanclaxton
author_rank: Regular Contributor
timestamp: February 03, 2020, 10:15:56 pm
content: Cool - thanks. I found a good (faster) way to get the board to display correctly in the 3D view plus have a valid mechanical layer.1. Draw the final board in CAD including the mousebite bridges, and export it to both .STEP and .DXF2. In Altium, create a new PCB Project, add a PCB, the use Place -> 3D Body to place the .STEP model at location 10,103. From the 3D view, use Define -> Board Shape -> Define from 3D Body, and select the .STEP model - this creates a valid board for the 3D view with all the internal cutouts etc.4. Delete the .STEP model - no longer needed6. Import the .DXF file at location 10,10 into your mechanical layer (needs to be a different layer to that used by the embedded boards for their outline) - this gives you the board outline which will be submitted with gerbers7. On the same layer, use the Design -> Board Shape -> Create Primitives from Board Shape to add the milling path - select Include Cutouts and Route Tool Outline options.8. Select a segment of the outer milling path, press Tab to select the chain, and delete it - leaving only the inner milling paths9. Set the Origin to 10,10 to reset the 0,0 position.10. Use the Place -> Embedded Board Array/Panelize function to place your embedded boards onto their locations on the panel11. Place the mousebite PCB footprints (drill patterns) in the correct locations on the board12. Create Gerbers and Drill filesIt sounds as though Step 7 and 8 above may not be required - I'll try submitting the gerbers without the milling data for the internal cutouts - if the fab house recognises the outlines as a cutout then than makes it even easierEDIT: Tried this - without the milling data the boards do not display correctly in the preview at JLCPCB - they show lines, but not cutouts. I'll have to check this with them as to whether the final boards would be milled out correctly. With the milling paths added as per step 7 and 8, the board preview is correctly displayed with the cutouts.I'm a newcomer to Altium and am still learning the workflow, having previously used KiCAD and then Macaos Gallery to create the "panels".

author: thm_w
author_rank: Super Contributor
timestamp: February 03, 2020, 11:45:03 pm
content: Quote from: deanclaxton on February 03, 2020, 10:15:56 pmThanks for posting your procedure.They do recognize the outline as an internal cutout.https://support.jlcpcb.com/article/68-instructions-for-orderingQuoteDon't worry about it displaying correctly, its just some generic gerber render library most likely.

author: deanclaxton
author_rank: Regular Contributor
timestamp: February 04, 2020, 12:15:25 am
content: Quote from: thm_w on February 03, 2020, 11:45:03 pmOk cool - I'll run it past them just to be sure before I place the order but that simplifies it a little more if I dont have to create the mill paths. As you said, its doubtful that they would use them anyway as they'd have their end mills of choiceThe little board I've been working whilst working out the workflow is show attached. Its actually a jig of sorts.