I hope somebody can help me assist and check on my first proper PCB design.
This is my first PCB design with an actual microprocessor and all. I have designed simple boards in the past using an Arduino, but I wanted to make something more professional. To get me on the right track, I followed this youtube tutorial and made my own changes. I will first explain what I want to achieve and show what I have done. I will ask the questions at the bottom.
I'm making my own sim racing steering wheels. The steering wheel I'm making now needs the following functions:
- 17x LEDs (light up individually)
- 10x push buttons
- 4x rotary encoders
- 2x pedal shifters (same functions as push button)
- 1x Nextion 4.3" display
- 1x GX16-4 for usb connection
To power the board I followed the exact steps from the tutorial. I'm using the STM32F103CBT6 microprocessor.
I made two power regulators, one for 3.3V and one for 5V. I am not sure if the 5V is needed because the USB output is already 5V.
I used the multiplexing solution for connecting the push buttons, encoders and shifter input. Those are directly connected to the microprocessor. I used this exact solution when I worked with an Arduino.
I used the charlieplexing solution for my LED connection. The LEDs need to light up individually as they will replicate an RPM bar. As you can see, I used a 51 ohm resistor for each line. I use [this][6] LED.
My questions:
- Is my basic power circuit to power the microprocessor correct?
- In the tutorial he used 1k5 resistors, are they 1.5k resistors like [these][8]?
- Do I need a 5V regulator? Because the power voltage coming in is already 5v?
- Should my multiplex work like this? Directly connected to the IO pins without anything between the buttons and the microprocessor.
- Should my charlieplex solution work like this, so that every LED can work individually?
- Are the five resistors I used for the LEDs correct in terms of ohms (51 ohm)?
Please, if you see any mistake, or if you think I could do something different, please let me know.
EDIT: