Hardware
|- central processing unit
|- storage (ssd, hdd)
|- memory (RAM)
|- specialized hardware processing
|- graphics processing unit
|- sound card
- wifi card
|- battery, power and cooling
|- display
|- speaker
|- HID
|- mouse
|- keyboard
|- touchpad
- touch screen
Fundementally created from the principles of chemistry and physics. While the functionality is quite simple, designs can be quite complex to achieve the required performance with limited space and power.
Firmware is software that is very closely tied to the hardware. In a wired mouse, the laser is one of the main sensors. It bounces light of the surface and the sensor registers this. The firmware is run on a microcontroller and translates this sensor reading into a format that can be sent through the transmission medium.
Drivers are software closely tied to the device and interface - it interprets commands received from the firmware and sends it to the OS for performance.
Operating System manages memory and processing. It allocates memory for applications and provides access to the CPU.
Applications
When a mouse clicks a button, a metal contact mouse. This is wired to a sensor that triggers the firmware to send a signal through the connecting interface. The operating system receives this signal, and uses the driver to determines that a click action must be performed at a specific location. The operating systems propogates this signal which the appliction consumes. The application logic and relevant data defined to be executed when the button is clicked is loaded into the memory and executed by the processor. This then updates the screen, which is sent back down the pipeline.
Dependencies |- uniquely suited as a means of creation; minimal dependencies (low barrier of entry) |- field of many domains - not just like computing, but you can be equally intrested in so many other fields - what sort of problems can you solve? |- actuators (change the world) |- sensors (collect data) - data
Novelty
“What can you do that hasn’t already been done?” - Easiest and most meaningful to address challenges you face - Check if its done! You don’t want to do it all over again. It’s likely huge undertaking.
Novelty in hardware design comes mainly through integration of hardware modules. Novelty in software programming comes from application, or integration of libraries. DSP?