Introduction: Lasercut RC Halftrack

About: I love tanks, lasercut, and lasercut tanks

Hello everyone ! Here is the Instructable for my new model : The SdKfz 251 22 ! A polyvalent halftrack that came into multiple variations for a maximum amount of purposes : Self-propelled cannon, anti-aircraft gun, supplying truck, infantry transportation, etc.

The truck is remotely controllable through your smarthpone via Blynk app.

Errors from my older models have been acknowledged and I made this ultimate model with both designed interior, like my Comet or my Hetzer, and compact electronics to control tracks and wheels.

The model is scaled at ~1:18 and has working track suspensions, wheel direction and a huge amount of moving parts...Everything you love in a humongous amount of more than 1500 parts !

The plans are available on its Thingiverse page.

Don't be scared about all the steps. They are here to divide as much as possible to simplify assembly in three main parts :

  • Step 2 to 17 : Main truck assembly
    • Hull
    • Cannon
    • Wheels
    • Tracks
  • Step 18 to 47 : Details
    • Dashboard
    • Machine gun
    • Crates
    • Doors
  • Step 48 to 59 : Electronics & programming
    • Casing
    • Soldering
    • Flashing the code

Additional material is also needed :


Material :

Plans are scaled for 3mm thick sheets. I personnaly chose MDF as it is cheap and looks pretty once cut.

I had to use 5 sheets of 30×60cm to cut everything.

Hardware :

  • Ø3mm screws :
    • x2 15mm long,
    • x6 20mm long,
    • x6 23mm long,
    • x6 35mm long,
    • x2 50mm long,
  • a 17cm long threaded rod,
  • a bunch of 3mm washers,
  • one or two wooden skewer picks (Ø3mm),
  • a pack of toothpicks (Ø2mm),
  • a dozen of Ø4mm tubes with Ø3mm inner diameter as tiny bearings,
  • Ø1mm wire (paperclips, for instance),
  • 5m of 2.5mm² ground wire (Ø1.8mm),
  • a tiny piece of double-sided tape,
  • some wood glue,
  • common tools : cutting pliers, screwdriver, rasp, vice,
  • a welding machine, solder and soldering wire.

Electronics :

Step 1: Cut Everything

You can either cut step-by-step or cut the whole truck at once. Both files are provided if you don't want to get lost into a HUGE MOUNTAIN of parts or, in the opposite, you feel the sense of puzzle solving by having them all at once !

I've cut everything on four MDF sheets. Everything have been cut in less than 3 hours.

Step 2: The Lower Hull

This is the main subassembly. The one other subassemblies rely on.

The lower hull will be the lower side of the truck. It consists in the front grille, the first half of the mudguards and will receive the bogey wheels (Step 14).

Step 3: The Cockpit Panel

This single part hides all the future electronics (to the front) from the cabin (to the back), where all the details will be visible.

Do not glue it, just put it in its own slot onto the hull instead, because you will have to remove it for future assemblies.

Step 4: The Cabin

This subassembly will rely on the lower hull. It represents the walls of the truck, including back door and front face.

For esthetic reasons, I decided to minimize slots here, as the cabin will be much visible on the finished truck. However, I found a way to assemble it properly. Let's begin with the left side for example :

  1. Join the rear mudguard with the lower wall face. There are slots on both parts, which help you to glue them properly.
  2. Make the storage box by gluing each triangle and the left, middle, and right of the holed box frame. Notice that the middle triangle contains a tiny slot to receive a tiny stopper for the boxes closing range.
  3. Add the storage boxes at the end of the mudguard.
  4. Extend the mudguard with the two parts showed on picture.
  5. Add the second skeleton frame in order to align each mudguard parts and lower side wall. Let the whole thing dry for 5 minutes to ensure it will be strong enough for next steps.
  6. Then, glue the third skeleton frame at the right distance (LEFT/RIGHT ruler helps you to find it).
  7. Add the upper wall face. It has no slot so you do'nt have any clue for placing it. The hidden clue here is to overlay both vertices of upper and lower wall face, as showed with an arrow on the picture.
  8. Assemble the front of the cabin and put it aside for now.
  9. Once you made both side of the cabin, put it onto the lower hull and use anything to make them rest properly.
  10. Let's make the rear doors now ! I mean...the rear face.
  11. Glue it.
  12. Glue those 4 triangles. They will hold the rear face made in point 10.
  13. Put 4 drops of glue on them.
  14. Put the rear face on it. Watch out ! it could slip off when the glue is drying. I've put the cabin upside down during this point.
  15. Add the the front and let the whole cabin dry.

