It happened around 6:40 a.m. as bus 54 approached the boy's stop on North Moore Road near the town of Robbins.
According to the NC Highway Patrol, the bus was slowing down with its amber - not red - lights flashing and its stop arm not deployed when the boy darted across the road.
He was hit by a pickup driven by 60-year-old Joe Binkley of Siler City. Troopers said Binkley was travelling at the speed limit and won't be charged.
Local Assistant Fire Chief David Lowe said it happened very close to his driveway and he was one of the first emergency responders on the scene.
"It's just a tragic thing. The location of where he was hit is in a bad location because of curves and hills," he explained.
The child is a student at Robins Elementary School. Extra counselors were brought in to help the other students who witnessed the accident cope with what they saw.