# Title Team Members TA Documents Sponsor
23 Clickers For ZJUI Undergraduate Mk Ⅱ
Benlu Wang
Luozhen Wang
Suhao Wang
Zhenyu Zhang
Fangwei Shao
Zhenyu Zhang (zhenyuz5)
Benlu Wang (benluw2)
Luozhen Wang (luozhen2)
Suhao Wang (suhao2)

I-clicker is an educational tool employed by ZJUI to fulfill the digital demands of the classroom, serving as a class check-in and answer device. However, the existing transmitters and receivers face limitations in terms of their capacity to handle substantial loads, high signal delay, and signal loss. These constraints hinder the device's ability to effectively meet the requirements of a large number of users. Additionally, the current I-clicker system fails to cater to the preferences of students who prefer to utilize mobile applications for participation.

This project aims to design and develop a comprehensive classroom response system that supports multiple frontends, including web browsers, mobile applications (iOS and Android platforms), WeChat Mini Programs, and physical Clickers. Additionally, a user-friendly web-based interface will be created to provide teachers with intuitive management functionalities. The system incorporates a high-concurrency unified backend equipped with distributed and in-memory databases, offering caching capabilities to efficiently handle large volumes of student submissions, as well as perform evaluation and statistical analysis. The project also entails the shell design and implementation of a distributed and energy-efficient transmission system for the physical Clickers and their receivers to address the limitation of signal loss.

This project encompasses four essential components: frontend development, backend optimization, hardware improvement, and enclosure design.

## Frontend Development:
For instance, we can develop a user-friendly web-based interface using popular frontend technologies such as HTML, CSS, and JavaScript. This interface can be accessible through standard web browsers on various devices, offering teachers the flexibility to manage the voting result.
Additionally, as part of the meticulous frontend development process, the project aims to provide students with diverse options to interact with the voting system. As we possess a physical clicker as part of our system, our commitment lies in ensuring compatibility and functionality between the mobile app and the physical clicker, allowing both to transmit signals that can be effectively processed by the receiver.
Furthermore, if time permits, the project can also develop WeChat Mini Programs. These lightweight applications within the WeChat ecosystem provide a seamless and familiar voting experience for students who prefer to use the WeChat platform.

## Backend Development:
By constructing a high-concurrency unified backend, fortified with distributed and in-memory databases, the system will be empowered with caching capabilities capable of effectively managing the influx of student submissions.
In this scenario, the system can employ a distributed database system, such as Apache Cassandra or Amazon DynamoDB, to handle the storage and retrieval of student submissions. By distributing the data across multiple nodes, the system can benefit from increased scalability and fault tolerance.
To further enhance performance, an in-memory database, such as Redis or Apache Ignite, can be utilized as a caching layer. This allows frequently accessed data, such as student responses and evaluation results, to be stored in memory for faster retrieval, reducing the need to repeatedly access the distributed database.

## Hardware Improvement:
Recognizing the significance of enhancing reception capabilities, the project dedicates attention to the development of a distributed and energy-efficient transmission system for the physical Clickers and their corresponding receivers. The voting system incorporates a System-on-Chip (SoC) solution to handle both the transmitter and receiver functionalities. The SoC, such as ESP32 or STM32, integrates microcontroller capabilities and offers built-in wireless connectivity options like Wi-Fi or Bluetooth. The SoC transmitter facilitates the transmission of votes from the voting devices to the central system using its dedicated peripherals for user input. The SoC receiver receives the transmitted votes, establishes a reliable connection with the voting devices through Wi-Fi or Bluetooth, decodes the received data, and manages the voting information effectively. This integrated approach utilizing SoC technology ensures seamless bidirectional communication, efficient data transmission, and reliable vote collection within the voting system.

## Enclosure Design:
In addition to the technical facets, the project encompasses the meticulous design of an enclosure, using 3D printing technology, specifically tailored for the physical Clickers. This component embraces the principles of aesthetics, functionality, durability, ergonomics, and user-friendliness. By prioritizing these design considerations, the enclosure aims to enhance the overall user experience, ensuring that the physical Clickers are comfortable to handle and operate.


Concurrency Handling: Build a high-concurrency backend system for efficient processing of large volumes of student submissions concurrently.

Affordability: Develop cost-effective i-clickers to promote widespread adoption and accessibility for students.

Support for Multiple Frontends: The system should be designed to support multiple frontends, including mobile applications, web browsers, and dedicated software, ensuring compatibility, seamless interaction, and consistent user experience across various platforms.

Signal Stability: Ensure reliable signal reception in challenging environments and minimize signal loss within classrooms.

