Final Project

HTMAA Final Project #

StoryStone is a solar-powered, interactive street brick that invites pedestrians to slow down, linger, and engage with the place beneath their feet. Cast as a functional paver and embedded with discreet electronics — an e-ink display, motion sensor, a WiFi portal — it transforms an overlooked piece of the built environment into a opportunity for hyper-local knowledge, storytelling, and play. Activated by a foot tap, StoryStone can reveal prompts, images, and questions about its immediate surroundings, from environmental conditions to shared memories, while remaining accessible only through embodied, in-person interaction rather than the open internet. Inspired by tactical urbanism, Dutch street design, and practices of repair, StoryStone reimagines the sidewalk as a participatory interface — a modular, pedestrian-centered technology that makes place visible, slows movement, and invites curiosity and reflection.

Final product

Before and After #

Video Overview #

Week 1: Sketch and Description

Initial Design #

For my final project, I would like to create a street brick with some type of embedded electronics. I would like for this this brick be a source of beauty and maintenance by either replacing existing street bricks or filling in for broken ones. I’m toying with the idea that I could commuicate with the brick in order to convey a message, or perhaps that brick would be interactive. Perhaps you could step on it an it would light up? Maybe you could talk to it and it would display a message? My hope is to animate and beautify my surroundings, and subtly hint at the aliveness of the Earth beneath our feet.

Final Project Sketch 2

Final Project Sketch 1

Why choose this as a final project?

Inspiration: #

My desire to build a street brick is informed by many things. One source of inspiration is that I often find myself frustrated by the quality of the surfaces for those who are living life outside of a car. As a cyclist or pedestrians, I’m sensitive to minor changes that a truck wouldnt even notice, and without the distraction of a heated seat, the noise of surround sound speakers, or the thrill of spead, and I’m sensitive to the quality of the environment itself. All too often, I find myself noticing just how ugly things are. Asphalt is smeared everywhere and concrete is loose and broken. Why is this the case? Not to mention, these impervious surfaces are bad for the environment because it prevents infiltration, increases surface runoff that mostly likely ends up in a CSO and heats up water.

Street Conditions 1 Street Conditions 3 Street Conditions 2

