All experience

Advanced UAV Tech

Electronics Engineering Intern

Hardware EngineeringJune 2026 to August 2026

Two things came out of this internship. I designed a flight controller board from scratch, aimed at the company's move into recreational drones, and that is the first thing below. The rest of the summer went on a drone that checks warehouse pallets for damage at DHL sites, where I led a team of 5. A pilot flies it down an aisle filming the shelves, and software the team trained reads that footage back and marks which pallets are damaged. My side of that was the electronics: I sized and built the power system, wired the whole stack onto a 20 inch carbon fiber frame, tuned it until it could hold still indoors where there is no GPS to lock onto, and designed and printed landing legs when nothing off the shelf fit our motors. I also ran the project day to day and was the point of contact at DHL.

Start here · Designing a flight controller from scratch
This is the piece of work I am proudest of. The company has always been a contract shop, and leadership wanted a second line of business that did not depend on winning contracts: recreational drones, sold off a shelf.
  • →On a product made by the thousand, every dollar in the parts bill multiplies, and the flight controller is one of the priciest parts in a small drone
  • →A board you buy is built to suit everybody, with extra sensors, ports and features most pilots never use. A weekend hobby pilot pays for all of it anyway
  • →Mine carries only what the job needs: a processor, one motion sensor, a regulator, a USB port, and connections for the motors, receiver and battery
  • →Fewer parts means a smaller, cheaper board, and owning the design means the company is not tied to a supplier’s stock or roadmap
  • →Runs off USB at a desk or off the battery in the air, with a pair of diodes so the two supplies can never push current into each other
  • →The reference design used a motion sensor that has since been discontinued, so I moved to a current part that is also cheaper and smaller
Altium DesignerSTM32F405ICM-206024-Layer StackupUSB-C
Flight controller schematic divided into power, microcontroller, motion sensor, LED and startup blocks
The schematic, drawn in blocks so each piece can be read on its own: power coming in, the processor, the motion sensor, and the small stuff around them.
Four-layer flight controller layout with the processor centred and traces fanning out to the edge pads
The layout. Processor in the middle, everything it talks to kept close, and the connection pads pushed out to the edges where the wires land.
3D render of the finished flight controller board with USB-C connector and status LEDs
The 3D view, which is the last honest look at whether anything collides before the files go anywhere.
Where that board actually stands
It is not built. The design finished at the end of my internship, so right now it is a schematic and a board layout, with the full-time electrical engineers reviewing it. I expect that review to find things: it was the most complex board I had drawn, and some faults only show up on real hardware.
  • →Next: engineering review and corrections, then a small prototype run
  • →Then bench testing, because a board that looks right and a board that flies are not the same claim
  • →Then firmware, its own job: a blank processor does nothing until every pin is mapped to the motor, sensor or radio it connects to
  • →What it already settled: what a stripped-down in-house board looks like, and what it costs against buying one in
The problem
Everything from here down is the project I spent most of the summer on. Warehouses check pallets for damage by eye, one at a time, and a large DHL site holds thousands of them. We wanted to fly an aisle once and let software do the looking. I ran the meetings with DHL, so what they needed came back to the team through me.
  • →Damage gets spotted by whoever happens to walk past it
  • →Pallets are stacked well above head height, so the top rows are the hardest to check
  • →A drone can film a whole aisle, top shelf included, in a single pass
A convex safety mirror reflecting a DHL warehouse aisle lined with racking and pallets
The floor we designed around: racking down one side, loading docks down the other, and a lot of pallets to check by hand.
Prototype
We started with a drone the company already owned, one of its light-show quads. It was never going to be the final build. It was there to answer a single question.
  • →The question: how does a drone hold still indoors, where there is no GPS to lock onto?
  • →The answer: an optical flow sensor, a small downward camera and laser rangefinder that watches the floor slide past and works out how far the drone has drifted
  • →Once it was fitted and tuned the drifting stopped, and everything after this was designed around it
DJI F450Pixhawk 2.4.8MTF-01 Optical Flow
The prototype quadcopter on a desk with its flight controller mounted on top
The prototype: a light-show drone stripped back and rebuilt around a new flight controller, with the optical flow sensor tucked underneath.
The prototype holding a hover indoors, which is what told us the optical flow approach would work.
Power system
How long the drone stays up decides how much of a warehouse you can cover in one go, and that comes down to the battery. So I worked the flight time out on paper before we bought anything, rather than picking a battery and hoping.
  • →One battery feeds all four motors, the flight controller and the camera
  • →Everything runs through a board I wired up that splits that single supply out to each of them
  • →Roughly 40 soldered connections across the whole drone, every cable cut to length and heat-shrunk
