Embedded Systems B.Tech/B.E Intermediate

Customizable computer mouse

[Fall 2025] We designed an USB mouse that was no ordinary mouse. We did include the expected right and left main mouse buttons, a scroll wheel, and an optical sensor to detect movement, but we added more in the hardware and software to expand the mouse's functionality to adapt to the user's needs. This included other components like a joystick and extra rebindable buttons, other compile-time configurations such as the functions for the buttons adjusti

  • Suitable forB.Tech/B.E Embedded Systems students
  • Build time4-6 weeks
  • LevelIntermediate
  • Available atAjvika Labs, Kakinada

About this project

Introduction
A mouse that adapts to your needs.
We designed an USB mouse that was no ordinary mouse. We did include the expected right
and left main mouse buttons, a scroll wheel, and an optical sensor to detect movement,
but we added more in the hardware and software to expand the mouse's functionality to
adapt to the user's needs. This included other components like a joystick and extra
rebindable buttons, other compile-time configurations such as the functions for the
buttons adjusting some constants in input receiving, and extra extensions such as different
operation modes and connection methods. Alongside these elements, the mouse shell strives to
be ergonomic through an adjustable tilt and potential interchangeable components. This is the
mouse that adapts to the user's needs both in software and its physical design.

Detailed Project Description

Customizable computer mouse focuses on a specific hardware interface or peripheral and shows exactly how to wire it, drive it from firmware and verify it is working.

How It Works
1. The peripheral is connected to the controller using the required bus (SPI/I2C/UART/I2S/CAN/RS-485/PWM/ADC).
2. The driver library is initialised and the peripheral configured.
3. Firmware exchanges data with the peripheral and processes it (measure, decode, render, play).
4. Results are verified on a display, serial monitor or the receiving device.

Key Components and Their Role
- RP2040: dual-core Cortex-M0+ microcontroller with programmable I/O used for precise, low-level timing.
- Bluetooth Low Energy: short-range low-power wireless link to a phone or browser.

Implementation Steps
1. Collect the components and study each module's datasheet (pin-out, voltage, interface).
2. Wire the circuit on a breadboard following the pin mapping; power sensors from the correct rail (3.3 V / 5 V).
3. Install C, Arduino IDE and the required libraries; flash a minimal test sketch for each module separately.
4. Write the main firmware: read sensors → process → drive outputs / send data.
5. Configure network or cloud credentials and test communication end-to-end.
6. Calibrate thresholds, add error handling (reconnect, sensor time-out) and run a long-duration test.
7. Finalise on a PCB / enclosure and document wiring, code and results.

Key Features
- Correct wiring and bus configuration
- Driver setup
- Data processing
- Verification on real hardware

Expected Output
On completion the student will have a working peripheral that is measured/driven exactly as intended.

Deliverables
- Complete source code with comments
- Circuit diagram and pin mapping
- Project report with screenshots and results
- Demonstration-ready build

Technologies used

RP2040CCBLE

Software & tools

  • C
  • Arduino IDE

What you get

  • Working project / hardware kit, tested before delivery
  • Complete source code with explanation
  • Project demo and guidance for your viva
  • Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed. Payment is in two parts: • 50% advance to start the project • Remaining 50% before delivery Note: • Documentation and PPT are not included by default • If you need documentation/PPT, it can be arranged for extra time and cost We'll confirm the exact timeline and cost with you after reviewing your requirements.