
Objective:
Design and create an innovative, minimalist bookmark that enhances the reading experience using subtle, sensory-driven tech. The project aims to explore how a smart bookmark can help readers focus and enjoy the reading experience, with limited distractions. The bookmark itself will be delightful to handle and look at, but is secondary to the book itself.



Features & Functionality:
- Minimalist Form: The bookmark has a clean, geometric design for visual and ergonomic appeal
- Slim Profile: Components are chosen for their thin form factor, ensuring the bookmark will fit comfortably in a book
- Touch or Pressure Sensor: Hidden within the surface or as a slim button on the surface, a pressure or touch sensor detects when the book is opened, automatically activating the LED (and potentially other digital functions).
- LED Light Sphere: A soft-glowing LED sphere at the top of the bookmark provides a gentle ambient light cue when the bookmark is in use.
- Scent Pad (?): A discreet vent holds a scent pad, which adds to the sensory experience
Potential Additions:
- Wireless connectivity (with ESP32 or similar) to trigger playlist playback or DND mode on your phone when reading.
Design Notes:
- Materials and interface are chosen to create a product that feels technical yet pleasing
Next Steps:
- Finalize component list
- Start thinking about code
- More sketching
- Create digital and physical 3D prototypes
Parts
- Arduino ESP32 (if Bluetooth/Wi-Fi or ultra slim is needed)
- Standalone Momentary Capacitive Touch Sensor Breakout – AT42QT1010
- LED (https://www.adafruit.com/product/1621)
- LED Enclosure (like small ping pong ball, paper lantern?)
- Resistors
- Breadboard+ Jumper Wires
- Battery (Coin Cell Holder, LiPo, or USB Power)
- Enclosure Materials (Acrylic/Plastic/Cardstock)
- Felt Pads + Scent Source
Tools
- Soldering Iron
- Wire Cutters/Strippers
- Hot Glue Gun
Sample Arduino IDE Code for ESP32 Touch Sensor & LED
ESP32 uses the touchRead() function, which is straightforward and highly sensitive.
// ESP32 Bookmark: Touch pad turns LED ON when NOT touched (book open)
const int touchPin = T0; // Touch pin (e.g., GPIO 4; see ESP32 pinout)
const int ledPin = 4; // LED pin (GPIO 4, use any available GPIO)
int threshold = 30; // Set experimentally; touchRead() value when not touched is higher
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(115200); // Optional: For debugging
}
void loop() {
int touchValue = touchRead(touchPin);
Serial.println(touchValue); // For calibration
if (touchValue > threshold) {
// Not touched (book open)
digitalWrite(ledPin, HIGH); // LED ON
} else {
// Touched (book closed)
digitalWrite(ledPin, LOW); // LED OFF
}
}



















































































































