4S LiPoESCsXT60Soldering
Usable chargebattery capacity, minus the fifth you never drain1.76 Ah
Weightframe, motors, props, battery, camera and wiring≈1.34 kg
Draw in a hoverroughly 10 A per kilogram of drone≈13.4 A
Flight timecharge ÷ draw, in minutes≈7.9 min

An estimate, not a measurement. The drone was never put on a scale and never flown down to empty, so treat it as the ballpark it is. The last fifth of the battery is off limits because draining a pack that far damages it.

Top-down view of the drone showing the power distribution board and the four motor controllers on the arms
Top-down on the power board: one motor controller zip-tied to each arm, battery lead into the middle, optical flow sensor at the nose.
The drone mid-rebuild on a workbench with helping hands and custom heat-shrunk cables
Mid-rebuild on the bench, with every cable cut to length and heat-shrunk.
Final airframe
The prototype could not carry everything we needed, so we moved onto a bigger 20 inch carbon fiber frame. I assembled and wired this one myself, and designed the parts that did not exist off the shelf.
  • →A better flight controller than the prototype had, with the optical flow sensor mounted underneath
  • →No landing leg on the market fitted our combination of motors and frame, so I modelled our own around the real parts and printed them
  • →They are hollowed out in a hex pattern to save weight without going floppy, and they are the legs holding the drone up in the photos below
  • →Then tuned until it held still indoors
Carbon Fiber FramePixhawk V6XOnshape3D Printing
CAD model of the custom landing leg, showing the motor mounting flange and hex cutouts
The landing leg in CAD, modelled around the real motors and frame rather than a guess at them.
The finished carbon fiber quadcopter on a desk with its flight controller and GPS mounted
The finished airframe, standing on the printed legs.
The finished drone hovering above a rooftop against an overcast sky
Hover testing off the roof, on the same tune it flew indoors.
Flying it
A pilot flew the drone down the aisle and filmed the racking. That sounds like the easy part, but it was the part everything downstream depended on.
  • →If the drone drifts or wobbles, the video blurs
  • →A blurred frame is a pallet the software cannot read
PID Tuning
The final build in flight.
Getting the footage off the drone
The footage came off the drone live. It carried a tiny camera and transmitter, and the picture arrived on a laptop while the drone was still in the air.
  • →Camera and transmitter in one part, 4.7 g and about the size of a thumbnail
  • →It beams to a receiver plugged into a laptop, which records the feed
  • →That recording is what gets fed through the software afterwards
FPVOBSVideo Capture
The drone in the air, with its camera feed coming through live in OBS on the laptop.
Teaching it to recognise a damaged pallet
Before software can spot damage, someone has to show it thousands of examples. We labelled every training photo by hand, drawing a shape around each pallet and tagging it twice: damaged or not, and stacked flat or in a pyramid.
  • →Both tags sit on the same pallet, which would have the model draw two boxes around every one it finds
  • →So we trained it on the damage tags alone, and saved the stacking question for a later step
Roboflow
Detector output on a warehouse photo, with boxes labelled damaged and undamaged
Output on a test photo: one box per pallet, each with its verdict and how confident the model is.
Training the models
Three models chained together. The first finds the pallets, and the other two look at each pallet it found: one says whether it is damaged, the other whether it is stacked flat or in a pyramid.
  • →Damaged pallets are rare in the training photos, so the damage model is deliberately tuned to over-report
  • →Missing a broken pallet costs a lot more than sending someone to double-check a good one
YOLO11UltralyticsJupyter
Finding palletsscore on photos it had never seen0.88
Flat or pyramidhow often it got the stacking right0.86
Damaged or notoverall / damaged ones caught0.82 / 0.80
Notebook cell training the pallet detector, with its score printed after each pass
Training the pallet detector, with its score climbing pass over pass.
Confusion matrix for the orientation classifier, showing 55 of 64 test crops correct
Marking the stacking model against photos it had never seen: 55 of 64 correct, 85.9%.
DroneScan, the app clients actually use
None of it is worth much if a warehouse manager cannot run it, so the team wrapped the whole pipeline in an app called DroneScan. You hand it the footage from a flight and it hands back a report.
  • →Drop in photos or a whole video, and it pulls the frames out for you
  • →Every pallet comes back outlined, marked damaged or clear, with a confidence score
  • →Filter a long list down to just the damaged ones
ReactFastAPIPythonDocker
The DroneScan web app showing an upload queue with annotated inspection results
The inspection queue: batch upload, a verdict per file, and annotated results you can open full screen.
Austin Zhai