William Berruyer

ColorCatch

ColorCatch is an IoT (Internet of Things) project designed using an Android app and Raspberry Pi. In this project, we focus on colors and color accuracy scanned by the RGB sensor. The application lets users detect colors they like from real-life or digital screens. At the same time, the application offers different color palettes to the user for the colors they save. The project's primary purpose is to digitally reflect the colors that the user likes in real life on the screen and to present the color values in different formats, the name of the colors, and the appropriate colors according to the intended use. In the report, we describe the application code, present the result of our work, discuss and evaluate these results.

Stockholm University
Android
2022
Java
SQLite
IoT
ColorCatch

Process

Context

ColorCatch is part of an IoT course in the Master’s Programme in Design for Creative and Immersive. Technology. It was a ten weeks course, from 1 Nov 2022 to 7 Jan 2023, consisting of lectures, labs, seminars, and project work. The course overviews the main trends and challenges in IoT, models, and applications. In particular, the course emphasizes the implications of the Internet of Things applications and services.

Objective

Our objective is to examine if a color-sensing IoT system that can sense colors from the physical world objects provide value to a creative process. Through the ColorCatch project, we are testing our hypothesis; Information about colors from the physical world is valuable to a visual designer/artist and can help in their creative process in the digital space.

ColorCatch

ColorCatch proposes an IoT system that allows creative individuals to use the color's values from their physical world in the digital world.
This IoT system uses an RGB sensor, a Push-button, a Raspberry Pi, and a mobile app, currently an Android app. The system works in the following way:

  • STEP 1: Take the sensor close to the desired object to sense its color and close to the specific area where the color must be detected.
  • STEP 2: On press of the push button on the Raspberry Pi, the RGB sensor is triggered by the Raspberry Pi.
  • STEP 3: The color values of the RGB sensor are fetched by the Raspberry Pi.
  • STEP 4: The color values are sent from the Raspberry Pi to the ColorCatch app.

Project Management

This project was conducted in a team of three people, the work was distributed as such:

  • Android Developer and Designer: In charge of writing and producing the android application and the protoypes prior to the development.
  • IoT Developer: In charge of the MQTT side of the system.
  • Communication: In charge of the weekly seminar we had to conduct and of the final report.

I was the Android Developer and Designer during this project, I prototyped the application using Figma, and made 3 different versions of the UI/UX as our needs were evolving, I created the app in Android Studio using Java and SQLite.

Outcome

The final version of the project allows the user to recognize colors thanks to a tool, here a raspberry pi paired with an RGB sensor and a push button. The user interface is an android application that allows one to visualize the recently scanned colors. In the final version, the user can access the property of color as well as suggestions of palettes related to this color generated automatically. Two palettes are generated for each color scanned. One contains color derived from the original color and is bright.
Furthermore, another is derived from the original color but in pastel tones. The user can then access the details of a palette and see its properties. The application also contains a favorites system, with which the user can save colors or palettes in his library. All these features are developed and functional. However, we have yet to be able to include the manual palette creation system or the gradients related to the colors. We conducted a color detection accuracy test resulting in an average of 78.7% accurate detection.

More work