Free Trials

Download a free trial to find out which Altium software best suits your needs

Altium Online Store

Buy any Altium Products with few clicks or send us your quote to contact our sales

Downloads

Download the latest in PCB design and EDA software

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    Agile PCB Design For Teams

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions
  • EMBEDDED
  • TASKING

    World-Renowned Technology for Embedded Systems Development

  • TRAININGS
  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience

    Altium Online Store

    Buy any Altium Products with few clicks or send us your quote to contact our sales

    Downloads

    Take a look at what download options are available to best suit your needs

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Single Cell Lithium Polymer Battery Charger Project

    Mark Harris
    |  August 11, 2020
    Single Cell Lithium Polymer Battery Charger Project

    Recently my database library has been seeing a large influx of new Altium Designer users who have recently switched to Altium from other EDA packages. As a result, I see a lot of beginner questions about using Altium from people who are working on their first project. This project is designed as an introduction to Altium to take a simple board from concept to ordering panels. I wanted to make the project something that would be useful, rather than just a contrived example, but not so complex that you get bogged down in a complex schematic. Altium Designer has in-depth documentation that explains all the functions in great detail and can give you a fantastic understanding of the software. Still, if you’re a new Altium user with a busy workload, I can understand if you don’t have time to dig into it all. This guide is for you, a rapid start that skips the in-depth details and gets you to the point you can work on your projects.

    We are going to build a simple, low-cost USB powered single cell lithium polymer battery charger as a practical project. Many products integrate lithium polymer batteries. With their high energy density and a vast array of sizes and capacities, you can find the perfect battery to power your circuit. I’ve had many past projects where, instead of charging the battery within the device, we had to charge multiple batteries externally. The application required quickly swapping batteries rather than waiting for them to charge.

    You can find the completed project files on GitHub, released under the MIT open source license. This permissive license allows you to do almost whatever you want with the files. If you want to follow along with this article, I’m using my open source Celestial Altium Designer Library as the component source for this project.

    If you’re looking for the next steps in learning Altium Designer, take a look at my other projects, especially the RGB + White LED Strip Controller project, which delves into multi-sheet, multi-channel design.

    Creating Your Lithium Polymer Battery Charger Project


    The first thing we’re going to do is create a new project to contain our files. Go to File → New → Project. 

    New Project


    Many project templates within Altium Designer make life working on a standardised board easier, but for this project, and most projects I work on, these are complete overkill. We’ll just start with the Default project, which is an empty project and perfect for the needs of our USB charger.

    Battery Charger

    You’ll want to give your project a name such as “Battery Charger” and choose where you want it to be stored. The default location is sufficient for now. If you want to work on this project from multiple computers, you should save your project to Altium 365.

    You now have an empty project in the left hand “Projects” panel.

    Empty Project


    Adding A Schematic Sheet

    To add an empty schematic sheet to the project, you can right-click on the project file in the Projects panel and select Add New to Project → Schematic. This will bring up a new empty schematic sheet. The first thing I do with every schematic sheet is change the template as I'm in a country that uses the ‘A’ paper size. I’ll change each template to the default A4 size, so it prints out well. Still, if you’re in North America, there is also a letter-size available and other standard sizes.

    Page Options Template

    To change the template, in the properties window on the right, you can find the Page and Options section, which you can select the Template tab and then the paper size you are likely to use if you were to print the sheet. You might not be thinking about printing now, but having a printed schematic can help to debug a new board or to work with the PDN Analyzer extension.

    Finding Components

    As I mentioned at the beginning, I’m using my library for this project. However, you can follow this with your own library or using the Manufacturer Part Search panel

    To start placing components, open the Components panel. The first thing I’m going to place is the charger IC. You can find this in the Battery Chargers category. To determine which battery charger to use, we can use the columns in the component results. 

    Enable Column Grouping


    Firstly, right-click on the components headings and ensure Enable Columns Grouping is turned on. This is going to make our life much easier. We can then right-click on the column headings again and click on Select Columns.

    Select Columns


    We want to compare properties such a Price, Number of Cells, Charge Current, and the supply voltage max.

    Once you have selected the columns we want to use for comparing, you can drag your most critical column up. For finding a battery charger, that’s going to be the Number of Cells for me. Expanding out the “1” group will show single-cell charger ICs. 

    Group by Cells

    Then we can sort by Price by clicking on the Price column to show the cheapest parts at the top. Clicking on the component will also show live stock quantities and pricing from Octopart below the results list and all other technical parameters. The stock level information is a great way to ensure the part you are considering is sufficiently well-stocked at distributors for your project requirements.

    Placing Components

    I’m going to use the Texas Instruments BQ24092DGQT Li-ion battery charger. It’s not the cheapest part, but it suits my needs best. You can just drag this part out onto the schematic, or right-click on it and select Place. Place it somewhere around the centre of the sheet so we have room to place other components around it.

    IC Desginator


    You’ll notice the component has the designator IC?. We’ll sort out all the designators once we have finished the schematic capture. I like to leave all the designators unassigned until I’m ready to start working on the PCB. This ensures that components will be somewhat grouped by designator when you come to assemble the board. If a device has 3 capacitors, they are probably going to have similar numbers. If I instead gave each part a number as I placed it, and for example, placed all my 100 nF capacitors across all my schematic sheets, then came back and added some 1 uF capacitors, the numbering wouldn’t be consistent. It’s a small thing, but I find it saves me time on assembly and finding where components might be potentially months down the line.

    Next, we’ll do the same thing for LEDs, looking for a low cost LED to indicate whether the battery is charging and if the charger has good power. Selecting a LED by Package/Case and then Color really starts to show off the utility of grouping by columns.

    LED Selection

    As you place components, you might want to change their orientation. You can do this by pressing the spacebar to rotate them as you drag or place the component. Mirroring a symbol is particularly useful for connectors. Pressing X will mirror the component left to right, and Y will mirror the component up and down as you’re placing or dragging it.

    Next, we need some current limiting resistors for the LEDs. You can find these in Resistors - Surface Mount 0603. Grouping by Resistance and then by Power (Watts) is usually a good way to find the right resistor, and adding tolerance is a great way to narrow down the list further. We’ll need two of these; you can either place two directly from the Components panel, or you can place the first resistor and copy it. If you dragged from the Components panel onto your sheet, copying and pasting the first component is easiest. If you double-clicked on a component, or right-clicked on the part and chose Place, you can continue placing additional items after the first one.

    You can zoom a schematic sheet by holding the Ctrl key and using your mouse wheel.

    Resistor Placement


    When trying to place components close together like this, sometimes the default designator and value positions can make the schematic more difficult to read than you would like. Normally it’s perfect, but with closely positioned parts, I like to move the designator and value very close to the symbol to make it abundantly clear which part the text refers to. You can click and drag the designator and value to a position that better suits you to make your schematic more legible. 

    A quick way to copy a component is to hold shift while dragging the symbol, and this will create a duplicate where you drop it.

    Designators Moved

    The red line below a component is your cue that the designators are duplicated (2 R?'s and 2 D?'s shown here). Later, once you assign unique designators to these components, these lines will disappear.

    Adding Power Connections

    We can start adding some connections now, and I usually start with adding my ground and power ports, followed by my decoupling capacitors and such to the schematic. The quickest way to add a power port is from the Active Bar at the top of your schematic sheet.

    Active Bar


    If you click and hold, you’ll get a drop down with commonly used power ports: positive, negative, ground, and earth.

    Port Dropdown


    If you don’t like the port naming or you want the symbol with a different name you can press Tab on your keyboard to jump to the properties window and change the net name.

    Rename Port


    If you just click the button, you’ll get the power port that was last used, in this case, GND. 

    Place Grid

    After placing one, you can continue placing additional ports where you need them. I tend to place the ports where I want them to be, then connect everything up after I’m done.

    Making Electrical Connections

    Now that we have the input power ports where I want them, I can start connecting the various pins and ports.

    Rough Schematic Layout


    To do this, we’ll use wires - from the Place → Wire menu, or by pressing Ctrl + W on the keyboard. Learning keyboard shortcuts is worth the time, as it will save you a significant amount of time and mouse movement.

    Place Wire


    Wires will snap to the ends of pins and power ports, so start the wire by clicking on a pin, and then end by clicking on a port or another pin.

    Wire Placement


    Wires will snap to the ends of pins and power ports, so start the wire by clicking on a pin, and they will end by clicking on a port or another pin. 

    Left Side Schematic


    We now have the left side of the schematic completed. Once a component is connected to a wire, you can drag it around and stay connected. If you don’t want to move the component and the wire simultaneously, you can hold Ctrl down as you drag the component and move without its connections.

    Naming Nets


    It can be very important to give nets a human-readable name. By default, Altium will name the net based on the component and pin it is connected to, and this shows up on the trace when you are routing the PCB. Giving a net a name makes it a lot easier to know what you are routing on the board, especially where care and consideration for a net are required. While this convenience is nice to have, it’s essential to name nets that you want to connect in two places without having a wire between them. 

    TESNE Schematic


    In this schematic, it would be messy to connect the temperature sensor net between the charger IC and the battery connector - going around the decoupling capacitor. Instead, we can add a Net Label to the wire and call our net TSENSE. Nets on the same sheet with the same name will be connected (and other sheets if you don’t have a parent/top-level schematic sheet).

    You can add the Net Label by clicking on Place → Net Label (or pressing P, then N on your keyboard). Hit Tab on your keyboard to edit the name of the label in the properties window.

    Place Netlabel


    Then just place it anywhere on the wire you want to name. I highly recommend naming every wire on your schematic, and it does make layout easier. As a note, a power port will name a wire, so GND, VCC, and VBATT in this project’s schematic get their name from the power port.

    We now have a fairly complete schematic, just needing a few more labels to be added.

    Schematic Wired

    Schematic Title Block

    While the schematic is looking fairly complete, the title block is looking fairly barren. If we printed this schematic sheet out or emailed it to someone, they wouldn’t have any idea what it is for.

    Empty Title Block


    We can fix that on the properties window when no component is selected. You’ll see the document properties. If you look under the Parameters tab, you can see all the sheet parameters. At the very least, I suggest adding the Title and Revision. Your revision should start at 0, so your first prototype board is revision 0.

    Set Title


    You might have noticed the sheet numbers are all empty too. Once you have completed the schematics for a project and have all the sheets added to your project, you can automatically number the sheets.

    To do this, go to Tools → Annotation → Number Schematic Sheets.

    Number Sheets


    If you don’t have a particular reason to re-order your schematic sheets, you can automatically number everything based on how it is arranged in the project.

    Battery Image


    Just click through the buttons on the bottom left of the window to automatically number each sheet. Add document numbers and update the total number of sheets in the project on each schematic sheet, then click OK.

    Title Block Completed

    Component Designator Numbering

    We now have our schematic pretty much completed - however; we still have question marks instead of component numbers. To number the schematic designators all at once with as little effort as possible, go to Tools → Annotation → Annotate Schematics Quietly. This will number the designators using the default strategy and not require any additional input from you.

    If you want more control over the component designator numbering, you can use Annotate Schematics instead, which will give you a range of options for numbering strategy, allowing you to have the numbering exactly as you desire. If you want complete control, which requires more time, you can always assign designators manually.

    After assigning designators, we now have a completed schematic with a completed title block, and we can start to work on the PCB.

    Adding A PCB


    To add a PCB, we’re going to do the same thing as adding the schematic. Right-click on the project, Add New to Project → PCB.

    Add New PCB


    This is a blank default template PCB. It’s important to note here that there are very few design rules applied to the PCB. In other software, this might not be a problem, but Altium applies design rule checks in real-time as you work on the board, which makes it very hard to violate a design rule. As we go through the layout and routing, there will be a few spots where we need to stop and change design rules to meet our manufacturer’s limits rather than using the default design rules.

    As I live in a metric country and design using metric sizing, the first thing I’m going to do is change the board to metric. In the properties window, you can scroll down to the Other category and change the units to mm.

    Change PCB to Metric

    Now we can save the PCB and we are ready to use schematic capture to place our components in the design.

    Adding Components to the PCB

    With the PCB saved, we can transfer our schematic design to the PCB, adding all the components and nets. Go to Design  Update PCB Document.

    Update PCB Document


    This will then show you the Engineering Change Order window. Here you can see what changes are going to be made to the PCB document before they are made. It’s a good way to ensure that everything is going to happen the way you expected it, especially when you’re making changes to a PCB schematic that has already been worked on. This way, you can see everything that will happen before the change, and you won't be surprised some hours later when you find something amiss.

    PCB First Eco


    The first change order is pretty routine. We can see which components will be added, and all the nets, and so on. The first change order also gives you a chance to check whether you forgot to annotate your schematics. If something was overlooked, you can still go back and set designators if in your schematics.

    For this project, I’m going to deselect adding the Room to the design, as it’s such a simple project - we won’t be using any room features, and not having it there will allow us to focus on the PCB design itself. Adding the room to this type of project can create a DRC error if you did not set up design rules properly, so it's best to avoid adding rooms if you don't need them.

    Deselect Room Execute Changes


    Now we can click the Execute Changes button to run the change order list.

    Changes Executed


    You should now see two checks next to each item if you don’t have a checkmark make sure you installed the library correctly, and that your files are up to date - it’s likely a missing footprint causing problems with a design this simple.

    Click Close if everything went well. You’ll see to the right of the board that the new components have been added to the design. Any time you add new components to a PCB, even if the design has been worked on already, the components will be added to the right side of the board.

    New Components


    You might also notice that several of the components have green pins rather than red. If you zoom in you’ll see they are actually covered in little green circles with crosses.

    DRC Violation

    There’s also some arrows with measurements on them - this is Altium telling you that these pads violate a design rule, the clearance between pads is less than the default 0.25 mm. If you ever see bright green on your circuit board in your design, it’s likely to be a design rule violation you need to take care of.

    Changing Design Rules

    Now that we have a design rule violation on the board, it’s good to take a look at the design rules settings. You can get to it by going to Design → Rules.

    Design Rules Menu


    If you drill down to the Electrical → Clearance category, you’ll find there is one clearance rule in there, also called clearance.

    Clearance Rules Default


    The default clearance rule specifies 0.01” clearance. However, I know that my PCB manufacturer’s minimum clearance is 0.15 mm on their cheapest standard. We can change every clearance to this by just entering 0.15 mm as the Minimum Clearance by clicking on the N/A text there. This will tell Altium Designer that all copper must be separated by 0.15 mm or more.

    Minimum Clearance


    While we are here it’s a good time to update the routing width rules to the minimum that our manufacturer can work with. You can find this under the Routing → Width category.

    Default Routing Width for lithium polymer battery charger project


    The default rule allows for a minimum width of 0.254mm, maximum width of 0.254mm, and a preferred width of 0.254mm. Not a lot of choices for routing but it does force you to update your design rules to what your design and manufacturer actually requires before you get too far into your project.

    Updated Routing Width lithium polymer battery charger project


    I’m going to set my minimum width as 0.15mm, so Altium won’t let me place a smaller trace than my manufacturer allows. I prefer to use a trace width of about 0.3mm, so I use that as the preferred size - it allows sufficient current for most applications, but doesn’t take up too much room. I typically set my max trace size to 2 or 3mm, which allows me to run a big power track on the board if I need it - this simple project does not need something that large, but it’s a good habit to try to keep your design rules consistent.

    As with the traces, Altium has a default design rule in the default board template that allows just one via size. You probably want to have a variety of sizes, and likely much smaller than the default. Under the Routing → Routing Via Style group, you can change the default via rule.

    Default Via Rule lithium polymer battery charger project


    My manufacturer allows me to use a minimum size of 0.2mm with their cheapest board option, and a 0.45mm annular ring. Despite this, I typically use a 0.6mm via with a 1mm diameter, so I can set this as my preferred via size.

    Updated Via Rule lithium polymer battery charger project


    While we’re thinking about vias, I like to set my vias to be tented. There’s plenty of debate over whether it's a good idea or not, but I prefer the look of a tented via—the reduced chance of something touching a via and causing a short. The setting for this is under the Mask → Solder Mask Expansion category. 

    Via Tent Default lithium polymer battery charger project


    You simply need to check the Tented setting to make sure that the solder mask will cover the via.

    Finally, I like to change the thermal setting for my board. Having thermals enabled on boards has caused me far more issues in the past than any benefits from them. With a powerful soldering iron for handwork and an appropriate reflow profile, there should not be any production issues associated with requiring thermals, however, with thermals enabled to make production slightly easier, we can inadvertently cause electrical issues. Just like via tenting, there are plenty of people who prefer it one way or another - so you’re free to leave thermals turned on, or turn them off as I do.

    You can find the setting under the Plane → Polygon Connect Style group.

    Polygon Connect Default


    To turn off thermals, change Relief Connect to Direct Connection.

    You can now click OK to save the changes you made. 

    Violation Cleared

    Back in the PCB editor, we can see that the violations are cleared, there’s no longer the violation overlay showing on our battery charger’s pins.

    Component Layout

    To make it easier to do our initial board layout, we want to turn on cross selection. This allows us to select components in the schematic sheet or the PCB editor - a real time-saver to select the right capacitor in the schematic without remembering designators. To enable cross select mode, click Tools → Cross Select Mode or press Shift + Ctrl + X.

    Cross Select Mode


    We can now go back to the schematic sheet and select the red LED and its current limiting resistor.

    Selected Resistor LED


    Then back in the PCB editor, we can see that these two components are selected.

    Selected Resistor LED PCB

    This makes it very easy to drag them out to their own area of the board awaiting layout. I like to group all my components together off the board in logical selections. Then I can layout each component group individually and perhaps even do some critical routing for those components. Once I have all of these components groups in an optimal layout, the board layout is just a jigsaw puzzle of trying to get these groups to fit together.

    To rotate a component, you can press the spacebar while dragging it, just like in the schematic editor.

    You can change the grid size, which the components are snapping to by pressing the G key, then select which grid size to use. I like to start out with something fairly coarse, such as 0.5mm for the rough layout, then keep stepping down the grid size as I get towards optimising the components to be as close as possible. 

    Updating the Schematics

    Inevitably, you’ll find at some point you have forgotten to do something on the schematic, or realise you need some extra components on the board. Updating the board to reflect the schematics is as easy as the initial transfer of components to the board.

    You might have noticed earlier that I didn’t follow my own advice and name all the wires on the sheet. Now I can go back and add those extra names to make it easy to see which pin is which on the footprint as I’m routing.

    Add New Net Names


    I’ve added names to all the wires that didn’t have them. To update the board, I can go to Design → Update PCB Document as we did earlier.

    Update ECO


    You can see the changes in names for the nets - the names are much more human friendly now and will make routing easier. Once again, I’ve deselected the room so it won’t be added to the board. Clicking Execute Changes will update the net names on the PCB, and then you can close the window.

    Pin Net Names


    The PCB is much easier to route and layout now, as you can see the names on the pads rather than just blindly following the unrouted net wire.

    Designator Positions

    The component designators are starting to get in the way of my layout. There are a few options here:

    • We can move them manually, and they will stay in that position relative to the component if the component is moved,
    • We can change the auto position for the designators,
    • We can move the designator to a mechanical layer, so it's not on the silkscreen layer,
    • Hide the designator completely.

    Moving the designators to a mechanical layer is usually my preferred choice because I tend to prefer working on tightly spaced boards where there isn't room for a silkscreen designator. I much prefer this to just completely hiding the designators. However, I understand that many engineers find a designator on the board useful to them.

    Moving the designator around manually is easy enough, just grab it and drag it where you want - it can get a bit messy though, and I like to have things nicely lined up.

    To change the auto position of the designator, you can select the designator by clicking on it, and then in the Properties window, change the auto position parameter.

    Change Auto-Position


    In this case, the left of the centre of the component is going to work best.

    There’s also a lot of other options available for designators on the properties panel, such as using true type fonts. Using a good font can make for a much smaller, yet still easily legible silkscreen that looks fantastic on your board.

    TrueType Font


    If you want to change all your designators at once, the PCB Filter panel is incredibly powerful for selecting groups of objects. By default it’s docked on the left side of Altium.

    Filter Designators


    By using a filter string like IsDesignator, we can select every matching object on the board by clicking Apply to All. Use the Helper or Builder buttons to find a lot more options for selecting different objects on your board.

    Filtered Designators

    Setting the Board Size

    Once you complete your rough layout, or perhaps even before if you have a specific size to keep to, you’ll want to set your board size to enclose your components. 

    Board Layout


    My board for this project will be long and narrow, with the USB connector on one end, and the other featuring the battery connector. 

    You can define a board shape from any primitive components (such as lines/arcs/tracks) or from an imported 3D body. For this project, I don’t have a 3d body to fit my components, so I’m going to draw lines on the Keep Out Layer to define the shape of the PCB. You can use any layer you want; I find keep out works well for me; however, as it ensures I don’t get any conductive copper or component too close to the board edge. I like to use a fairly coarse grid when setting the board shape, so I have nice easy numbers to work with when it comes to making a panel or fixtures for the board. It’s a lot more sensible in a mechanical CAD package or in drawings to enter 10.5mm than 10.621mm.

    Draw lines using the Place → Line tool.

    Keep Out Shape


    Bring the final line segment back to your line’s starting point, so you have a completely enclosed shape. Once you’re done, select a single track then press Tab on your keyboard to select all the connected primitives. This will ensure you have a fully enclosed shape and select the lines you drew for the next step.

    Keep Out Shape Selected


    Finally, we can set the board shape by going to Design → Board Shape → Define from selected objects.

    Set Board Shape


    You’ll now see the black area showing the board size now matches your lines/components. If you switch to 3D view by pressing 3 on your keyboard you’ll also see the board is looking pretty good!

    Board Shape Set

    You can press 2 to get back to 2D View.

    Setting the Board Origin

    We have our board outline setup, but the origin is nowhere to be found. I didn’t lay out the components on the origin marker, and you might find yourself doing the same, especially when you’re not sure how big your board might be or if you’re working with an imported 3D model.

    This can cause some issues for manufacturing, your board’s coordinates will be heavily offset, as will all the pick and place centres in your design.

    Luckily, it’s very easy to set the origin to exactly where you want in Altium, you don’t need to move your board to the origin, and you can change it again in the future if you need to. Just go to Edit → Origin → Set.

    Set Origin Menu


    Then click where you want to have the board origin, typically the lower-left corner. The origin marker will snap to the board outline, grid, and any primitives making it easy to set precisely. You’ll then see the origin marker appear where you clicked. If you are using fiducials and having your board assembled on an assembly line - it’s worth talking to your assembler and seeing if having the origin on the bottom left fiducial or the bottom left board corner will make their life easier. If you are working with an odd-shaped board, setting the origin to a fiducial will almost certainly be easier for them.

    Origin Set

    Routing

    Finally, we are getting to the fun part - routing. I really enjoy routing boards, and it’s always exciting to see rapid progress and a project get closer to completion.

    Altium has some fantastic tools that make routing very easy. The Interactive Routing tool is what you’ll most often use for routing. You can get started by pressing Ctrl + W or going to Route → Interactive Routing.

    Interactive Routing Menu

    For simple routes that are close together, you can cheat by just holding Ctrl and clicking on one of the pads in the trace. Altium will route a sensible path between that pad and the closest matching net-pad. For a simple board like this, we can route the vast majority of the board just by doing this, and then do a little manual fine-tuning.

    The default routing mode is to Hug and Push (also called Push and Shove) - you can change it by pressing Shift + R. However, Hug and Push is a pretty fantastic mode. It will hug the trace you are manually routing against nearby traces (while maintaining design rule clearances). If you need to squeeze a trace between two other traces, or between obstacles, it will try to push them out of the way to let you get your trace through. This is incredibly powerful on complex boards, as it will push many other traces out of the way, while maintaining their general routing path and obeying design rules.

    With nets that you can’t cheat with, you can click on the first pad, and then move your mouse towards the next connection. Altium will generally follow your mouse path, or you can click to lock the trace to its current position, which will change it from hatched to solid. Press space to change the direction of the corners on the path towards your mouse. Shift + Space cycles through the corner styles, typically the 45 degree or snake routing styles are going to be most effective for obtaining a short trace that can make its way around obstacles.

    Pressing 3 on your keyboard while routing will cycle through your configured trace widths, or press Tab to jump to the properties window and change the trace width manually. 

    If you make a mistake or want to optimise a trace path, you can simply route a new path over it, Altium will remove the previous trace that would cause a loop with your new trace. This is a very convenient feature for doing final board cleanup after routing is completed. When you can see a more optimal path, it might be easier to draw that new path directly rather than dragging the trace to it.

    To change layers, use the + and - buttons as you are drawing the trace, and Altium will place a via to switch layers. Press 4 to cycle through via sizes, or press tab to change the via dimensions in the properties window. Pressing 2 on your keyboard will place a via at the current position. This can be very useful for future planning, or to bring a connection out to a plane layer or where you will have a polygon in the future.

    Copper Pours (Polygons)

    We’re going to add a complete top and bottom copper pour connected to the GND net. This is important for the charger IC's thermal performance, having a copper area to act as a heat sink.

    Typically, you will use polygons for pouring copper areas in Altium. You can place one by going to Place → Polygon Pour.

    Place Polygon Pour


    This begins the placement process. Before we start actually drawing the polygon on the board, however, its a good idea to change a few parameters in the properties window. Press the tab key on the keyboard to pause the layout and switch to the properties panel. The net should be changed from No Net to GND.

    Polygon Properties


    You can either type in GND or use the drop-down list to select GND. This is a really good time to think back to naming the wires in your schematic - if you are working on something like a switched-mode power supply where you’re likely to have many polygons on the board, having everything well-named makes life much easier. Being able to select any net by a nice human-readable name is very convenient.

    Polygon Select Net


    Once you’ve added the name, you probably want to change the bottom two options to match my screenshot: Pour-Over All Same Net Objects and Remove Dead Copper. Removing dead copper is important because it will not place copper where there is no net connection to it. It can be a good visual indicator that you’re missing continuity to that section of the board, and it can also help prevent you from building capacitively coupled patch antennas onto your board, which can be an EMI nightmare.

    The pour over all the same net objects can be critical to ensuring success with a small polygon. Recently a member of my library community asked for help with a small polygon pour that wouldn’t work. He had the polygon set to “Pour over same net polygons only,” and the “remove islands” setting meant that his polygon never got poured, as much of it was over an SMT pad.

    Next, switch to the ground layer and add a GND polygon on the bottom layer as well.

    With Polygon

    Adding Silkscreen Text

    While the board is now electrically complete, we are not quite finished with it yet. It's uncommon for me to make a PCB, even for a prototype, without some extra text or graphics on the board. Altium supports all the fonts on your system, so you have pretty good creative capabilities with just fonts.

    To get started with placing some text on the board, select the Top or Bottom Overlay (silkscreen) layer at the bottom of the PCB designer window, then go to Place → String. 

    Add String


    Press Tab to switch to the properties window, then you can change the text or other options before adding it to your PCB. You can use multiple lines for the text by pressing Shift + Enter.

    Text Properties

    If you add text to the bottom of the board, be sure to check the Mirror setting. This will mirror the text on the bottom of your board so that it reads correctly. The 3D viewer is very convenient for making sure your text looks correct.

    The justification settings also change where the text will snap to the grid or other objects. This can be incredibly useful for placing text in line with a connector pin, for example. Using the left or right justification and middle alignment will give you a snap point when placing the text in the middle of the left or right side of the text. You can change the justification/alignment in the properties for the text you added after placement if you want it to be displayed differently - such as when you’re using an inverted text block. Just use the justification settings for the initial positioning, then change the alignment to suit your visual desires.

    Congratulations!

    You’ve just finished creating your first board for a lithium polymer battery charger, and are ready to order it. Hopefully, this has taught you the basics of Altium so you can work on more complex projects with ease. Altium is an incredibly powerful software with many configuration options and functions. My advice is to not get too caught up in learning every feature of Altium as you get started. If you’re working on a project and start thinking, “there has to be a better way to do this”, chances are you are right, and it’s a good time to learn another Altium feature or setting. I find I learn best by doing rather than reading everything upfront - so get going, start designing boards with your newfound knowledge of Altium!

    If you want to see the completed design files for this project, you can find them on GitHub. The files on GitHub also include a full panel and Active BOM documentation that you can use as a reference or get ideas for your own projects.

    As mentioned above, if you’re looking for the next steps in learning Altium, take a look at my other projects. I try to include tips and tricks for Altium as well as design in my projects, so following along with the project or using portions of their schematics might help you get your project going fast. I especially recommend the RGB + White LED Strip Controller project, which delves into multi-sheet, multi-channel design - a powerful feature of Altium that allows you to build multi-channel projects with very little effort rapidly.

    Have more questions? Call an expert at Altium.

    About Author

    About Author

    Mark Harris is an engineer's engineer, with over 12 years of diverse experience within the electronics industry, varying from aerospace and defense contracts to small product startups, hobbies and everything in between. Before moving to the United Kingdom, Mark was employed by one of the largest research organizations in Canada; every day brought a different project or challenge involving electronics, mechanics, and software. He also publishes the most extensive open source database library of components for Altium Designer called the Celestial Database Library. Mark has an affinity for open-source hardware and software and the innovative problem-solving required for the day-to-day challenges such projects offer. Electronics are passion; watching a product go from an idea to reality and start interacting with the world is a never-ending source of enjoyment. 

    You can contact Mark directly at: mark@originalcircuit.com

    most recent articles

    Back to Home