Orders placed on our website will ship the same business day if ordered by 3pm MST. Our walk-in counter is closed indefinitely.




  • Summary


    1. Build a rocket from Estes parts ready for launch.
    2. Build a rocket launch controller.
    3. Program an ESP32 battery powered avionics with altitude, temperature, pressure, GPS, acceleration, compass, and gyroscope.
    4. Time to completion: 24 hours minimum for epoxy to dry.


   This project will walk through a complete build of the Pro Series II Ascender rocket from Estes, building a launch controller, the wiring of avionics for the payload section of that rocket, the programing of those avionics, and finally a video and displayed data from the result of the launch of the rocket with the avionics inside. The ESP32 will create or connect to a WiFi network and will store all the data for later usage and retrieval.



  • Hardware


    1. Estes Ascender Rocket
      1. Chassis from Estes
      2. Engine from Estes
      3. Launch Pad
      4. Launch Controller
      5. High Strength Epoxy
    2. Electronics
      1. ESP32 with battery controller (You will also need to program your ESP - here's a good quick-start guide to your ESP if your new to these microcontrollers)
      2. BMP280 Adafruid Barometric Pressur + Temperature Sensor Breakout
      3. MPU-9250 3-axis gyroscope and acceleromter module
      4. NEO-6M-V2 GPS Module NEO6MV@ with Flight Control EEPRom
      5. LiPo 500mAh lithium battery 3.7V, lightweight
      6. Sufficient amount of wire, either for breadboarding or soldering (color isn’t necessary)
        1. 4x red
        2. 4x black
        3. 4x yellow
        4. 4x orange
      7. PC for programming
    3. (Optional)
      1. Protractor
      2. Level
      3. Ruler
      4. Wood Pencil
      5. Piece of Paper and Pen


  • Software


    1. ak8963.py
    2. bme280.py
    3. main.py
    4. microWebSocket.py
    5. microWebSrv.py
    6. mpu6500.py
    7. mpu9250.py
    8. neo6mgps.py
    9. /www


   You will need to download all the files contained within the repo subdirectory Rocket including the subdirectory /www. You will also need to download and install python if your computer doesn’t already have it installed. The link above should select the correct operating system you’re using, but make sure to check the version before downloading. When installing python, make sure to select that you want to install the PATH as well if you’re using Windows. Once python has been installed, open the program called command prompt and type in the following commands:

python -m pip install --upgrade pip

python -m pip install adafruit-ampy

python -m pip install esptool


   Once you have those components installed you’ll need to download the latest micropython firmware for the ESP32. Search for the header titled, Firmware for ESP32 boards. Once you have that downloaded, we’ll want to replace the current firmware loaded on the board. -It is possible you could use the firmware on some of the boards, however in my experience so far using them, they come with a looped sketch that is impossible to break from the things I’ve tried. Therefore, it’s just easier to replace the firmware.- Navigate to the folder containing the firmware downloaded while using the command prompt screen. Once you’re in the folder, execute the following command:

esptool.py --port COM7 write_flash 0x1000 esp32-filename.bin

   You’ll need to identify the correct com port being used by the ESP32 when plugged in, and replace in the former command COM7, with the right number. An easy way to identify that number is using the Windows device manager.

   If you’re using linux, that port will look something more like /dev/ttyUSB0. Because linux keeps a log of all events in the kernel, you can access these events by using the program dmesg from the terminal emulator. To find the most recent serial device plugged in, use the command:

dmesg | grep tty

   Dmesg lists all kernel events in chronological order, the | character is called piping and sends the results from the previous command into another program. Grep allows you search with a text for a specific set of characters, in this case tty.

   Whichever OS you’re using, make sure to remember the communication serial port that’s being used, as you will use that identifier for every command interfacing with the ESP32. The next piece of software isn’t necessary, but can come in very useful is PuTTY. PuTTY has multiple capabilities, but the one we’re going to use is the Serial option. The ESP’s default configuration is 115200 baud rate, 8N1. The ESP32 micropython firmware is built from a RTOS running a python interpreter. When you connect to the computer through the USB port on another computer, the interpreter prompt known as REPL is the default connection. Every way you interact with the ESP must go through the interpreter, but you can access the entire onboard computer through commands and libraries built from python.

   If the computer does not report the correct amount of memory, or has stack issues, please erase the entire flash region and reflash the original firmware by using the following commands:

esptool.py --chip esp32 erase_flash

esptool.py --port COM7 write_flash 0x1000 esp32-filename.bin

   Don’t forget to replace the port option with the correct option explained above.



  • Project Steps


    1. Assemble Rocket
    2. Wire together the ESP and peripherals
    3. Transfer all pertaining files to ESP
    4. Test system startup and functionality
    5. Launch!



  • Rocket Build



   Starting with the Rocket, remove all the parts from the box if you purchased the Estes rocket, and lay them out, then check against the manual that came in the box to ensure all parts are present.



    Once you’ve confirmed that all parts are present, follow the instructions to assemble the rocket. The pictures below may help in more difficult parts of understanding on how to glue, and assemble the Rocket.



   This picture above shows the end cap for the engine. Make sure when you insert this into the chassis, you insert this side in first.


   Make sure to draw straight line (ruler) to ensure the fins will correctly attach when the time comes. Also make sure they are the exact same distance apart from the ends, and the notches are lined up along the line.


   When the piece is inserted, line up the notches in the plastic rings to be exactly where the cutouts are on the chassis.


   Be sure to glue the inside of the fins both in the center structural parts, but also the outside edges.


   Glue the fins like shown. Make sure there is epoxy covering each points of where the fins attach to the chassis, and that the edges are nice and smoothly attached. The fins will experience a pretty significant amount of drag force, so this step is very crucial it will hold.


   The payload section should be glued as shown.


   Once the payload section is complete, you can set the rocket to the side, and let the epoxy cure for 24 hours. I decided to tie the shock cord to the tip, so the tip can easily be removed, and reseated at any time without the need of tape.



  • Rocket Launch Controller



   I’ve used Estes controllers before, but I’ve never had good luck with them. I built a controller many years ago, that’s not really sophisticated, but it works every time. It’s a simple design, and from the pictures below you can easily build one for yourself. I recently changed the battery pack to Lithium Ion since now I own a smart charger for the single cells. If you want to go this route, the chargers are about $30. It really pays off if you start collecting Lithium Ion 18650 cells from anything “dead”. Just a fyi, when a battery dies, not all the cells are usually bad. Otherwise I used to use a Sealed Lead Acid Battery from battery backup for a home alarm system. They have to be changed out every few years so I got mine for free from a family member. You can find them in UPS devices as well. Suffice it to say, the Lithium Ion is much lighter, takes up much less space, and delivers much more stable power, but you can’t charge them indiscriminately.


  • Electronics Assembly



  • Finished Result

Our first launch was successful and the rocket reached several hundred feet of elevation.  One of the challenges we had was that the electronics assembly in the payload section weighted down the rocket and caused it to veer west after launch.  The trajectory took it several hundred yards away from the launch and we actually had a very difficult time retrieving it with the rocky terrain and desert brush making visibility difficult.  After a long search I had to return to the launch site the next day to search further.



Author: Jake

$product.getRelatedDocumentLink('IMG-0').text1 MPU-9250
$product.getRelatedDocumentLink('IMG-0').text1 GY-GPS6MV2
$product.getRelatedDocumentLink('IMG-0').text1 LIPO-3.7V-500MAH
$product.getRelatedDocumentLink('IMG-0').text1 ESP32-BATT
$product.getRelatedDocumentLink('IMG-0').text1 001784 – B6-0/B6-6
$product.getRelatedDocumentLink('IMG-0').text1 003227 – LOADSTAR II
$product.getRelatedDocumentLink('IMG-0').text1 009706 – PRO SERIES II E2X ASCENDER