Week 9 – Input Devices
Fab Academy – Week 9
Date range: 18 - 24 Mar
Instructor: Neil Gershenfeld
🧠 Learning Objectives
- Demonstrate workflows used in sensing something with input device(s) and MCU board
📋 Assignments
Individual Assignment
- Measure something: add a sensor to a microcontroller board that you have designed and read it.
Group Assignment
- Probe an input device(s)'s analog levels and digital signals (As a minimum, you should demonstrate the use of a multimeter and an oscilloscope.)
🛠️ Tools & Materials
- Software (Fusion360 and EasyEDA for electronics)
- Machines (Silhouette Cameo)
- Materials (Piezo sensor, resistors, led, Xiao SAMD21)
👥 Group Assignment
This week’s group task was to probe an input device's analog levels and digital signals using an oscilloscope and a multimeter. We used a Keysight EDUX1002A oscilloscope, a digital multimeter, and a DC power supply to see how different sensors react or read and write.
The Setup To start, we set the power supply to 5V, connected the ground of power supply to the ground of the sensor and the power to power the sensor, lastly the data pin will be connected to the multimeter or the oscilloscope.
Step 1: Measuring Analog Levels with a Multimeter We started with a 3-pin photoresistor module to observe how voltage changes based on light intensity. Using the multimeter set to DC Voltage, we probed the AO (Analog Out) pin and recorded the following:
- Normal Light: ~2.88V
- Total Darkness (Covered): ~4.3V
- Shining a Light: ~1.13V
Covering the sensor, darkness:

Bright light:

Step 2: Characterizing the Analog Wave on the Oscilloscope To see the how this voltage changing, we moved the oscilloscope probe to the AO pin. we adjusted the scale to 1V per division. This allowed us to see a smooth wave as I waved my hand over the sensor, proving that analog signals provide a continuous range of values.
[IMAGE PLACEHOLDER: Photo of the Oscilloscope showing the analog wave]
Step 3: Observing Digital Pulses with the Oscilloscope We then switched to a 3-pin push button module to see a digital signal, using the same connection as before. Unlike the photoresistor, the line on the screen didn't "slide" it stayed at 0V and snapped instantly to 5V when we pressed the button.
Step 4: Verifying Digital Logic with the Multimeter Finally, we checked the button with the multimeter to confirm the logic levels. I held the button down to see a steady 5.0V (Logic HIGH) and released it to see 0.0V (Logic LOW). This confirmed that the digital signal is binary, with no intermediate values like the photoresistor.
Unpressed:

Pressed:

Conclusion By testing these two devices side-by-side, the difference between analog and digital became very clear. The Analog signal is a continuous wave representing a range, while the Digital signal is a binary state (ON/OFF) with a sharp threshold.
🧪 Process & Workflow
For this week’s assignment, I will be building towards my final project, so I will test input from a piezo sensor module and output to an led which I will replace next week for my output assignment.
So, basically I want my device to detect a single or double tap and change mode accordingly. In this test, one tap will make the led light up for 1 second and double tap will make led blink.
I will use for microcontroller the Seeed Xiao SAMD21.

I will use the piezo sensor module, since I couldn’t find the right resistors and the module comes ready with its resistors.

Step 1 – The Circuit
I built the circuit with two workflows.
The first one was using Fusion360, it was pretty similar to KiCAD, I placed my components and then connected them, I added pins for my next week’s assignments for connecting the WS2812b LED strip, it requires a capacitor and a 330ohm resistor as well:

Then I moved to routing and drawing the board’s outline:
Final 3D model for the PCB to be milled:

I didn’t have time to mill the board yet, so I decided to test another PCB production workflow, which was using a vinyl cutter. I recreated the circuit on EasyEDA (just to test different software) and exported the routes as pdf, which I then modified a bit on inkscape, I increased the thickness of some of the routes:

I used a Silhouette Cameo vinyl cutter to cut a copper tape. I applied the copper tape directly on a plastic sheet, to avoid having to transfer the intricate lines, I then fed the sheet directly to the vinyl cutter without the mat, I changed the size of blade to 2, and in the software the Silhouette Studio, I chose washi paper as the cutting material and lowered the speed (12) and force (2).

After it cut the cooper tape I weeded the extra unwanted pieces and ended up with a circuit on flexible plastic sheet.

Step 2 – The logic
To
Adding Xiao SAMD21 to Arduino IDE
Step 3 – Testing
(Text + images)
⚠️ Problems & Solutions
- What went wrong
- How you fixed it
📊 Results
- Photos
- Videos
- Measurements
🧩 Files
- Design files
- Code
- Downloads
📝 Reflection
- What you learned
- What you'd improve