ECE Emerge: Digital Scale Project


Overview

The Jelly Belly factory is transitioning from selling jelly beans by weight to charging per individual bean. This change demands a measurement system capable of resolving a single jelly bean from the total weight on the pan.

Teams consist of four members; three-member teams are permitted when enrollment does not divide evenly into groups of four. Your team will design, build, and demonstrate a high-resolution digital scale that measures weights up to 500 g with sufficient accuracy to detect a single jelly bean. (Note: The average mass of a Jelly Belly bean is approximately 1.10 grams; see Appendix D for relevant statistical background.) The system must operate as a standalone measurement solution: hardware, signal conditioning, analog-to-digital conversion, software, and a user interface are all the team's responsibility.

Unlike the structured lab experiments completed earlier in the course, this project does not specify how to build the system. Chapter 11 of the reader (The Signal in the Difference) and Chapters 10 and 9 provide the theoretical foundation. The team is expected to draw on that material, consult datasheets, and make engineering decisions independently.


Project Objectives

Design and build a digital scale that:


Scale Performance Criteria

An effective scale design satisfies six performance criteria. Each criterion is defined below and motivates specific design choices described in the sections that follow.

Resolution is the smallest weight change the scale can reliably detect. It is set by how fully the signal conditioning chain uses the 12-bit ADC input window. With a 500 g range, the theoretical limit is $500/4096 \approx 0.12$ g per count. Reaching this limit requires the conditioned signal to span as close as possible to the full $\pm 2.5$ V ADC input range. Every unused volt of ADC range is wasted resolution.

Accuracy is the closeness of the displayed weight to the true weight. It cannot be achieved from nominal component specifications alone. Tolerances, load cell sensitivity variation, and amplifier offsets produce systematic errors that differ from unit to unit. Accuracy is established through calibration against known reference weights and maintained through a tare function that zeros out the container weight before measurement.

Linearity is the consistency of sensitivity across the full 0–500 g range. It requires that no stage in the signal chain saturates or clips at any point in the measurement range. The load cell itself contributes less than 0.03% non-linearity at full scale; signal chain saturation from incorrect gain selection is the dominant risk.

Settling time is how quickly the reading stabilizes after a weight is placed. It is governed primarily by the low-pass filter cutoff frequency. A lower cutoff frequency rejects more 60 Hz interference but slows the response. At a cutoff of 5 Hz, the filter settles to within 2% of its final value in approximately 120 ms, which is adequate for a practical weighing application.

Zero stability is the constancy of the unloaded reading over time. It is affected by thermal drift in the load cell (rated at 0.3% of full scale per 10°C) and by warm-up drift in the electronics during the first 30 minutes of operation. It is managed by allowing at least 30 minutes of warm-up before calibration and by providing a tare reset in the software.

Noise floor is the minimum signal distinguishable from random variation. It is dominated in this system by 60 Hz power-line interference coupled into the load cell wiring and breadboard. It is mitigated by twisted-pair wiring, single-point grounding, the anti-alias low-pass filter, and software averaging of multiple ADC readings.

These six criteria are not independent. Resolution and settling time trade against each other through the filter cutoff frequency: a lower cutoff improves noise rejection but slows response. Accuracy and linearity both require that the signal chain cover the full measurement range without saturation. The system architecture and technical requirements in the sections that follow are chosen to satisfy all six criteria simultaneously within the constraints of the available hardware.


System Architecture

The scale consists of five subsystems. The team is responsible for the design and integration of all five.

Block diagram showing a signal processing chain from sensor to user interface, arranged left to right. The first block is Wheatstone Bridge Loadcell. Three blocks are grouped inside a rounded rectangle labeled Signal Conditioning: Instrumentation Amplifier, followed by Level Shifter and Amplifier, followed by Anti-Alias LPF. The next block is ADC. Then Computer Interface. Then GUI. Arrows connect each block to the next in sequence, showing the flow of the sensor signal through conditioning, filtering, digitization, and display.

Figure 1: System overview: five subsystems from sensor to user interface.

  1. Sensing Element. A Wheatstone-bridge load cell converts an applied weight into a small differential voltage. In this design, the load cell is used to measure weights in the range of 0–500 grams. Note that the specific load cell provided is capable of measuring up to 5 kg, but its full dynamic range will not be utilized here. See Appendix A for the load cell specifications.

  2. Signal Conditioning. Three stages process the millivolt-level bridge output before it reaches the ADC. The INA125 instrumentation amplifier (first stage) amplifies the differential bridge signal; it must be powered from the $\pm 5$ V split supply on the M2K adapter board. The team designs the second stage, a summing amplifier, which applies an inverting gain and a DC offset derived from the $-5$ V rail to map the full measurement range to the full ADC window. The third stage is a passive RC anti-alias low-pass filter followed by a unity-gain buffer, which attenuates 60 Hz power-line interference and band-limits the signal before digitization. Relevant theory is covered in Section 11.4 of the reader.

  3. Data Acquisition. The M2K analog-to-digital converter (ADC) digitizes the conditioned signal. The M2K communicates with MATLAB over USB.

  4. Computer Interface. MATLAB code configures the M2K ADC and acquires data. See the course website for the USB interface reference.

  5. Graphical User Interface. A MATLAB App Designer GUI provides calibration, taring, and weight display.

