-
Notifications
You must be signed in to change notification settings - Fork 1
2. Hardware Setup
This page covers the complete bill of materials, explains how each component operates within the system, and provides exact wiring diagrams and pin layouts to assemble your DryDock unit.
| Component | Qty | Notes |
|---|---|---|
| ESP32-S3 Development Board | 1 | Firmware is written natively for the ESP32-S3. Other variants are selectable at install, but S3 is the primary target. |
| NAU7802 24-bit ADC Breakout | 1 | Reads the load cell with high precision. (Adafruit) |
| 5 kg Load Cell | 1 | Standard half-bridge or full-bridge load cell rated for 5 kg. (Adafruit) |
| AM2320 Temp/Humidity Sensor | 2 | One positioned inside the dry box; one monitors ambient room conditions. (Adafruit) |
| MFRC522 RFID Reader Module | 1 | Reads 13.56 MHz NFC/RFID tags. (Amazon US) |
| NFC Tags (13.56 MHz) | 1+ | NTAG213 or compatible. Attach one to each filament spool you intend to track. |
| 10k Ohm Resistor | 4 | Pull-up resistors required for the I2C lines of both AM2320 sensors. |
| Breadboard / Custom PCB | 1 | For prototyping or finalizing connections. |
| M4x12 | 4 | Connecting load cell to 3d jig |
| Jumper Wires | - | As needed for connections. |
The Adafruit NAU7802 breakout is a high-resolution analog-to-digital converter designed specifically for load cells. It communicates over I2C and provides a 24-bit reading of the differential voltage produced by the load cell. The firmware reads this value, subtracts the tare offset, and applies a calibration multiplier to calculate the exact weight in grams.
Note: The NAU7802 shares the primary I2C bus (Wire) with AM2320 sensor #1. They operate correctly together due to distinct I2C addresses.
These provide accurate temperature and humidity readings, communicating over I2C at a fixed address of 0x5C. Because they share a fixed address, they cannot reside on the same I2C bus. The firmware utilizes the ESP32-S3's dual hardware I2C controllers to solve this:
-
AM2320 #1 (Internal): Connects to
Wire(I2C bus 1) onGPIO 4andGPIO 5. -
AM2320 #2 (Ambient): Connects to
Wire1(I2C bus 2) onGPIO 8andGPIO 9.
CRITICAL: Each AM2320's SDA and SCL lines require a 10k ohm pull-up resistor connected to the
3.3Vrail. The I2C bus will fail without them.
Reads 13.56 MHz RFID/NFC tags via SPI. Upon tapping a spool, the firmware captures the tag's unique UID (e.g., A1B2C3D4) and pushes a telemetry update to the backend to look up the matching Spoolman profile.
WARNING: The MFRC522 operates strictly at 3.3V. Connecting VCC to a 5V supply will destroy the module. Always verify the voltage pin before applying power.
All pin designations refer to the default GPIO numbering on the ESP32-S3 development board.
(Placeholder: Insert visual wiring diagram here)
| Module Pin | ESP32-S3 Connection |
|---|---|
| VCC | 3.3V |
| GND | GND |
| RST | GPIO 1 |
| IRQ | Not connected (unused by firmware) |
| MISO | GPIO 13 |
| MOSI | GPIO 11 |
| SCK | GPIO 12 |
| SDA (SS) | GPIO 10 |
| Module Pin | ESP32-S3 Connection |
|---|---|
| VDD | 3.3V |
| GND | GND |
| SDA |
GPIO 4 (requires 10k pull-up to 3.3V)
|
| SCL |
GPIO 5 (requires 10k pull-up to 3.3V)
|
| Module Pin | ESP32-S3 Connection |
|---|---|
| VDD | 3.3V |
| GND | GND |
| SDA |
GPIO 8 (requires 10k pull-up to 3.3V)
|
| SCL |
GPIO 9 (requires 10k pull-up to 3.3V)
|
| Module Pin | ESP32-S3 Connection |
|---|---|
| VIN | 3.3V |
| GND | GND |
| SDA |
GPIO 4 (Shared with AM2320 #1)
|
| SCL |
GPIO 5 (Shared with AM2320 #1)
|
| AV | Not connected |
| DRDY | Not connected |
The load cell wires connect directly to the NAU7802 breakout's differential input terminals following the Adafruit documentation.
| Bus | GPIO Pins | Connected Devices |
|---|---|---|
Wire (Bus 1) |
SDA: GPIO 4, SCL: GPIO 5
|
NAU7802 ADC, AM2320 #1 (Internal) |
Wire1 (Bus 2) |
SDA: GPIO 8, SCL: GPIO 9
|
AM2320 #2 (Ambient) |
| Signal | GPIO Pin |
|---|---|
| SCK | GPIO 12 |
| MISO | GPIO 13 |
| MOSI | GPIO 11 |
| SS (SDA) | GPIO 10 |
| RST | GPIO 1 |
- Keep Wiring Short: Especially for the load cell. Long wires act as antennas and can introduce noise into the highly sensitive 24-bit ADC readings.
- Resistor Placement: Position the 10k pull-up resistors as physically close to the AM2320 sensors as possible.
- Avoid Interference: If you experience inconsistent RFID reads, ensure your SPI lines are not running parallel to the I2C or load cell wiring to prevent crosstalk.
- Logic Levels: All logic in this system operates at 3.3V. Do not bridge 5V logic signals to any ESP32 GPIO pins.
Any standard 13.56 MHz NFC tag (NTAG213, NTAG215, NTAG216, or compatible MIFARE cards) will work natively.
The system only reads the tag's fixed, factory-burned UID—it does not write any data to the tag. You do not need to format or pre-program them. Simply attach a tag to your spool (double-sided tape works well) and scan it in the DryDock dashboard to bind it to your Spoolman inventory record.
NOTE: Recommended placing the RFID tag at the ends of the spool. Any tag on the inside will be difficult to scan