Skip to content

Locus Pocus - 2025 Fab Academy Final Project

Logo for Locus Pocus Whereabouts Clock Project

Conceptual Sketch of Locus Pocus Whereabouts Clock Locus Pocus Whereabouts Clock
Original Conceptual Design Locus Pocus Clock

Locus Pocus conceptual design and outcome - a whereabouts clock showing locations and status of people important to you


Final Project Video

Locus Pocus Project - Final Project Video


Final Project Slide

Final Project Slide - 1920 x 1080


Evaluation / Outcome - Full Testing Run Video

Locus Pocus was tested using a live run with 7 locations + In-Transit. The full description of the evaluation is documented on the Locus Pocus Evaluation page.

Locus Pocus - Live Testing - Full Test Run


What does it do?

Locus Pocus is a kind of whereabouts clock - instead of time, it shows the locations or status of friends or family on the clock face. It is conceptually inspired by the magical Weasley clock from the Harry Potter book series.

In practice, it is an internet-of-things device to support connectedness between people through situated awareness. You can keep in touch with others through an ambient social connection.


Who’s done what beforehand?

I conducted research on previous projects for designing and building a whereabouts clock. Detail can be found on the Who's Done What Beforehand? page.


What did you design?

Details of what was designed for Locus Pocus are provided in the System Integraton documentation. The summary of what I designed is:

  • Activity Sensing - for sensing people's location events and communicating them to the Locus Pocus system. This will involve:
    • Activity Sensing - when somone enters / exits a location
    • Data Streaming - distributing location events from activity sensing to the primary clock control
    • XIAO ESP32C3 Microcontroller Development Board - For primary application control, I used the embedded computing board that I designed in Electronics Design and produced in Electronics Production.
    • Primary Control Code - embedded systems programming to control receipt of location events and trigger clock actions
  • Clock Mechanism - for controlling the clock hand display. This will involve:
    • Motor Gear Design (3D Design / 3D Printing) - creating driver gears for motors to actuate the hand display
    • Clockwork Design (3D Design / 3D Printing) - creating the spindle (nested clock-hand shafts with driven gears), as well as the motor framing for connecting the motor gears with the spindle gears
    • Clock Hands (3D Design / 3D Printing) - creating the clock hands that will attach to each of the clock-hand shafts and point to different locations on the clock face
    • Clock Face (2D Design / Laser Cutting) - creating the clock face with different locations to display
    • Secondary Motor Control Code - for controlling the motors and moving the clock hands
  • Clock Case (2D Design / Laser Cutting) - functional / aesthetic design to embody the clockwork mechanism, clock display, and supporting components
  • Packaging - (3D Design / 3D Printing) - sensibly organizing internal components

What sources did you use? What materials and components were used? Where did they come from? How much did they cost?

I developed a Bill of Materials that identifies the sources, materials / components, access, and cost for elements of the Locus Pocus project.


What parts and systems were made?

The overall set of parts and systems is detailed in the System Integration documentation. The summary of parts and systems for Locus Pocus is:

  • Location Activity System
    • IFTTT Activty App - I configred the IFTTT Activity smartphone App to senses location and sends data to the IFTTT Activity Service
    • IFTTT Activity Service - I configured the IFTTT cloud service to receive location data and manage / trigger location events for 7 specific locations in testing
  • Adafruit IO Data Broker Service - I configured the Adafruit IO Data Broker Service to
    • Receive location data events from the IFTTT Activity Service
    • Package events for distribution to XIAO ESP32C3 embedded primary controller for the clock system
    • Set up the data API for communication with the XIAO ESP32C3 embedded primary controller
  • Clock System
    • I designed and produced the XIAO ESP32C3 Primary application control - embedded computing board to receive events from the data distribution service over WiFi, process the events to create actionable clock commands, and send clock commands to the secondary motor control using Bluetooth BLE networking
  • Primary control application code - I programmed the primary application control code using C/C++
    • Secondary motor control - I programmed the secondary embedded motor control system to receive clock commands from primary control via Bluetooth BLE and actuate motors / clock hands using
    • Clock Embodiment
      • Clockwork - I designed and created the clock mechanism, consisting of
        • Motor gears (4) - driver gears for clock-shafts / hands
        • Clock-shafts (4) - nested, geared shafts for turning clock hands
        • Clock hands (4) - visual indicators for locations
        • Clock face (4) - data display showing potential locations
      • Clock Case - I designed and creaed the functional / aesthetic container for all of the physical system components

