
This bookmark is designed to make reading an immersive, multisensory experience. Upon opening your book, this bookmark turns into a reading light, automatically illuminating to light up your page. A customizable scent profile enhances the moment. Close the book, and the light turns off while the system enters low-power sleep mode to save battery.
If you’d like to take on an additional challenge, this bookmark has the potential to take on IoT features. Built on the Arduino Nano ESP32 with WiFi capabilities, you can program it to automatically start your favorite reading playlist on Spotify when you open your book, and even enable Do Not Disturb mode on your phone. It allows you to create a distraction-free reading environment and truly get lost in your latest literary escape.
SUPPLIES

Electronics Components:
- Arduino Nano ESP32: the computer; has WiFI capabilities
- Normally Open (NO) tactile switch: detects when the book opens/closes (for this prototype I am using a NO switch)
- Normally Closed (NC) tactile switch: detects when the book opens/closes (use for final product and reverse the logic)
- Yellow/White LED: reading light
- 100Ω Through Hole Resistor: protects the LED
- USB-C cable: for programming and power
- USB power bank: portable power source
- Jumper wires: for breadboard prototyping
- Hook-up wire: for final soldered connections
Tools & Supplies:
- Solderless breadboard: for prototyping
- Soldering iron & solder: for permanent connections
- Wire strippers
- Hot glue gun/Glue: for protecting solder joints and mounting components
- E600 craft glue: useful for mounting components, an alternative to hot glue
- Heat shrink tubing: protects connections
Bookmark Materials:
- 3D printed enclosure: to house the electronics and scent pad
- Ping pong ball: to diffuse and enclose the LED
- Small felt pad + essential oil (optional): to hold scent inside enclosure for the multisensory experience
Software:
- Arduino IDE: (free download)
- ESP32 board support: (installed through Arduino IDE)
————————————————————–
PROCESS
Step 1: Set Up Arduino IDE
The Arduino Software (IDE) makes it easy to write code and upload it to the Arduino board offline
Follow along with the official Arduino guide found here.
Step 2: Test Components Using Breadboard
- Insert your Arduino Nano ESP32 across the center channel of your breadboard (it should straddle the gap)
- Connect the NO switch: one terminal to pin D9, the other terminal to GND
- Build the LED circuit: D2 → 100Ω resistor → LED long leg (anode, (+)), LED short leg (cathode (+)) → GND
- Double-check all connections against the circuit diagram
Tinkercad Circuit Diagram Link

Step 3: Upload and Test Code

- Copy the Arduino Code into Arduino IDE
- Read through the code comments for context
- Click the Upload button (right arrow icon) in Arduino IDE
- Wait for “Done uploading” message
- LED should turn on when tactile button is in the default state, and turn off when the button is pushed
Step 4: Create Bookmark Enclosure

- Find the 3D Tinkercad Design File here
- Download the 3D print files below
I began with a rough chipboard prototype and then moved to 3D modeling.


Step 5: Solder Final Circuit


- Cut wires to appropriate lengths (wire should fit nicely within enclosure to ensure nothing is pinched or stressed)
- Use wire strippers to strip about 5mm of insulation from each wire end
- Tin the wire ends and component leads (LED, NO switch) with solder
- Solder the NO switch: one wire to opposite terminals, then connect one to Arduino D9 and one to GND
- Solder the LED circuit: resistor to D2, resistor to LED positive leg, LED negative leg to GND
- Use heat-shrink tubing to insulate all exposed connections
- Test everything before using hot glue to protect soldered joints
Step 6: Mount Everything in the Enclosure

- Carefully place the Arduino inside the 3D enclosure
- Position the NO switch so the button is accessible through the hole in the back
- Mount the LED
- Secure components using a small amount of hot glue or E6000 craft glue
- Route the USB cable through the designated opening
- Make sure nothing is pinched or stressed when you close the enclosure
- Test the switch and LED before sealing

Step 7: Optional Features
👃 Olfactory Feature
Making scent pads: Cut small rectangles of felt or thick fabric (about 1″ x 1.5″ or sized to fit your pocket)
- Add 2-3 drops of essential oil to each pad and let it absorb for a minute
- Slide the scent pad into the pocket you created in your bookmark
- You can swap scent pads based on your mood, book genre, or time of day!
🛜 WiFi Features (for distraction-free reading)
- Modify the code to connect to your home WiFi
- Trigger Spotify API to start a pre-selected reading playlist when you open the book
- Use IFTTT or similar automation platform to enable Do Not Disturb mode on your phone upon opening book
- Track reading time and sync to a reading log app
- Send yourself gentle reminders to take breaks every 30 minutes
- Create different “reading modes”: deep focus (DND + ambient music), casual (no DND, light background music), study mode (timer + breaks)

————————————————————–
SOCIAL PROMO VIDEO
————————————————————–
THANK YOU!
Thank you to the VFL, Becky, and my classmates 🫶.
Hi Manya! As an avid reader, I really do love this concept. It would be so cool to have a bookmark that kind of just mutes the whole world and takes you into the book itself. I’m assuming the light will be in the ping pong ball and not the bookmark itself? I’m curious to see how that would look and am looking forward to seeing your video! It would be cool to see it on the subway – even though that might be hard to record.
It’s quite interesting, like the kind of design you’d find at MoMA or in museum shops, but the prices are ridiculously high. Hope it will have some interesting color schemes. I wonder if this bookmark will help me focus on reading. Sometimes I get interrupted by thoughts in my head or phone messages, and then I end up spending an hour on my phone without realizing it.