05/07/2019 at 21:12 •
Last weekend, I decided to build a simple proof of concept that:
- Measured the altitude of a rocket at launch
- Send the peak altitude to a iOS device via Bluetooth
- Recorde altitude versus time (for later use in calculating velocity and acceleration)
I decided to use an Adafruit nRF52 Bluefruit LE Feather as the BLE and MCU for the PoC. My rationale was that it expect to use a similar System on Chip device for the final product.
All of the components used for the PoC test are Adafruit products (wishlist here->http://www.adafruit.com/wishlists/486595).
- Adafruit nRF52 Bluefruit LE Feather (will use this same SoC for the final product)
- FeatherWing proto
- BMP280 Altitude Sensor
- MicroSD card breakout
- Battery and Stacking Headers
I used a 3D printed nose code and wings from the US Water Rockets website. I used a 73 mm diameter 1 liter bottle for the body of my rocket.
Finally, I built a makeshift launcher using:
- Scrap wood
- three 3D printed rocket stabilizers
- Bicycle pump and needle
Instructions to assemble the cork, needle, and pump can be found here: https://www.instructables.com/lesson/Pump-Rocket/
Note: This is not an optimal launching solution, as the rocket will launch before adequate pressure is built. For this flight, I was only testing recording altitude, so I didn't care about getting a lot of "air"
Going in, I knew there were going to be a few problems:
- My rocket launcher was not optimized for pressure build-up, so I wasn't going to get a lot of altitude
- I chose not to build a parachute deployment mechanism for this PoC, so my rocket 3D printed parts wouldn't last long
- My SD card might eject on landing
Given all that, I was able to get 5 test runs in before I destroyed all my nose cones. This was enough to validate the proof of concept. Each flight was about 2 seconds, and I was able to record altitude every 300 ms. In addition, I was able to send the peak altitude to by phone via BLE.
Time (ms) Altitude (m) 0 0 <300 1.99 600 8.33 900 10.91 1200 10.54 1500 7.56 1800 1.6
The current PoC can accurately indicate top altitude, but the data increments (300 ms) is wider that I would like.
The SD card did eject on landing, so either we have to make the landing more stable or move to SPI flash (and sync data via BLE).
I also have a problem in that I am not able to start the test at launch (primarily because I start recording data, then I start pumping, and the rocket launches whenever the pressure imbalance forces the cork out). To fix this, I need to hold the rocket in place, achieve the designated pressure, then start the measurements at the same time of the launch, with smaller data increments.
- Plot data into online graphics tools to determine acceleration and velocity
- Ideate on the correct location for the altitude sensor for the final product.
- Work on parachute deployment
- Determine if we should stay with SD card or move to SPI Flash
- Determine best way to synch launch with data capture
05/03/2019 at 03:45 •
There are a lot of connectivity options out there, each with their pros/cons. At the end of the day, based on my project guiding principles, I wanted to choose an connectivity option that
- Could easily be coded/leveraged- e.g. large amount of learning material and examples available
- Supported easy configuration the sensors and the ability to sync data via a phone app
I ultimately decided on BLE (and saving the data on-device to an SD card prior to transmission). Here's my thinking:
Wired connectivity (part of the solution) -
Sometimes the best answer is the simplest answer, so I considered going with a "wired" solution... meaning that data was either saved to a flash drive and downloaded, or saved to a memory card. I decided to incorporate an SD card as part of the solution as a secondary option of getting data. That being said, I knew I would need a wireless solution as well. If nothing else, I envisioned some of the sensors being inside the rocket, and I didn't want someone to have to un-assemble/re-assemble part of the rocket if they had to reset or configure a device.
Bluetooth LE (the current decision, with an SD card) -
BLE only works short range (30m)... a rocket could travel 80-100+ meters (depending on the size)... so I knew that I couldn't stream data via BLE. Instead, I determined that I could save in-flight data on the device (via an SD card or flash drive). I could then use BLE to send the data (via a phone app) to the cloud. I could also use the app to initialize the device before flight.
Most flights will be done in parks or school playground (where there will be limited/no wifi available), so I knew pretty quickly that wifi wasn't the right solution to get data directly to the cloud. I considered setting up a local wifi network, where each sensor/device would join the wifi network AND the user would join their phone to the wifi network to control the devices. I may fall back on this approach, but for right now, it's not my preferred option.
LORA (Long Range) or RFM69 radio/radio packets -
I really wanted to go with either of these options (no issues with range and some really cool technology), but at the end of the day, I would have to build a hub (with either BLE or Wifi) to communicate between the phone app and the device. It would ultimately be a solution that was too costly.
05/02/2019 at 22:59 •
I built my first water bottle rocket six and a half years ago, as a weekend project with my kids. We loved it; we didn't do anything fancy - just made fins out of cardboard, attached them to a 2-liter soda bottle, filled it with water, and used a cork and air pump to launch the device.
A few years later, I became a leader in our local cub scout pack, and started incorporating water bottle rocket design and launched in our camping trips and pack meetings.
In both cases, the kids loved it. They got a chance to make something with their hands, apply simple science principles (fins and nose cones for better flight), and immediately see the output of their design.
Last year, I decided to industrialize my designs - building a fleet of launchers so that all of my Cub Scouts would get multiple chances to launch their rockets. That got me thinking:
- Was there a way that I could make it a contest and award a prize to the rocket that went the highest?
- Was there a way to record flight data and give to to the kids for additional activities (plotting graphs, comparing their flights against the amount of water they used)
From there, I started expanding my thinking: could this be used in the classroom? How can I incorporate 3D printing, coding and electronics? How does Newton's Three Laws of Motion apply?
All that ideation lead up to this - a Water Bottle Rocket STEM Kit (still looking for something that's more catchy). My hope is that there are others out there like me - people that are passionate about making, science, electronics, and learning - and have a desire to contribute to a repository of tools, designs, lesson plans around these topics.