Showing posts with label Rockets. Show all posts
Showing posts with label Rockets. Show all posts

Saturday, March 14, 2026

Nexus Part 2

 Claude Code has been killing it on the design language. Re-did the ground station design language... 

Honestly it looks so sick. Crazy thing is that I didn't build the schematic components at all. I asked Claude code, using words, to build it. It fully understood how the components were assembled. Each solenoid valve is clickable and commandable. The telemetry there is all live. The ducer for the engine was not connected, so it read at the bottom of the calibration range.

This is far from done, I don't really like how manual state machine commanding is done and valve controls are a bit hinky, but it's getting there. One note is, not all states are commandable. Once you get into Static fire, the flight computer is autonomous and does all it's own transitions. The only manual commanded state machine transition is Abort Ground. Once i build out the flight state machine, all this stuff will change. For now I'm just optimizing things for testing and static fire. Once I get the data I need to do throttle mapping and engine modelling, then I'll see what I can do for flight ops optimization.

Static Fire this Summer!! Let's GOO

redesigned the entire static fire stand, will post that soon. also redesigned the throttle valve for more consistent CdA vs Angle mappings between the species (was dumb to use two diff ball valves). Also rebuilding the lox side valve with ox proof seals and all that  jazzo

more to come 






Here's from a throttle test, live data from throttle actuator



Saturday, November 29, 2025

Lander Update Q3 2025

well holy moly
what a year
a lot of crazy stuff went down at work (i was the gnc responsible engineer for starship flight 9), but I still managed to get some good work done on the lander. I have been absolutely cruising through the realtime C++. Now I have most major components written including but not limited to the following:
  • interfaces for peripheral boards, ODrives, valve commanding and timing
  • state machine
  • blackboard data handling system
  • telemetry and logging
  • command handling
  • GNC algorithm infrastructure
  • State machine infrastructure
  • General purpose filter methods for input data as well as control filtering, discrete biquad style!
  • Watchdog timers, alarms, and aborts...
  • high frequency threads for peripherals, and singular thread for all the control processes, running at a 20ms period
    • currently have a ~0.004 ms mean skew, which is not too bad for 60 seconds, but trying to see how we can improve
  • other stuff not mentioned
I asked AI to read all the software and describe it, he're's a lightly edited response:

The FSW/ directory contains the Flight Software stack for a lander vehicle, a multi-threaded real-time C++ system running on a Raspberry Pi. It orchestrates hardware interfaces through dedicated threads: a Peripheral Device Board (PDB) for valve control and pressure monitoring, GPS for positioning, ODrive motor controllers for throttle and thrust vector control (TVC), and an IMU for inertial measurements. The system uses a blackboard pattern for thread-safe data sharing, implements a state machine for vehicle control with configurable priorities, and includes telemetry to send binary data to a ground station over UDP. Control algorithms in the algorithms/ subdirectory include second-order filters for signal processing, and the codebase features comprehensive configuration management through config.h for hardware mappings, thread priorities, safety limits, and communication parameters. The system is designed for real-time operation with SCHED_FIFO scheduling, includes graceful shutdown handling, and provides test utilities for validating individual hardware components.

Ground commanding software I've written, calling this Nexus for now (actually it's literally the only thing i've named on this project I realize)
  • live telemetry plotting and logging
  • multiple dashboards for a P&ID, general plots, and a telemetry searching box (for realtime debugging and such, which has already been very useful)
  • Manual Valve commanding direct from the interface with execute + confirm. This will primarily be for loading ops and such.
  • It's all based on React and Flask
I bought a clockwork uconsole so that while I'm literally in the field, working on or loading the vehicle with propellants, I can view telemetry, pressures, etc and command valve states as I need to. I plan on having folks help me out here, but sure helps to see a real time telemetry plot. (i posit)

AI's thoughts on Nexus:

The ground_scripts/Nexus/ directory contains a real-time telemetry monitoring and control system for the Lander Flight Software. It includes a Python Flask backend that receives UDP telemetry packets (binary and text) from the FSW on port ****, parses them using a binary telemetry parser, and serves the data via a REST API and WebSocket streaming. The React frontend provides a web dashboard with three main tabs: a Control interface for sending commands to the FSW (including valve controls with safety logging), a Charts tab with time-series visualizations using Plotly.js, and a Raw Data tab displaying telemetry metrics grouped by category (PDB, IMU, GPS, Control, ODrive). The system supports optional telemetry logging to JSON files, includes a startup script for launching both backend and frontend servers, and provides a REST API endpoint for sending commands back to the FSW, enabling bidirectional communication between the ground station and the vehicle.

