Jump to content

Attention: RC-CAM.com will be closing down August 2021.

The RC-Cam.com forum was the very first online community dedicated to the advancement of wireless video cameras on radio controlled (R/C) models. This is now called "FPV" (First Person View). We are proud of the contributions that our members have made to the FPV hobby.

We've seen significant changes over the last twenty years. Initially there were a lot of eager R/C hobbyist that built their own video systems. Allowing these creative individuals to share their work was the purpose of this site. Now the FPV market is flooded with low cost systems; Sadly DiY FPV video projects are now rarely discussed.

RC-CAM.com (main site and forum) will be closing down August 2021. This is being announced now (March 2021) so that everyone has time to download any information that is important to them. After the site is shutdown the information will no longer be available here.

We appreciate every member's involvement with advancing the FPV hobby. It is indeed sad to say goodbye to all our online friends. Be safe and stay healthy.

3D Printed DJI Inspired Quadcopter

Recommended Posts

I purchased some low cost plans ($7 USD) for a DiY 3D printable Quadcopter that was inspired by the DJI Inspire. It has a motorized arm transformation (retract) feature too.

Plans are available here:

EDIT MAY-02-2016: The rchobbysuk site is now dead (404 error). But revised community designed plans are now available for free:


EDIT May-11-2015: Custom 3D printed parts I created are available at no charge (but you'll need the file set from rchobbysuk). My downloads start here:

A very lively discussion on user builds is found here:

Just so that you can see what I'm trying to duplicate, here's a CAD rendered image from the rchobbysuk web site:



Here's the status of my printed parts (after 150+ hours of printing):



EDIT / May-05-2015: It Flies! See post #32 for short video.

Here's a beauty shot of the finished model.


Edited by Mr.RC-Cam
rchobbyuk link now dead.
Link to post
Share on other sites
  • 2 weeks later...
  • Replies 87
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Sounds good. All that you need to do is publish build instructions for a DiY audience that has experience with delicate soldering and flashing Arduinos, plus can read basic schemati

I'm adding Luxeon / Epistar LED's at each motor location for lighting. Those LED's are blinding bright! So a couple hours with the CAD program resulted in some lightweight housings that did the trick.

This Quadcopter has a arm retract transforming feature that is similar to the DJI Inspire. It uses a standard hobby servo that has been modified for continuous rotation. But their RPM is too slow and

Posted Images

The discussion over at rcgroups has a lot of interesting ideas on improving this DiY model. I definitely agree with the other builders that useful space for installing the electronics and flight battery is a sore point in the layout. It is going to be a challenge to get all the electronic components in it without a wiring mess.

Despite a couple dozen excited builders going at it, as yet I haven't seen anyone finish their 3D printed Quad. For sure, this model's design is a works-in-progress. For those of you that are interesting in building one, I strongly recommend waiting a couple more months for useful design improvements from the user community.

Because the conversations at rcgroups cover a lot of ground (and a LOT of ideas), I thought I would blog about my build efforts over here. As things progress I will come back and post remarks about the customizations I've added. Plus there will be photos. So on with the show!

Link to post
Share on other sites

One of the early issues was to find a place to install the four ESC's. Space is at a premium in the canopy and I didn't want to use slim ESC modules that would fit inside the carbon boom tubes (heard too many failure stories). So the workaround was to design some ESC housings and 3D print them. Using Autodesk's 123Design CAD program this is what I came up with:

3D CAD rendering of the new ESC box.


The ESC module is a snug fit.


Left side shows a motor mount with the new ESC box, right side is old layout without the ESC box.


Link to post
Share on other sites

I'm adding Luxeon / Epistar LED's at each motor location for lighting. Those LED's are blinding bright! So a couple hours with the CAD program resulted in some lightweight housings that did the trick.

3D CAD Rendering:


Printed Part (four are needed):


LED housing snaps onto the Motor Mount, no fasteners needed:


  • Like 1
Link to post
Share on other sites

A pair of bright white LED's are positioned under the model for a programmable strobe light feature. This required modifying a canopy CAD file, as summarized below.

The bottom canopy cover is 4mm thick and the LED's are only 2mm thick. So the canopy cover was modified to make room for two 3-Watt Epistar LED's. After subtracting some material in the shape of the LED perimeters, they now mount flush within the plastic shell.

Modified bottom canopy cover, fresh out of the 3D Printer:


LED's installed. All this messy stuff will be hidden after the canopy cover is installed on the bottom of the frame:


Here's a photo that shows how the Strobe LEDs will look when the bottom canopy is installed:


Link to post
Share on other sites

This Quadcopter has a arm retract transforming feature that is similar to the DJI Inspire. It uses a standard hobby servo that has been modified for continuous rotation. But their RPM is too slow and the retract movement takes a very long time. I wanted the arm transformation to occur in less than 10 seconds.

A small 12V gear motor was ordered from China. The custom motor mount for it was designed and 3D Printed in ABS. The overall weight of the motor and housing is about 1/2 the standard R/C servo that it replaces.

Preliminary tests suggest that the gear motor idea will solve the slow servo problem. Retract time is under 10 seconds, which meets my needs. But a custom motor controller will be needed, another thing for the to-do list.

3D CAD Rendering:


3D Printed Mount, shown next to gear motor.


Installed in Quadcopter:


EDIT #1: This part has been redesigned, see post #9.

EDIT #2: This part is no longer used, see post #27.

Edited by Mr.RC-Cam
Part no longer used
  • Like 1
Link to post
Share on other sites

An Arduino Pro Mini CPU will control the retract movement and LED lighting. After hunting for a place to mount the Arduino, some free space was found at the nose area, directly in front of the bearing mount. There is also enough room there to include one of the two LED driver boards the lighting will need.

A 3D printed mounting bracket was created using Autodesk 123D Design. It has an area for the Arduino and one LED driver. Here is a 3D rendering:


The Arduino will connect to the RC receiver for controlling the retract and LED's. Here's a photo of the freshly printed plastic mounting bracket:


The Arduino Mounting bracket is installed in front of the bearing at the nose area. The Arduino board is held in place with a zip tie.


The LED driver is mounted on the back of the Arduino's plastic bracket:


  • Like 1
Link to post
Share on other sites

There's a second LED driver board that needs to be mounted somewhere. Behind the rear bearing block there is a shelf on the Frame for the R/C Rx. So the shelf area was redesigned to hold the LED driver board.

Here is a 3D CAD rendering of the new Frame Rx Shelf:


The new vertical structure added only 5 grams to the 3D printed part's overall weight. There is still room for a full size R/C Rx. But this model will be using a tiny FrSky D4FR-II so there's plenty of space for it. Here's a photo of the Rx, which is held in place with a zip tie:


The LED Driver board fits in a rear pocket on the new Frame Rx shelf. A zip lock wire tie will hold the board in place:


EDIT: The Frame Rx Shelf has changed. Please see post #14


Edited by Mr.RC-Cam
Frame Rx Shelf has changed
Link to post
Share on other sites

There is a small motor driver (H-Bridge amp) board for the retract motor that needs to be mounted someplace. There's plenty of room on the retract motor mount for it, so it was redesigned. On the new version the motor driver board slides into a pocket. After all the wiring is finished a dab of rubber adhesive will hold the board to the plastic mount.

3D rendering of the new retract motor mount:


The motor driver board's size is apparent here:


A final photo that shows the motor driver board installed:


EDIT #1: This part has changed, see post #12.

EDIT #2: This part is no longer used, see post #27.

Edited by Mr.RC-Cam
Added note about no longer used.
Link to post
Share on other sites

The transforming retract feature uses two leaf switches for detecting the up and down travel limits. The switches are installed on the top and bottom sides of the moving worm drive block, which is the mechanism that uses a servo and threaded rod to lift the model's arms. The worm drive block and one of the switches is shown below.


The rchobbyuk site sells a Arduino CPU board that interfaces to the switches to provide lift control to the 360 continuous rotation R/C servo. Their software is not open source so you must purchase the Arduino board with the pre-flashed firmware. However, it occurred to me that this Arduino could be eliminated by adding a couple diodes to the switches. This simple trick works well, but to use it you have to hack the R/C servo. You'll need a 360 rotation servo, so I suspect you will be inside it to modify it for 360 operation anyways; The extra work to use the diodes is trivial.


Here is the full schematic: Schematic_Limit_Sw.pdf

Parts List:
1 each, 360 degree continuous rotation servo
2 each, SPDT limit switches
2 each, Diodes. See schematic for recommendations.

360 Servo Info:
There are online instructions on how to hack a standard R/C servo for 360 travel, or you can buy one ready-to-go from a variety of sources.

Micro Limit Switch Info:
You'll need two micro snap-action switches similar to what you see here:

Build notes:
1. Pay attention to the diode polarity. The Limit Switches use their NC and COM pins (the NO pin is unused).

2. One of the motor leads will need to be cut. Some R/C servos are built with the motor connections directly soldered to the amp board without wires. If yours is like this then you'll have to cut away the copper from one of the solder pads to isolate it from the motor.

Just install the 360 servo on a spare R/C channel that is controlled by a 2-position switch. But **before** connecting the threaded lifting rod to the servo you need to test things out. Do not skip these test steps!

1. Ensure that the limit switch assigned to the upward position stops upward movement. Reverse the servo travel (flip the R/C controller's switch) and test the lower limit switch.

2. There's a 50-50 chance that you have the circuit hooked correctly to the motor. If it's not working then reverse the circuit's two wires going to the motor. Also double-check your diode and switch connections.

3. If you need to change the Up/Down direction of the servo then you would do that with the radio's Reverse Mix feature. Do not change any wiring to do this!

Link to post
Share on other sites

I admire the simplicity of the mechanical limit switches and the diode trickery. But I'm not using a R/C servo to operate the retract feature (it will be a DC gear motor). And there's some bright LEDs to blink too. So there will be an Arduino in this model to handle these dirty deeds. The firmware needs to be written, yet another thing on the to-do list.

And while I'm at it, I'll be ditching the mechanical limit switches and using two Hall Effect Sensors instead. These are tiny 3-pin components that can sense a nearby magnet. Fortunately they interface to an Arduino CPU without any fuss. The Hall Effect Sensors are part number A3144. Several eBay sellers have them at low cost.

For convenience I soldered the Hall Effect sensors to some scrap PCB material. Although not necessary, it provides a rigid place to attach the wires.


The sensors do not mount on the moving worm drive block like the original switches. Instead they mount on the frame, which eliminates the loose wiring to the lifting mechanism. There's only a tiny magnet that is installed on the worm block.

Some experimentation was needed to determine the best location for the Hall Effect sensors. So an LED was wired to each sensor. With a 5V source for power, it was a piece of cake to find the optimum location for the moving magnet and the two frame mounted sensors. Here's the temporary LED test jig that was plugged into the sensors. When the magnet on the worm drive is near the sensor its corresponding LED lights up.


Some 2mm diameter (1mm thick) rare earth magnets were installed on the worm drive block. There are actually two of these magnets. The first one is recessed (flush mounted) in the plastic worm drive. The second magnet is on top of it and held with epoxy. This double stacked combination was the best configuration for the limit detection sensors in my installation. Here's where the stacked magnets are located on the worm drive:


A new plastic part was created using Autodesk 123D that provided mounting locations for the Hall Effect Sensors. Here is a 3D rendering of the sensor tower:


Here's a view of the wired sensor tower with the two Hall Effect sensors:


The sensor tower was glued to the lower frame. It is ABS plastic, so the adhesive is just some acetone. Here's how it looks after the final installation.


  • Like 1
Link to post
Share on other sites

A high current Power Distribution Board (PDB) is used to connect the four ESC's and battery. There wasn't enough space for my 45mm square PDB. But after cutting the board in half with a hacksaw I got it to fit behind the retract motor, which is an ideal mounting place for it. This required another revision of the Arm Retract Motor Mount; A cactus tree shaped footing was added for holding the PDB.

This photo shows the hacksaw cuts on the DPB, as well as the cactus tree shaped footing that was added to the retract motor mount:


Here's a 3D rendering of the latest retract motor mount that can also hold the PDB:


The PDB will be installed as shown in this photo. The round silver pads are where the high current wires will be soldered:


Here's a photo of the PDB after the wiring has been soldered to it (the Vector PSU module shown here is discussed in the next post):


EDIT: The gear motor is no longer used and the PDB is now mounted in a different location, see post #27.

Edited by Mr.RC-Cam
Gear motor no longer used.
Link to post
Share on other sites

The flight controller will be EagleTree's Vector. It has a small power supply module (PSU) that needs to be installed near the flight battery. Fortunately it fits inside the Framework Strengthener piece which is directly behind the PDB (and in front of the battery area). Here's where it will go:



By the way, the original Framework Strengthener piece was too weak. A new version was created that is more robust.



Latest Status: There's a couple more electronic goodies to mount before moving on to the wiring. The Arduino coding (for controlling the retract motor and LED's) has begun too. Still a lot to do before this thing is in the air.

Link to post
Share on other sites

The Vector Flight Controller's main module didn't fit anywhere in the available space. The best thing to do was to stretch the Frame Rx Shelf piece. So that part was modified again.

Here is a 3D rendering:


Here's what the printed part looks like. There's now plenty of room for the Vector module. Plus there's a mounting area for the LED driver board.


This photo shows the new Rx shelf installed in the frame:


Here is where the Vector Flight Controller will be located. The R/C receiver (not shown) will be mounted on the bottom side of the shelf.


EDIT May-06-2015: The Framework Rx shelf has been redesigned and the Vector was moved to a different locations. See post #34.

Edited by Mr.RC-Cam
Added note that Rx Shelf / Vector have changed
  • Like 1
Link to post
Share on other sites

After several late night coffee infused sessions, the Arduino firmware is nearly complete. It handles the Retract motor, Navigation LED's and the Tail Strobe LED. Rather than quickly crank out a basic feature set, extra time was devoted to adding features that could be re-used with other multi-rotor models that have retracts.

There are some off-the shelf modules that are needed, as seen in the photo. Everything is low cost and available from multiple eBay sellers.


Here's a summery of the bits (with eBay $USD cost estimates):

Optical Distance Sensor: Optional, measures distance to ground for automatic retract operation. ($15.)

Motor H-Bridge Driver: Controls the direction and speed of the retract motor. ($5.)

LED Driver: Controls the brightness (256 levels) and On/Off states for the 1W LED's. ($4.)

Arduino Pro Mini: A very popular hobby CPU board. ($5.)

Here is a summary of some notable tricks the Retract Controller can do.

1. Flexible R/C Radio Toggle Switch operation: 2-Position, 3-Position, or Momentary spring return.

2. Optional Optical Sensor measures distance to ground to automatically control retracts. Has toggle switch over-ride.

3. R/C Rx interface: Standard Servo input or PPM-SUM (CPPM).

4. Motor Control: Gear Motor voltage is ramped to reduce gear train stress on startup. 10-bit speed resolution.

5. Servo Control: Can use 360 continuous servo instead of Gear Motor.

6. Strobe LED: Periodic double wink during flight. Displays special blink patterns during up / down retract travel.

7. Navigation LED: Winks every few seconds for high visibility.

8. Various features and operational characteristics are user configurable.

9. Only 4K code space used (32K available). Plenty of room to add your own custom coded features.

If there is sufficient interest I can release the schematics and source code files after everything has been validated (test flown). The STL files for the customized 3D printed parts will be posted too.

EDIT / COMMENT: The small gear motor shown in the photo was not used (too fragile). My final retract design uses a high torque servo that was modified for 360 operation. The servo's circuit board was replaced with the H-Bridge driver shown above too. Works great!

Edited by Mr.RC-Cam
Small gear motor was changed to modified servo.
Link to post
Share on other sites

The ESC's are ZTW Spider 40A Opto series. They are factory loaded with a variation of SimonK firmware. So the next task was getting them converted to BLHeli firmware. This was my first experience flashing with BLHeli and it was an interesting journey.

After downloading the BLHeli software suite I found there was a variety of hardware interfaces I could buy or build to flash the firmware. I decided to use the ATMEL ISP Interface method using an Arduino MEGA2560 board I already had. Here's the steps I took to get the job done.

1. Reviewed the compatibility list and found that my ESCs would use BLHeli's BLUE SERIES 30A firmware.

2. Created a 6-wire cable to connect the MEGA 2560 to the ESC. This was simply 6 bare wires soldered to a 2x4 header connector.

3. Soldered the 6 bare wires to the CPU in the ESC. The BLHeli documentation explains where the wires will go.

4. Used BLHeli Suite and flashed the Arduino with the "Make ArduinoISP Programmer" code. That turns the MEGA2560 into an ISP type programmer.

5. Selected the ATMEL ISP Interface in the BLHeli BESC Setup screen. Set the Com Port to match the Arduino's USB port number.

6. Pressed the FLASH BLHeli button, selected the BLUE SERIES 30A firmware (with bootloader), and flashed the ESC.

7. Repeat 3 more times, until all 4 ESC's were flashed with BLHeli.

Here's a photo of a Spider 40A Opto ESC connected to the Arduino MEGA2560 before flashing the BLHeli firmware.


Here's the ESC's after they were all loaded with BLHeli. Only a bit of heatshrink was removed to solder the six temporary wires. New heatshrink will be installed later (it is needed to hold the heatsink in place).


I also built the "1-Wire interface" cable using the schematic in the BLHeli documentation. It is just a resistor and diode, plus a common USB serial interface board. It works with BLHeli's boot loader feature and eliminates using the MEGA2560 and all those temporary soldered wires. In the future the updates will be performed through the ESC's R/C servo cable. Thank goodness!

Link to post
Share on other sites

The ESC wiring was changed to longer lengths. The 16AWG silicone battery wires are now 20 inches long and the servo cable is 28 inches. The brushless motor wires will be directly soldered to the ESC, so the ESC's factory installed motor wires were removed. New protective heatshrink was installed too.


Link to post
Share on other sites

Installing the brushless motors required a detour around another problem. I found that the screw holes for the motor did not match up with plastic motor mount's holes. So the 3D printer was back online extruding more ABS for four newly revised motor mounts.

Fixing this issue provided the opportunity to improve some other things too. For example the new motor mount's housing routes the three wires from the brushless motor into a new topside hole that does a fantastic job of hiding the wires. The new hole also works well with the LED housing discussed in Post #4 since the LED blocks the original motor wiring hole. Killed two birds with that stone.

Here's a 3D rendering that shows the revised screw pattern for mounting the motor and the new hole for the motor wires:


Here's what it all looks like with the motor, ESC, and LED wiring in place:


The ZTW Spider 40A ESC fits nicely inside the custom ESC Housing. That piece is discussed in Post #3.

Link to post
Share on other sites

The retract arms are assembled and will be wired to the PDB after some finishing touches are finalized. It is so much easier working on this thing when the arms are off the frame, so I don't want to rush into installing them.

The Optical Distance sensor was installed on the bottom of the frame. Originally I was going to put the FPV video transmitter (vTx) in that location but have decided to mount the vTx elsewhere. BTW, the R/C Receiver (not shown) will mount directly in front of the sensor in the open space. Here's a photo of the installed sensor:


The FPV vTx was mounted on the side of the frame using a custom designed bracket. The bracket snaps on the existing 5mm carbon rod frame stiffener and is held with two zip wire ties.

Here's a 3D rendering of the FPV vTX bracket:


Here's where the vTx bracket goes on the frame:


The vTx is installed with some zip wire ties. A couple of the zip ties provide strain relief to the under-hanging CP antenna's SMA connector and coax feedline. That simple trick prevents vTx connector breakage caused by antenna strikes.


Apr-23-2015 EDIT: The FPV vTx bracket has been moved to the right side. See post #26 for details.

May-09-2015 EDIT: The FPV vTx has moved to the Receiver Shelf so this bracket is no longer used. See post #34 for details.

Edited by Mr.RC-Cam
FPV vTx has been moved.
Link to post
Share on other sites

Working on this model is a bit like playing the whack-a-mole game. As soon as one problem is solved another one appears. But it is a DiY project, so it's a matter of hammering down the critters whenever they pop up.

The latest surprise was finding that there was not enough room in the canopy nose for any of my FPV cameras. There's a big hole for the lens, but little room for a camera. So back to the CAD program. The nose was extended 16mm.

I have a variety of FPV cameras with case sizes ranging from 20mm up to 36mm square. With some shape tweaks I found that there was enough room for the 36mm FPV camera so the revised nose was designed for it (which leaves plenty of room for those other sizes). This is the camera: PZ0420H. The camera is press-fit into the nose and it is tight enough that I do not expect to need any screws to hold it there.

Here is the 3D rendering of the new extended canopy nose:


The camera lens protrudes out the front. To protect it a small plastic part was designed that is glued onto the nose. Here is the rendering of the Lens Protector:


A lens dust cover accessory was also created. It is held over the Lens Protector by 4mm diameter (x1.5mm high) rare earth magnets. There's a hole for a "Remove Before Flight" flag ribbon. Here is the 3D rendering of the Lens Dust Cover:


Here are the printed parts. I ran out of white filament, so to check the new parts I printed with black:




Link to post
Share on other sites

The Vector Flight Controller has a small GPS/Compass module (puck). For best performance it needs to be mounted away from the Quad's high current wiring and metal parts. It includes a tall stand to do that, but a custom mount was created instead.

Here's what the Vector GPS looks like:


Here's a 3D rendering of the custom GPS Mount:


The shape was too complex to reliably print in one piece on my 3D printer. So it was printed in two parts and then glued together.

It mounts to the model using two existing canopy screws. An 8mm hole is drilled in the canopy for the GPS cable (so that the GPS wiring is hidden from view). Here is a photo of the GPS stand (with GPS module) after it was installed on the model:


Link to post
Share on other sites

There was a report that the boom mounted pushrod linkage (horn) that swivels the motor arms is too weak. And because it is one-piece, replacement requires significant tear-down to replace it. To avoid these problem it was redesigned into a stronger two-piece part.

Here is a 3D rendering of the new Boom Support Linkage:


Here is a side by side comparison of old versus new:


It needs to be strong so it was printed with a high amount of infill and thick shells. Installing each link requires two M3 x 28 socket cap screws and lock nuts. Although it is a tight clamp fit, a drop of CA or epoxy is used to secure it to the carbon boom. It needs to be removable, so a little adhesive is better than a lot.


On the other side of the T-shaped arm joint is a plastic Stop Ring. The original design was one-piece that required drilling a hole in the carbon tube for a retaining screw. A new two-piece Stop Ring was designed that eliminates the drilled hole.

Here is a 3D rendering:


The new stop ring clamps on, so that is why no holes are needed in the carbon tube. It has a locking clasp on one side and it is locked onto the carbon tube with a M3x20 button head screw & lock nut. It is a tight clamp fit, so no adhesive will be used.

Here is a comparison photo of the old versus new stop ring:



Edited by Mr.RC-Cam
Added stop ring
  • Like 1
Link to post
Share on other sites

Thank you for the feedback!

The connectors for the ESC's finally arrived. They are for the ESC's battery wires to allow removing the arms for repairs. Instead of those horribly unreliable banana type bullet connectors I used Castle Creations' 4mm high-current bullets. If you decide to use these then keep in mind that they are sold in packages of three and eight pieces are needed.

To help solder the female bullets to the PDB's pigtail wires, a simple jig was created using a block of wood and some finish nails:


Here's the female connectors after soldering them to the PDB's 14 AWG silicone wires:


Here's a photo that shows the male connectors that were installed on the ESC's battery wires. It shows the wiring for two ESC's on the left arm:


All of the wiring will be covered in plastic "snake skin" mesh for a clean look. But that will come last after everything is tested.

Link to post
Share on other sites

Awesome work. I am just getting into quad copters and 3d printing So this will be one of my first projects. I've purchased the stl files and am gathering the parts to get started. I've been away from the heli stuff for a few years and these new electronics are amazing and a new learning experience for me.

Edited by Rcfiddy1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...