Appendix C: Microcontroller Selection
Selecting the appropriate microcontroller is crucial for the success of any project that involves electronic devices. For Team 305’s project, the selection of Microchip’s microcontroller was essential. The process of selecting a microcontroller involved in identifying and evaluating the available options and choosing the one that best meets the project’s requirements. The evaluation process involved in using tools such as the Microchip Parametric Search Tool to identify and compare different microcontroller options. After identifying the options that met the project’s requirements, the team gathered specific information about each microcontroller and assessed how each option met the project-specific requirements. The evaluation process included filling out a template that was provided and identifying the overall pros and cons of each option and ranking them based on how well they meet the project’s needs. Finally, the team chose the microcontroller that best meets their requirements and provided a clear justification for their selection based on data-driven analysis.
Microcontroller Comparison
Determine your project-specific requirements | Look up specifications in the PIC datasheet | |||
---|---|---|---|---|
Design Considerations | Team Project-Specific Requirements from Problem Definition and Block Diagram | PIC Option 1 | PIC Option 2 | PIC Option 3 |
How many GPIO Pins? | 60 I/O Pins | 36 I/O Pins | 85 I/O Pins | |
Built-in Analog to Digital Converter? How many? | 4 Internal 47 external | 4 internal 35 external | 4 internal 35 external | |
Built-in Hardware PWM? How many? | 2 | 2 | 1 | |
Built-in I2C? SPI? How many? | We need at least 2 serial sensors and 1 serial actuator using I2C or SPI. | 2 | 2 | 3 |
Built-in UART? How many? | We need at least 1 example of UART, SPI, and I2C. | 5 | 2 | 3 |
Find 3 microcontrollers that meet your team project-specific requirements and find information on each | Part details from the PIC datasheets: | |||
Microcontroller Considerations | Instructions | PIC Option 1 | PIC Option 2 | PIC Option 3 |
Part Number | Include the entire part number (leave off any letters at the end that specify the package type) | PIC18F67K40 | PIC18F46Q10 | PIC24FJ1024GA610T-I/PT |
Link (URL) to product page | Do not paste links directly into the table. Instead, link them. | (Link Here) | (Link Here) | Link Here |
Links (URL) to Data Sheets | (Link Here) | (Link Here) | (Link Here) | |
Links (URL) to Application Notes | Often provided by manufacturers to give you specific examples of how to use their products. Search for them in the search bar on the Microchip’s website. | (Link Here) More applications: (Link Here) | (Link Here) More applications: (Link Here) | Link Here More applications: (Link Here) |
Links (URL) to Code Examples | (Link Here) | (Link Here) | (Link Here) (Pg. 27) | |
Links (URL) to External Resources | Search on Google and YouTube for other resources for each specific microcontroller. | (Link Here) | (Link Here) | (Link Here) |
Production Unit Cost | Find in the Microchip online store, or Digikey | $5.31/ each | $2.35/ each | $6.08/ each |
Supply Voltage Range | Find in the microcontroller datasheet | 2.3V to 5.5V | 1.8V to 5.5V | 2.0 to 36V |
Absolute Maximum Current for entire IC | Find in the microcontroller datasheet | 350mA | 350mA | 300mA |
Maximum GPIO Pin Current (Source/Sink) | Find in the microcontroller datasheet | +-50mA | +-50mA | +-25mA |
8-bit or 16-bit Architecture | Find in the microcontroller datasheet | 8 bit | 8 bit | 16 bit |
Available IC Packages / Footprints | Find in the microcontroller datasheet. Choose a microcontroller with both surface mount and DIP/through-hole packages available. See Most Common Mistakes below for requirements to improve manufacturing reliability. | 12 available– surface mount only. (Link Here) | 14 available Both through-hole and surface mount available (Link Here) | 5 available– surface mount only. (Link Here) |
Supports External Interrupts? | Find in the microcontroller datasheet | Yes | Yes | Yes |
In-System Programming Capability and Type | Allows for programming the microcontroller without removing it from the PCB. Find in the microcontroller datasheet. | ISCP support (5-pin) | ISCP support (5-pin) | ISCP support (?-pin) |
Programming Hardware, Cost, and URL | Find on the microcontroller product page | PC/ MPLAB PM3 Universal Device Programmer (Link Here) | PC/ MPLAB PM3 Universal Device Programmer (Link Here) | PC/ MPLAB PM3 Universal Device Programmer (Link Here) |
Works with MPLAB® X Integrated Development Environment (IDE)? | Required. See Microchip Development Tools | Works with MPLAB | Works with MPLAB | Works with MPLAB |
Works with Microchip Code Configurator? | Required. Go to the MCC website, click the “Manual Downloads” tab, scroll to the device library that goes with the PIC you chose (likely “MCC 8-bit PIC”) and read the release notes to make sure your microcontroller is in the list of supported devices. | Works with MCC | Works with MCC | Works with MCC |
7.2 Microcontroller Overview
Write overall pros, cons, and rankings for the chosen microcontrollers | ||||
---|---|---|---|---|
Overall Pros | Write at least 2 for each microcontroller | -Can operate at 3.3V -64 pins for additional purposes |
-Can operate at 3.3V -Contains all the necessary specifica-tions |
-can operate at 3.3V -Uses 16 bit |
Overall Cons | Write at least 2 for each microcontroller | -8-bit Microcontroller -Max ADC Resolution = 10 |
-64 memory size -40 pin count |
-Lots of pinouts can cause confusion -Limited on number of PWMs |
Ranking | 1 = first, 2 = second, 3 = third |
1 | 2 | 3 |
7.3 Microcontroller Finalization
Final Microcontroller Choice: PIC18F67K40
Rationale: Team 305 decided that the PIC18F67K40 IC was the overall best choice for our chosen project. Despite the relatively lower ADC resolution, the amount of pins that the IC has as well as the multitude of packages available make the PIC18F67K40 the right pick for the project. The large amount of pins available in the IC allow for a large degree of freedom and flexibility in where the sensors and other components are located on the PCB. The array of packages available to choose from allow for a perfect selection as to exactly what is needed for the project.