Photograph of a load cell measurement platform mounted inside a clear acrylic enclosure with a Texas Instruments logo. A small rectangular aluminum beam load cell is mounted horizontally at the top of the enclosure, with a white connector and multicolor ribbon cable connecting it to a green PCB signal conditioning board below. The PCB connects to a larger green development board at the bottom with edge connectors and component rows visible.

Figure 2: The load cell platform used in this project.


Technical Requirements

This section specifies what the system must do. Supporting material lives in the appendices: load cell specifications and the distinction between component range and design range (Appendix A, especially A.0); construction practice for the breadboard and soldered prototype (Appendix B); wiring practice and other noise mitigation (Appendix C); the statistical quantities used in the GUI display (Appendix D); and the calibration procedure (Appendix E).

Prototype Platform

The system must be implemented on a soldered M2K adapter board prototype (Appendix B). The solderless breadboard is the bring-up platform for Lab 8 only; it is not a permitted final platform for the calibration, performance characterization, or final demonstration phases of this project.

Why this is a requirement. Calibration constants are only meaningful on a circuit that does not change between sessions. Jumper wires on the solderless breadboard shift between sessions and develop intermittent contacts, and unshielded load cell wiring picks up significant noise. The GUI's calibrated state and tare offset are only useful if the underlying hardware reading is stable. A robust, soldered prototype is the foundation that every subsequent step (multi-point calibration, noise characterization, jelly-bean detection verification, the final demonstration) depends on.

