Skip to content

Ulysses-FC_V3.0 Project Log

By gugan73715 · Last updated: October 15, 2026 · Created: September 14, 2026

Date: 13/09/2026

  • We are going for a new FC for TVR cause PCIe sucks, Very diffuclt to mount and we are not using half the things in present FC.

  • I am just going to desolder the MCU(STM32H745) from present FC and solder it on new FC. Also will share a lot of components with COTS to reduce costs.

  • Sensor Board is merged with this new FC so all the sensors will be on FC itself. Stack now is FC, backplane and ESC.

  • Added MCU Footprint to Altium library.

  • Finished MCU PWR and Debug schematics.

  • Shortlisted a few Board to Board connector, will make a decision soon.

  • Added a pin assignment doc in the wiki and started work on it.

Date: 14/09/2026

  • Firmare and Controls raised a good point that we have no way to calculate yaw (Absolute Heading), started looking into that.

  • Two main options to do it, First - Dual RTK GNSS setup and use carrier phase difference to calculate yaw, Second - More traditional method using a magnetometer to sense earth's magnetic field and calculating yaw.

  • Started discussion on NTRIP vs base receiver for RTK error data with firmware, likely going with NTRIP.

Date: 15/09/2026

  • I have decided on a Board to Board connector, BB51-84AT-1-3HB 84 Pin - 1mm pitch, keyed, only about 1.5 CAD and decent stock in LCSC. Pin Assignment mostly done as well.

  • Firmware confirmed that they are transmiting approx 3.5Kbps now and with this year's design, it may go up to 5Kbps max. So no wories there.

  • Finalized Radio specs - 915MHz, 300Kbps, GFSK-FHSS, 30dBm Transmit Power (External PA), approx 140dBm receiver senstivity, Antenna Diversity and standard 2dBi antenna.

  • 915MHz ISM band transmit power limit is 30dBm and EIRP of 36 dBm.

  • *Still need to figure FHSS details, no. of channel and bandwidth.

  • Firmware going with NTRIP and some free service for RTCM packets.

Date: 18/09/2026

  • Went down a rabbit hole and had a scare about data rates and transmit power of RFD, comparison with SX1262 and looked at alternative IC's but all good. Just was misunderstanding things.

  • Started on a high level block diagram for custom telemetry front end, will take my time with and calculate/simulate everything.

Date: 19/09/2026

  • Finished IMU schematics, going with ICM-40609-D for now. Firmware and Controls happy with it. Will confirm with shadab tomorrow

  • RTK schematic, all the config is done. RF front end yet to be finished.

  • Good progress on RF front end block diagram, need to iron out a few more high level details and then can start deepdives on each.

  • Important: fundamentally, Bias Tee L needs have sufficiently high impedence and C needs to have sufficiently low impedence at signal frequency. The SRF peak does not need to right at signal frequency or even very close to it. Bias tee L and C needs to speced so that their SRF is comfortablly above signal frequency especially L can be quite above it as L still gives good impedence at either side of SRF peak until a decent bandwidth. Remember, passive size is a big factor in parasitics. 0402 is standard for RF front cause parasitics are nice and can usually find values required. For Sub-GHz, 0603 can work as well but SPEC IT PROPERLY.

  • Going with 0603 as much as i can for RF front end, will be careful

  • After getting confused and trying a lot of combinations, finalized Bias Tee values. Schematic updated with Bias Tee.

Date: 20/09/2026

  • Added mezzanine connector (BB51-84AT-1-3HB) to altium library, unfortunately no CAD model available for socket.

  • Finished the mezzanine schematic according to the pin assignment doc, made a few changes to pin assingment just asthetic stuff.

  • Talked to alex about sensors on present FC, he agrees that sensors are pretty good nothing wrong with the hardware or model, likely driver mistake or we never tested it properly.

  • Going with BMP585 for baro, latest from bosch, Gell Filled, more than enough pressure range, should give resolution around 0.5m or so, only 3.6 CAD and good stock in LCSC. Confirmed with Shadab as well.

  • After a lot of discussions with shadab about budget and present FC, we decided that split from present FC is TVR takes the MCU's, COTS takes the BMI IMU's, all the GNSS and baro and TVR takes the ICM IMU's and TTL.

  • Added FDCAN to pin assignment for future linear actuator plan.

  • Still need to add VBAT in pin assignment.

