A key factor when building a pinewood derby car is its weight. The Boy Scouts of America and other organizations specify a weight of no more than 5 ounces. To improve performance many builders will add as much weight (mass) as possible up to that maximum allowable weight limit. What is often overlooked is the car’s center of gravity (CG) (AKA Center-of-Mass). Too far back and the car’s front wheels risk the possibility of jumping the track. Too far forward and you lose out on a few extra inches of acceleration during the downhill part of the track. Many pinewood car building experts agree that the ideal CG location is about ¾” just forward of the rear axle (assumes a standard pinewood derby car wheel base of 4 3/8”). There already are many gadgets on the market that help you determine your car’s CG. But since we need a scale to weigh the car anyway I thought that if the scale can also determine the car’s CG at the same time it would make the task of adding weights to the car a bit easier. I realized that if I can simultaneously and separately measure the weight at both the front and rear axles, I can easily calculate the CG. Having played around with the HX711 load cell sensors in the past I knew this would be a great Arduino based project.
This project uses two inexpensive HX711 load cell sensors to measure the front and rear axle weight, a 4 row, 20-character Liquid Crystal Display (LCD) to display the weights and CG, some switches and an Arduino UNO microcontroller to do all the computing.
Supplies
The electrical parts required for this project are listed below.
- Qty=1 – Arduino UNO Microcontroller Board
- Qty=2 – 1 KG Scale Load cell Sensor, w/ HX711 ADC Module
- Qty=1 – Miniature toggle switch, SPDT with center off position
- Qty=1 – Miniature toggle switch, SPST
- Qty=1 – 5.5mm Power Receptacle, Panel Mount
- Qty=1 – Power Supply Adapter, 9VDC, 400ma (minimum) with 5.5mm Power Plug
- Qty=3 – Miniature pushbutton switch, SPST N.O.
- Qty=1 – 20 X 4 LCD Display w/ I2C Backpack, 5 Volt
- Qty=1 – Prototyping circuit board for mounting the HX711 ADC modules (Optional)
The wooden enclosure (case) shown in this project is built from the following materials:
- ¼” x 2.5” x 48” Hardwood Poplar or Ash Board for the sides, Home Depot #:719931245984
- Qty=2 – Pine wood blocks 0.75” x 1.0” x 3.625” in which to mount the load cells
- Qty=4 – ¼” Spacers/standoffs for mounting load cells to pine wood blocks
- Acrylic or Plexiglas or Polycarbonate sheet or tempered hardboard for the weighing platforms
- Qty=4 – Spacers, TBD length for mounting weighing platforms to load cells
- Qty=4 – M4-0.7 X 20 mm Flat Head Phillips Screws for mounting weighing platforms to load cells, Home Depot #: 887480117585
- Qty=4 – #4 x 3/8” Pan Head Phillips Screws for mounting front panel
- Assorted Wood screws for attaching load cells to support blocks and the base to the enclosure
Tools & Materials
- Computer – Used for programming the Arduino UNO microcontroller
- Software: Arduino Integrated Development Environment (IDE) – Free download from https://www.arduino.cc
- Fine Tip Soldering Iron
- Rosin Core 60/40 solder
- Standard hand tools, wire cutter, wire strippers, needle nose pliers
- Wood working tools
- Wood glue
- Calibration weight whose exact weight is known (Suggest between 1 & 5 ounces).
Step 1: Building the Enclosure

Step 2: Building the Control Panel

I chose to build the control panel using a standard piece of 0.019” thick aluminum sheet metal cut to 3” x 9”. An electric drill was used to drill the holes for the switches and screws. A manual hand-held punch-and-die type sheet metal nibbler tool was used to cut the rectangular hole for the LCD display. The panel was then spray painted and allowed to dry. A label maker was used to create the switch legends and a fine point Sharpie™ permanent marker was used to draw the rectangle around the calibration switches.
Step 3: Fabricating the Weighing Platforms

Step 4: Wiring

Step 5: Installing the Arduino Software
It is assumed you are already familiar with using the Arduino Integrated Development Environment (IDE) for uploading the code to your Arduino board. If not, the Arduino and Instructables website have plenty of tutorials to help you get started.
The Arduino source code is well commented making it easy to tell what each section of the code is doing. Hence, it will not be discussed in detail here.
Additional Libraries Required
The code uses the following libraries that must also be resident on your PC. Refer to the Arduino website or YouTube for instructions on how to install these libraries.
- Wire (Installed by default)
- HX711_ADC
- LiquidCrystal_I2C
- EEPROM
Software Features
Aside from displaying the weights and CG, the software has the following features:
- Ability to adjust the wheel base (axle separation) used in the CG calculation
- Ability to adjust the value of the calibration weight used for calibrating the scales.
- On-screen step-by-step instructions when calibrating the scales.
- Save calibration values to the Arduino’s EEPROM for storage and future use.
- Ability to reset the scales (i.e. perform a Tare function to zero the scale).
Step 6: Operation – Setting the Wheel Base

Step 7: Operation – Setting the Calibration Weight Value

Step 8: Operation – Calibrating the Scales

To calibrate the scales perform the following:
- Set the weight of the calibration weight to be used per the directions provided in the previous section.
- Place the calibration switch to the Cal1 position (Rear axle).
- Follow the on-screen instructions for calibrating the left (Rear axle) scale.
- Place the calibration switch to the Cal2 position (Front axle).
- Follow the on-screen instructions for calibrating the right (Front axle) scale
Step 9: Operation – Weighing Your Pinewood Derby Car

Read more: Pinewood Derby Car Scale With Center-of-Gravity (CG) Calculation