Versa Control
Versa Control
Versa Control
INTRODUCTION................................................................................................2
THE PROJECT....................................................................................................2
Microcontroller Selection..............................................................................3
Git and Github with Altium...........................................................................5
Schematics...................................................................................................5
MCU...........................................................................................................6
QUESTIONS....................................................................................................10
1. What are decoupling capacitors?.........................................................10
2. What are ferrite beads and how to choose them?................................10
3. How to choose crystal oscilllators?.......................................................10
ACQUIREMENTS.............................................................................................11
INTRODUCTION
The purpose of this project is to improve my PCB design skills. In the end, the
project to be described may not have an actual use in the real world, but I
aim to use as many sensors or components as possible to get used to
different communications protocols, specific topics such as impedance
routing, multilayer PCB design and many more topics. I will put an
acquirements section as well as explaining what I acquired in every section.
THE PROJECT
I had a project in my mind which includes several sensors and motor control
etc. Before starting to the project, I wanted to talk to ChatGPT and after long
conversations and after I described what I needed to do, we finally created a
project together.
Project Name: VersaControl - Multi-Purpose Embedded System
Purpose: VersaControl is a versatile embedded system designed to provide
comprehensive functionalities for a wide range of applications. With its
robust sensor interfaces, motor control capabilities, data storage, and
communication features, VersaControl offers flexibility, performance, and
ease of use for engineers and hobbyists alike. The addition of SPI for external
memory expansion further enhances the system's capabilities, enabling
extensive data storage and retrieval for projects that demand high-volume
data processing and logging.
Key Features:
Precise sensor interfaces for monitoring temperature, pressure, and
motion.
Dynamic motion control with integrated H-bridge motor control
circuitry.
Versatile data storage interfaces, including SPI for external memory
expansion.
Seamless communication with external devices via USB, UART,
Bluetooth, or SPI interfaces.
Customization options for adapting to diverse project requirements.
Bill of Materials (BOM):
1. Microcontroller: STM32
2. Sensor Interface:
Analog Temperature Sensor
Digital Gyroscope and Accelerometer
I2C Pressure Sensor
3. Motor Control: MOSFETs for H-Bridge Configuration
4. Data Storage and Communication Interfaces:
EEPROM
MicroSD Card Module
USB to UART Converter
Bluetooth Module
SPI Interface components (for external memory expansion)
5. Power Management:
Buck-Boost Converter
Low Dropout Regulator
VersaControl offers a comprehensive solution for various projects, providing
versatility, performance, and scalability in one integrated system.
I will also include all the useful information I can get and provide.
Microcontroller Selection
Step 1: Define Your Project Requirements
• Functionality: Clearly outline what your project needs to do.
• Performance: Determine the processing power and speed required.
• Input/Output Needs: Identify the sensors, actuators, and communication
interfaces needed.
Schematics
Now we are going to make the connections and also the part selection for
every component.
Sources:
DATASHEET - STM32F466xC/E
AN2606 - STM32 microcontroller system memory boot mode
AN4488 - Getting started with STM32F4xxxx MCU hardware
development
AN2867 - Oscillator design guide for ST microcontrollers
MCU
We start with the boot, the power connections, reset, and the crystal
circuitry.
1. BOOT
At startup, boot pins are used to select one out of three boot options:
Boot from user Flash
Boot from system memory
Boot from embedded SRAM
The boot loader is located in system memory. It is used to reprogram the
Flash memory through a serial (UART, I2C, CAN, SPI and USB) communication
interface. Refer to application note AN2606 for details.
Introduction of AN2606 states that the bootloader is stored in the internal
boot ROM (system memory) of STM32 devices and is programmed by ST
during production. Its main task is to download the application program to
the internal flash memory through one of the available serial peripherals
(such as USART, CAN, USB, I2C, SPI). A communication protocol is defined for
each serial interface, with a compatible command set and sequence.
I will only program the system using SWD. So, I will pull BOOT0 low and leave
BOOT1 floating.
2. POWER SUPPLY
VDD = 1.7 to 3.6 V: external power supply for I/Os and the internal
regulator (when enabled), provided externally through VDD pins.
VSSA, VDDA = 1.7 to 3.6 V: external analog power supplies for ADC,
DAC, Reset blocks, RCs and PLL. VDDA and VSSA must be connected to
VDD and VSS, respectively
VBAT = 1.65 to 3.6 V: power supply for RTC, external clock 32 kHz
oscillator and backup registers (through power switch) when VDD is not
present.
VDDUSB can be connected either to VDD or an external independent
power supply (3.0 to 3.6 V) for USB transceivers.
VREF+ and VREF– inputs are both available on UFBGA144. VREF+ is
also available on LQFP100, LQFP144, and WLCSP81. When VREF+ and
VREF– are not available, they are internally connected to VDDA and
VSSA.
I will put as many 100n capacitors as the number of VDD pins. Also 4.7u bulk
capacitor will be placed.
I will connect VDDA to VDD through a ferrite bead, 100n capacitor and a 1u
capacitor.
I will connect VBAT to VDD.
3. RESET CIRCUITRY
I will pull it down to the ground using 100n. Also I will add a switch.
4. CRYSTAL CIRCUITRY
To enhance our knowledge of oscillator, we need to thoroughly read the
AN2867 - Oscillator design guide for ST microcontrollers . I will write down the
important parts of this guide.
In most MCUs/MPUs manufactured by ST, RF is embedded in the oscillator
circuitry. Its role is to make the inverter act as an amplifier.
I chose 8MHz oscillator and by the CL and CS values, I calculated the external
capacitors.
5. SWD CONNECTIONS
ACQUIREMENTS
Git and Github with Altium
Part Selection(MCU
ACQUIREMENTS
Git and Github with Altium
Part Selection(MCU