Part 2 - Sourcing
Once you have your system requirements, you will need to select which components to use in your system.
Selection Order
- Choose the main parts first, all the Main ICs
- Processor
- Motor driver
- Motors
- Screen
- Wireless Chip
- Sensors
- Any other important IC
- Calculate the power requirements (voltages and currents) of all previous ICs
- Choose power supply based on calculated power requirements
- Take in account continuous and peak currents at given input and output voltages
- Choose passive components (usually given in datasheets and application notes of ICs)
- Resistors
- Capacitors
- Op-Amps
- Any other circuitry that surrounds the main ICs
- Choose specific connectors
Selection Criteria
- Parts that are already in stock
- Low lead times
- Sufficient stocks
- Parts available at your PCB manufacturer (for example: JLCPCB)
- Parts you are familiar with
- Parts Distributor search (for example: Mouser or Digikey)
- Easy to assemble packages
- Don’t choose very small packages like 0201 or BGA, this will make debugging and soldering harder
- Right performance
- Least amount of additional circuitry needed
- Cost
- Part Lifetime
- Don’t take NRND (Not recommended for new design) parts
Distributor Parts Search
To seach for parts in a distributor like mouser.com:
- Select the product category (example:
Products > Semiconductors > Embedded Processors & Controllers) - Select the product type (example:
Microcontrollers - MCU) - Set first filters (example:
Manufacturer > STMicroelectronics,Mounting Style > SMD/SMT) - Apply (this reduce the possibilities of filters for each step)
- Set second filters (example:
Package/Case > LQFP-100 to LQFP-62,Data Bus Width > 32bit,Maximum Clock Frequency > 48 to 72Mhz,Program Memory Size > 64kB - 128kB,Data RAM Size > 20kB - 768kB) - Apply (repeat as many times as necessary)
- Sort by price. It is cost effective
- Tick
In StockandNormally Stocked. Ensure the parts are in stock. - Make sure the price is reasonable for the part you are searching for. (example: 2.55 USD per unit is reasonable for an inexpensive MCU)
- Check the Datasheet of the component and whether a footprint (PCB and 3D) is provided
Part Selection Examples
Microcontroller
Important Microcontroller (MCU) parameters:
- Programming tools, development environment
- Bus width (8 bit, 32 bit)
- Maximum clock speed (8Mhz to 550Mhz)
- Flash and RAM sizes
- Number of cores (typically 1), DMA, supply voltage
- Peripherals and I/O count (I2C, SPI, USB, CAN, Timers, GPIO)
- Packaging (BGA, QFN, LQFP) and package size
- Cost
You can have a preferred MCU type, for example STM32 are cheap, easy and have affordable programming tools, free IDE, good app notes and datasheets. They exist om various flavors:
- High-performance: F2, F4, F7, H7
- Mainstream: F0, F1, F3, G0, G4
- Low-power: L*
- Wireless: WL, WB
// TODO: change to another STM32 example that matches the macromouse example Example of a choice of MCU: STM32F103CBT6
- Very common MCU, LQFP-48 package, +3V3 supply
- Supports USB 2.0 FS natively and SPI
- Flash: 128 kBytes, RAM: 20 kBytes
- 72 MHz clock frequency
Power Supply
Check the Voltage and Current requirements
Many different types of DC/DC converters
- Switching (buck, boost, buck-boost, flyback)
- High efficiency, higher powers, switching noise, higher part count, harder layout
- Linear, low-dropout
- low efficiency, typically lower noise
General rule:
- Use switchers for digital circuitry
- Digital has high noise margins, higher current requirements Use linear regulators for analogue circuitry
- Analogue circuitry far more sensitive, lower current requirements
Switching Regulator
For the digital circuitry power supply
- Require step-down/buck switching converter
- Input voltage (+7.5V) is greater than output voltage (+3V3)
- Current requirements: TODO
Remember: higher switching frequency means smaller components around regulator, which is good (filters components can have a smaller value and thus a smaller size)
You can select parts with extra features: over-current protection, soft start-up, thermal shutdown, small SOT package, …