Date: 22/09/2026

  • Added VBAT to pin assingment doc, very little pins left. May need to move things around.

  • Revised matching circuits, L / T / Pi circuits. Seems like L gives us lowest / fixed Q-factor but widest bandwidth and easiest to implement, Pi gives ability to control Q-factor with the extra capacitor and generally used for high impedence matching (>100R) and T gives the highest Q-factor, ability to control Q and narrow bandwidth, generaly used for high quality low impedence matching (<100R).

  • Important: General implementation of T will AC couple the RF line, so will not work for active antenna's or anything with bias tee.

  • Decided on L matching for everything except pi for antenna matching, Semtech seems to recommend the same.

  • Seriously misunderstood matching circuit's design process and fundamental. Kept on confusing transmission line impedence and matching circuit's. They are not same, very different theory. Very stupid mistake.

  • Important: Fundamental principal of matching circuit is that impedence of a series branch can be equal to impedence of a parallel branch at a frequency. And imagine the circuit, the impedence of series branch is just R_Source + X_SeriesElement and impedence of parallel branch is just R_Load // X_ParallelElement.

  • Q factor for reactive elements is defined as reactive power / resistance power (energy stored / energy lost). That is a key formula. Due to maximum power transfer theoram, which states that for max power transfer, they need to be conjugate matched (to cancel out reactance), math leads to |Qs| = |Qp| = |Q| with Qs = Xs / Rs and Qp = Rp / Xp. V^2/R in parallel case inverses the reactance and resistance terms. Finally Q = (R_high / R_low - 1)^0.5.

  • Important: It is not possible to design a matching circuit wihout knowing source and load resistance's.

  • Design process for L matching circuit is just calculate the Q, and use Qs and Qp formula to solve for reactance, substitute frequency to get L and C values. It will be a unique set of values.

  • Refer to "Microwave and RF Design III - Networks" in reference resources, full derivation is there and it is very good.

  • Important: Use a array of capacitors to create required matching capacitance if not standard value.

  • Interface schematic almost done

  • Flash Schematic done

Date: 23/09/2026

  • Learnt about RF PA vs gain blocks, gain blocks for ideally high impedence signals, prioritize signal conditioning over gain and they provide a max gain of about 30dB generally so suited if only a small amount of gain is needed. PA's maximise gain even at the cost of matching or signal conditioning, they are rare to find under like 10dB gain but can provide very high gain.

  • We only need like 10 to 15dB external gain as RFIC itself can do 22dB so gain block seems better choice and easy to find in LCSC.

  • Learnt about noise figure, general NF range for gain block IC's and signal chain noise figure analysis.

  • Looked through TI gain block products, decided on TRF37D73 gain block IC cause provides about 12.2dB gain at 915 MHz, noise figure of 3.25dB lowest TI offers for our use case, only 1.5 CAD and good stock in LCSC.

  • Decided on SKY13370-374LF RF Switch for Tx/Rx switch and Antenna Diversity Switch - SPDT, 50R terminated, Dual Pin control, +39dBm IP1dB, Isolation of approx 35dB @ 915MHz - very decent

  • Finished USB-C PWR schematic

  • Ken had a idea to flash the MCU over USB using STM Bootloader but david doesnt prefer that. So sticking with ST-Link and no data on USB-C.

  • Some progress on MCU Schematic.

Date 24/09/2026

  • Took day off, so all day worked on FC.

Date 26/09/2026

  • Some progress on schematics

  • Spent most of time in preperation for build day

Date 27/09/2026

  • Had a discussion with ken on all connectors on backplane, and decided on MaUWB, RFD and LA_PWM (DNP) on FC and rest on backplane and eventually on ESC.

  • Question on battery connector harness still remains undecided. Likely have to use three parallel XT60 like before until custom ESC is ready

  • Some progress on FC schematic and ioc. Getting there

Date 02/09/2026

  • Finished RFD connector schematic.

  • Read up on CAN, termination etc..

  • Going with TCAN1044 transceiver cause FDCAN, standard features, good stock and cheap in LCSC Finished CAN schematic

  • Added a high level documentation schematic as well. Did some stuff for asthetics

  • Going with MMC5983MA for mag. Same as previous FC, best i could find as well. Finished mag schematic

  • Testing planned for mag and some mu metal shielding can help