Of course, while I think I have a reasonably good handle on the infrastructural things, I am still very much a noob when it comes to a lot of the intense low level software dev stuff. I also am really not a pro at the web-app flask/React stuff. But to be honest, AI tools are just insanely good at kickstarting me and getting me in the right direction. Obviously, just test along the way and spend more time running and testing the infra than writing it... 

Remaining work for a static fire operation is the following:
  • writing out the static fire state machine and event sequences
  • flow characterizing the pintle and annulus, and the throttle valve flow map itself
  • tune the pressure control schema, aborts etc
  • going to rebuild the throttle valve itself, there's an asymmetry that is annoying me
  • hook up my static fire thrust structure rig to the avionics, and calibrate that shit
    • oh man then also fix some of the hardware here because im shit at designing things
  • find a lox dewar and a solid set of friends willing to perform dubious tasks in the desert with me
  • build out nexus as I test the system
I think my primary issue here is not just focusing and finishing my work; context switching penalties have got the best of me. I'd really like to fire this thing, put together a gnc stack, hover test it, and then full send it on some wack trajectory. Then i'm going to pivot to an entirely different field for projects, and maybe focus on applied mathematics.

some pics:

Some of the Nexus pages. It's quite ugly in my opinion at the moment, but I'll make it look nicer later, just need it to be functional to start. And as I dev more of the systems I'll change what plots I care about.



Schematic / P&ID needs to be drawn out, too lazy right now, but at some point. Not a fan of the toggle feature I've got in now, but works.

in action on megadesk 


Control period plot over time. probably good enough for now, but keeping a close eye on this as I start implementing more gnc algorithms for the stack. it's pretty minimal right now


I ran a tank pressurization test (plot here is kinda lame but at least shows something). I pressed up the N2 tanks to like 500psi, tuned the regulators, and then commanded the press valves to press the individual propellant tanks to target pressures around 300psi. It all worked as expected, which was very shocking to me.

Some of the raw ducer voltages

uconsole for field access to telemetry and commanding (I ordered in March and it came in October... so if you order one, don't expect it anytime soon).



Rocket pics:

Testing limit switches on all the linear actuators. I had to write a homing sequence because im too poor for absolute position sensors :) works fine tho. reboots work well too (afaict)


Had to do some tolerance cleanup passes on my friend Zach's lathe. Thanks Zach!



pintle fusion welding went off better than expected


I welded all the feed bungs to injector head. also i hate warping so much, even if you leave one screw off, you'll get very slight warpaccino on the injector plate. fafo


Jank static fire stand that needs to be rethought. Initial goal was to have multiple adaptor plates to support TVCs. But without the TVC add plate, there's zero clearance for tube routing lmao. Nobody said i was ever good at mechanical design.. to be fair i just freeball threw shit together in my garage for this one


A collection of my shitty hand made devices, embodying "perfect is the enemy of good enough"


Oh not sure if I mentioned, I replaced all the relay and wiring routing web of mess with a single mosfet valve driver board, and pared it down to 10 valves and 10 ADC inputs. The teensy samples and packets everything, and shoves it off to the flight computer, where all the real processing happens. currently sending packets over serial at 50hz. this is a far more elegant solution, and the design has held up under all sorts of heinous unrealistic stress testing.  don't mind the fugly hand made battery lol


side shot



So much more to do! but it's gonna be frickin great!

I'm  thinking about next steps post-lander. I think the framework I've built here is pretty sweet, and should be extensible to many real time systems. Call me crazy, but it'd be fun to make a fleet of autonomous things, all running on the same core software stack. or maybe i chill out and just do some math stuff or camera stuff





Wednesday, April 30, 2025

Lander Update: Q1 2025

oops I'm bad at posting, here are some pix

I did a lot of stuff, made a lot of progress, more work to come. I'll be static firing this year. This is the last year I'll be working on the lander, I'd like to tend to my other technical interests.

I remade the press system plumbing in all stainless hardware. NEVER use aluminum flared tubing, it's just not worth it.


Stainless printed engine parts came in...


Pintle annulus with film cooling. The top plate of the injector was lathe machined rather than printed. The printed annulus section was post machined to tolerance. The pintle tip was also 3d printed. It includes orifices that are lower than the resolvable feature requirements from the manufacturer, but if you keep tweaking sizing, you can get there with a knock down factor. Cheapo mode.



