Project Name: E-Ink Flashcards

Project Functional Description:

The team will develop an e-ink display flashcard system which allows the user to create and upload virtual flashcards to the device.


The process will start with the user creating flashcards that live in sets using a specially made software application. The application will give easy ability to create, edit, and upload flashcards to the device. To create a new set of flashcards the user will be able to click on a "New Set" button where they can name their set and create as many flashcards as needed, filling in information for the front and back. Users will also have the option to save their progress along the way. Users can come back to any set and then edit by changing terms, deleting cards, or adding more. Once a user is ready to upload their flashcard set, they can plug the device into their computer and press upload. This will begin the data transfew process from computer to Microcontroller using UART. Once upload is complete, the user will see notification that process is complete and will be able to access that set on the e-ink device.



As stretch functionality the user will also be able to utilize the power of AI to create flashcards for them. This functionality will involve using a Google Gemini backend which will allow the user to upload any word document. The backend then prompts google Gemini to output the correctly formatted JSON file flashcard set with relevant term and definitions. From here the user can upload the automatically generated flashcard set in the same way the normal sofware application does.


To upload the data, the user will connect the device to a computer via USB connection. Once the device is connected, the option to upload flashcards in the cross-platform application will appear. Users will be able to select any sets that they would like to upload then send these sets (stored as JSON files) to the device. Users will also be able to delete already uploaded sets to free up space on the device if needed. Power will be supplied by a 3.7 V single cell lithium-ion battery which will produce the neccessary 3.3 V via a team-designed buck/boost converter. The battery will be made rechargable via the USB connection and its charge status is monitored by a coulomb counter internal to the device.


The device itself will have a power switch that turns it on and off. There will also be a series of three buttons that allow the user to navigate the device. Button 1 will serve as a back button, button 2 will be a forward button, and button 3 will be the flip/select button. In the navigation state, the user can swtich through sets using buttons 1 and 2. When on the correct set the user will press button 3 to select. Once in the set the user will use buttons 1 and 2 to navigate through the flashcards. If they want to flip the flashcard the user will press button 3. These buttons will provide full access to the device.


Along with the buttons, the device will use an SD card to allow for a large amount of memory to able storage for many sets of flashcards. The SD card will have enough storage to ensure that the users will not be worried about storage on the device.


With all this functionality, the device will be portable, have long battery life, and create a distraction free environment for users that are focused on studying their flashcards.


Project Specific Design Requirements (PSDRs):

  1. PSDR #1 (Hardware): An ability to interface an eink display with a microcontroller using SPI.
  2. PSDR #2 (Hardware): An ability to interface between the microcontroller and computer via USB to UART interface for data transfer.
  3. PSDR #3 (Hardware): An ability to create a stable 3.3 V output from a variable voltage lithium-ion battery
  4. PSDR #4 (Hardware): An abilitiy to interface between microcontroller to SD card for storage purposes using SPI.
  5. PSDR #5 (Software): An ability to create a cross-platform software application that allows user to create individual flashcards and sets of flashcards.
  • STRETCH PSDR #1 (Software): An ability for users to upload a word document and with help of Google Gemini backend, a flashcard set can be made, then uploaded to the device