Fab Academy Assignments Toward Final Project

The final project was directly grounded in many of the weekly assignments. In particular I directly used the XIAO ESP32C3 development board designed in Electronics Design and produced in Electronics Production as the primary controller for my final project. Other weekly assignment work was selected to provide experience and grounding in the techiques used for the final project. An overview of the weekly connections can be found in the project progress documentation.


What processes were used?

To create the Locus Pocus project, I used the following processes:

  • 3D Design / Production
    • Motor Gear Design (3D Design / 3D Printing) - creating driver gears for motors to actuate the hand display
    • Clockwork Design (3D Design / 3D Printing) - creating the spindle (nested clock-hand shafts with driven gears), as well as the motor framing for connecting the motor gears with the spindle gears
    • Clock Hands (3D Design / 3D Printing) - creating the clock hands that will attach to each of the clock-hand shafts and point to different locations on the clock face
    • Packaging - (3D Design / 3D Printing) - sensibly organizing internal components
  • 2D Design / Production
    • Clock Face (2D Design / Laser Cutting) - creating the clock face with different locations to display
    • Clock Case (2D Design / Laser Cutting) - functional / aesthetic design to embody the clockwork mechanism, clock display, and supporting components
  • Electronics design and production - I expect to use the XIAO ESP32C3 development board created in earlier Fab Academy assignments.
    • Electronics Design - I designed a PCB development board for XIAO ESP32C3 using KiCad
    • Electronics Production - I produced a PCB development board for XIAO ESP32C3 using the earlier KiCad PCB design, Mods for toolpath generation, and Roland SRM-20 Mill for PCB milling. Soldered the development board components to the milled PCB to create the functional development board - XIAO ESP32C3 (microcontroller), pushbutton input, LED output, and breakout headers for XIAO ESP32C3 pins.
  • Embedded microcontroller interfacing and programming
    • Primary Application Control Code - embedded systems programming to control receipt of location events and trigger clock actions
    • Secondary Motor Control Code - for controlling the motors and moving the clock hands

What questions were answered?

Answers to the primary questions that were addresed are highlighted briefly below, with links to project detail:


What worked? What didn’t?

Almost all of the elements have worked as planned. Some revisions / redesign were neeeded.

  • The main sticking point was that the initially selecgted iOS version of the location activity app did not seem to provide enough resolution for testing. It was necessary to change to an Android device.
  • The clock case needed to be redesigned slightly, since the available material was too narrow for the original design.
  • The motor platforms needed to be redesigned slightly, to provide additional spacing between the driver / driven gears in the clockwork

How was it evaluated?

The Locus Pocus system was evaluated with live user testing - a real-time run covering 7 different locations. Details on the evaluation can be found on the Locus Pocus Testing page.


What are the implications?

Locus Pocus is a tested system that can provide real-time situated awareness and connectedness by indicating locations or status of friends or family on the clock face. A person can keep in touch with family or friends through an ambient social connection. As highigheted in the academic research found in Who's Done What Beforehand?, this kind of system can support family coordination, communication, and and emotional well-being through connectedness, reassurance, and social touch (see Supporting Family Awareness with the Whereabouts Clock).


Locus Pocus Project Source Files


Acknowledgements

Other than the assistance of a driver for the testing run, as well as noted example code, all designs and products for the project were created entirely by myself.

Microsoft Copilot was used to generate the Locus Pocus logo, using the prompts:

  • simple logo for clock that shows location instead of time
  • Thanks! Now can you give it a magical theme?
  • Thanks! Can you add some wizardy text that reads "Locus Pocus" and then smaller "Timeless Guidance" in plain text?
  • I like the previous design better. Can you render that version in purple and bronze, on a white background?
  • Great! Keep everything the same except add two more hands to the clock face.

I would like to thank the global Fab Academy team for all of their support, and especially: my local evaluator Terence Fagan, my global evaluator Iván Sánchez Milara, and my Fab Academy cohort partner Jeremy Losaw.


License

This work is provided under license BY-NC-SA 4.0. This license enables reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.