In contrast to the questionable streets of Cambridge, I was absolutely dazzled by the brick-laden streets of the Netherlands this summer. Most of the streets I biked on were paved with street bricks and often times these bricks had noticable vegetation growing through them. When work occured, such as changing utilities or putting in a new intersection, these bricks were lifted up, stacked, and ultimately laid back down. No smelly asphalt and loud paving trucks. This process to me was mind blowing. Prior to living in the Netherlands, I had also learned of a [Dutch practice called ’tile whipping’](https://www.theguardian.com/environment/2024/apr/04 we-need-to-accept-the-weeds-dutch-towns-compete-to-remove-the-most-garden-paving). This is essentially when tile or bricks are lifted up on the street and replaced with plants. I can attest to the fact that the outcome of these actions are quite beautiful. You end up with greener sidewalks that are at times wild and unkempt, and other times well-manicured.

Utrecht

Another source of inspiration for this project is Tactical Urbanism Guide. This is processes by which low cost, temporary interventions are implemented to reshape urban spaces. These changes help to create new parks, spaces for play, and pedestrians zones, and ulimately add beauty, character, utility to the urban realm.

A final source of inspiration is something I stumbled across while in Paris this summer. While walking through the streets, I noticed a small corned of conrete that had been beautifully repaired with tiles and on the repaired section read “FLACKING.” Curious, I took a photo and eventually looked it up. It turns out an artist named Ememem has created a practice known as flacking, in which they “heal the streets” by creating gorgeous tile mosaics. This beautiful way to heal and repair the streets is something I’ve never encountered before and provided a wonderful precendent for how to relate to our surroundings.

Flacking

Final Project Precedents

Final Project Documentation #

StoryStone Design and Fabrication

Overall Design: #

The design of the StoryStone, in terms of its electrical components and physical dimensions was informed by the desire to create something achievable. I had many conversations with TAs about what materials to use and what input and output devices would be best. Through these connversations, and through countless office hours, I was able to land on a design that involved casting a drystone brick out of a 3d printed mold, an ADXL343 accelerometer as an input device, an epaper screen as an output device, a charge controller, and a 5V 1.2W solar panel and 3.2V LiFePO battery for power. For the UX and UI of the StoryStone, I relied on AI coding tools like ChatGPT and Claude to code in Arduino IDE. By providing a Wifi network, the StoryStone also invites users to share their thoughts about the project as well as what might improve their pedestrian experience on the MIT campus and elsewhere.

From the beginning of the class I knew that I wanted to create some type of street brick or paver with embedded electronics; however I wasn’t entirely sure about the use case of this technology. On this final project page you can see the evolution of this idea through the Inspiration section as well as the various “Ongoing Considerations” tabs. You can also find artistic and functional precendents that informs the making of the StoryStone in the Precedents section. To my knowledge, there are no technologies like this that have been created.

Potential Use Cases: #

I believe the StoryStone could be an effective technology for improving the quality of pedestrian experience in urban spaces - or really anywhere that uses bricks or pavers. Rather than being connected to the internet, these devices must be accessed by foot, requiring users to explore and engage in person. While this final project was a proof of concept, future iterations could incorporate components that allow StoryStone to serve pedestrians in the following ways:

  • Gathering and displaying local environmental data, such as noise and air pollution
  • Proving directions, wayfinding resources, and hyper-local information for pedestrians (nearby community centers, bathrooms, swimming locations, parks/share, water fountains, etc)
  • Highlighting local stories, memories, and experiences that passersby could engage with to learn about a particular building, landmark, historic features, etc. (these could be used by businesses, municipalities, or residences to display relevant or interesting information)
  • Offering information about the natural landscape such as plant IDs for adjecent trees and descriptions of geologic and hydrologic features
  • Providing opportunities for input and feedback at certain intersections, crossings, and sidewalks by employing a “tap to vote” pedestrian poll or wifi network that would allow for more in-depth responses
  • Generally creating a more engaging, inviting, and responsive pedestrian environment for children and adults

Moreover, a network or string of StoryStones could be deployed within urban landscapes to serve pedestrians by:

  • Creating StoryStone “walking paths” that bring pedestrians along a predetermined journey similar to a walking tour, or along randomized journeys similar to a derive
  • Informing users of similar real-time conditions at other StoryStones throughout a city (the idea would be to have sister stones in order to compare conditions)

Fabrication and Design Processes #

PCB Design, Milling and Assembly: #

Up until the final week, I had been successfully using a PCB that I designed in week 5, milled in Week 6, and tested out in Week 8 and Week 9 with an accelerometer as my input device and an epaper screen as my output device. My final project, however, required a modified board to account for the charge controller. At first, I designed a board that integrated the ADXL343 accelerometer based on the design from the breakout board I was using, but I ran into trouble figuring out how to properly create the schematic. Rather than getting stuck here, I made the decision to use the breakout board and connect my acceleromter via wires for my final PCB.

The first iteration of my final project PCB ended up including an extra trace for the BAT_VIN that branched out to a 2-pin header and as well as a 2-pin GND header. These additional headers were there to receive wires from the battery and charge controller. It took me some time to reacquaint myself with how to use the Roland for the milling process and I get bumping into issues getting the connection to work between the computer and the milling machine. Fortunately, Gert was around and helped me out twice by using the terminal function found in this tutorial. He also mentioned that I was opening up the device to soon after pressing a command in the mods - this helped quite a bit for futuring milling.

While the milling of this PCB was ultimately successful, I bumped into three small issues. One was that I forgot to add my drill files to the edge cuts layer. This meant that while I had my board sitting in the machine after cutting the traces, I had to ask for help and figure out how to reincorporate the drill file. The second was that I forgot to lock the dimensions in Gerber2Img, which required some fussing around to ensure the my files were lined up. Thirdly, when my board was finally milling with the 1/32 bit for the edge cuts and holes, it was wobbling quite a bit. The tape wasn’t securely holding down the PCB and some of the holes were slightly misaligned.

Electronics Design

With a freshly milled board, I then acquired a new ESP32-S3 and proudly went off to the EECS lab to solder my components. As I had previously discussed with Anthony, the lid of the ESP32 was going to have to be taken off in order to remove the onboard charge controller that was going to interfere with my battery. Before soldering everything together, Anthony identified the microscopic component that needed to be removed. Given the nature of this surgical procedure, he insisted on removing the lid and component himself. From here I hot air soldered the delidded microntroller to my board, then proceeded to solder the rest of the SMD components and headers on with a soldering iron. With a few more questions, I was able to determine how to solder wires to the solar panel (which included adding a huge mound of solder), how to attach the battery to the PCB (which involved stripping the wires and feeding them through the bottom of the PCB), and how to connect everything together (see eletronics diagram above). With everything assembled I tested out the microcontroller to see if it would run basic code, and this was successful. I then moved tested out the solar panel to see if it was properly connected, which was confirmed based on the LED from the charge controller. I then went on to the moment of truth, which involved seeing if the microcontroller would work with the battery connected.

…Unfortunately, the microcontroller did not come alive and through some testing with the multimeter, we confirmed that the ESP32 wasn’t getting any power from the battery. Upon further inspection from Anthony, he was able to determine that the WiFi component had been compromised when he ripped off the lid, which meant regardless of the power, I needed to create a new board. At this point it was 11pm, and after a day of working on the project, I returned home defeated.

Final PCB

The next day, I once again got to work and after some exchanges with Anthony, decided to modify my PCD to add room for a Schottky diode, which conveniently has the same footprint as a 0 ohm resistor, in case the delidding process and surgical procedure didn’t work the second time around. Feeling more confident with milling process, I opted to mill two boards so that I was prepared for any mishaps. I acquired two new ESP32-S3s and once again journeyed to the EECS lab. This time, to avoid any damage, Anthony decided to use hot air to remove the lid. This operation, as well as the removal of the seemingly microscopic onboard charge controller, were successful. I then got to work hot air soldering the microcontoller to the board, along with all of the other components. With practice from the previous day, this process went by much more quickly, and I was able to make some sensible changes such as adding a header to the charge controller board rather than awkwardly soldering on pins. Following the same steps as the day before, I assembled all of the piece, tested the microcontroller, tested the solar panel and charge controller, and used a multimeter to test all of the traces. Fortunately, this time when I plugged in my battery, the microcontroller lit up and I was able to get StoryStone firmware to work.

assembly 1 assembky 2 assembly 3 assembly 4 assembly 5 assembly 6

Click Here to Download Final PCB File

3D Printing: #

The 3D printing for the final project took place in Week 10 and is described here.

Casting with Drystone: #

The casting with drystone for the final project took place in Week 10 and is described here.

Waterjetting: #

Waterjetting the polycarbonate lid for the StoryStone took place during Week 14 and is described here.

Programming: #

A bulk of the programming for the StoryStone WiFi portal took place during Week 12 and is described here. The intial version of the user interface programming for the StoryStone was created during Week 13 and is described here. Additional coding and programming, beyond Weeks 12 and 13, included modifying the code to include more pages, adjusting when the WiFi portal turned on, and created new bitmaps with https://javl.github.io/image2cpp/.

The programming for the Story Stone ended up including 18 epaper pages that the user can tap through with their foot. Based on the application settings, the initial tap required is firmer to disinguish between intentional and haphazard taps. The user then taps through the different displays, which include 3 different bitmap imagesas well as a bitmap QR code to access the WiFi portal. In order to conserve energy, between pages 15-18 the wifi turns on and is accessible by scanning the QR code or typing in the network address. This brings the user to the “StoryStone Portal.”

Storystone portal

From here, you can provide up to a 200 word response and see what others have said. The portal also provides an admin page that is accessible with a separate network address, and which includes a password and username. This page allows me to download and clear all of the responses to prevent the StoryStone memory from filling up.

StoryStone Script #

StoryStone User Interface

Page 1: Welcome to the MIT StoryStone! Tap to Explore

Page 2: Hello stranger! Thanks for your willingness to linger here for a moment and explore the object beneath your feet.

-Tap to Continue-

Page 3: This is a StoryStone.

A proof of concept for modular, solar powered public interest technology that centers the pedestrian.

-Tap to Continue-

Page 4: Street bricks and pavers are everywhere.

They are a form of modularity in the built environment that rarely invites curiosity or engagement.

But what if they could?

-Tap to Continue-

Page 5: What if a brick could be a landmark, a tool for navigating your environment, or a way to learn about the place you’re standing?

-Tap to Continue-

Page 6: What if it held directions or collected data or simply offered a moment of delight or discovery?

-Tap to Continue-

Page 7: Like an eddy in a river, the StoryStone is an attempt to slow you down,

to catch your attention, create meaningful engagement, then return you to the flow of your day.

-Tap to Continue-

Page 8: At a place like MIT…

Where might a StoryStone or a network of StoryStones belong? What should they say or show?

How might they best serve your pedestrian journey?

-Tap to Continue-

Page 9: A StoryStone could serve as a wayfinding tool - a point of orientation for hyper-local resources that are accessible by foot…

Page 10: Pedestrian Resources Example bitmap Resources

Page 11: It could sense you surroundings

  • air quality, temperature, sound - and provide real-time information about the environment…

Page 12: Environmental Health Dashboard example Dashboard

Page 13: It could ask simple questions and gather site-specific data from everyday pedestrian experiences…

Page 14: Pedestrian Survey example Survey

Page 15: Want to share your thoughts?

The next page opens the StoryStone portal.

-Tap to Continue-

Page 16: Open the WiFi settings on your phone and connect to the “StoryStone.”

Then scan the QR code on the next page. (It may take a few tries!)

-Tap to Continue-

Page 17: Scan QR or visit “http://192.168.4.1/”

[QR Code Image for above address]

Page 18: If you wish to collaborate on this project and improve the quality of your pedestrian experiences, please email storystone.project@gmail.com. Thanks for stopping by!

-Tap to Return to Homepage-

Click Here to Download Firmware for Application

Final Assembly: #

Assembly the finished StoryStone proved to be a challenge component of this final project. The thickness of the cavity in the stone itself left no wiggle room. This meant that all of the components had to be neatly hot glued to each other to minimize space and all of the wires had to be tucked in (and strain relieved!). With ample fussing, I was able to get all of the components attached to each other, but then proceeded to make the mistake of trying to use siilcon to attach the solar panel and epaper screen to the polycarbonate. I didn’t think through how long this would take to actually cure and shortly after apply silicone, I had to put things in reverse. I cleaned up the silicone as much as possible and tried everything again with hot glue. This proved to be more effective and while not the most pretty, I ulimately ended up using hot glue to seal the lid to the StoryStone.

assembly 1 assembky 2 assembly 3 assembly 4

Total Costs: #

  • $15 - solar panel
  • $35 - epaper screen
  • $25 - battery
  • $8 - charge controllers
  • ~$5 - PLA
  • ~$5 - Drystone
  • ~$5 - Polycarbonate and waterjetting
  • $15 - Kylon Acrylic Spray Total: $113 + tax + shipping

Future Considerations #

If I were to continue developing this project, here are some steps I would take:

  • Finding a different microcontroller so that the on board charge controller didn’t have to be surgically removed.
  • Creating a silicon mold for my hydrostone brick rather than using PLA
  • Modifying my 3d design to have a deeper cavity and potentially a hole that leads to the ground for water drainage
  • Applying different surface finishes to the hydrstone for waterproofing and aesthetic purposes
  • Testing different input devices like capacitive or piezo sensor
Midterm Review

Final Project Diagram & Midterm #

Final Project Diagram

Remaining Tasks for Final Project: Order Components:

Brick Prototyping:

  • Build brick prototype (Week 10)
  • Determine material for brick cover and order/acquire –> talk to Shah and potentially use water jet
    • Answer: use scrap material from arch shops and ask Shah about help using the waterjet –> wildcard week?
  • Mill or cut brick cover material
  • Install components and test prototype based on user interface
  • Analyze prototype and determine if/how the brick mold needs to change
  • Determine how to make the brick waterproof and test brick

Electronics Prototyping:

  • Test Adxl343 Accelerometer (Week 8)
  • Test E-Paper Screen (Week 9)
  • Test solar panel and charge controller
  • Test battery
  • Design and mill a PCB that incorporates the acceleromter, solar panel/charge controller, microcontroller, epaper screen, and battery
  • Solder final PCB

User Interface:

  • Figure out how to connect to ESP32 via wifi
  • Create an application that allows the user to tap through different screens
  • Determine whether or not I will need an SD card based on the application
  • Determine how data will be stored and displayed
  • Determine how to communicate with the brick

Final Assembly: - [ ] Design and 3d printed a modified brick mold - [ ] Cast brick into mold

  • Cut/mill brick lid

  • Install electronics

  • Seal components

Final Project Notes and Considerations #

Ongoing Consideration - 9/25/25

9/25/25 #

As I continue to pondering my final project, ive bumped into a few ideas. One potential idea came in the form of ‘story stones’ or ‘guide stones.’ These stones, or really the modified street bricks i intend to build, would contain stories or resources relevant to the built environment. The story stones could be one off bricks that are a way for people to share stories or for stories to be conveyed. The guide stones could be clustered together and provide resources to those who live in the area. They could serve as physical embodiments of digital resources and in doing so create a more interactive environment. However, Im not entirely sure why someone would go to the street brick instead of a website?

Story stones might serve as more of a way to personalize the built environment, store memories, and provide ways to deepen connect to a place. As I write this, it reminds me of the asynchronous walking tour I did in Utrecht that provided new information as you walked around by tracking your location on your phone. Why would I go to this location to share a story? What would I want shared and what about the act of sharing is important to that specific location?

Ive been working on research on people sense of belonging for the research assistant position at DUSP and wonder how these ideas could inform my HTMAA final project. Could they become belonging bricks? Could they be aspects of the physical environment that prompt you to reflect on your experiences or belonging?

I also cant help but think about the role of the physical brick itself and how it can share information about the implications of impervious surfaces. Ive been learning more about consequences of impervious surfaces in one of my classes, and cant help but think about this device as a way to draw attention to our relationship to water.

Ive also been wondering how this device could be a source of play? Could it have a screen on it that allows you to play Tetris by tapping your foot on the brick? Could it simply light up when touched?

Guidance on Final Project - 10/3/25

10/3/25 #

Components:

  • E-ink display
    • Resoures: Waveshare
  • Analog accelerometer –>
    • Seismometer integrated circuit
  • Microcontroller:
    • estore.st.com
    • MDBT50Q-1MV2
    • ESP32 Cp/Sp
      • wifi and bluetooth built in
    • PicoW
      • 40 pins + wifi/bluetooth
    • Xiao ESP32 S3

Energy:

  • Solar panel
  • Deep sleep
  • Look for prefab board with an MPPT + BMS (battery management system)

Battery:

  • LiFEPo

Molding and Casting:

  • hydrostone

Screen:

  • polycarbonate –> can cut with bandsaw

Pin out for this week:

  • e-ink (i2c or SPi)

    • Miso and Mosi
    • 4 pins to OLED
  • button (LED)

  • send extra pins to headers

  • accelerometer (analog would be easier to reduce energy consumption)

    • ADXL343
    • LSM

Other options:

Ongoing Considerations - 10/9/25

10/9/25 #

Storystone/guidestone:

  • Using what3words to attach to the location of the brick
  • having the brick be a natural history of a very specific location
    • what is the history of this location? what soils are here? what trees are around the area? what buildings are nearby? what constellations can you see on a given night? whats the temperature? what about the air quality?
  • how to make a place? it is by describing it? by turning it into a landmark?
  • how can i make these bricks beautiful or have some reflective surface?
Ongoing Considerations - 10/14/25

10/14/25 #

  • How to make a place?

  • How to make a landmark?

    • have the prompt on the e-ink screen say that we are going to make a landmark
  • How to give people a reason to go to go somewhere?

  • How do I get myself to stop and be in a place/linger?

  • What are the feelings held in this brick? How do the reflect the feelings held in a place?

    • The brick stores memories in an obvious way to point out that places stores
  • How to make a brick more important than a statue?

    • The brick will have a set of eyes that look at you and that change their glances Brainstorming:
  • What is the auditory or shadow of a place?

    • Swing idea from takumi
  • Thomas Heatherwick Ted talk

  • Kintsugi the japanese repair

Ongoing Considerations - 10/29/25

10/29/25 #

Thinking through sensors:

I’m interested in having this brick respond to people who walk by and I’ve been thinking about having a set of eyes on the e-ink screen blink when people get close enough. Once people get close, then the screen would indicate that you can tap it to begin going through the menu.

VL53LOX ToF Sensor? ADXL343 Accelerometer?

–> Can I use both of these sensors at once?

Ongoing Considerations - 11/19/25

11/19/25 #

How can this brick hold stories and how can people share them? What stories can be shared and how can people upload this information?

How can any data collected with emojis be shared?

Is there a way that the brick can be ‘maintained’? As in, when it gets full of information people can somehow tend to it and upload the information to a website? Can people push this information via BLE?