Equipment timeline. The hardware-prototype kit (the bare prototype board, its header connectors, and a second INA125) is issued by the teaching staff at TA sign-off of Lab 8 Stage 5 (Lab Deliverable #5). The first INA125 stays on the breadboard until Check-Off 2 passes, then is carefully recovered and formally returned to the teaching staff. See Logistics → Equipment Access for the full procedure, including the screwdriver-based recovery of the first INA125 and the requirement that the return be logged.

Convert early: this is front-loaded work. As soon as the breadboard is verified end-to-end in Lab 8, transition immediately to the soldered prototype. Do not defer this conversion to start calibration, GUI polish, or report drafting first. Teams that defer soldering consistently lose bring-up time later, debugging a flaky breadboard while trying to take calibration data; front-loading this work makes the rest of the project markedly easier and protects the team against late-project hardware failures that cannot be recovered from in time for the final demonstration.

Potentiometer budget. The final soldered prototype shall include at most two potentiometers. Use fixed resistors for every other gain and offset value in the signal chain. A prototype loaded with adjustable trimmers is harder to characterize, harder to reproduce, and tempts the team into tuning the system to a single calibration session rather than committing to a documented, repeatable design.

Signal Conditioning Requirements

$$\frac{500\,\text{g}}{4096} \approx 0.12\,\text{g per level}.$$

The objective is to approach this limit as closely as practical constraints allow.

Sampling Rate Selection

The M2K ADC supports a set of discrete sampling rates (you listed these in Lab 6, Deliverable #12). Choosing the right rate for this application requires balancing three considerations.

Anti-aliasing. The RC low-pass filter limits the conditioned signal to at most $f_c$ Hz before it reaches the ADC. The Nyquist criterion requires the ADC sampling rate to exceed $2 f_c$. With a 10 Hz filter cutoff, any rate above 20 sps satisfies anti-aliasing; every valid M2K rate exceeds this by orders of magnitude. The filter is doing its job; aliasing is not the binding constraint here.

Statistical averaging. Each displayed weight reading is computed from a 0.5-second window of samples. The number of samples in that window is $N = 0.5 \times f_s$. A well-estimated mean and standard deviation require $N$ to be reasonably large. The standard error of the mean decreases as $1/\sqrt{N}$, so doubling the sample count improves the estimate by $\sqrt{2}$ (see Appendix D for the underlying statistical definitions). Practical targets:

Sampling Rate Selection
Sampling rate Samples in 0.5 s Assessment
100 sps 50 Marginal, barely adequate
1,000 sps (1 kHz) 500 Good, 22× improvement in standard error vs. 50 samples
10,000 sps (10 kHz) 5,000 Excellent, further improvement modest beyond this
1,000,000 sps (1 MHz) 500,000 No averaging benefit over 10 kHz; USB and memory overhead increases

USB throughput and memory. At 1 MHz, each 0.5-second acquisition transfers 500,000 double-precision values (4 MB). This is not a problem for a single acquisition, but it sets an upper limit on how quickly the display can update. At 10 kHz, the same window transfers 5,000 values and completes in well under a millisecond of processing time. There is no benefit to running the ADC faster than the application requires.

Design recommendation. For this scale, a sampling rate in the range of 1 kHz to 100 kHz is appropriate. Choose the valid M2K rate in this range that you prefer, document the choice, and compute the sample count $N = 0.5 \times f_s$ in your code. Report $N$ alongside every displayed reading so the evaluator can verify your averaging window. Using 1 MHz (as in the Lab 6 script) is acceptable but unnecessary; if you retain it, explain why in your design decisions.

GUI Requirements

The graphical user interface must support the following functions.

  1. Interface design. Intuitive layout with clearly labeled controls, status indicators for calibration and tare state, and real-time display updates.

  2. Calibration. A multi-point calibration routine using a minimum of five reference weight standards distributed across the 0–500 g range (Appendix E describes the procedure and how to create your own calibrated standards). The user enters the known mass of each standard; the GUI records the corresponding ADC voltage, displays a live calibration plot (ADC voltage versus known weight) that updates as each point is added, and computes a linear least-squares fit. The $R^2$ coefficient of the fit must be displayed so the user can assess calibration quality before accepting it. Calibration parameters (slope and intercept) are stored and applied automatically to all subsequent weight readings. The GUI must indicate persistently whether the scale is in a calibrated state.

  3. Taring. A tare control that resets the displayed weight to zero, adjusts live readings to exclude the tared weight, and maintains the tare state until explicitly reset.

  4. Output display. Each displayed weight reading is computed as the mean of at least 0.5 seconds of consecutive ADC samples. The display shows the mean weight in grams, the standard deviation of the sample set, and a 95% confidence interval on the mean (see Appendix D for definitions). A jelly bean count estimate is derived from the calibrated mean weight using the reference mean bean mass of 1.10 g; the display shows weight and estimated count simultaneously and updates continuously as new sample windows complete.

  5. Software averaging. All weight readings displayed to the user must be based on a minimum of 0.5 seconds of ADC samples. Individual raw ADC readings must not be displayed as weight values. The sample count used for each reading must be reported alongside the measurement.


Project Roles

Every team member contributes to every part of the system, every check-off, and every section of the report. Within that shared responsibility, each member also takes on one of four complementary specialist roles. The role is about ownership and expertise, not exclusion. The role holder is the team's designated integrator and point of contact for that area, and the person who goes deepest in it.

A three-member team distributes the fourth role across the other three (see Role 4 below).

Role 1: Analog Hardware & Signal Chain

Owns the team's signal conditioning electronics, the path from the load cell to the ADC input. This includes:

Lead author of Section 1 of the final report (Technical System Design and Implementation). Lead at Check-Off 2 (Soldered Prototype).

Role 2: M2K–MATLAB Interface & GUI

Owns the team's software stack, from the M2K driver layer up to the App Designer user interface. This includes:

This role applies, at project scale, the M2K–MATLAB interface introduced in Lab 6. Where Lab 6 acquired ten periods of a 1 kHz sine wave on demand, the project acquires continuous 0.5-second windows of the conditioned load-cell signal and displays the running mean and statistics live.

Lead author of Section 3 of the final report (MATLAB GUI Development and User Experience). Lead at Check-Off 1 (GUI Prototype).

Role 3: Calibration & Performance Analysis

Owns the team's measurement quality, the procedures and analysis that turn working hardware and software into a calibrated scale. This includes:

Lead author of Section 2 of the final report (Calibration and Performance Analysis). Lead presenter at the Final Demonstration: drives the calibration and measurement on the evaluator's selected load cell.

Role 4: System Integration & Technical Report (4-member teams)

Owns end-to-end integration and the coherence of the team's deliverables. This includes:

Lead author of Sections 4 and 5 of the final report (Team Collaboration and Project Management; Problem-Solving and Learning Outcomes).

Three-member teams distribute this work as follows: the Calibration & Performance lead absorbs the integration responsibilities (they are already the natural bridge between hardware and software); Section 4 of the report is led by the Hardware lead, Section 5 by the Calibration lead, with the GUI lead reviewing for consistency.

Guardrails (read these as you choose roles)

Role Declaration

Each team declares its role assignments through one submission per team, due:

Friday, May 22 at 12:00 PM (noon).

The submission process will be announced separately. Until then, use the time to read the role descriptions above with your teammates, discuss which roles suit each member's interests and strengths, and reach agreement before the declaration window opens.


Project Check-Offs

Two graded check-offs are scheduled, followed by a final demonstration. At each check-off, different team members are expected to lead the demonstration. Evaluators note which team members are present and engaged across all check-offs.

Lab 8 serves as the breadboard bring-up and ADC capture milestone. The four signal conditioning stages (INA125, summing amplifier, RC low-pass filter, and unity-gain buffer) are verified individually, end-to-end, and with MATLAB acquisition as Lab 8 deliverables, including a TA-witnessed ADC capture demonstration (Lab 8, Stage 5). The M2K-MATLAB interface is established in Lab 6. The two project check-offs build on these completed foundations.

Check-Off 1: GUI Prototype

15 minutes. At least one team member must be present.

This check-off verifies the MATLAB App Designer GUI with the actual signal conditioning hardware. Simulation using the DAC is not acceptable at this stage.

Bring to the check-off:

The GUI must demonstrate at minimum:

The evaluator will place known weights on the scale and verify that the displayed value agrees with the known weight to within the expected accuracy of the calibrated system.

Check-Off 2: Soldered Prototype

15 minutes. At least one team member must be present.

This check-off verifies that the signal conditioning circuit has been successfully transferred from breadboard to the soldered prototype area on the M2K adapter board.

Bring to the check-off:

The evaluator will perform a hardware test of the signal chain, from the Wheatstone bridge through to the ADC clock (see Figure 1). Your M2K will be connected via USB to a MATLAB script, which will carry out automated testing of your hardware implementation. Voltage outputs will be measured at 0 g, 250 g, and 500 g loads. The expected response is approximately +2.5 V at zero load, decreasing to about −2.5 V at full load. Statistical data will be collected for each load condition.

Final Project Demonstration

Each team has a 15-minute slot. All team members must be present. Thirty minutes before the demonstration, teams may set up and calibrate using a specified load cell. The evaluator will select one team member to present on behalf of the group.

The team must:


Deliverables and Grading

Final Report

A concise technical report, prepared by the team, documenting the system implementation, emphasizing design decisions made and their rationale, and providing suggestions for improvement based on observations during testing and calibration. See Appendix F for the report prompts.

Individual Exit Survey

Each team member must complete an individual exit project survey. The survey asks each member to describe their personal contributions to the project and to evaluate the contributions of each teammate. General statements such as "we all participated equally" are not acceptable and will not be credited.


Logistics

Team Composition

Teams consist of four members. A three-member team is permitted when enrollment does not divide evenly into groups of four. Each team member takes one of the four complementary specialist roles described in Project Roles above; three-member teams distribute the fourth role across the other three as specified there. All team members share responsibility for design, construction, and reporting. The individual exit survey (see Deliverables) requires each member to document their personal contributions.

Lab and Support Schedule

After Lab 7, no further lab sessions are scheduled. To facilitate project work:

Project Timeline

Equipment Access

Load Cell Checkout

During a lab period, each team may check out a load cell from a teaching assistant or undergraduate lab assistant. One team member must sign the checkout log, recording their name, team number, the date, and the unit’s tag number. At the end of the lab, the load cell must be returned and checked back in by the teaching staff.

A limited number of load cells are available for 48-hour (workday) checkout to support work outside the lab. This requires a separate checkout and check-in process with the teaching staff. Inspect the load cell before leaving the lab and document any pre-existing conditions in the log.

You will be explicitly informed of the required return time. Failure to return the unit by the deadline will result in a point penalty.

Transport and storage. The load cell must be transported and stored in the provided protective enclosure. Do not carry it loose in a bag or backpack. Keep the enclosure upright; do not stack heavy items on top of it. Keep the load cell dry.

Handling. Apply forces only along the primary measurement axis — vertically, through the pan mounting point. Side loads, twisting, and impacts can permanently shift the zero output or crack the strain gauge bond, producing a unit that reads incorrectly even though it looks undamaged. Do not apply loads greater than 500 g during experiments. Do not attempt to disassemble the unit or touch the strain gauge area at the center of the beam.

Cable care. Do not bend, kink, or sharply fold the cable, especially near the connector. Cable damage at the strain relief is the most common failure mode on checked-out units and produces intermittent, noisy readings that are very difficult to distinguish from a circuit problem.

Returning. Return the load cell within 48 hours so other teams can use it. The number of units is limited; a late return may block another team's work.

Reporting damage. If the load cell is dropped, the cable is kinked, or readings behave unexpectedly — zero that drifts continuously, output that does not return to baseline after removing a weight, or an erratic signal at rest — report it to course staff or a TA immediately. Do not return a damaged unit without reporting it. A load cell that appears functional but is out of calibration will corrupt another team's results, and that is a more serious outcome than the original damage. Damage happens; concealing it is the problem.


Appendix A: Load Cell Specifications

A.0 Component Range vs. Design Range

The load cell used in this project is rated for 5 kg full-scale, but the scale you are building measures 0–500 g. The wider sensor range is not a mismatch; it is a deliberate choice. Smaller commodity load cells in this form factor are not readily available, and the 5 kg unit provides mechanical headroom against accidental overload.

The trade-off is that only the lower 10% of the sensor's full output is used. The signal arriving at the INA125 input is correspondingly small, and the amplifier chain has to make up the difference: it must provide all of the gain needed to map the 0–500 g signal into the ADC's $\pm 2.5$ V window. This places more responsibility on the INA125 and summing amplifier design than would be the case if the sensor were sized exactly to the application.

Keep two ideas separate as you read the specifications below:

The two are not the same thing. The specifications below describe the component; the requirements elsewhere in this document describe the design. Confusing the two is a common source of design errors in the amplifier chain.

A.1 General Specifications

A.1 General Specifications
Parameter Specification
Weight range 1–5 kg
Output sensitivity $1.0 \pm 0.1$ mV/V
Non-linearity 0.03% F.S.
Creep 0.03% F.S.
Repeatability 0.03% F.S.
Drift 0.05% F.S./3 min
Zero output $-0.15 \pm 0.05$ mV/V
Output resistance $1000 \pm 10$ $\Omega$
Quadrature error 0.05% F.S.
Temperature sensitivity drift 0.03% F.S./$10^\circ$C
Zero temperature drift 0.3% F.S./$10^\circ$C
Product dimensions $75 \times 12.7 \times 12.7$ mm

F.S. denotes full scale.

For the 5 kg full-scale load cell used in this project, key absolute limits are: non-linearity, creep, and repeatability each at 1.5 g; drift at 2.5 g/3 min; zero temperature drift at 15 g/$10^\circ$C.

A.2 Practical Implications

Engineering drawing showing the dimensions of a rectangular aluminum beam load cell in top and side views. Top view: the beam is 75 plus or minus 0.15 millimeters long and 12.7 millimeters wide. The left and right mounting sections are each 10 plus or minus 0.15 millimeters long with two M4 mounting holes each. The central flexure section is 44 plus or minus 0.15 millimeters long with a crosshatch pattern indicating the strain gauge bonding area. Side view: the beam is 12.7 millimeters tall with a central hourglass-shaped cutout 7 plus or minus 0.1 millimeters wide creating the flexure region. Four wires exit from the right end, each 0.8 millimeters in diameter and 200 millimeters long.

Figure A.1: Load cell dimensions.


Appendix B: Analog Circuit Prototyping Best Practices

Analog circuits require a more methodical construction approach than digital circuits. Analog signals are not bounded to fixed voltage levels, and integrated circuit pins do not have built-in reverse polarity protection. The following practices reduce the risk of component damage and wasted debugging time.

Solderless Breadboard Phase

  1. Study the pinout before placing any component. Sketch the connections on paper. Check the datasheet pin diagram against your sketch before applying power.

  2. Connect power and ground first. Add decoupling capacitors as close as possible to the power supply pins of each integrated circuit. Verify positive and negative supply connections before powering on. After power-up, confirm that current draw is within the expected range.

  3. Build and test each stage separately. Verify the instrumentation amplifier stage in isolation before connecting the summing amplifier. Connect the stages only after each has been checked off independently.

  4. Test with a known differential input before connecting the load cell. Four 1 k$\Omega$ resistors arranged as a balanced bridge with 2.5 V excitation will produce a small differential voltage due to component tolerances. This provides a safe, predictable test input to verify gain before the load cell is attached.

Soldered Prototype Phase

  1. Understand the adapter board layout. Note which pads on the front and back are electrically connected. Vias provide physical through-holes but do not create automatic front-to-back connections; connections must be made deliberately with solder bridges.

  2. Place all components on the front of the board. Route all wire connections on the back. Use labels on the back to track pin assignments.

  3. Solder every wire to a pad, not into a via. Make each electrical connection by soldering the wire end to a pad on one side of the board. The vias on the prototype area are unplated through-holes and do not, by themselves, complete a circuit; a wire pushed through a via without a solder bond to the pad has no reliable electrical contact and will produce intermittent readings that look like a circuit fault.

  4. Match the wire type to the connection. Solid-core wire is appropriate for short, fixed connections between components on the board. For connections that will flex in service, such as between the load cell and the PCB, use multicore (stranded) wire; the strands flex without transmitting stress to the solder joints, while solid-core wire on a flexing connection will eventually crack the joint or the wire. Tin the wire ends with a thin layer of solder before insertion.

  5. Solder ICs with minimal solder on each pin to allow desoldering if a component must be replaced.

  6. Follow the same stage-by-stage testing sequence as the solderless phase. A soldered circuit that has never been tested in stages is significantly harder to debug.

Annotated schematic top view of the M2K adapter board prototype area. The drawing shows the front side of the board with rows of through-hole pads and indicates where integrated circuits and other components should be mounted. A label reads: Place majority of components on top.

Figure B.1: Top of the M2K adapter board, with components mounted on the front side.

Annotated schematic bottom view of the M2K adapter board prototype area showing wire routing and decoupling capacitor placement. Labels indicate that the capacitor leads should be kept short by positioning each decoupling capacitor as close as possible to the IC power pin being decoupled.

Figure B.2: Back of the M2K adapter board: wire routing and decoupling capacitor placement. Keep decoupling-capacitor leads short and place each capacitor as close as possible to the IC power pin it decouples.

Annotated schematic side view of the M2K adapter board showing the profile of the mounted components and the height they extend above the board surface.

Figure B.3: Side view of the M2K adapter board showing component height above the board.

Front view photograph of a completed soldered prototype on the M2K adapter board. Two integrated circuits in DIP packages, a blue trim potentiometer, and several axial resistors are soldered to the front of the board. A twisted multicolor wire pigtail exits the bottom edge toward the load cell. The blue M2K module is partially visible behind the board.

Figure B.4: Front of a completed soldered prototype. All four signal-conditioning stages are mounted on the top side of the board.

Back view photograph of the same soldered prototype showing the wiring side of the board. Solder bridges between adjacent pads form local electrical connections, and color-coded multicore wires are routed between distant pads to complete the circuit. The pad labels Solder J2 / Solder J3 and J2 Female / J3 Male are visible along the top edge; V+ GND is hand-written in the upper-right corner.

Figure B.5: Back of the same prototype. Wires are routed on the bottom side and connections are formed by solder bridges between adjacent pads.

Critical Warnings


Appendix C: Noise Reduction

The bridge output is a differential voltage in the millivolt range. At this signal level, electromagnetic interference (EMI) from power lines, motors, and other sources can be significant relative to the signal of interest. Twisted-pair wiring on the load cell connections is the primary EMI mitigation; software averaging of ADC samples further reduces random noise at the displayed reading.

Twisted Pair Wiring

Twisting the load cell wires together significantly reduces EMI pickup. Each half-twist reverses the orientation of the wire loop, so induced voltages from external fields alternate in direction and cancel when the signal is subtracted differentially. The effectiveness of the cancellation increases with the number of twists per unit length.

Twisted pair wiring is mandatory for all connections to the load cell in the final prototype (Figure 2).

Diagram illustrating EMI cancellation by twisted pair wiring in two configurations. Configuration (a) shows two parallel wires, one red and one blue, running horizontally with current flowing in opposite directions. A large rectangular loop between the wires acts as an antenna that accumulates electromagnetic interference, shown by small circles representing magnetic field lines through the enclosed area. Configuration (b) shows the same wires twisted together, forming alternating loops where the red and blue wires alternate which is on the outside of each twist. Adjacent loops have opposite orientations shown by alternating clockwise and counterclockwise arrow circles, so induced voltages cancel and net interference is eliminated.

Figure C.1: EMI cancellation by twisted pair wiring. In configuration (a), parallel wires act as antennas and accumulate interference. In configuration (b), alternating twist orientations cause induced voltages to cancel.

Photograph showing a completed soldered prototype board on the left connected to the Texas Instruments load cell platform on the right. The four wires running between the board and the load cell are visibly twisted together along their entire length, demonstrating the twisted-pair wiring practice required for EMI mitigation in the final prototype.

Figure C.2: Twisted-pair wiring in practice. Each of the four load cell wires runs between the board and the load cell as part of a single twisted bundle.

Software Averaging

Apply averaging of multiple ADC readings in software; each displayed reading is the mean of at least 0.5 s of samples (see GUI Requirements). If averaging alone is insufficient for a given prototype, a simple digital low-pass filter applied to the sample stream is an alternative.


Appendix D: Statistical Background

Scale performance cannot be evaluated from a single measurement. Multiple repeated measurements of the same weight reveal the distribution of readings around the true value. The following statistical quantities are the minimum required for a rigorous performance characterization. MATLAB provides built-in functions for all of them.

Measures of Central Tendency and Dispersion

Mean. The arithmetic average of the measurements. Estimates the systematic reading for a given load.

Standard deviation. A measure of measurement-to-measurement variability. A lower standard deviation indicates better precision (repeatability).

Variance. The square of the standard deviation. Useful in further statistical calculations.

Coefficient of variation. Standard deviation expressed as a percentage of the mean. Values below 10% generally indicate acceptable consistency for a measurement system.

Confidence Intervals

A 95% confidence interval provides a range within which the true mean lies with 95% probability, given the observed sample. The interval width depends on both the standard deviation and the number of samples. Larger sample counts narrow the interval and improve confidence in the estimated mean.

In the context of this project, a confidence interval on the scale reading for a known calibration weight shows whether the scale has a statistically significant bias. If zero does not lie within the confidence interval, a systematic offset is present.

Outliers

Individual readings that fall far from the majority of measurements may indicate transient noise, mechanical disturbance, or software errors. The interquartile range (IQR) method provides a robust criterion: readings below $Q_1 - 1.5 \times \text{IQR}$ or above $Q_3 + 1.5 \times \text{IQR}$ are flagged as outliers, where $Q_1$ and $Q_3$ are the 25th and 75th percentiles respectively.

Jelly Bean Weight Statistics

A reference sample of 91 jelly beans was weighed individually. Key statistics: mean 1.106 g, median 1.110 g, standard deviation 0.088 g, range 0.45 g. The coefficient of variation is 7.9%, indicating good bean-to-bean consistency within the sample. The natural variability of individual bean weights (standard deviation of 0.088 g) sets a practical floor on counting precision that is independent of scale resolution.


Appendix E: Calibration and Taring

E.1 What Calibration Is and Why It Is Necessary

Calibration establishes the quantitative relationship between the ADC reading and the actual weight on the scale. Without calibration, ADC readings are arbitrary numbers. The relationship must be determined experimentally because component tolerances, load cell sensitivity variation, and amplifier offsets make it impossible to compute the correct conversion factor purely from nominal specifications. Two scales built from nominally identical components will have different calibration constants.

Calibration answers the question: "What weight corresponds to this ADC reading?" It is not a one-time factory setting. It should be repeated whenever the circuit is changed, the load cell is remounted, or the supply voltage shifts significantly.

E.2 Creating Your Own Calibrated Standards

The lab does not have enough certified weights for every team. Instead, one reference electronic scale is available in the lab. Your team uses it to create a set of calibrated standards: ordinary objects whose weight has been accurately measured and recorded. These standards serve as your reference weights throughout the design, bring-up, and testing phases.

Procedure for creating calibrated standards:

  1. Collect 6–8 small, dense, stable objects that span the 0–500 g range. Good choices: coins, metal nuts or bolts, small bags of sand or rice tied closed, sealed water bottles. Avoid food items that dry out, liquids in open containers, or anything that compresses or deforms.

  2. Weigh each object individually on the lab reference scale. Record the reading to the nearest 0.1 g.

  3. Label each object clearly and permanently. A small piece of tape with a written mass works; a luggage tag is better. The label must survive a few weeks of lab use.

  4. Store all standards together in a labeled zip-lock bag that stays with your team throughout the project.

  5. Choose standards that are well distributed across the range; for example, approximately 50 g, 100 g, 150 g, 200 g, 300 g, 400 g, and 500 g. A cluster of standards near zero and a gap near full scale produces a poor calibration.

  6. Before the final demonstration, re-verify two or three of your standards on the reference scale to confirm they have not changed.

Important: Your calibrated standards are only as good as the reference scale reading at the time of weighing. Take the reference reading carefully: place the object gently at the center of the pan, wait for the reading to stabilize, and record the displayed value. Take two readings and average them if the display fluctuates.

E.3 What Taring Is

Taring sets the current scale reading to zero, so that subsequent readings show only the weight added after the tare was applied. It is named after the "tare weight", the weight of the container or packaging that is not part of the measurement of interest.

Example: The evaluator hands the team a closed container of jelly beans and an identical empty container. The team places the empty container on the scale pan and presses the Tare button. The display reads 0.000 g. The team then replaces the empty container with the full one. The display now shows the weight of the jelly beans only, with the container weight automatically excluded.

Taring does not remove the container from the scale. It stores the current reading as an offset and subtracts it from every subsequent reading in software:

$$W_\text{display} = W_\text{measured} - W_\text{tare}.$$

The tare offset must persist in software until the user explicitly resets it. Pressing Tare with nothing on the scale (or with the container already removed) produces a wrong tare value and corrupts all subsequent readings; the GUI should make the workflow unambiguous.

Taring is not calibration. Calibration determines the slope and intercept of the weight-to-ADC conversion. Taring applies a zero-offset after calibration. The correct sequence is always: calibrate first, then tare.

E.4 Two-Point Calibration

The simplest calibration assumes a linear relationship between weight $W$ and ADC voltage $V$:

$$W = m \cdot V + b.$$

Two measurements establish slope $m$ and intercept $b$: one at zero load ($V_0$, $W = 0$) and one at a known reference weight ($V_1$, $W_1$):

$$m = \frac{W_1}{V_1 - V_0}, \qquad b = -m \cdot V_0.$$

Because the summing amplifier is inverting, the ADC voltage decreases as load increases. The slope $m$ will therefore be negative. This is expected and does not indicate a wiring error.

Two-point calibration is accurate at the two calibration points and interpolates between them. Non-linearity in the load cell or amplifier chain degrades accuracy at intermediate points.

E.5 Multi-Point Calibration (Recommended)

Measuring at several known weights distributed across the full 0 to 500 g range and fitting a line by least squares provides a better estimate of slope and intercept. Specific advantages:

A linear fit to calibrated standards distributed across the full range provides substantially better accuracy than a two-point calibration and is the required approach for the final demonstration.

E.6 Practical Calibration Procedure

Follow this sequence each time the scale is calibrated.

  1. Warm up. Power on the circuit and allow at least 30 minutes before beginning calibration. Load cell output drifts during warm-up; calibrating on a cold system produces a shifted zero that changes as the circuit reaches thermal equilibrium.

  2. Verify supply voltages. Confirm that $+5$ V and $-5$ V are present at the INA125 supply pins before applying any load.

  3. Zero-load baseline. With nothing on the scale pan, record the ADC reading ($V_0$). This is the unloaded reference. Record at least 10 consecutive readings and take the mean.

  4. Place standards in sequence. Place each calibrated standard on the pan one at a time, from lightest to heaviest. For each standard, wait for the reading to stabilize (approximately 3–5 seconds), record at least 10 readings, and take the mean.

  5. Fit the calibration line. In MATLAB, use polyfit(V, W, 1) with the voltage readings as $V$ and the known weights as $W$. Store the returned slope and intercept. Inspect the fit: plot the calibration data and the fitted line on the same axes and verify that no point deviates by more than 2–3 g from the line. A poor fit indicates a measurement error, a mislabeled standard, or non-linearity in the signal chain.

  6. Verify at a midpoint. Place a standard that was not used in the calibration fit. The displayed weight should agree with the labeled value within the expected resolution. If it does not, check for a mislabeled standard or a non-linearity in the signal chain.

  7. Apply tare only after calibration is complete. Do not tare before or during calibration.

E.7 Calibration in the GUI

The calibration routine must be integrated into the GUI so that it can be repeated without modifying code. The GUI should:


Appendix F: Final Project Report

Submission Process

The final report is submitted through the course submission system via Canvas. Submit one section at a time: after submitting a section, the system returns AI-generated feedback identifying missing elements, unsupported claims, or unclear reasoning within that section. You may resubmit a section at most twice to receive AI feedback; use those submissions deliberately. Read the feedback carefully and revise thoroughly before resubmitting.

AI feedback is formative only. It flags gaps and weaknesses; it does not grade your work and it cannot assess whether your technical reasoning is correct or your analysis is sound. The final report is evaluated by a human grader. A clean AI feedback response is not a guarantee of a high grade.

All team members must have read and agreed to the content before submission. One submission per team.

Format

Five sections, each approximately one page; treat this as a guide, not a hard limit. Submit each section under its heading. Upload figures, calibration plots, and photographs as separate image files in the same assignment; name each file by section (e.g., S1_Prototype_Front.jpg, S2_CalibrationPlot.png, S3_GUI_Screenshot.png).


Section 1: Technical System Design and Implementation

What to include:

What a strong submission looks like. The numbers are present and correct, but reasoning is what distinguishes it. "We chose $R_g = 120\,\Omega$ because it gives $G_\text{INA} = 504$ and keeps contact resistance below 1% of $R_g$" is strong; "We chose $R_g = 120\,\Omega$ to get a gain of approximately 500" is weak, giving a result without the engineering reasoning. Photographs show a neat, clearly staged circuit where individual components and ICs are identifiable.


Section 2: Calibration and Performance Analysis

What to include:

What a strong submission looks like. The calibration plot is included as a figure, not just described. The analysis connects measured performance to design choices: if resolution fell short of 0.12 g/count, the report identifies specifically why (unused ADC range, noise floor, resistor tolerance) rather than noting the gap without explanation. The report states clearly whether the system can reliably detect a single jelly bean (≈ 1.1 g) given the measured noise floor.


Section 3: MATLAB GUI Development and User Experience

What to include:

What a strong submission looks like. The description of the calibration workflow is specific enough that a reader could reproduce it: not "the user enters weights and the GUI fits a line" but a description of the actual controls, prompts, and sequence. The report explains design choices, not just features: why the display was organized as it was, what update rate was chosen and why.


Section 4: Team Collaboration and Project Management

What to include:

What a strong submission looks like. It is specific and honest. It names individuals and their contributions. A team that divided work unevenly but recognized and corrected it mid-project demonstrates more maturity than one that claims perfect balance. The challenge described is real and the resolution explained, not glossed over.


Section 5: Problem-Solving and Learning Outcomes

What to include:

What a strong submission looks like. The technical challenge is described with specificity: not "we had noise problems" but "we observed 180 mV peak-to-peak noise at the summing amplifier output at rest, which we traced to absent decoupling capacitors on the LMC662 supply pins; adding 0.1 µF ceramic capacitors reduced the noise to under 20 mV." Individual learning statements are genuinely individual; different team members learned different things.