Assembly instructions for remote controlled Mini-Dalek
Chris Adams 2026

There is a lot of info here, not necessarily in order.
Frequent updates...check back often!
last revision 03/14/2026
updated 05/21/2025 - esp32-ps3 update
updated 06/24/2025 - front caster specs
updated 06/28/2025 - capacitor update hack
updated 08/27/2025 - new purple PC board
updated 10/28/2025 - final outer body assembly
updated 12/02/2025 - Speed and volume controls
updated 12/08/2025 - Schematic updated to show C1, power connections and speed control pot
updated 02/01/2026 - core speaker and servo mount
updated 03/05/2026 - sketch update new sound file - pivot/turn in place fixes. servo fix
updated 03/14/2026 - The "FrankenFender" - Frank Krug's astounding new improved base for the Mini-Dalek
Most of these parts are available from AliExpress, EBay and possibly Amazon.
Parts List
1 - ESP32 development board (30 pin WROOM-32 version)
Make sure that you order an ESP32 with this pinout!

1 – DFplayer mini
(You might have problems with DFplayer clones marked "MP3-TF-16P". Be sure "DFplayer Mini" is printed on the unit that you order.)

1 – TB6612FNG dual motor driver
2.5V to 13.5V motor supply

1 – 2N3904 NPN transistor
1 – 1N5817 diode
2 – 82 ohm resistors [R2,R3 earlights]
1 – 330 ohm resistor [R1 gunlight]
1 – 1.2K resistor [R4]
1 - 1000uf capacitor [C1](rated at least 10 volts, see Hack #3 below for black or yellow PC boards)
1 – 100K pot [volume] (100K or greater 200K,250K,1meg)
Panel mount pot installed on the battery deck is recommended!! (use 3pin header on PC board)
Board mounted trimmer will work, but very difficult to access
1 – 100K pot [speed] (100K or greater 200K,250K,1meg)
Panel mount pot installed on the battery deck or wherever it's convenient
2 – LEDs for earlights White or Blue (for other colors, use 150 ohm for R2 and R3)
1 – LED for gunlight (any color other than white or blue, we don’t want to overload ESP chip)
1 – MicroSD card (32GB or less, you’ll probably only use a couple hundred Megs. I'm using 2GB cards)
1 – Speaker (any tiny speaker will do, mine was 2 in, 1 inch would be adequate 4 to 8 ohms)
2 – pushbutton switches N.O. SPST 4 pin (you could any style buttons if you connect by wire)

Pin connectors (colors are optional, black is most common)
Also known as 2.54mm Male Pin Header
2 pin [GunLED] blue
4 pin [EarLED] green
4 pin [motor power] red (pin 2 removed)(J17)
4 pin [5 volt supply] red (pin 3 removed)(J21)
4 pin [motors] black (J16)
3 pin [speaker] white
3 pin [servo] black
2 pin [J14] black
2 pin [power switch] yellow
I had to make extension cables to be able to plug ear and gun LEDs in without removing battery deck. Include the following:
2 pin [GunLED extender] blue
4 pin [EarLED extender] green
These will easily break apart to desired size

Don’t solder connectors in holes with “X” in label.
These and the pin grids(1-7,A-H) will possibly be used for future upgrades
Like dome rotation…
DuPont 2.5mm female cables
2 pin [GunLED]
2 pin [EarLED]
4 pin [motor power] (pin 2 hole filled)(J17)
2 pin [motor1]
2 pin [motor2]
3 pin [speaker] (2 pin will work)
4 pin [5volt supply] (pin 3 hole filled)(J21) - Some PC boards have 5 holes, see notes below
I had to make extension cables to be able to plug ear and gun LEDs in without removing battery deck. Include the following cables:
2 pin [GunLED extender]
4 pin [EarLED extender]
2 pin [PB-1 Pushbutton extender] optional
2 pin [PB-2 Pushbutton extender] optional
2 pin [J14 Jumper/Switch extender] optional

You can use an Xacto knife or very small screwdriver to release pins if you want to change the color order.

3 pin servo or RC cables are easy to find at most hobby shops. I usually snip and save the cables from bad servos.
It's possible to glue most of these together with a drop of plastic cement. You can probably slice or saw off extra positions too.
Regular Testors model cement worked for me, MEK doesn't seem to hold

To fill a pin hole, I snipped a small zip-tie and forced it in the hole.
Epoxy also works.

Sockets (Female 2.54mm pitch 40Pin Header Socket Single Row Connector Strip)
For sockets to hold ESP32, dfPlayer and motor driver I use these header strips.

Cut to size, for 8 pin length, pull out 9th pin with needle-nose. Score both sides with knife and snap apart.
Standoffs (to support the PC board and battery decks)

I used 4 #6-32 x 4 inch toggle bolt screws with a handful of 6-32 nuts on the first miniDalek
Now I'm printing these for 6-32 screws or threaded rod.
STL file: standoff_6-32.zip

I prefer using threaded standoffs to mount the PC board to the deck. I you don't have any available, try these and use 6-32 screws.
6mm & 10mm included - STL file: standoff_6-32.zip
Power
We need 2 supplies, 6 to 7.2 volts for motors, 5 volts for electronics
Some builders are using 1 rechargeable 6 volt or 7.2 volt battery pack with a separate 5v regulator (Pololu D36V28F5 or similar) for the electronics.
Better results were reported from regulators/buck converters with fixed 5 volt output rather than variable output.
I suggest putting a color dots of paint or nail polish on your PC board that match the wire colors to avoid plugging power polarity in wrong and burning up things.
5 volt power connection
J21 - 5 volts

For the electronics, I used a small USB charging brick (2Amp or 2000ma minimum).
Make sure that power brick that you choose turns on automatically when connected and you don't need to press a power button on the brick. (most are automatic)
If you are using a USB power brick, you will need to make a cable from your 5 volt supply to the 4 pin connector.
The blue wire in this picture is not connected and ends under black shrink tubing.
I cut an old USB cable and spliced it to a 4 pin female cable. Negative to pin 1. Positive to pin 4.
Plug or glue hole in pin 3. I used a dab of epoxy and pressed it in the hole with a popsicle stick. Tape over the other pin holes and side hole of pin 4 first so you don't glue the others shut. I left the unconnected wire in pin 2 for strength and a tighter connection.

If your board has 5 holes at a connector J21, skip the hole at pin 1(marked - minus). Solder in a 4 pin header with pin 3 removed.
Bridge the traces of the missing pin 1 and first connector pin on the bottom of board with solder and maybe a bit of wire.
Motor Power connection
J17 - 6 to 7.2 volts

Be careful, do not connect this to the 5 volt pins!
For the motors, we need close to six volts. I am using 5 AA rechargeable NiMH cells housed in a 4 battery and a single battery holder connected in series. This connects to J14, a 4 pin connector labeled M+ M- .
Pin 1 – Negative
Pin 2 – no connection
Pin 3 – key (file the hole with a plug or glue)
Pin 4 – Positive

If you use AA batteries, I recommend mounting the battery holders with double-stick tape. Screws tend hold the batteries up and may nick the battery casing.

Alkaline batteries not recommended. If you do use them, only use 4 alkaline AA batteries. Five will exceed our 6 volt limit.
5 AA rechargeable NiMH batteries will work much better.
Drive Motors
2 - Yellow “TT” gear motors 1:48 (blue 1:90 “TT” motors not supported yet)
(single shaft if possible or saw off inner shaft so motors can sit close together)
Maybe order a screw kit also, long skinny metric screws maybe hard to find
2 - M3 x 60mm screws with nuts (55mm will work) you will have to trim the screws
I ordered a 1 meter piece of M3 threaded rod from Grainger for less than $2.00, cut it with a hacksaw and filed the ends.
It was waiting at the will-call counter in one day. https://www.grainger.com/product/25DM23
If you are local, I will share some of mine.

2 – “TT” Wheels
diameter approx. 64-68mm


Make sure the wheels are mounted on the same side of the motor as the wire. If you can't do this, remove the plastic clip, pull the motor out and put it back in with the wires on the wheel side.


Put a zip tie around the motor to prevent wires from breaking off.
Swivel Caster
I got mine from Ali Express
Name: Good Home Hardware Store
Store no.: 1103286317
https://a.aliexpress.com/_msXymo7
It's really small, you won't find this at you local hardware store!

Joystick Controller
We are using a Sony PS3 Move Controller. Check EBAY or GameStop. This is a rechargeable Bluetooth controller. It charges with a special PS3 charger or you can connect to a PC/laptop with a USB cable. You can NOT charge it with a phone charger.
According to the documentation, a regular PS3 wireless controller will also work.

A Wii strap is a good idea
Adapt this project to a larger Dalek, droid or robot
You can replace the TB6612FNG motor driver with an XY-160F heavier duty 7 amp 120 watt motor driver.
I am now using Arduino IDE v2.3.6. If you are using an earlier 1.x version of Arduino, you can install the newer version and your old 1.x IDE will remain usable. The icon for the new version will be square.

It can take a while to install the new IDE. When you first run it, many more files will download. You may have to allow some programs to run with the filewall when prompted.
Important Update Required! 05/21/2025
Recent updates to the Arduino 2.X.X IDE have broken the ESP32-PS3 library. Fortunately there is a fix.
eyr1n from Japan has submitted a github link with the update.
or you can do this:
a. Open File Explorer and browse to DOCUMENTS-->ARDUINO-->LIBRARIES-->PS3_Controller_Host-->SRC
b. Rename ps3.c to ps3.old
c. Download this file and drop it in the SRC folder: ps3.c
Current Arduino sketch for ESP-32
Newer sketches contain all features of previous sketches. All sketches below will work on version 1, 2, 3 and 4 PC boards.
Ps3_minidalek37.zip - All features from previous updates and new bug fixes (3/5/2026)
You will probably need the newest sound file
Load this current 10-settings directory on to your SD card too.
DISCONNECT YOUR 5 VOLT SOURCE and/or USB CHARGE BRICK BEFORE CONNECTING ESP32 TO YOUR PC FOR UPLOADING!
Or if convenient, just uplug to ESP32 from your PC board when programming it.
Once the sketch is loaded, you will need to install the PS3 controller library. The easiest way of installing the ESP32-PS3 Library is to use the Library Manager in the Arduino IDE.
Just open your Library Manager (TOOLS-> MANAGER LIBRARIES) and search for “ESP32-PS3”, and it will show up. Use the Install button to add the library to your local library collection.
Many thanks to (jvpernis) Jeffrey van Pernis and others involved with the creation and maintenance of the ESP32-P3 Library
More about this library at these links:
https://dronebotworkshop.com/ps3-esp32/
https://github.com/jvpernis/esp32-ps3
To pair your PS3 controller with the ESP32, you will have to make one change to the sketch.
Use this sixaxis pairing tool referenced in the dronebotworkshop link above to find or set the MAC address of your controller.
Find the following line in the sketch and update it with your MAC address.
Ps3.begin("00:1f:81:00:02:50");
If you have trouble uploading the sketch, try the following.
On some versions of the ESP-32 dev board: To program the ESP-32, you must hold down the little BOOT button after the code compiles when you see several dots “. . . . . “. When upload starts, release the button. I needed to do this on a DoIt! branded ESP32.

Mini-Dalek STL files for 3d printing
I prefer to print and assemble these files first to get a controllable functional base before printing the upper body parts:
- - - - -
Try one of Frank's improved fenders (BASE). Recessed caster, better fit, aligned wheel holes and a hole for your power switch!

The Frankenfender!
Includes holes for miniature slide switch model: SS12F15-G5
(I have over 100 of these switches and would be happy to share!
This
switch has 15mm between the centers of the 2 mounting holes)
This is the preferred version!
Frankenfender-v01.stlactual size - no need to upscale
Alternate fender design with hole for snap-in panel rocker switch model: KCD11
actual size - no need to upscale
- - - - -


A word of wisdom to anyone that hasn't printed their slats yet.
There are 18 pieces, they print as one batch. Each slat is different. Number each slat on the back(which I didn't do) as you remove them from the printer bed.
Don't lose one (which I did do).
- - - - -
You will have to upscale all Thingiverse 3d prints to 121%
https://www.thingiverse.com/thing:6903354/files
Don't print motor_driver_board.stl and esp32_board.stl
We had to upscale the Thingiverse 3d prints to 121% to make the TT motors and wheels fit.
I printed the skirt sections on a new Bambu printer with 15% infill and no supports.
- - - - -

Print the entire skirt in one piece with this file: Skirt_Mod-ALL.3mf
(it's already upscaled to 121%)
Thanks to Jacob Ebert for this contribution!
The 3d printed portion of this Dalek is based on a project by WintermuteAI.
https://www.thingiverse.com/thing:6903354
https://www.instructables.com/Remote-Controlled-Dalek-Doctor-Who/
Motor Mount

The lastest revision of the motor mount allows for either bottom or core mounted speakers.
(print this part actual size, don't upscale)
fits popular 30mm speakers - not very loud for shows

Here is old version motor mount that only allows for upper core mounted speaker: old-motor-mount29.stl
(print this part actual size, don't upscale)
Installing the motor mount

Align wheels with holes in base and drill mounting holes
(Wheel slots may need widening with a knife...probably not)
(We are using yellow motors because of a speed issue with the blue ones)
No drilling required if you are using the Franken-fender, the mounting holes will already be there.

Here is the PC board deck: pcb_deck08.stl
(print this part actual size - don't upscale)
The new battery deck is recessed on one side to allow better access to the volume control and other pins. Also there is a grid of 4.5mm holes laid out on 16 mm centers for mounting alternate power arrangements.
Here is the new battery deck STL file: battery_deck20-new.zip
(print this part actual size, don't upscale)
Here is the old battery deck: battery_deck12.stl
Panel mounted (V)volume control and optional (S)speed limit adjust
THIS SPEED CONTROL IS OPTIONAL

See suggested polarity in this picture. Notice that I swapped connector wires and put yellow in center (using Xacto blade to release).
Red(3.3v) and black wires always go on outer pins of the pots in this project.
-------
Speed control (optional - speed control pot - if your bot goes too fast) - Carpet vs hard floor, etc...
100K to 1Meg potentiometer recommended
(A) Neg Ground (black)
(B)output to D15(yellow) - center pin on pot goes to GPio-15 = ESP-X1 connector pin closest to USB on ESP32
(C) Pos 3.3V (red)
The next PC board version 4 (BLUE) will include a position for this pot.
TO ENABLE SPEED ADJUST POT: (ver 32 and up)
create folder named "10-settings" on your SD card(from the DF-Player)
Place a very short MP3 with a name starting with "100-speedPot=On" in the new folder
You can add to end of this name if desired
(if this file already exists, you can remove the X at the beginning to
activate the speed pot)
When the board is powered up, this MP3 will play and be detected to enable the speed control.
Connect it wrong and you may see smoke!

You can use pin connectors on the black version PCB

On the purple and yellow PC boards, solder a 3 pin header covering 1A, 1B and 1C.
On the bottom side, connect 1C to negative(-) side of c3 pad.
Connect 1B to first pin of ESP-X1 (GPio15)
Connect 1A to 3.3v


Sound files
Load these mp3 files on a MicroSD card (32GB or less, you’ll probably only use a couple hundred Megs).
The mp3 files should be placed in a folder named “00” (that’s zero zero)
A folder named "10-settings" is also included for speed control and future options.
IF YOU CUSTOMIZED YOUR SOUND FILES, BE SURE TO BACKUP THEM UP FIRST.
current sound file - public-v29c-audio_files.zip (12/09/2025)
This folder only contains basic sounds and an odd collection of other sounds.
Follow these instructions on naming your own files and mapping them to the remote buttons.
older - old-minidalek-sounds-V3.zip for sketch version 28 and older
I suggest also storing any other files related to this Dalek build such as 3d print STLs, build instructions, schematics, sketches, a copy of Arduino IDE install files, etc. on the MicroSD card so you can find them later.
Hack #3 - Capacitor on DFplayer Mini
Finally, here it is, a fix for the random rebooting.
Unexpected power dips caused by the DFplayer have been messing with the ESP-32.
The purple V2.35 and newer PC boards have pads for the capacitor labeled [C1].
You will need a 1000uf capacitor rated at least 10 volts.
This will be hooked up to the VCC and GND pins of the DFplayer.
The negative lead is marked with minus(-) or a stripe.
The positive lead is typically longer.

Polarity is important, pay attention to plus(+) and minus(-)!
Click here if you have the original BLACK V1.0 PC board
For Yellow PC board V2.34
Solder in the other components before doing this hack. We don't want the cap to block them.
Install the capacitor in the 3 hole area near pin 1 of the DFplayer. Make sure the negative lead marked with the minus(-) is in the center hole and positive lead goes to the lead marked 5v. The cap can be mounted on the top or bottom of the board. It seems to fit well on top of board, under the DFplayer. Optionally use dab of E6000 or doublesided tape to hold it in place.

For the purple PC Board V2.35
Solder in the other components before doing this hack. We don't want the cap to block them.
Insert the capacitor leads in pads labeled C1 near the DFplayer. Pay attention to polarity! It seems to fit well on top of board, under the DFplayer like the yellow board above. Optionally use dab of E6000 or doublesided tape to hold it in place.

New blue version 4.47 PC board coming soon
The purple version 2.35 PC board
Small compact board(91mm x 62mm).
- Bottom side silk screen with parts list, connector IDs, polarity and voltage labels.
- Pin connectors added for easily moving pushbuttons off the board.
- Components moved further from mounting screws.
- Labeled pads added for C1 under DFplayer.
- Volume control and some pin connectors moved closer to edge.
Version 1 and 2.34 boards are functionally equivalent to version 2.35 boards.
No more sloppy hacks! (Not yet, but there's space if we need to.)
08/27/2025
V2.35 purple
previous versions
V1.0 black V2.34 yellow
Power switch
I am moving my power switch from the battery deck to the bottom of the Dalek. It's too difficult opening the Dalek each time to turn it on and off. I will use a slide or tiny push button switch when I find an appropriate one.
- - - - -
I found this push on/push off switch in my junk box, probably a turbo switch from an old pc.
I'm probably exceeding the current of this cute little switch. It's double pole, so I paralleled the poles for a little more capacity.
Frank's new base has holes to accommodate a small slide switch.
Final assembly of outer body parts
You may want to paint some of the parts before gluing.
I used hot glue or E6000 on most of the remaining parts to allow for disassembly if needed.
Skirt section

Glue the upper and lower skirt sections together. I used super glue. I usually use a drop of CA accelerator. (not a squirt or spray that will pollute the model and might cause future joints to cure instantly, get the smallest dropper you can find) Sand the seams and surface after gluing if necessary.
Glue an oil seal(bump ring) into each hole. You will notice that the 2 front lower holes (nostrils?) are larger than the rest. There is still enough of an indent ledge to glue a ring to. Fill the openings around the 2 problem rings, I used white DAP plastic wood or Elmers Probond filler in a tube, not a can.
- - - - -
Hemispheres or bumps

Ideally the bumps would be twist'n'lock, but for some reason they don't even fit the holes. Not my fault!
I took the difficult route and enlarged each hole using a Dremel with rotozip bit and Xacto knife. I probably could have and should have just cut off the back of each bump. I used hot glue from the inside to attach the bumps.
One of our builders will possibly redesign the skirt and/or hemispheres and submit new files to make this whole process much simpler.
Dome / Core
Print the core drilling alignment disk. You will need this when drilling holes in the top of the core.
STL here: core-drill-template02.stl

Insert the drilling alignment disk into the top of the core with the alignment bar toward the front of the Dalek. Press it all the way down, you might have to steer it a bit with the bar to make it sit flat.

Now drill out the 4 holes with a 7/64 bit. Drill straight down. Use a drill press if you have one. Once the bit goes through the first flat layer, it will hit the inner layer and want to angle outward.
Remove the drilling alignment disk from the top of the core. Maybe use a very small screwdriver or knife blade from the center.
Drill the front hole with a 3/16 bit so it can easily pass a 8-32 screw.
Drill the 2 side holes with a 5/32 bit to allow 6-32 screws.
Drill the rear hole with progressively larger bits up to at at least 11/32" that will fit the two ear light connectors and easily pass the ear light wires as dome rotates.
- - - - - - - -
If you are not adding the dome rotation servo at this time, follow this procedure to loosely install the dome.

Download and print the upper servo shaft from the link below. Press the shaft into the hole on the bottom of the dome.
If it is a loose fit, use small amount of hot glue.
- - - - -
Dome Rotation and/or Core Mounted Speaker
All 3d parts in this section are actual size, no need to scale up.
We now have builders with working dome rotation.

Split shaft to make dome removal easier.

Print the upper servo mount shaft nub found here: servo-upper-shaft14.stl (tested and updated 02/21/2026)
Print the servo mount found here: servo-lower11b.stl updated 02/11/2026
I had to enlarge the shaft hole with a #11 drill (by hand). A 3/16" bit might possibly work.
Not all SG90 servos all created equal. The first one that I used had smaller shaft, I used a #15 drill bit on that one.
Seriously...enlarge this hole by hand or you will power right through 2mm floor with the screw hole.

Print the servo mount found here: servo-mount-16.zip (updated 02/20/26 - bigger nut holes)

Print the servo mounting clip found here: servo-clip05.stl

Download the speaker mount here: speaker-deck-16.stl

Download the speaker shield here: speaker-shield-2.stl
This will prevent you from poking a hole through your speaker (like I did) with the threaded rod that holds the top section.

If you plan to install the speaker in the core, you will need four 1.5 inch or longer 6-32 screws and a bunch of 6-32 nuts. If you're not installing your speaker up, you can skip these screws.

Mount the servo with the white shaft toward the center of the bracket.
Use these standoffs to make spacing more even: standoff_6-32.zip

Mount the speaker to the deck with hot glue.

Use two 6-32 screws to fasten the bracket to the inside of the core.
If you are mounting a speaker in the core, you will have to drill out the 5 lower rows of mesh to act as a speaker grill.

To have more control, I did this by hand (with a pin vise) using a 7/64 bit. First I pressed a scratch awl in the center of the indent. The makes a dimple to help the drill start cutting in the right place. When finished, I used a small rat-tail file to clean up the holes if they needed it. It took about 30-40 seconds per hole. Start with back holes in case you mess up. I drilled out all of the holes, all the way around that are inline with the red boxes (8 groups of 8 and 8 groups of 12).

These are the tools that I used for this tedious task. Notice the wooden dowel wrapped with duct tape in the bench vise. I slid the core on this dowel to steady it while drilling.
Plunger and exterminator gun

Using the plunger and gun holes in the shoulder section as a guide, drill two 1/8 or smaller holes through the core.
These holes are required to pass the ends of the plunger and exterminator gun. The gun hole will pass a 2 pin connector and wire from then the gun LED.
Remove the shoulder section and enlarge the new holes in the core to 1/4 or 3/8 inch (bigger is better).
Use a reamer or progressively larger drill bits. These holes can be sloppy, they won't show when the Dalek is assembled.
Neck Rings

Place the shoulder section over the core before gluing in the rings!
Paint these pieces and related pieces before gluing the rings!
The neck rings plug into the core after the shoulder section is placed. Once installed, you can not remove the shoulders from the core. USE HOT GLUE OR SMALL AMOUNT OF E6000 TO ATTACH THE NECK RINGS TO THE CORE!! I don't recommend using superglue here. You will probably want the rings to removable so you can paint or service the servo, speaker, gun and other core components. Neck rings are 3 different sizes, install larger rings in lowest positions. I painted my rings silver.
How do I keep these loose fitting Dalek body sections together???
You will need:
at least 6 inches of 8-32 threaded rod
an 8-32 coupling nut (Try Ace or Lowes. Because Home Depot and Menard's ain't got it)
a 3/4 inch or 1 inch long 8-32 screw (pan head or round head screw)
a few 8-32 nuts and washers

shaft coupling nut and threaded rod
Use the DRILL ALIGNMENT DISK when drilling a hole straight down through the front of the core section. Enlarge this hole to easily pass an 8-32 screw. This hole should line up with the hole in the front center of the battery deck. Put in a screw with coupling nut or threaded standoff, washers on top and bottom of battery deck (so you can take off the threaded rod and not poke your eye out).



If you are using the older version of the battery deck, try this
snap-in bushing to reduce switch hole for 8-32 threaded rod.
STL file: deckplug3.zip

You will also notice the wires with pin header soldered on. I had to extend the LED connectors because they are impossible to access when the skirt is stacked on the base.
More details and pictures coming soon...
Contact us with questions, suggestions or if you need a PC board.
![]()
I'm on projectdalek.com as cheese_merchant and Instagram as @dalek_nigel