Initial feedback
-
What motivated your choice of buttons? We've used simple buttons in our project, like the ones you use for NRST.
-
I think you've tried to implement a debouncing circuit for the implemented buttons, however, I'm not sure they're implemented correctly. You use a different set of buttons, so it might be that the implementation of the debouncing circuit is simply different, if that's the case ignore this point. We have been following this example in our group: https://www.playembedded.org/blog/buttons-stm32/
----------------------------
As for the specifications:
- You have implemented the specified buttons, possibly minus the deboucing part.
- You are missing the scroll wheel.
We have implemented the scroll wheel as a rotary encoder, if you have a better solution please let me know! Here's two examples of how the encoder can be implemented:
https://www.allaboutcircuits.com/projects/how-to-use-a-rotary-encoder-in-a-mcu-based-project/
your specific implementation will be dependent on the encoder you use if you choose to go this route!
There is a circuit which has been completed, but I do believe that it's for lab 2, as the buttons you've implemented are missing so it'll be ignored for now.
----------------------------
Obligatory parts:
From what I can tell your USB connection is missing, have you implemented it as pins? I notice that you have an area named "USB" with the ESD protection implemented.
Notes on TODO:
Good idea to define what you meant by mainly and assist! I'd like to see more specifics in regards to the tasks. Certain tasks are vague for now, such as the software, but take the point "PCB" for example. This point refers to creating the circuit in KiCad, right? Write it out. "Complete the circuit in KiCad" for example. Try to split up the tasks wherever possible, this makes it easier to show progress in the changelog and simplifies moving them over.
Notes on CHANGELOG:
I like the idea behind having the version names, well done!