
GpsBreakout
crnicholson/StratoSoar-MK3
StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone

StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone
StratoSoar MK3.0 is an open-source printed circuit board by crnicholson, from the crnicholson/StratoSoar-MK3 repository on GitHub. It is a 4-layer board of 36.6 × 60.3 mm with 85 parts on 88 nets, routed with 809 tracks and 160 vias.
It is built around the ATSAMD21G18A-AU, RA-01 and BME280, with the XC6206P332MR-G, AT24C512C-SSHM-T and BL24C32F-RRRC among its other parts. Its parts include 24 capacitors, 20 resistors, 10 ICs, 8 connectors and 4 transistors. It belongs with the SAM D and SAM and NXP (LPC, Kinetis, i.MX RT) boards of this library.
TL:DR: The StratoSoar project is a low-cost, lightweight Unmanned Aerial Vehicle (UAV) designed for deployment from a weather balloon at various altitudes, aiming for autonomous and efficient flight to designated GPS coordinates. By offering a more affordable, compact, and lightweight alternative to conventional UAVs, StratoSoar aims to empower educators, researchers, and hobbyists with an accessible platform for exploration and experimentation.
![]() | ![]() |
|---|---|
| StratoSoar glider. | StratoSoar MK3.0 circuit board. |
![]() | ![]() |
| Computational fluid dynamic sims. | Soldering of the board. |
StratoSoar is a low-power, adaptive UAV that is dropped from a weather balloon at approximately 5,000 feet, with plans to reach even higher altitudes soon. The main goal of StratoSoar is to fly to selected GPS coordinates efficiently or choose a closer, more realistic landing site without human interaction. The current aim for StratoSoar is to operate on a single 600 mAh 15 gram LiPo battery for a 10+ hour flight.
UAVs, or Unmanned Aerial Vehicles, are autonomous aircraft, usually in the form of planes or drones. They have many applications, such as delivering medicine, food, and supplies to remote areas, participating in aerial combat with the military, and conducting aerial imaging.
I'm currently considering two main concepts: an educational kit for students and hobbyists or a platform designed to study the aerodynamics of the stratosphere, a field with limited existing resources. Additionally, I'm exploring other ideas such as reusable radiosondes, systems for remote delivery of medicine and parcels, and advanced atmospheric monitoring solutions.
StratoSoar MK3 is an advanced autonomous glider designed to operate at high altitudes, such as those reached by weather balloons. The glider is attached to a weather balloon via a cutdown mechanism. Once the balloon reaches the desired altitude, the cutdown mechanism releases the glider, initiating its descent. The glider then navigates autonomously to specified coordinates, using a combination of sensors, advanced algorithms, and low-power electronics.
Autopilot System:
Communication and Data Logging:
Modularity and Customization:
Ground Station and Data Handling:
PCB Design:
Upon release from the weather balloon, StratoSoar begins its guided descent following waypoints or single target coordinate. It calculates the optimal flight path using its GPS and AHRS data, making real-time adjustments to its trajectory through the PID-controlled servo system. Depending on user configurations, the glider can either glide smoothly to the target coordinates, initiate a spiral descent, or deploy a parachute for a safe landing.
If the glider's altitude drops below a certain threshold, backup landing coordinates can be used to ensure a safe recovery. Throughout the flight, the glider’s location is continuously transmitted, allowing for easy tracking and recovery.
I'm only listing the key items, leaving out all the unnecessary stuff. This should give you a general sense of the project and all its features. Note that this is also only stuff I did during Hack Club Arcade.
Code/autopilot: (5000 lines of code!)
autopilot.ino: The script that ties all of these files together.gps.cpp: GPS code custom-made for low-power.waypoint.cpp: Custom waypoint flight with advanced turning.lora.cpp: LoRa communications with complex forward error correction.sd.cpp + eeprom.cpp: Data logging in a low-power manner.servo.cpp: Ultra low-power servo functions.bme280.cpp: Weather data sensor.imu.cpp: An interial measurement unit running a Kalman filter.Code/groundStation:
groundStation.ino: The code for the receiving station of the LoRa telemetry, uses ESP32 and HTTP requests to communicate with the server, also locally logs data.uploader/flaskUploader.py: A Flask server that uses an API to put all the data on SondeHub.Code/camera: Utilization of a low-power camera module and Python scripts for conversion.Code/calculator: Python script to parametrically create flying wing glider.PCB/StratoSoar-MK3.0: The main PCB consisting of over 100 components, optimized for power, size, and cost.PCB/gpsBreakout: A PCB designed for testing a cheap, $2 Chinese GPS module.PCB/loRa: The ground station to receive the glider's data.PCB/camera: A breakout board for a low-power camera module.PCB/imuBreakout: One of the first breakout boards made for a new Interial Measurement Unit.3D Files/cardboardGlider: Parametric Fusion 360 design for a folding origami glider.3D Files/StratoSoar Rev2 v36: High efficiency glider.StratoSoar MK1 was the precursor and the spark to StratoSoar MK2. StratoSoar MK1 was officially developed from October 1st to July 30th, although StratoSoar MK2 was unofficially being worked on in the months of March through June. StratoSoar MK1 failed to fly autonomously, and it also failed to release from the balloon. Major upgrades have been made since then.
StratoSoar MK2 officially started on October 1st, and will end has now ended. It was a success.
StratoSoar MK3 officially started on June 1st, and will end in quite some time when I launch it from a weather balloon. A new major revision (eg. MK4) will come out every time when I release the glider from the balloon in the Summer. After the Summer, work on the next revision begins, with many updates and new features.
Also, I use "we" a lot in this writing. This usually refers to myself or this project, but it also refers to my small team over at New England Weather Balloon Society.
One last thing. When I refer to StratoSoar, I am referring to the project as a whole, but more specifically, the most recent version.
Yes! During flight, the ground operator has no direct control over the flight path, i.e. via a radio. Because of this, and it being unpowered, it qualifies as a free flight glider. Free flight gliders have very little regulations. You can think of them as a paper airplane.
Currently, StratoSoar is not available to purchase online as a kit or complete product. We have plans in the next few years to release a kit for schools, education centers, hobbyists and a complete product for industry at an affordable price. You are welcome to make one in the mean time!
One of the goals of StratoSoar was to make an affordable and open source system for anyone to perform stratospheric research, so all the files are available for free. This means that you can construct StratoSoar from scratch. A guide to do this will be available soon.
I'm in the midst of compiling this.
We currently have very limited funding to complete this project. We would love any donations or sponsorships we could get to elevate (no pun intended) this project to the next level. If you don't want to donate, but want to help out, we would love your support with other areas of this project. Reach out to me if you have interest at:
newbsballoons@gmail.com (organization email, recommended).
charlienicholsonr@gmail.com (personal email).
This project would not be possible without the following individuals:
Max Kendall (W0MXX) for working closely together with me.
Mike Malis for helping with the design of the glider.
Brett Miwa for schematic review, PCB design, electrical theory, and boost converter circuitry design.
Bob Phinney (K5TEC) for providing NEST and securing funding.
Mark Jessop (VK5QI) for answering all of my questions.
Mike Hojnowski (KD2EAT) for PCB design and hardware/software debugging.
Paul Hamilton for helping me with FAA regulations.
My parents!
And these entities:
Hack Club, for providing support for projects like this.
New England Sci-Tech (NEST) for providing a maker space to work, funding, and hosting NEWBS.
New England Weather Balloon Society (NEWBS) for expertise and the opportunity.
Bagel Fund, for providing funding.
Do you have any questions? Are the docs incomplete and you want to ask anything? Do you just want to say hi (or how cool my project is!)?
Reach out to me at charlienicholsonr@gmail.com.
The glider was realeased from 5,000 feet. You can see the launch video here. You can find data on the release here.
Both the software and documentation are under the GNU GPL v3 license. The hardware and the 3D files are under the CERN Open Hardware Licence Version 2 - Strongly Reciprocal. The media is under the CC BY 4.0 DEED.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100 nF | Capacitor_SMD:C_0402_1005Metric | C2, C3, C4, C8, C10, C11, C12, C13, C16 |
| 6 | 10 K | Resistor_SMD:R_0402_1005Metric | R3, R4, R7, R8, R17, R18 |
| 4 | 1 uF | Capacitor_SMD:C_0603_1608Metric | C9, C14, C20, C22 |
| 4 | 1.8 K | Resistor_SMD:R_0603_1608Metric | R1, R5, R12, R13 |
| 4 | LOGO | LOGO | G***, G***, G***, G*** |
| 4 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4 |
| 3 | 1 K | Resistor_SMD:R_0402_1005Metric | R2, R10, R14 |
| 3 | 100 nF | Capacitor_SMD:C_0603_1608Metric | C1, C17, C18 |
| 2 | 1 M | Resistor_SMD:R_0402_1005Metric | R15, R16 |
| 2 | 1 uF | Capacitor_SMD:C_0402_1005Metric | C5, C15 |
| 2 | 10 | Resistor_SMD:R_0402_1005Metric | R19, R20 |
| 2 | 47 uF | Capacitor_SMD:C_1206_3216Metric | C23, C24 |
| 2 | 5.1 K | Resistor_SMD:R_0402_1005Metric | R9, R11 |
| 2 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | DMN1019USN-13 | Package_TO_SOT_SMD:SC-59_Handsoldering | Q3, Q4 |
| 2 | Rudder | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J8, J9 |
| 2 | YELLOW | LED_SMD:LED_0603_1608Metric | D1, D2 |
| 1 | XC6206P332MR-G | Package_TO_SOT_SMD:SOT-23-3 | U9 |
| 1 | 1 nF | Capacitor_SMD:C_0402_1005Metric | C21 |
| 1 | 10 nF | Capacitor_SMD:C_0402_1005Metric | C7 |
| 1 | 10 uF | Capacitor_SMD:C_0603_1608Metric | C19 |
| 1 | 100 pF | Capacitor_SMD:C_0402_1005Metric | C6 |
| 1 | 220 | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 33 nH | Inductor_SMD:L_0402_1005Metric | L1 |
| 1 | ALWAYS_ON | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | AT24C512C-SSHM-T | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | ATGM336H | RF_GPS:ATGM336H | U2 |
| 1 | ATSAMD21G18A-A | Package_QFP:TQFP-48_7x7mm_P0.5mm | U8 |
| 1 | Antenna | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | AE2 |
| 1 | BL24C32F-RRRC | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | BME280 | Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mm_ClockwisePinNumbering | U4 |
| 1 | Battery | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J7 |
| 1 | Button | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | CJ6206B18M | Package_TO_SOT_SMD:SOT-23-5 | U6 |
| 1 | DSK321STD | Oscillator:Oscillator_SMD_EuroQuartz_XO32-4Pin_3.2x2.5mm | U5 |
| 1 | EEPROM | Button_Switch_SMD:SW_SPDT_PCM12 | SW1 |
| 1 | ERR_RED | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | GPS1003 | RF_Antenna:GPS1003 | AE1 |
| 1 | ICM-20948 | Sensor_Motion:InvenSense_QFN-24_3x3mm_P0.4mm | U7 |
| 1 | J Link | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD | J5 |
| 1 | MS621R | Battery:MS621R | BT1 |
| 1 | PWR_SW | Button_Switch_SMD:SW_SPDT_PCM12 | SW3 |
| 1 | Power | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_CK_RS282G05A3 | SW2 |
| 1 | Ra-01 | RF_Module:Ai-Thinker-Ra-01-LoRa | U10 |
| 1 | Signal | Connector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_Vertical | J1 |
| 1 | USB-C | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J4 |

crnicholson/StratoSoar-MK3
StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone

crnicholson/StratoSoar-MK3
StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone

crnicholson/StratoSoar-MK3
StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone



crnicholson/Plant-Monitor
Plant Monitor is a way to view data from a remote humidity sensor on web interface, which then tells you when you need to water your plants plus the air humidity, soil humidity, air temp, and air pressure.

/Old%200/Synth%20Head%20CPU/Synth%20Head%20CPU.kicad_pcb.jpg?size=s&soon)


sh123/esp32_loradv
ESP32 based Codec2/OPUS DV hobby UHF 3d printed handheld transceiver aka walkie-talkie

It measures 36.6 × 60.3 mm and has 4 copper layers, 1.02 mm thick.
85 parts, built around the ATSAMD21G18A-AU, RA-01, BME280 and XC6206P332MR-G. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the crnicholson/StratoSoar-MK3 repository on GitHub, at the commit this page was made from: the board is PCB + Schematic/StratoSoar-MK3.0/StratoSoar-MK3.0.kicad_pcb and its schematic PCB + Schematic/StratoSoar-MK3.0/StratoSoar-MK3.0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask crnicholson before reusing the design.