Date 03/09/2026

  • Except radio, all the schematics are done.

  • Started component placement, antenna interfernace reduction is implement by placing Radio antenna on end and GNSS antenna on the other end.

  • Had a discussion with controls on IMU placement, consenses was to place it as close to COG as possible which in this case is just COM and all three very close to each other.

  • All RF is on bottom layer for some isolation.

  • Added RF shield footprint to our library, going wiht 16mm * 16mm approx for now.

  • Updated LiDAR PCB to vertical JST as well

  • Updated mezzanine pinout to make routing easier for backplane

Date 04/09/2026

  • Had system design sync for FC and backplane, got cooked

Main suggestions are :

Sensor raw data validation

Antenna interferance was raised, 915Mhz and GNSS Antenna is placed as far way as possible for some isolation

Refer RC drones / open source designs for sensor selection, especially heading

Consider optical flow sensor for position hold (Considering for phase 2)

Add a SD card to store raw sensor data

Design freeze date for flight controller is 18/05/26

  • Some progress on radio schematic, started adding the matching network and and bias tee components

  • Made a mistake / better way to do it, realized that Samsung and Yageo both provide parasitics data for thier passives. Going to use the manufacturer parasitic's data from now on, not simsurf's. Parasitics varies wildly between manufacturers somehow. My bad.

  • Using reactance at the signal frequency in matching network calc hereafter, not pure theoritical calc. Basically calculate the required reactance and use sim data to find caps based on it

  • Played around with yageo's and samsung's sim tool, very cool. Re did all the calc with manufacturer's data and updated component values.

  • Updated matching values for RFIC RFO to gain block is 11nH and 16pF.

  • Cap for bias tee needs to be updated, target < 5 ohms for cap from now on. Updated bias tee values are 220nH and 33pF. I need to do calculations properly next time. Very stupid mistakes.

  • Added footprints for RF switch and gain block.

  • Gain block schematic is done

Date 10/09/2026

  • Finished SD-CARD schematic, added some missing bulk caps and did a schematic review. Looks okay for now

  • Finalized ioc file after consulting with david

  • A lot of soldering practice, getting better but need more practice

Date 11/09/2026

  • Almost down with component placement, quick summary is all RF (GNSS and Radio) on bottom layer, opposite corners for max seperation. All IMU centered around COG / COM and close to each other in bottom layer. Buzzer on top and mag on top as well but opposite side for max seperation. Radio SMA's 45 deg rotated to make routing easier and all SMA on top layer, vertical and THT. Everything that needs 12V is on one corner, near to mezzanine 12V, plan is to use a single polygon for 12V. CAN on bottom, cause space in bottom.

  • JST's are too bulky, so switching to picolock series. 1.5mm, 3A, Suprisingly stocked and very cheap in LCSC.

  • Jason asked a good question about load line matching, realized that RFO impedence will change based on transmit power so shoudnt it be load line matched? quick reserach suggests that ideally yes but still it is not done often cause matching to highest power still works cause below that it will have power loss but will be small and the power dependence impedence is only a part of total impedence so effiency will drop down to like 70% at lower power.

Date 12/09/2026

  • Finished high level component placement and most low level component placement

  • Do not know why but board does not look pretty at all, not like the picture i had in mind. Feels like something is missing.

  • Can shrink the board down by 5-10mm, maybe that will help

Date 13/09/2026

  • Most of fine component placement done, ready for routing.

  • Moved CAN to bottom cause need some straight space, buzzer to a corner for isolation from all sensors, Baro on corner and Mag on another for better use of space, silkscreen done with logo, GNSS Front end layout with shielding and stiching vias plus GND polygon around it in all layers and vias between the GND pads as well for shorten return path.

  • Moved a few connectors around as well

  • Looks better now, better use of space, more consistent spacing and better placement.

Date 14/09/2026

  • Reviewed yesterday's work, looks okay for now

  • Looked through open sourced designs similar to mine, especially RF front ends. Still wondering if a SAW/LNA or atleast a SAW needed for GNSS cause of radio.

  • Telemega (GNSS Transmitter) schematic is very good resource, they do use a SAW on GNSS. I am adding atleast a SAW on GNSS, still thinking if LNA is needed.

  • Decided on SAFEA1G58KA0F00R15 for SAW, made for L1/GLONASS (Faster RTK fix due to access to GLONASS satellites as well), 1.6dB insertion loss, 32dB min rejection @ 915MHz, good stock and suprisingly very cheap in LCSC.

  • Prefer QPQ1060 cause it is temperature compensated but LCSC does not stock Qorvo SAW's. Sad.