x3 Camera Rocket
Hardware- 8 Devlogs
- 19 Total hours
A custom 3d printed rocket with an ESPcam and an altimeter, all recorded onto a microSD card.
A custom 3d printed rocket with an ESPcam and an altimeter, all recorded onto a microSD card.
Got the camera working, and added the camera logic to the main program. This photo is just from the example sketch that comes with it but next goal is to find a way to reliably power the hardware so I can test the code. It does compile without errors, but I’m not feeling very lucky about it actually interfacing right. The way it works is once the sensor core detects apogee it switches from a high frame rate video, to high quality video so it can get cool shots on the way down. Instead of fully re initializing the camera though, I just initialized it at the higher quality but used the low resolution. The only thing I need to do for the logic now is get the array of sensor readings and save it to sd after the video stops recording.
First time using freeRTOS, this is some intense stuff, but I finally got it set up where one core handles the sensors and state machine logic, and the other one handles the camera, and saving the frames to storage. Today, I basically fully finished the sensor core, adding detection for when it launches, when it passes apogee, and when it has landed. I also created a struct that saves alt, pres, temp, and time, to psram. I decided to migrate the project over to platformIO, and since I was switching I decided I would improve the logic, and also use two cores. Previously I used the average alt within a second, then fully delete that array and create a new one. Now it uses a rolling array. The launch and apogee detection is pretty simple, if the average now is higher or lower by a certain threshold boom detected, but for the landing I decided to make it so that it has to stay within a certain threshold for 5 seconds, and if it breaks it once it resets. Next I need to setup the camera logic (not excited)
Been a couple days, but I’m getting back into it. I got the hardware assembled, with one problem being my power situation. I originally planned to use a 2s lipo, but it does not have enough cooling to deal with that. It was my first time using perfboard, so it took me a long time, but I got it done. The hardware slid into the printed bay perfectly, but it needs a few fixes, which include, higher placed camera mount, slightly larger launch lug hole, and fix my printer from stringing. I also finished adding landing detection to my logic. One part of me is considering switching the landing detection to a more robust system, but I’m not sure yet. Any suggestions for apogee and landing detection from altitude data is very welcome!
Yo yo, after many toils, I managed to get the bmp280 sensor to FINALLY interface with my esp32 (i had scl and sda swapped :(, and I took the example sketches for the sensor, and rewrote some parts and stripped out what wasn’t necessary until I had what I needed. Next I changed the fins from elliptical to cool swept-back trapezoidal fins, 1 because they look cooler, and 2 they offer similar performance but give less spin to the rocket, which is important for filming. The rest of the hardware arrives TOMORROW, i have been waiting a long time for this, so I am also gonna be doing some assembly tomorrow. Next plan for the project is gonna be some esp code, that detects different stages of flight with the altimeter. yo yo out
Today I worked on fixing the camera mount, making it much more aerodynamic and also getting a wiring diagram done. On the ESPcam, only 1 pin is available while it is in 4 bit mode, so I need to use RX0 and TX0 and reassign them as i2c pins to interface with the bmp280. I also added many small features to the 3d model, such as vent holes for the electronics, launch lugs, and dowel holes to hold the motor in after it is inserted. Now I need to start figuring out the code, as the ESPcam and perfboard are arriving soon.
x3 - Today I mainly worked on the motor mount, such as adding fins, and struggling to add the mesh that would be in the motor mount. I also added the mount in the body and the electronics bay (it will separate between green and yellow. Originally I wanted to do a body mount just through a rod straight down the middle, but I decided to push it to one side to make it stronger, and make it easier to print. I am still working on the camera mount and I am about to start on v3. v1 was too simple and didn’t allow the camera to tilt 45 degrees down, which is the goal. v2 was over complicated and had horrible airflow that would pull the rocket to one side. After working on the camera mount I need to start working on the wiring and code for the camera!
x3 - Today I worked on the electronics bay, mainly how the stack would slide into the yellow bay, then how the nose cone shoulder would also slide into it and lock it in. I also worked on getting the assemblies setup, and got a basic fin can started. I think I am going to do elliptical fins, usually I don’t because I think they are ugly, but with the newer rounded nose cone, I’m gonna try it because they apparently go the highest. It’s gonna use an E12-4 motor, and I’m hoping for it to go 1250 feet. The next thing I need to work on is the fins, and getting places to mount the parachute. Thanks for reading!
FIRST DEVLOOOG - The main goal of this project is to build a rocket that can capture sick video for as cheap as possible, and make it possible for others to make through 3d printing (i am broke). Today I mainly worked on establishing the rough shape of my rocket, then I imported all of the electronics I will be using, and arranged them in an assembly. After sizing, it should be able to fit in a 35mm wide body, with the battery (2s lipo) above in the nose cone. Visit my github for the goals and hardware I’ll be using.