Oh, I redesigned the TVC actuators.



I also wired up everything. 


Oh and Masten let me come watch one of their test flights behind the scenes. What a spectacular vehicle and group of engineers. If a younger me knew I'd be seeing one of these flights in person...


The sunset was beautiful. The flight was dramatic...



Back to my own crap here..

I also redesigned like half the avionics, got it manufactured, and rewrote all the firmware. But this is the only single photo I have to prove this lol. I got rid of all the messy wiring, valve/relay power distribution, and the entire relay board itself. They're replaced with MOSFETs and drivers. I reduced my footprint to 10 channels, and 10 ADC input channels.



Also i made a static fire engine structure. I dont have pictures of the load cell and all the accoutrements, but those are figured out now.




See ya next time.

Friday, June 21, 2024

Lander Update June 2024

 It's been a bit since the last update. Damn. Guess that's how personal projects go when you are a real adult. That doesn't mean I haven't made progress! Here are a few pictures...






The Engine: Snort. It's been developed using this Master's Thesis https://ir.library.oregonstate.edu/concern/graduate_projects/76537857k and is in the public domain!



More information to come :) working hard to build and test and an engine this summer!
And I'm looking for sponsors! Please reach out on twitter 

Tuesday, February 21, 2023

Lander Update: Snort, the Engine

 So I've picked back up on liquid engine design for the lander. This is a brief of what I'm pursuing so far for the combustion chamber

Stats:

  • Thrust: 500lbf (2.22kN)
  • Pc: ~300 psi (2MPa)
  • Propellants: Liquid Oxygen, Ethanol 70%
  • Mixture Ratio: 1.35
  • 20% fuel boundary layer cooling
  • 15 degree conical half angle
  • L-star of 1 meter
  • 45 degree contraction angle on converging section, for manufacturability
  • Chamber Inner Diameter: 81mm
  • Materials: 304/316 Stainless Steel
I am first going to manufacture the chamber in two parts.. the cylindrical section, and then the printed or CNC'd converging-diverging section which I plan to weld on. The former is based on this affordable part from McMaster Carr. It's 304 stainless with a weld bead down the  center of it, and polished. I am a bit worried about the weld bead, but I know other chambers have been made similarly. The thickness is about 2mm, still checking to see if this checks out thermally. 

The ID of the chamber material is supposedly very accurate, so I've added a taper to the C-D section that traverses the inside the the tube, and can  be welded from the outside.

Here's Snort:


I've put out quotes for printing or CNC machining the C-D nozzle section and so far it only seems to be around $300 in stainless which is shocking to me.

If I can get each engine to be under $1k I'll be super happy. More to come on injector design and thermal analysis.. Need some friends to double check me :) Ideally, I'd like to print the injector and then weld it directly to the chamber, so I don't need to worry about fasteners, leaks, seals etc. Not sure if this is a good idea, but Armadillo had good luck with welding it all on there.


Tuesday, January 31, 2023

Lander Update - 01/2023 "We Have Lander At Home"

Long Time No Update. Each year I make it my resolution to be better at documenting my projects, taking pictures, and posting updates. This year my resolution is not only to be better at it, but to  finish the lander project (still unnamed, but dubbed Lander At Home memetically).

It's been a struggle to write updates in recent months, with life being so busy. But since I've last posted, a lot has happened. Since then I have welded the tank gas feed systems, hydro tested the tanks, and mounted them (no easy feat). I've came up with a COPV mounting system, and added one on. I've added a protective box for the IMU mount, with vibe isolation. I added in the cross brace for avionics box mounting. I added rollers to the lander, for easier transport and working. The TVC actuators have been trimmed down to size and tested with their ODrive board, but there are still some slight tolerance issues I'm working on that can be fixed with a shim or a re-machining some components.

The LOX tank mounts were designed to be 2D components, laser cut in 308 stainless from SendCutSend, and then fusion welded together. The bottoms are bent plate components that bolt down to the structure, with the structure being tapped itself. I did this so that the lox tank could be removable. But I mildly fu*ked up the alignment on two of them, and technically only need one to bolt down, so I am considering tacking the other two in place for flight. Not shown in the image below are the standoffs used to keep alignment correct.



