Skip to content

Hardware Overview

Let's take a closer look at the OpenScale - IoT and the hardware on the board.

Annotated photo of the OpenScale - IoT

ESP32 Pico Mini

The ESP32 Pico Mini is a dual-core 32-bit microprocessor that supports 2.4 GHz WiFi, Bluetooth and BLE. The OpenScale - IoT uses the version of the ESP32 Pico Mini with a built-in PCB antenna. The ESP32 Pico Mini hosts the OpenScale - IoT firmware that controls the board's other components and handles all serial and wireless communication. The board runs the module at 3.3V and firmware defaults to enable Bluetooth, WiFi as well as both the USB and serial UART ports. Users can enable or disable any of these ports through the OpenScale - IoT's serial configuration menu. Read on to the Software sections for detailed information on all configuration options and how to use each communication method.

The OpenScale - IoT allows for configuration of the board over a Bluetooth connection with a host device running a terminal interface. Connecting to the OpenScale - IoT over WiFi requires entering network information over a serial terminal. Note, WiFi data from the OpenScale - IoT is read only.

HX711

The HX711 is a 24-bit analog-to-digital converter (ADC) for weigh scale applications. It operates at either 10SPS (samples/second) or 80SPS. The OpenScale - IoT sets it to operate at 10SPS by default and adjusting to 80SPS is done through the RATE solder jumper. Note that when operating at 80SPS the noise floor doubles to 90nV.

TMP102

The board includes a TMP102 temperature sensor for onboard temperature monitoring. It has an average accuracy of ±0.5°C over it's operating temperature range of -25°C to +85°C. The TMP102 communicates over I2C and its unshifted 7-bit address is 0x49.

Load Cell and Sensor Connections

The OpenScale - IoT has two options to connect weight sensors depending on what type used; screw terminals for load cells and 0.1"-spaced plated through-hole (PTH) pins for load sensors/strain gauges.

Load Cell Screw Terminals

The screw terminals labeled LOAD CELL let you connect a load cell to the OpenScale - IoT with just a screw driver. Pay attention to the markings on the board to match with the wire colors of the load cell. The labels here should match most load cell wiring colors but make sure to refer to your specific sensor's wiring diagram for proper wiring with the OpenScale - IoT. The list below outlines the "typical" wire color and the wire functions coming from a load cell:

  • Excitation+(E+) or VCC -> RED
  • Excitation-(E-) or GND -> BLACK/YELLOW
  • Output- (O-), Signal- (S-), or Amplifier- (A-) -> WHITE
  • O+,S+ or A+ -> GREEN/BLUE

Load Sensor Combinator

The Load Sensor PTHs let users connect four load sensors/strain gauges into a wheatstone bridge configuration to the HX711 to create a weigh scale. Each of the four PTHs (UL/UR and LL/LR) have labels for C, + and -. These labels match to common wire colors on single strain gauges (load sensors) according to the list below:

  • C -> RED
  • + -> WHITE
  • - -> BLACK

Not all strain gauges follow this color code so make sure to refer to your strain gauges' documentation to wire it correctly.

External Temperature Sensor

The three-pin screw terminal labeled TEMP lets you add an external 3-wire temperature sensor like the DS-18B20. The on-board TMP102 runs a bit hot, especially with the ESP32's radios enabled, so users may need an external temperature sensor to get more accurate temperature data.

Gain

The two-pin screw terminal labeled FIXED allows users to adjust the HX711's gain amplifier. The HX711 features an active low noise programmable gain amplifier with gains of 32, 64 and 128. Use channel B inputs for A+ and A- and you will get an automatic gain of 32. Please refer to the datasheet for specifications and diagrams.

Serial Interfaces

The ESP32 supports multiple UART interfaces simultaneously. The OpenScale - IoT has a USB-C connector tied to the ESP32's USB data pins along with a 0.1"-spaced 6-pin UART PTH tied to the ESP32's UART (TX/RX) pins.

USB-C

The USB-C connector on the board allows for a quick and easy connection between the OpenScale and a computer to configure and monitor weight data. We recommend performing initial configuration over USB-C with a computer and a terminal interface.

Serial PTHs

The serial PTH header on the OpenScale - IoT connect directly to the ESP32's serial UART pins (RX/TX) and also breaks out pins for serial UART communication. These are available for users who wish to connect directly to another serial UART device or possible an external serial-to-USB converter.

Qwiic

The Qwiic connector on the OpenScale - IoT lets you connect other Qwiic/I2C peripherals to the board. The default firmware does not include support for external devices so users need to upload customized firmware to use the OpenLog - IoT with any Qwiic/I2C peripherals.

Buttons

The two buttons on the board are labeled RESET and BOOT. The RESET button resets the board. The BOOT button resets the firmware to stock settings. These buttons can also be used to force the ESP32 into bootloader mode if needed during manual firmware updates. The firmware section of this guide has more information on updating firmware manually.

LEDs

The OpenScale - IoT has four LEDs labeled TX, RX, PWR and STAT. The TX/RX LEDs illuminate when serial data is sent/received. The PWR LED indicates when the board has power. The STAT LED is a user-progammable LED tied to D4 on the ESP32.

Solder Jumpers

There are eight solder jumpers on the OpenScale - IoT. The list below outlines each jumpers label, functionality and default states along with any other notes on their use.

  • DVDD - This three-way jumper selects the digital supply voltage for the HX711. It defaults to set DVDD to 3.3V. Open the Left/3V3 side of the jumper and close the Right/5V to switch DVDD to 5V.
  • RATE - This jumper sets the HX711's data rate to 10SPS (samples per second) by pulling the HX711's RATE pin to Ground. Open the jumper to switch the data rate to 80SPS though this doubles the noise floor to 90nV.
  • TX - This jumper completes the TX LED circuit. Open this jumper to disable the TX LED.
  • RX - This jumper completes the RX LED circuit. Open this jumper to disable the RX LED.
  • PWR - This jumper completes the Power LED circuit. Open this jumper to disable the Power LED.
  • STAT - This jumper completes the Status LED circuit. Open this jumper to disable the Status LED.
  • I2C - This three-way jumper pulls the I2C bus to 3.3V. Completely open this jumper to remove pullup resistors from the I2C bus.
  • SHLD - This jumper ties the USB-C's shield pin to the board's ground. Open this jumper to isolate the shield pin from ground.

Board Dimensions

The OpenScale - IoT measures 2.20" x 1.85" (55.88mm x 46.99mm) with four mounting holes that fit a 4-40 screw.

Dimensional drawing