Project Progress
Weekly assignments across different fabrication skills and techniques provided the opportunity to focus on specific topics in support of the final project. This page highlights steps of progress toward my final project that were taken in the context of the weekly assignments.
The concept for the project, as documented in the first week, is to create a whereabouts clock.
The whereabouts clock is an analog clock-like device. Instead of showing the time, the different hands rotate to point to general status information about what is going on currently with different individuals of personal importance. It may show general location (e.g., home or work), but it may also show status (e.g., traveling or asleep).
A variation on showing data for individuals may be to keep track of general state on other kinds of data that can be put, such as weather in differnt places, main investments in a portfolio, or suchlike.
The following sections highight weekly assignment progress undertaken in support of the final project. Not every step represents a direct part of the final project design, but most of the weekly activities were deliberately chosen to develop specific skills or practice in support of final project design and development.
Week 2 - Computer-Aided Design - Clock Face and Gears
Week 02 - Computer Aided Design focused on gaining experience with 2D and 3D design tools.
2D Design - Clock Face
The whereabouts clock needs a clock face to show different potential locations or data. As part of experience with 2D design, I chose to protoype a clock face design that could serve as a foundation for creating the face of the whereabouts clock.
Inkscape 2D Clock Face Design with Weathered Background using GIMP
3D Design - Gears
The whereabouts clock needs a mechanism in order to move the physical hands of the clock. I expected that a gear-driven mechanism would be needed. So, as part of experience with 3D design, I chose to prototype gear creation, as well as consider how to incorporate existing gear models into designs.
Custom Gears Created with Autodesk Fusion and Access to Existing Gears in Fusion with McMaster-Carr Plugin
Week 4 - Embedded Programming
Week 04 - Embedded Programming focused on gaining experience with microcontroller capabilities, workflows, and programming microcontrollers.
Wireless-Enabled Microcontroller
The whereabouts clock needs a controller that can manage several different capabilities. The controller needs to be able to:
- Manage control inputs, such as buttons for manual configuration and reset
- Manage sensor inputs, such as light sensing in order to adjust clock display elements
- Manage control outputs, particularly for driving the hands of the clock
- Manage display outputs, such as LED lights for status or lighting / visual display of the clock face
- Manage networking and communication, including
- Data Communication - receiving updates on location or other data for display on the clock face
- Control Communication - sending control data to motors / articulators for moving clock hands
As part of experience with embedded programming, I chose to focus on the XIAO ESP32C3 microcontroller. The ESP32C3 development board covers all of the necessary capabilities for control/sensor inputs, control/display outputs, and both wired (I2C, UART, SPI) and wireless (WiFi, Bluetooth BLE) networking and communication.
![]() |
![]() |
---|---|
Microcontroller Board | Pin Diagram |
Seeed Studio XIAO ESP32C3 Microcontroller - With WiFi and Bluetooth BLE Communication
Button Input + LED Output Control
More specifically, as part of experience with embedded programming, I programmed a simulation for the XIAO ESP32C3 to manage button control input and LED display output. Button input is important for whereabouts clock control, such as manual configuration and reset. LED output can be important for whereabouts clock status display or visual display of the clock face.
Wokwi Simulation - Button Input + LED Output Control
WiFi Communication + API Access
As part of experience with embedded programming, I also programmed a simulation for the XIAO ESP32C3 to connect with Wifi for networking and use an online data service to access time information. The whereabouts clock needs online access to location or other data for real-time display. WiFi connection is important for the whereabouts clock in order to provide online communication / networking. Testing API use is important to prototype accessing data for the whereabouts clock to display. The LCD clock display example can provide a test case for the whereabouts clock mechanism - first using the clock hands to do a standard time display proof of concept, before configuring for location or other data display.
Wokwi Simulation - WiFi Connection for Time Data API
Week 6 - Electronics Design
Week 06 - Electronics Design focused on gaining experience with workflows for electronics design, including schematic and PCB design tools.
As part of experience with electronics design, I chose to focus on development board design targeting the previously selected XIAO ESP32C3 microcontroller for project control and communication. The whereabouts clock will need foundational control inputs (pushbutton) and status display (LED) for the controller. It will also need wired connections for sensor inputs (e.g., light sensor) and control outputs (e.g., motors for hands).
Wireless-Enabled Microcontroller Development Board Design
More specifically, as part of experience with electronics design, I designed a development board that incorporated:
- XIAO ESP32C3 microcontroller board - as the target microcontroller for the project
- Onboard LED for status display
- Onboard Pushbutton for control input
- Breakout connectors for:
- GPIO pins - enabling sensor inputs and display / control outputs
- Communication pins - I2C, SPI
- Power pins - to support peripherals
![]() |
![]() |
---|---|
Schematic Design | PCB Design |
XIAO ESP32C3 Development Board Design
Week 7 - Computer-Controlled Machining
Week 07 - Computer-Controlled Machining focused on gaining experience with computer-controlled machining - CNC safety, machine characteristics, design for CNC, and milling larger designs.
As part of experience with computer-conrolled machining, I chose to focus on support structure for the whereabouts clock. For best viewing, a whereabouts clock display needs an elevated position - in the direction of the face display for a grandfather clock. The "clock tower" also needs to be in a sensible location in the house and fit in that area. Since an internal mechanism (weights, pendulum) would not be needed, the options coalesced down to: a custom corner cabinet - providing shelving as well as an elevated spot for the whereabouts clock, or an elevated table stand - providing a streamlined small footprint, primarily for clock elevation.
I opted for an elevated table stand design to serve as the "clock tower."
Finished Table Stand in Context
Week 8 - Electronics Production
Week 08 - Electronics Production focused on gaining experience with workflows for electronics production, including PCB toolpath generation / milling and component soldering.
As part of experience with electronics production, I chose to continue focus on development board creation targeting the previously selected XIAO ESP32C3 microcontroller, in order to support project control and communication. The whereabouts clock will need foundational control inputs (pushbutton) and status display (LED) for the controller. It will also need wired connections for sensor inputs (e.g., light sensor) and control outputs (e.g., motors for hands).
Wireless-Enabled Microcontroller Development Board Production
More specifically, as part of experience with electronics production, I used the development board design from Week 6 to create toolpaths and mill the PCB. I then soldered the components to create a development board that incorporated:
- XIAO ESP32C3 microcontroller board - as the target microcontroller for the project
- Onboard LED for status display
- Onboard Pushbutton for control input
- Breakout connectors for:
- GPIO pins - enabling sensor inputs and display / control outputs
- Communication pins - I2C, SPI
- Power pins - to support peripherals
XIAO ESP32C3 Development Board Production
Week 9 - Input Devices
Week 09 - Input Devices focused on gaining experience with different kinds of input devices, including sensors and controls.
The whereabouts clock will need to manage different input capabiltiies, including:
- Control inputs, such as buttons for manual configuration and reset
- Sensor inputs, such as light sensing in order to adjust clock display elements
As part of experience with input devices, I chose to focus on representative input channels for control and sensing.
Pushbutton
More specifically, as part of experience with input devices, I tested programming of onboard button input control using the XIAO ESP32C3 development board produced in Week 8. This included debouncing functionality for button press input. Button input is important as anticipated control input for the whereabouts clock.
Onboard Button Input with XIAO ESP32C3 Development Board
Light Sensor
In addition, as part of experience with input devices, I tested programming of light sensor input using the XIAO ESP32C3 development board produced in Week 8. Light sensor input is important as a potential control input for the whereabouts clock, such as for clock face visual display at different times of day or under different lighting conditions.
Peripheral Light Sensor Input with XIAO ESP32C3 Development Board
Week 10 - Output Devices
Week 10 - Output Devices focused on gaining experience with different kinds of output devices, including indicators and effectors.
The whereabouts clock will need to manage different output capabiltiies, including:
- Control outputs, particularly for driving the hands of the clock
- Display outputs, such as LED lights for status or lighting / visual display of the clock face
As part of experience with output devices, I chose to focus on representative output channels for display and control.
Onboard LED and Peripheral Servo Outputs with XIAO ESP32C3 Development Board
LED
More specifically, as part of experience with output devices, I tested programming of onboard LED output control using the XIAO ESP32C3 development board produced in Week 8. LED output is important as anticipated status / display capabilities for the whereabouts clock.
Servo
In addition, as part of experience with output devices, I tested programming of servo motor control output using the XIAO ESP32C3 development board produced in Week 8. Servo motor control output is important as a potential means to drive the physical clock hand display.
Week 11 - Embedded Networking and Communications
Week 11 - Output Devices focused on gaining experience with networking and communications, including wired and wireless communication.
The whereabouts clock will need to manage different networking and communication capabiltiies, including:
- Data Communication - receiving updates on location or other data for display on the clock face
- Control Communication - sending control data to motors / articulators for moving clock hands
As part of experience with embedded networking and communications, I chose to focus on representative communication channels for data and control.
I2C Wired Communication
More specifically, as part of experience with embedded networking and communications, I tested programming of I2C wired communication using the XIAO ESP32C3 development board produced in Week 8. I2C communication is important as anticipated control capability for the whereabouts clock, such as for motor driver control and visual display control.
Board-to-Board LED Control using I2C Networking and Communication
BLE Wireless Communication
In addition, as part of experience with embedded networking and communications, I tested programming of Bluetooth BLE wireless communication using the XIAO ESP32C3 development board produced in Week 8. Bluetooth BLE communication is important as anticipated control capability for the whereabouts clock, such as for motor driver control and visual display control.
Board-to-Board Pushbutton LED Control using Arduino Bluetooth® Low Energy (BLE) Networking and Communication
Week 12 - Mechanical Design, Machine Design
Week 12 - Mechanical Design, Machine Design focused on gaining experience with mechanical and machine design, including mechanism, actuation, and automation.
The whereabouts clock is fundamentally a machine that includes:
- A mechanism for rotating different clock hands to fixed positions representing data display
- Actuation of the mechanism using motor control
- Application control of the machine for location or other data display
As part of experience with mechanical / machine design, I chose to focus on representative mechanism, actution, and control aspects.
Mechanism
The Inkuity drawing machine was a 2-dimensional drawing machine, with a Z-axis for pen-up/pen-down actuation. Important mechanism design and development considerations for Inkuity were:
- XY movement system defined by frame structure, bearings, and gears
- Z movement system defined by rotary pen arm
More specifically, as part of experience with mechanical design, I tested frame structures that could be used to support and position components of the whereabouts clock.
3 Axis (XYZ) Inkuity Plotter
Actuation
Important actuation design considerations for Inkuity were:
- Belt-driven positioning for XY axis movement and positioning
- Pulley-gear system for belt-driven actuation
More specifically, as part of experience with mechanical / machine design, I tested the use of a belt-driven system using pulley gears for actuation. The whereabouts clock is a rotary mechanism instead of a (primarily) linear XY mechanism, but belt-driven pulley gears are a sensible choice to drive the rotational position of the clock hands for the whereabouts clock.
Automation
Important automation design considerations for Inkuity were:
- Stepper motor automation of pulley-gears for belt-driven positioning
- Motor driver control of stepper motors
More specifically, as part of experience with mechanical / machine design, I tested the use of stepper motors to automate the movement of the drawing machine. The whereabouts clock is a rotary mechanism instead of a (primarily) linear XY mechanism, but stepper motors provide for rotary positional control. This development enabled me to test stepper motors and motor driver control as the automation for the whereabouts clock.
3 Channel (XYZ) Stepper Motor Control
Week 14 - Interface and Application Programming
Week 14 - Interface and Application Programming focused on gaining experience with programming for interface development and application control.
The whereabouts clock will need to provide for interactive testing, configuration, and management, including:
- Testing / monitoring of status
- Testing / monitoring of data streaming
- Calibration of clock hands / positioning
- Setting parameters / modes of operation
Some of these capabilities could be controlled directly by onboard input / output, such as pushbuttons or LCD interface, but using the wireless networking and communication capabilties of the XIAO ESP32C3 development board provide for greater flexibility in online management of the system through an application interface.
More specifically, as part of experience with interface and application programming, I tested the use of web services as interface control. This included variations of both a standard request-response web server, as well as two-way communication using web socket connections. A web services interface for the whereabouts clock will be important for interactive testing, configuration, and management.
Browser Control of Development Board Onboard LED Using Web Server
Two-Way Browser / Board Control of Development Board Onboard LED Using Web Socket Connection
Week 16 - Wildcard Week - Waterjet Cutter
Week 16 - Wildcard Week - Waterjet Cutter focused on gaining experience with additional digital processes for computer-aided design and manufacturing. I chose to gain experience with the waterjet cutter machine.
The whereabouts clock needs physical components, including custom supports for parts of the mechanism, as well as housing and clock hands. As part of experience with the wildcard week, I tested the use of the waterjet cutter to create metal components for the whereabouts clock. More specifically, I tested creation of an aluminum clock hand as a representative physical part for the whereabouts clock.
Waterjet Cut Clock Hand on Prefab Clock Kit
Project Planning
Due to personal circumstances, weekly assignments and project progress were delayed from the original scheduled, and the program was targeted for completion at the secondary deadline in mid-November. As of late September (week starting Sep 15), the assignment / project plan for completion is as follows for the outstanding activities:
Week Starting | Activity |
---|---|
Aug 25 (previously) | Wildcard Week - Waterjet Cutter (submitted for local eval) |
Sep 01 (previously) | 3D Scanning and Printing (submitted for local eval) |
Sep 01 (previously) | Input Devices (submitted for local eval) |
Sep 15 | Update for Midterm Review / Project Planning |
Sep 22 | Design for Computer-Controlled Cutting, Project Development |
Sep 29 | Computer Controlled Cutting, Project Development |
Oct 06 | System Integration, Project Development |
Oct 13 | Applications and Implications, Project Development |
Oct 20 | Invention, Intellectual Property and Income, Project Development |
Oct 27 | Final Project Requirements |
Nov 03 | Revisions and Finishing |
Nov 10 | Revisions and Finishing |