Distributed and Energy-Efficient Transmission: Implement a distributed transmission system with low-power consumption to optimize device performance and energy efficiency.

Aesthetic Design: Create visually appealing i-clicker shell designs that are widely accepted and facilitate customization through 3D printing.

Benlu Wang: Responsible for designing and developing web-based interfaces, mobile applications, and WeChat Mini Programs to provide a range of frontend options for students to interact with the voting system.

Zhenyu Zhang: Tasked with optimizing the backend infrastructure, including the development of a high-concurrency unified backend, distributed and in-memory databases, and efficient data management for seamless operations.

Luozhen Wang: Responsible for designing and creating customized enclosures for the physical Clickers using 3D printing technology, ensuring an aesthetically pleasing, functional, and user-friendly design.

Suhao Wang: In charge of improving the hardware components of the voting system, particularly focusing on the development of a distributed and energy-efficient transmission system using System-on-Chip (SoC) technology.

Clickers for ZJUI Undergraduate

Bowen Li, Yue Qiu, Mu Xie, Qishen Zhou

Featured Project


Bowen Li (bowenli5)

Qishen Zhou (qishenz2)

Yue Qiu (yueq4)

Mu Xie (muxie2)


I-clicker is a useful teaching assistant tool used in undergraduate school to satisfy the requirement of course digitization and efficiency. Nowadays, most of the i-clickers used on campus have the following problems: inconsistency, high response delay, poor signal, manual matching. We are committed to making an i-clicker for our ZJUI Campus, which is economical, using 2.4G Wi-Fi signal connection, and on the computer to achieve matching. At the same time, it has to deal with the drawbacks as mentioned above.


Compared with wired machines and mobile phone software, wireless i-clickers have the following advantages: they are easy to carry, they can accurately match and identify user tags, they are difficult to cheat and would not distract students. A wireless voting system consists of a wireless i-clicker, a wireless receiver on the administrator side, and a corresponding software program. In order to solve the problem of signal reception which is common in schools, we decided to use 2.4GHz Wi-Fi signal for data transmission. In addition, different from other wireless voting devices that carry out identity confirmation and bind identity information on the hardware side, we decided to make an identity binding system on the software side, and at the same time return it in the hardware unit for customer confirmation.


A mature i-clicker should have a hardware part and a software part. The hardware part needs economical and effective hardware logic design. These include the storage and transportation of user key signals through a single chip computer program, a simple LCD1602 display to provide immediate feedback, a 2.4GHz Wi-Fi transmit-receive device for many-to-one wireless signal transmission, and a beautiful shell design. While the software component includes the conversion of hardware signals to software signals, a mature voting system, authentication of device owners, and signal return to hardware systems.


Use SCM to compile the LCD module, return user input value. STC89C52RC can easily do this. Pass data to the NRF wireless transmission module.


A wireless signal detector should be a many-to-one signal transmission system. Bluetooth is one-to-one and Radio frequency is expensive. So, Wi-Fi signal transmission is the best choice. Each detector should load a transmitter and a receiver to transmit data to the administrator and get the data transmitted by the software.


A Hard-to-Soft system is necessary in any similar design. We should write a driver to process data.


Software ought to process the data signal accurately and generate feedback to each i-clicker. Specifically, a software is needed in our design. The administrator can get user data and display it visually through statistical charts. This system should also have the function to associate user information to their answer. This is designed to score. A return signal should also be designed here. Users can receive feedback on their detector screen.


Give an internal ID number to each i-clicker. Bind identity information (such as NetID, Student number) to i-clicker internal ID number on the software. Users can get their binding information on their screen by pushing a specific button. This data will be reset when a new packet is returned by the administrator.


A beautiful shell that fits the hardware system is needed. The shell should not be too large and the buttons must fit into the hardware.


Stability: Signal should be received easily. Signal loss inside a room shouldn’t occur, especially when there is a gap of two chairs.

Affordability: I-clickers should have a low cost. This facilitates mass production and popularization on campus.

Efficiency: The process from keystroke to signal collection and transmission shouldn’t have a high delay.

Beauty: Shell design should be accepted widely and be accessible to 3D printing.

Feedback: Users should get the feedback from the administrator easily. This is useful in arousing study enthusiasm of students.

Concurrency: The system should handle signals from a great deal of students in a short period correctly.


Qishen Zhou: Software data processing system and user information identification system.

Bowen Li: Hardware-to-software data transfer system and SCM hardware logic system.

Yue Qiu: Wireless signal transmission system and processing the data returned from the administrator.

Mu Xie: 3D print shell design and physical setup for the hardware part.