System Integration

Assignment 16 - Fab Academy Barcelona

M Tucci

This week we focused on system integration, or how our final project (or any project) should come together. This includes design, packaging, testing, failure modes (mechanical, wiring, components, power, software, scaling, manufacturing, organization collaboration, etc), and product lifecycle. See more here.


Bill of Materials

I'll use the following materials to build by board. I'll revisit and upate this list as I go. The below assumes I make 2 sensors (one to be worn on each side of the body).

Component Table
Component Info / Model Number Quantity Supplier Product Code Unit Price Total Price
ToF board VL53L0X 2 Adafruit 3317 $14.95 $29.90
Esp32c3 MCU ESP32-C3 2 Seeed 113991054 $4.99 $9.98
Haptic Motors 1597-1244-ND 6 Seeed / Digikey 316040001 $1.46 $8.76
Mosfets 2N7002L 6 Digikey 2N7002L $0.08 $0.48
10k Ohm Resistors RC0603FR-131KL 6 Digikey RC0603FR-131KL $0.02 $0.12
100 Ohm Resistors RC0603FR-7W100RL 6 Digikey RC0603FR-7W100RL $0.01 $0.06
4mm Magnets S-04-01-N 20 Supermagnete 7640155437011 $0.28 $5.60
3D printed & molded silicone housing NA 2 Provided by Fab Lab NA $2.50 (est) $5.00 (est)
PCB Board NA 2 Provided by Fab Lab NA $0.25 (est) $0.50 (est)
Total Cost $60.40
Above table coded with the help of ChatGPT.


System Design & Failure Consideration

I've decided to keep the v1 design as simple, modular, and self-contained as possible, to reduce probability of failure, ease debugging, and optimize (minimize) power consumption. Each sensor will be fully autonomous, with its own power source (battery), MCU (esp32s3) - with all logic loaded, and integrated input and output capability. The MCU and board will attach to 3 compontents - (1) the ToF sensor for input, (2) haptic motor (or motors) for output, and (3) battery. The programming (see below) will read the input from the ToF sensor and transform this into a pattern of vibration in the haptic motors.

Design Sketch
Design Sketch

Board Design

Thus far I'm using a dev board with the esp32s3 MCU. Details on that board are avaiable in Outputs Week, but I've included the board design with the esp32s3 MCU below as well. It's likely I'll make another board more specifically tailored to this project.

Dev Board

Programming Microcontroller

I'll integrate a single program that reads the distance from the sensor and then transforms that into a pattern of vibration for the haptic motor. To read the sensor I'll use code similar to that used in inputs week (see below).To vibrate the haptic motor, I'll adapt similar code to that used in Interface & Application programming week (see below). I will have to adapt the input to be a linear transformation of the distance vs. binary (on/off). Finally I'll integrate these both into a single program.

WEEK 11 PROGRAM READING ToF SENSOR
Arduino Code INPUT
WEEK 14 PROGRAM READING ToF SENSOR
Arduino Code OUTPUT

Housing

I am still considering how I will hosue my product. The biggest hurdle is that it needs to stay relatively still in terms of the direction the sensor is facing with respect to the body, and it also ideally can be worn over clothes. For people with long hair as well it should be able to be worn on a part of the body where the hair won't trigger the sensor. My most recent thinking is to use a pin on device. I also would like to make at least 2, perhaps worn on each shoulder blade. I'm therefore considering a wing theme. See mockups generated iwth the help of ChatGPT.

wing sensor
shoulder sensor

Connectivity

For my first version (first "spiral") there will be no interconnectivity between devices. Each will work locally and the MCU will contain all necessary logic and programming. However, I've chosen the esp32s3 so that I have the option to integrate and communicate with a central app (e.g. on a smartphone) in future versions / spirals.