Oct 14, 2019
Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.
What’s the simplest way to go from IMPOSSIBLE to POSSIBLE?
Well, you could just walk across the room and knock down the I and the M:
But that’s not the Rube Goldberg way! That’s not the FIRST way!
If you’re among the more than 570,000 students worldwide who belong to FIRST, a community that gives young people opportunities in science, technology and engineering, you don’t just walk across the room to do anything.
Instead, you build a machine to do it for you, and you can have a look at the result: a three-minute video called Rube Goldberg Meets The Invention Age:
FIRST students and the long chain reaction
Qualcomm Technologies, Inc. (QTI) decided to celebrate the kickoff of the 2019-20 season of the FIRST Tech Challenge and the arrival of the Invention Age. We asked a team of FIRST students to build a Rube Goldberg Machine that would celebrate our shared spirit of breakthrough inventions and make the impossible possible.
Rube Goldberg was a cartoonist renowned for drawing machines that accomplished simple tasks like turning off a light or extracting a tooth. But to do it, the machines connected animals, strings, poles, levers, pulleys and other objects in ridiculously complex chain reactions.
This project started as a collaborative effort between the Marketing and Corporate Responsibility groups within QTI. Our company has been associated with FIRST since 2006 through corporate sponsorship, the active, hands-on involvement of employees, and integration of our technology in FIRST Tech Challenge robots. We’ve built a strong relationship that has helped introduce us to hundreds of FIRST students and exposed them to mobile computing and communications.
We filled a room with a handful of FIRST students and mentors, domino artist Lily Hevesh and chain-reaction machine expert Steve Price. Then we gave them smartphones, tablets, and an ACPC powered by the Qualcomm Snapdragon mobile platform, development kits based on QTI technologies, boxes of dominoes and hundreds of maker parts (not to mention some bowling balls and trampolines).
I had the privilege of participating in the project and helped in the building of the Qualcomm QCA4020 Development Kit into the chain reaction. Below, I describe some of the project highlights and back-stories.
The car, the lights, the robot and QCA4020
From 1:06 to 1:13 in the video, you see a toy car roll down a track as three light bulbs come on in sequence. At the bottom of the ramp, the car pushes a yellow cube into a robot’s mouth. Then the robot lifts the cube to the next step in the chain reaction.
Like almost everything in engineering, there are several hours of work and back-story behind those few seconds of action.
Early on, the designers wanted to incorporate the QCA4020 Development Kit. I showed them Center Stage, a demo project that uses a sensor on the QCA4020 board to detect motion, then changes color patterns on Bluetooth low energy (BLE) light bulbs. That inspired them to use sensors to detect the car as it rolls down the ramp, then switch on the light bulbs in sequence. The car would push the cube into the robot and the machine would continue.
Of course, the reality is not as simple as that. Here’s what’s going on in those few seconds:
- Sensors — As in the Center Stage project, sensors in the light fixtures detect motion. But in Center Stage, the passive infrared (PIR) sensors detect IR bouncing off a human. Since humans would be absent from the machine, we switched to ultrasound sensors and connected them to the QCA4020 board through one of the pins on an Arduino Uno header. The QCA4020 SDK comes with loads of sample code and examples that show how to integrate the development board with various sensors.
- Light bulbs — Think those are ordinary light bulbs? Think again. It’s a series of three rainbow LED light bulbs. When the corresponding ultrasound sensor fires, the QCA4020 board tells each bulb over BLE to start the red-green-blue cycle. Interesting side story – the bulbs kept disconnecting from BLE every five seconds, so I modified the board with logic that sent a keep-alive packet every three seconds to maintain the connection. Adapt and overcome!
- Robot — The chain reaction includes several robotic devices, all of which are connected to Snapdragon phones. Here, an app running on the phone checks that the car has properly pushed the yellow cube into the robot’s mouth. Just to make things more complex, the app also waits for the last rainbow light in the series to display as a red circle. Once it has verified both of those conditions, it instructs the robot to lift the cube to the next step in the chain reaction.
So, with minor changes for the sensor type and the keep-alive packet, we managed to reuse the Center Stage demo as it is on the Projects page of Qualcomm Developer Network.
It’s not the simple way. But it is the FIRST way.
Near the end of the chain reaction is another sequence built around the QCA4020 Development Kit, this one based on the Home Control project. A device drops a stylus onto a Snapdragon phone, which then sends a BLE packet to a QCA4020 board. The board triggers a servomotor that keeps the domino-topple chain reaction going. Although it’s not visible in the video, it’s another good example of combining the smartphone and the board.
Inside the project
Besides the Snapdragon phone running the robot described above, several others are controlling robots at different points in the chain-reaction machine. At 1:20, a Snapdragon phone mounted on a robot performs visual tracking using computer vision to recognize objects through the phone’s camera. It then connects over Wi-Fi to the control port in the robot to guide its movement across the floor.
The main roles of Snapdragon phones in this project are camera input, image processing and recognition, then actuation, such as moving an arm and turning wheels. The phones are used for compute power and Wi-Fi rather than for cellular communications and social interaction.
Also, we wanted to build the QCA4020 board into the machine because we knew that its SDK is accessible and easy to use.
The QCA4020 Development Kit is a powerful board with multimode (Wi-Fi, BLE, Zigbee, Thread) functions that are hard to come by in a single package. As you can see from our Projects page, you can use the kit for a variety of IoT and automation use cases. This chain-reaction machine is an example of something we did that was fun.