Step 5: The Floor

The floor lays between the lower hull and the cabin. The cannon will rotate in the superior hole.

Each of the cockpit panel, cabin and floor remain on each other. Try to fit them at the same time.

Step 6: The Hood

Woops, the sides of the hoods were switched in the first photo ! Join them as the drawing shows you.

Put 9mm of wire (as 9mm = 3 layers of 3mm) inside each hinge (2). Do not add too much glue, as it has to rotate properly (3) when the whole thing is dry. Do not forget to glue the stoppers on the middle. Then, add both doors (4).

Step 7: The Cannon (1/5)

The first step of the cannon is to make the casing and the mantlet.

Step 8: The Cannon (2/5)

Now it's time make the barrel !

Gather your 17cm rod and eventually two nuts for transportation (i stacked all the rings at my own Fablab before taking it home, so I didn't want to lose order of each ring).

As each ring is a bit bigger than its predecessor, be cautious not lose order when you take it out from your lasercutter.

Stack them and glue them on the rod, and leave 15mm out from the ring No. 1. Leave between 0 and 6mm out from the last ring (No. 53).

Why between 0 and 6mm ? It will depend on the exact length of the rod, plus it allows some margin because of the glue adding extra thickness between each ring.

Step 9: The Cannon (3/5)

The gun breech, as the barrel, consists in stacked layers. Stack them from front to rear. The remaining 15mm of rod poking out from the barrel will help you for the first five layers.

Step 10: The Cannon (4/5)

Assemble the hinges on both sides of the guide rail.

When the glue is dry, glue the cannon onto the rail.

Then, add the cradle with 4 dots of glue to keep the bolts in place.

You can now insert the cannon+rail into the frame. The mantlet shouldn't interfere when you slide it in.
Glue on both side the protective carters. The lefter two-holed plate was glued and maintained 1.5mm depper for more 3D effects.

To conclude this step, insert the whole cannon on the Floor hole (Step 5). Clip it backward and prevent it from disengagement by inserting this tiny part on its slot.

Step 11: The Cannon (5/5)

The muzzle is the same as my Panzer IV.

Add it to the tip of the barrel.

Step 12: The Front Wheels

The wheels can turn right or left according to a servo. They can also roll to simulate suspensions. Each wheel is connected to gimbals that pivot themselves onto the axle. Let's see the assembly in details :

Wheels :

Stack the 4 layers forming the wheel (1). Glue the 6 "stairs" in a 6 branches star (2) and add the remaining center of the wheel. The 6 little nuts can be glued on the top layers of those stairs (3). Do not forget the little tube in the hole !

Gimbals :

They have toothpicks up & down and nuts in the middle (added in the next point). Put 6mm pieces of toothpicks in the upper & lower holes (3).

Connect the wheel & gimbal :

Fit a nut inside the gimbal (2) and a 15mm screw through the wheel. Screw it around the gimbal nut (3) and a add a second nut outside it (4).

Axle :

Its bizarre shape is due to the fact that I looked for a way I could fit the servo directly onto it.

Insert gimbals+wheels between each axle rods (2 & 3) and put 6mm toothpicks on either side of the direction rod (3). Fit the 9mm long pieces on either side of the axle to prevent top rod to go up due to the weight of the model (4) and insert the direction rod (5).

Put the axle on the hull :

Take a skewer pick and attack the axle with 3 rings on the bottom of the hull.

Servo casing :

This part is an extension of the axle. Stack the those three parts (2) and glue it on top of axle (3). Cut a straight line throught all hole of the servo's arm (4) and plug the servo into its casing (5 & 6). Push the arm on one side in order to insert a wire into direction rod's hole and servo's arm so they can be connected (7 & 8).

Spare wheel :

Cut an extra wheel and put it on a piece of skewer pick onto the radiator.

Step 13: The Sprocket Wheels

I know ! This is not the historically correct wheels on the halftrack. I decided to make tracks similar to my Comet model because of the ease provided by assembly and its global functionning.

The purpose of these wheels is to drive the whole tracks with its teeth. The assembly is as it follows :

  1. Gather all the layers that we will stack each other.
  2. Glue the four middle layers (all the layers except the first and last one).
  3. (I have used the motor axle to align them.)
  4. Add the five rims all around.
  5. As I had to include some tiny space between each sprocket layer, each rim should poke a bit out from first and last layer.
  6. Glue the inner sprocket layer.
  7. Flip the wheel upside down and glue the axle end in the center of the wheel.
  8. Then glue the outer sprocket layer.

Wait for it to dry, then fit the gear motor in. Put a bit of hot glue if it goes out easily. Then place the whole motor+wheel inside the lower hull.

Step 14: The Bogey Wheels

Those wheels will support the whole truck. Suspensions are simulated by coupling wheels in pair, as there are 6 bogey wheels on each side.
Wheels :
Put the 6 spacers with as showed with tube in the center, stuck between two identical wheel layers. There two types of wheels, the inner and outter one, which will be alternated to fill an interwine pattern.
Couplers :
Stack the two parts as indicated. The upper part is the part that contains hexagonal hole on each side.
Assembly :

  1. Take both inner and outer wheel in addition of a coupler.
  2. Fit the 35mm screw in the middle hole with a nut.
  3. Add 3 and 7 washers behind the outer and inner wheel. The quantity may be different according to the thickness of your washers, but the idea is to keep the inner wheel inside the outer one, and the outer one at ~3mm from the coupler.
  4. ~2mm of each screw should poke out from the back of the coupler. Thighten the wheels to the couplers by squeezing a nut on those remaining 2mm. Caution : the threads should not be longer than the nut, otherwise it could scratch the hull.

Insert the wheels :

  1. Fit the 3 couplers inside the three holes from the hull.
  2. Add 3 nuts to bring the couplers as close as possible to the hull.
  3. and 4. Insert the nut blocker to maintain the nuts and prevent them from going away.

This is a good way to stuck an axle from disengaging : make them pivot around a nut, and stuck this nut.

Step 15: The Idler

Those are the rearest wheels, which will also have the role of track tensionner :

  1. Stack the five parts with two nuts inside thanks to the two hexagonal holes.
  2. (As you can see, i have fit nuts in it.)
  3. Add the perpendicular nut holder (it will also keep everything at the right place)
  4. Stack 6 wooden rings on the top of the assembly. Do not hesitate to put a lot of glue to keep it strong (I had only 5 at the moment of the photo).
  5. To keep the rings aligned, fit a screw inside while you wait for the glue to dry.
  6. Now the glue is dry, fit an inner wheel with 2 or 3 washers and a 50mm screw. I thought the two nuts added in point 2 would keep the screw tighten enough. If not, put a drop of glue in the hole.

You can now insert the idler in the back of the model with a 15mm screw passing through the nut holder. Turn this screw to push the idler backward and tension the track (next step).

Step 16: Tracks : Prepare the Hinges

Before the tracks, we will have to make sticks that tracks will pivot around. Compared to my older models, I have chosen ground wire instead of toothpicks (e.g. my Jagdtiger) for its softness and its greater diameter than paperclips (e.g. my Comet).

  1. Strip the whole ground wire and cut it into a maximum of ~25mm sticks.
  2. Place all the sticks onto the stick rack.
  3. Place the cover and squeeze the whole rack+sticks in a clamp.
  4. Cut the extra length with cutting pliers to make each stick at the same length.
  5. (Each stick has the same length now.)
  6. Soften the tips with a grater. They will all have a nice flat and soften tip.

Repeat from step 2 to soften the opposite tip.You can even soften the tips better ! If some copper waste is still attached to the sticks, and if the sticks are a bit bent, roll them between two metal rulers to remove extra copper and make them straight.

Step 17: Tracks : Assemble the Whole Track on the Rack

The track rack was really useful for me to make the tracks in an easy, quick and accurate way.
This steps may be the longest. A little afternoon was requiered for me to make the whole tracks (~110 tracks for total) :

  1. Place the teeth parts all along the rack, alternating male and female type.
  2. Glue and place link parts. The rack will helo you to keep them perfectly perpendicular to the teeth part.
  3. Then, add ring parts in the middle. Do not glue them, just place them.
  4. Now, fit copper sticks from previous step.
  5. Finally, glue a ring part on either side of the stick.

I had to make approx. 54 links to make one side.

The main parts are finished. We can make the details !

Step 18: Details : Driver & Radio Operator Cockpit

Let's begin with the front. It contains :

  • The dashboard & radio,
  • the bottles,
  • the seats,
  • the gearbox & pedals,
  • the hatches.

Step 19: (Details) (Cockpit) Dashboard, Radio & Pipes

Those elements belong to the cockpit panel (Step 3). You have to assemble the dashboard with the 4 gauges first, then add the radio.
Fit the cockpit panel into the model and glue the combo dashboard+radio on it in order to place them at the right height.
Then, place the 90° piece of pipe at the same level as the first pipe.

Step 20: (Details) (Cockpit) Bottles

The bottles consist in stacked rings around a rectangle part. Glue a little bottle on each side of the cockpit, then the big one on the left (or the right, do it as you want !)

Step 21: (Details) (Cockpit) Seats

Once you have assembled both seat, glue them in front of the dashboard, onto the Floor (Step 5).

Step 22: (Details) (Cockpit) Gearbox & Pedals

Glue them on the Floor.

Step 23: (Details) (Cockpit) Hatches

Once you have assembled them, insert them both holes on the Cabin (Step 4).

Step 24: Details : Cabin

This is where all the most visible items are :

  • The machine gun,
  • the mag rack,
  • the bench & crate shelf,
  • another crate shelf,
  • the littles crates,
  • the greater crate,
  • the ammo crates beneath the cannon,
  • the storage box on each side of the cannon,
  • the side nets,
  • the spare tracks.

Step 25: (Details) (Cabin) the Machine Gun

The MG consists in three parts :

  • The gun,
  • the pod,
  • and the slot.

Each of them pivot on each other.

Step 26: (Details) (Cabin) Magazine Rack

Place it next to the machine gun.

Step 27: (Details) (Cabin) the Bench & Crate Rack

The rack can hold two crates (we will make them later).

Step 28: (Details) (Cabin) the Second Crate Rack

This one can hold three crates.

Step 29: (Details) (Cabin) the Crates

There are four variations of them according to the number of buckles on the direction.

I have decided to make only crates with upward buckles to make more visible details.

Step 30: (Details) (Cabin) the Larger Crate

Stack the four layers and place it on the floor. It is not necessary to glue it.

Step 31: (Details) (Cabin) Storage Boxes Beside the Cannon

Those boxes are placed on either side of the cannon. I've put a hole on the hidden face so it can not be mistaken.

Step 32: (Details) (Cabin) Ammo Crate (closed)

The box is rather simple. Put on the 6 faces and glue the belts around it.

Step 33: (Details) (Cabin) Ammo Crate (opened)

This box misses the upper face so the sheels could be visible.

Step 34: (Details) (Cabin) Outter Net

Knit the net and trap the boxes inside. Use clamps to glue it on the cabin.

Step 35: Spare Tracks

For more strength, i glued the whole spare tracks+hooks on the cabin.

Step 36: Details : Front

We will add some details around the hood :

  • Headlights,
  • exhaust pipe,
  • right cache.

Step 37: (Details) (Front) Headlights

Add them on either side of the radiator.

Step 38: (Details) (Front) Exhaust Pipe

Each layer of the right cache contain a little slit to differenciate them from the left cache. Stack them around two toothpicks, but don't forget to add the exhaust pipe during the assembly.

Step 39: (Details) (Front) the USB Cap

The right cache contains only three layers glued to the hull. The three upper layers can slide up and down to access the USB port.

Step 40: Details : Cannon

The only remaining parts of the cannon are both of cranks and the optics.

Step 41: (Details) (Cannon) Cranks

Begin by gluing pipes with toothpicks, then glue the cranks.

Add 6mm long wire when you make the handles.

Step 42: (Details) (Cannon) Optics

When you will glue the whole optics, check if it will watch through the mantlet hole.

Step 43: Details : Sides

We are near the end ! Only a few parts are remaining to conclude the whole assembly of the truck.

Step 44: (Details) (Side) Storage Boxes & Taillights

Take back the storage boxes doors we've put aside from step 4. Add hinges in the same way we did for the hood.

Step 45: (Details) (Side) Mudguards

Be cautious not to glue the mudguard to the lower hull, otherwise you'll be unable to remove the cabin from the hull.

Step 46: Details : Rear Door

Do as the same as the storage boxes ! the "F" parts prevent them from staying opened.

Step 47: Details : Wheel Caps

Now, we can seal the wheels with caps onto the screws. In case I would need to access the screws back, I added only one drop of glue so it wn't be too difficult to remove them.

The truck esthetics are now finished. We can now proceed to electronics !

Step 48: Electronics & Software

The circuit above shows the connection between every component :

NodeMCU :

I chose this microcontroller for its WiFi features and its cheapness, plus it can be found anywhere. The card will retrieve infos via WiFi, calculate voltage to supply into both motors, and generate signals to control them.

Motor shield :

This board is plugged directly beneath the NodeMCU. The purpose of a shield is to extend capabilities of a microcontroller. So this shield is able to generate greater output voltages Node would be unable to do so, as it works in 0 to 3.3V, it is not made to supply peripherals directly.

The shield will generate 7V when it receives 3.3V from NodeMCU.

Battery + Step-up module :

As the battery supplies only a tiny voltage (=3.7V), it has to be boosted. I decided 7V could be enough to supply each motors. The step-up will generate higher voltage from nominal 3.7V, but is also a protection circuit, charging module via is really useful all-in-one module to manage the battery.

Gear motors :

They both are connected symmetrically (with ground backward) so they rotate in opposite clockwise. They have a pretty high torque and speed when they are supplied with 7V.

Servo :

This servo is really simple and the most basic one. You can even find it a Arduino starter packs. It will control the front wheels angle, that's why a chosed this kind of motor : Accurate, but no need for high speed or torque.

Step 49: Electronics : Casing

First, assemble the casing that will hold every module. Fit the battery once finished.

Step 50: Electronics : Step-Up Boost

Add this module after adding a piece of double-sided tape.

The battery has been provided with a female auxiliary connector. We will use it. Shorten it and fit it with a ziptie to the BAT+ (red wire) and BAT- (black wire) pins, then solder it.

Before the next steps, we need to adjust output voltage. This module is able to generate 4 to 27V as output. As motors and NodeMCU can handle up to 9V, Turn the screw-shaped potentiometer in order to supply 7V (2V from overvoltage for security) after having plugged the battery and checked with a multimeter the output voltage.

Do not forget to unplug the battery before soldering the output wires ! Remember that an electric circuit must always be disconnected from any power supply before being manipulated.

Solder two wires to VOUT+ (red wire) and VOUT- (black wire) pins.

Step 51: Electronics : NodeMCU + Motor Shield

With cutting pliers, shorten the three lefter pins of the terminal blocks, because it may enter in contact with the step-up module.

Then screw VOUT+ soldered wire to VIN block and VOUT- to GND block.

Step 52: Electronics : Jumper

As the shield handles two separate voltage inputs for both NodeMCU and motors, and NodeMCU supporting up to 9V, we will supply both Node and motors with 7V. Connect a jumper to short both supplies.

Step 53: Electronics : Gear Motors

Take two long wires and make them pass through slits next to motors to save connectors from sudden tearings.

Solder them and twist them to differenciate left and right motor.

Step 54: Electronics : Fit the Casing + Servo

Now, fit the casing inside the lower hull and screw both motor wires in A+, A-, B+ and B- blocks.

Don't forget to plug the servo to the D0 pins.

Step 55: Electronics : Charge Via USB

When you need to charge the battery, remove the hood and the right cache. The USB port of the step-up module is visible.

You can plug in a USB cable to charge the battery.

Step 56: Control From Cellphone With Blynk

Blynk is a really nice app to create easy HUD for homemade projects to control any Arduino boards via multiple protocols (WiFi, Bluetooth, USB, etc.).

When you have downloaded the app, create an account and a project :

  1. Assign the ESP8266 as device, with WiFi connection type.
  2. Once you have accessed to the HUD, the side panel shows all the widgets you can use.
  3. I decided to add more commands than my Comet for more complexity : an emergency stop, a servo offset...

As slider don't have autoreturn, I added buttons to force their value to their default position.

Click on a widget to open its settings. You can chose the pin value will be sent on, the range of values for sliders, etc... other options will be leaved by default.

Step 57: How to Control the Truck ? (Code Explanation)

The code consists in three main parts :

  • The distribution of throttle on both sides (like a diffrential gear),
  • the smoothing of throttle to avoid brutal acceleration,
  • and the setting of PWM.

It is as simple as this :

void loop() {;

adaptCommandSpeed(); //set command according to speed and direction
adjustActualSpeed(); //add a fading to smooth the acceleration

setRight(speedR_actual); //set PWMs


As tank wheels don't turn at same speed when it turns, a little calculation is to be made to determine the speed of both side according to the slider direction value with the adaptCommandSpeed() function :

void adaptCommandSpeed() {
speedL_command = (float)(speed_slider-128) * leftFactor(steer_slider) + 128 ;
speedR_command = (float)(speed_slider-128) * rightFactor(steer_slider) + 128 ;

To avoid brutal acceleration and damaging the tracks, we will add a fade to the commands :

void adjustActualSpeed() {
if(speedL_actual < speedL_command) speedL_actual++ ;
if(speedL_actual > speedL_command) speedL_actual-- ;
if(speedR_actual < speedR_command) speedR_actual++ ;
if(speedR_actual > speedR_command) speedR_actual-- ;

Pulse Width Modulation is used in electronics to simulate an analogic voltage from on/off output, by modulating its duty cycle (duration of high voltage compared to whole period). Most of microcontrollers have embedded features to do it.

The purpose of the motorshield is to receive a PWM as low-voltage command (3.3V for NodeMCU) and supply the same signal with higher voltage (7V) to motors. The shield requires to set a bit for direction (forward or backward) which will simply deliver negative voltage instead positive :

//Example with right motor
void setRight(int pwm) {
if(pwm >= DEFAULT_PWM_VALUE) { //PWM > 128 -> Forward
analogWrite(GPIO_R, mapSpeedToPwm(pwm));
digitalWrite(GPIO_DIR_R, HIGH);
else {
analogWrite(GPIO_R, mapSpeedToPwm(pwm)); //PWM < 128 -> Backward
digitalWrite(GPIO_DIR_R, LOW);

Step 58: Flash the Code

This part describes some modifications you will have to do into the code before to flash it into the controller. The card has to be recognized by the project. We will need to insert in the code some unique informations about our project.

Adapt the code

Go into the project settings, and send to your address the token, which is a big string, allowing the app to recognize your NodeMCU when turned on.

Copy the token from your recently received mail and paste it into the auth array.

Also, you have to connect the Node to your WiFi, because Blynk does not allow direct Phone / Controller communication, as it must pass by Blynk servers first. You can specify your phone hotspot ID (it worked for me), so you can control further than your home's WiFi range.

Install the libraries

  • Then, if you never flashed a NodeMCU before, you need your computer to recognize it. The Arduino IDE provides a board manager, where correct drivers are installed.

    Copy the following line :
    Open the preferences and paste it in the Additional Board Managers URLs. Save the setting and go to the board manager in Tools>Board>Boards Manager. The ESP8266 board should be present, at the end of the list. I chose version 2.5.0 with my IDE in 1.8.9 .
  • You also need the Blynk library, which you can find in Sketch>Include Library>Manage libraries... and then search for Blynk in the search field.

You may now flash the code into the NodeMCU.

Step 59: Try It Now !

Once turned on and connected to your phone, You can drive it through your whole home !

Step 60: Conclusion

It has been a real experience for me to polish every detail in this new model, from new smooth tracks, wheel suspensions, compact electronics...

The amount of free time I had during lockdown had been a very good opportunity to correct every little detail and propose a model without errors from my older instructables.

Make it Move Contest 2020

First Prize in the
Make it Move Contest 2020