I have designed and fabricated the engine gimbal thrust structure, but having some slight alignment issues. The center plate had a mild warping from tig welding (ugh) that I should have protected for, and the bottom  hex of the vehicle is ever so slightly offset that things don't line up perfectly. This, in theory, should be okay since the CG line is correct but the gimbal bias would be slightly zero seemingly (between thrust point and gimbal plate). It only looks a little hinky on close inspection.. I've designed adjustable bolt-on brackets that take up some slop translationally, but not torsionally. My friends say I should just accept it, and mount it, but I'm tempted to refab and make it perfect. Weeee shall seeeee. I need to stop getting lazy when I run into mild inconveniences.


Bottom of LOX tank, with fill/drain port capped off with a blue 10AN cap. Thrust structure assembly just being clipped in place here.

Here are a couple images from the LOX tank hydrostatic press test. The 4AN line is going off to a high pressure hand pump meant for air-rifles. The pressure transducer on the right is hooked up to a microcontroller and my laptop. I calibrated the ducer against atmosphere and assumed linearity, as the data sheet says.. The meter on the hand pump seemed like it read the same values. I went all the way up to 500psi, when I plan on using the tank at 300psi. No leaks, everything seemed to hold fine!



The gimbal plate itself is 6061-T6 aluminum that I had CNC'd by a separate shop. It only cost 40USD surprisingly, and met all my tolerance needs. It moves frictionlessly in 2 rotational degrees of freedom exactly as promised. Below are a couple more images of the gimbal plate and thrust structure. I am still considering a slight redesign for better rigidity in the backplate, and better mounting alignment. Over all these parts were perhaps 150USD, so not the end of the world. Peep the milled out NotForFlight tag on the gimbal plate.



I did a some work on designing the throttle valve. I had these ball valves laying around, and I know they each have some form of heritage in being used in other cryo liquid rocket projects. I think the Sharpe ball valve on the left has a hole cut in the ball to allow for slight venting of trapped gases, but I'm considering taking it apart and adding another. The linkage is finished, and there is minimal backlash in the assembly. The threaded rod will get cut and added to the end effector of the linear actuator.


The linear actuator for throttle valve. High bandwidth, and a cheaper variant of my TVC actuators. Still not my best work, but I need to finish things fast in order to break them.

I love heat threaded inserts. This was a PETG printed part that did not end up working out for me, due to being brittle and dimensions having shrunk too much for tolerance stackup of linear motion.

I made the brackets for my cheapo cold gas roll control thrusters, which are just solenoid valves with NPT to 4AN fittings, and tees. These will get plumbed to tank ullage/output of gas regulator at 300psi (at least for now unless I size something else).


TVC actuators...
I have been on a bit of an actuator crusade -- I am not happy with how I designed these. The non-stroke length fraction is too large, and these actuators really need to be much smaller than they are. But I need to move on to finish this project, so I need to make them work. Many months ago, I took some time to trim them down to size after the gimbal was designed, so I had a rough 20deg (overkill) tvc deflection in each axis. The actuator on the right is the trimmed down, the one on the left was my canvas, if you will.


I also took some time to tidy up the avionics box, wire up all the high current things, as well as update the firmware (video to be included). The image here is the relay board that turns on and off all the high current stuff. Again, probably should've added one more custom board to the design, and done this with solid state components, but whatever.. this has yet to be prove to me it won't work. It's also an order of magnitude cheaper, likely, than a custom job. Peep the high current amphenol connectors.


I ordered a chinese made ODrive 3.6 board (all the new ones stopped using USB and went full CAN), and it seems to work as intended so far!

The garage is back! It was previously occupied by an old roomates project car, which sort of spread all over. But now that it's vacant, the house can start to use it as a project shop. I have definitely been more productive and much happier with the free space so far.



That's all for now.. Once I finish throttle valve stuff, thrust structure/gimbal plate stuff, tank stuff, and firmware/avionics things (which are all in various completion states), I will move on to the high pressure system plumbing, propellant loading/unloading, and propulsion design. The goal for the majority of this year is propulsion design/fab/testing as well as flight software design/simulation/testing. I'd like the entire vehicle to be a flying wifi router, and have onboard HITL testing capability. The core GNC stack should not be terribly complicated for first test flights. There is much components testing to do, to understand throttle performance etc.

Here's a beautiful picture I took in Vancouver over New Years
 


Other things I should post

  • avionics box update
  • video of gimbals slewing
  • tank hystrostatic press tests
  • firmware stuff