A WiFi-controlled tracked tank/car uses a NodeMCU (ESP8266), an L298N motor driver, and two motors to run either a crawler chassis or a 2WD robot base.
Motion is handled by a Track class with one PWM enable pin and two direction pins per motor, while a simple HTTP server receives GET commands from a slider interface.
The author found that 4 AA batteries sag too much, and even USB power dropped to almost 4V with one motor and lower with both, so a powerbank was used.
The setup works and can drive both tracks independently over WiFi with OTA programming, but the steering is still crude and a virtual joypad is planned next.
Generated by the language model.
.
How to build a robot on a NodeMCU, L298 and two motors? Here is a short mini-project - part one. We are running a remote controlled "tank" with two tracks. By the way, we will see how to connect the L298 to the motors, how to operate it with PlatformIO/Arduino and how it can be controlled via WiFi. The method shown here, however, will also be able to work just as well for the typical 2wd robot chassis available to buy online....
.
I will show the whole thing step by step so that a beginner can follow what I was running and how. In addition, I will try to simplify so that the project is not too demanding and complicated. The project will be divided into at least several parts, where I will gradually present the progress, solutions and problems encountered.
At this stage, I'm assuming that this is a toy that is, to put it jokingly, 'not going out' or 'home' - that is, it will work with our WiFi and will pair with it via WiFiManager. At a later stage I may change this assumption too.
NodeMCU .
NodeMCU is such an "Arduino of the new times" for me. Cheap, useful, convenient, supported by many libraries. The NodeMCU is based on the ESP8266 and offers, among other things, connectivity via WiFi.
.
In addition, there is a USB to UART converter on board to facilitate easy wired programming (although you can also change the batch over WiFi) and a 3.3V LDO regulator to ensure a stable 3.3V for the ESP with 5V from USB.
I program the whole thing in PlatformIO, this has already been discussed:
Clock on ESP12 and MAX7219 display - tutorial - part 1, ArduinoOTA, basics .
WiFi Manager in PlatformIO - convenient WiFi configuration for ESP8266 and ESP32 - tutorial
Chassis module .
I bought the chassis module in China. I'm not sure if it has a model name by which it can be found, but basically the whole tutorial can be done on any module with tracks, or even with regular wheels. It's just important to choose the right module to control the motors - you need to respect the maximum operating voltage and current.
.
My module has space for 4 AA batteries on the bottom:
.
.
These batteries are nominally 1.5V, so 4*1.5V = 6V, but in practice as they discharge the voltage will drop. This is something to watch out for, because if we power a NodeMCU from them with an LDO AMS1117-3.3V regulator on board, the voltage at its input must be at least around 4.6V (according to the datasheet note) to get a stable output....
L298N module .
I bought the module with the L298N from an importer in our country for a dozen zlotys, although it can be imported cheaper.
The L298N is a dual motor controller operating at up to 46V and up to 4A current. Two motors can be connected to it, each motor being controlled independently.
.
There are 3 control pins per motor, one enable pin and two in. In addition, two supply voltages are applied separately to L298N, one for the motors (up to 46V) and the other up to 7V (logic):
.
To control the motor we need to:
- connect the PWM to EN - this will determine the speed of the motor, although at lower PWM settings the motor will not start, it will only "buzz"
- connect the logic pins to IN1 and IN2; manipulation of these pins will allow us to change the direction of the motor or activate braking
The specific settings are shown in the truth table:
IN1
IN2
. Result
high
low
motor on (speed is determined by PWM on EN)
low
high
motor on -. reversing (speed is determined by PWM on EN)
low
low
fast braking of motors (when high state on EN)
high
high
fast braking of motors (when low on EN)
high
high
free braking of the motors (when there is a high state on the EN)
.
Two PWM and four digital pins are therefore required for two motors.
The commercially available L298 module is essentially L298 + 5V stabiliser. In this situation, we can specify with a jumper whether we want to give, for example, 9V inputs of our own and draw current from the 5V, or whether the stabiliser can be switched off. This is determined by the schematic:
.
There are two potential pitfalls here, however:
- The 7805 has slightly lower maximum input voltages than the L298N, plus it heats up at higher voltages, so in such situations consider using, for example, an external step-down converter
- if we give 5V to the input, the 7805 will not switch on (at least when I tested it, it gave 0.5V at the output...) so then you can power both sides, the motors and the logic one with 5V
First connection .
In the end, I opted for absolute minimalism. I connect the batteries directly to the L298 module and additionally on Vin from the NodeMCU, as their voltage is within the operating range of the AMS1117-3.3V present on this board. The 7805 on L298 is omitted, with power being routed to both sides from Vin.
In addition, as a test, I put the whole thing on a spool from the solder joint so that the tracks do not touch the ground, so the vehicle will not run away while I am writing the programme.
.
.
Beginning program - ArduinoOTA and WiFiManager .
I write my ESP programs in PlatformIO (an environment based on Visual Code) and I highly recommend its use. I usually start my adventures the same way - my initial program includes two useful libraries that I have already discussed:
- WiFi Manager - for pairing with WiFi
- ArduinoOTA - to update the batch remotely
The program basically contains only the basic integration of these two libraries enriched additionally with a flashing diode which is on the WiFi module itself. During configuration (blocking call from WiFiManager) the diode does not flash, only during normal operation.
Code: C / C++
Log in, to see the code
.
Add a server (to receive commands) .
Let's start with communication. The easiest way is to add a simple HTTP server. Admittedly, TCP is connection-intensive and can introduce minor delays when a packet retransmission occurs, but that is negligible here.
The creation of the server comes down to the use of the ESP8266WebServer class, or more precisely to the creation of an object of this class, where the only argument of the constructor is the port we are listening on. Then, using the "on" function, we set the functions that handle the given resource from the server, in my case there is only one, the "hello world" page. Then we start the server (function begin):
Code: C / C++
Log in, to see the code
.
Result:
.
Add a simple control via HTTP .
The control will come in handy smoothly, in addition to having to take into account both directions of the motor. For this reason I decided to use a slider from HTML. You can easily set a range for it - say from -100 to 100. 0 is no movement, -100 is counterclockwise and 100 is clockwise, all the way forward.
Additionally, as a simplification, instead of pasting my code over and over into PlatformIO, I just ran it on the computer.... .
This simplifies the process of testing and creating the page.
So, the current code:
Code: HTML, XML
Log in, to see the code
.
Result:
.
In addition, you still need to send the slider value to the NodeMCU. All you need for this is a short script - addEventListener, input event:
Code: HTML, XML
Log in, to see the code
.
The fetch function sends a GET request to /steer whose argument is a value with a value from the slider. This now needs to be received and handled.
I have introduced endpoint in the project:
Code: C / C++
Log in, to see the code
.
And then in it I added control handling:
Code: C / C++
Log in, to see the code
.
I use hasArg to check if an argument is available, and retrieve it with the arg function. Then I do what was mentioned for L298 - I set the direction pins and the PWM value (two digital pins - digitalWrite and one PWM - analogWrite). I decode the negative value to the direction and then write it already without a sign so that I can send it to the PWM.
The rest of the code:
Code: C / C++
Log in, to see the code
.
Video of the track movement:
Class of tracks .
There are two caterpillars, so it is tempting to separate their code into a separate class. This will allow more convenient development and maintenance of the project.
I packed the whole thing into the Track class. This class stores the pins for controlling one motor, its enable pin and two directional pins.
Code: C / C++
Log in, to see the code
.
The rest of the code:
Code: C / C++
Log in, to see the code
.
It is now convenient to create two extinguishers:
Code: C / C++
Log in, to see the code
.
As a test, I do not yet separate the values sent by the web page, I simply enter it into both crawlers:
Code: C / C++
Log in, to see the code
.
Separating the tracks .
I didn't want to complicate things, so I essentially copied the slider so that there are now two. One each for the tracks.
Code: HTML, XML
Log in, to see the code
.
The result:
.
I organised the script in turn so that the data is sent together - there is one change event handler for both sliders and it sends one common GET request:
Code: HTML, XML
Log in, to see the code
.
Now on the ESP, in handleSteer, I can separately access each of the arguments:
Code: C / C++
Log in, to see the code
.
In this way, we can remotely control each track separately.
First drives .
At this stage, you can already drive. Let's see how the tank performs.
.
The chassis works, but rides rather sluggishly in places. I measured the current consumption, first of one motor and then of the whole (NodeMCU + 2 motors) when powered by USB:
.
.
In addition, I saw that even with the USB wired power supply the voltage drop is noticeable - with one motor it is able to drop to almost 4V, and with both even lower.
I tested the option with a powerbank for this reason:
.
It is better - with both motors at full power it drops to 4.2V:
.
The ride is better:
.
I'm staying with the powerbank for the moment.
Summary .
This was the first step of work on our car. Here we managed to run a comfortable working environment based on NodeMCU programmed remotely (OTA, via WiFi) in PlatformIO and then drive the motors from it via a module from L298. The power supply was finally realised using a powerbank, which nevertheless holds its own and can be driven in comfort. I rejected the idea of AA batteries, as they heat up, the voltage drops (more so than with the powerbank) and it's a shame to use them up..
On the programming side it was just as simple as on the hardware side - there is one PWM per motor and two digital pins, this allows it to be controlled both ways. We separated the motor operation into a separate class so that we could have two motors (or tracks) and then controlled them in the simplest way via an HTTP server - GET request arguments.
The project works but leaves a lot to be desired, even the control is clumsy.
For this reason, I will introduce a virtual joypad in the next section:
.
All in all, I am planning at least several parts, where with each part improvements, modifications and problems encountered will be presented.
It went exceptionally smoothly at this point - I was expecting trouble with the ESP power supply, but it didn't reset once for me. The biggest hassle was battery power, but I just skipped that - the powerbank fit just fine.
Feel free to comment - maybe you have some ideas on what to implement next? I already have a bit of sensors lined up myself, as well as a 3D printer ready to help improve the build of the car, and the ESP32-cam module will also be somewhere... .
PS: Attached the same code in as in the post, but together in one file. Final version.
Attachments:
main.zip(1.05 KB)
You must be logged in to download this attachment.
About Author
p.kaczmarek2 wrote 14408 posts with
rating 12345 , helped 650 times.
Been with us since 2014 year.
Leaving such a driving platform with a camera and charging station at home is a nice idea for video monitoring of the house when we are on a trip.
In a more advanced version, such a platform could make... [Read more]
p.kaczmarek2
21 Feb 2025 23:38
Last year I was thinking of redoing the cleaning robot, maybe replacing its 'brain' with a Raspberry, and I already had two robots set aside.... but unfortunately they both drowned in the flood and all... [Read more]
TechEkspert
22 Feb 2025 09:19
Perhaps a contactless charging station? Less problems with positioning. [Read more]
XMarian
22 Feb 2025 10:41
A remote control with 2 potentiometers, so called analogue console pads, would suit this project perfectly. Print out a casing with a place for a phone (to view the image from the camera) and we would... [Read more]
p.kaczmarek2
22 Feb 2025 10:57
Very cool ideas, thanks for your comments.
@techekspert I was thinking about this option, although I haven't delved into it yet. I've seen that interesting ready-made modules can be imported from China.... [Read more]
TechEkspert
22 Feb 2025 11:35
Qi chargers are quite cheap, you can test them:
https://pl.aliexpress.com/item/1005008107671736.html
https://pl.aliexpress.com/item/1005006386722006.html
https://pl.aliexpress.com/item/1005005716095383.html
https://pl.aliexpress.com/item/1005008072369885.html
https://pl.aliexpress.com/item/1005007361163095.html
https://pl.aliexpress.com/item/1005008239169084.html
Only... [Read more]
krzbor
22 Feb 2025 11:41
At low speeds the engines squeal and the vehicle does not run. You could try using a 'group regulator'. We usually use it with alternating current, but it should work well here too. The idea is to apply... [Read more]
efi222
22 Feb 2025 13:28
.
Maybe just a lower PWM frequency for lower motor speeds would work better. The motor beeping indicates that the frequency is quite high. [Read more]
TechEkspert
22 Feb 2025 14:25
Or closed-loop control, where we observe the rpm of the track drive and adjust the PWM to obtain the set rpm. [Read more]
efi222
22 Feb 2025 15:07
With feedback, it would already be full control. Something like ABS / ASR. [Read more]
p.kaczmarek2
23 Feb 2025 09:50
It looks like you are right about this PWM - the right setting of analogWriteFreq helps, only now you have to choose the best value.
In the meantime, I'm upgrading the virtual touch pad and I have... [Read more]
szeryf3
24 Feb 2025 09:34
The design of the tank even came out rather interestingly for you.
I hope someday you will print a "Royal Tiger" that will patrol your domain when you are outside. [Read more]
efi222
24 Feb 2025 10:14
@sheriff3
Intrigued by the subject of this tank, I've been browsing the listings on Ali.
There's a powerful model that two kids can ride comfortably. So that it's not such a long way to patrol your domain... [Read more]
p.kaczmarek2
24 Feb 2025 11:14
I have seen that people are printing tracks on a 3D printer. Practically the whole thing is printed, only some common cheap parts are used for this. [Read more]
efi222
24 Feb 2025 11:24
I've had a printout of flexible filament in my hand. It behaves like hard rubber. The fact that it costs several times more expensive than PLA for example.
So it probably wouldn't be much of a problem... [Read more]
bsw
24 Feb 2025 13:17
.
Necessarily equipped with such armament on the turret:
https://www.elektroda.pl/rtvforum/topic1021421.html
;-) [Read more]
CMS
24 Feb 2025 17:01
I buy SUNLU PLA filaments at 65PLN per kilo, ABS, at 89PLN per kilo, while Plexiwire TPU filament, at 130PLN per 900g, so some very expensive is not. However, I have to admit that it is amazing. It is... [Read more]
rysin
02 Mar 2025 14:57
The camera and control option in one can be possessed with the ESP32 CAM, or if that's not enough, the ESP32-S3-Cam. Control can be transferred to the drive module via I2C. There are also laser distance... [Read more]
rysin
13 Mar 2025 18:00
See this wonder.
https://obrazki.elektroda.pl/7209575600_1741885691_thumb.jpg . [Read more]
FAQ
TL;DR: A 2-track WiFi robot using 2 motors and NodeMCU works well when you keep the design simple: “the biggest hassle was battery power,” so use an HTTP page, L298N, WiFiManager, and OTA updates. This FAQ is for beginners who want a controllable tracked car without building a custom radio link first. [#21450316]
Why it matters: This project shows a practical path from loose parts to a WiFi-controlled tracked robot that you can program, test, and extend at home.
Option
What the thread used or tested
Main result
4xAA battery holder
Approx. 6 V nominal from 4×1.5 V cells
Voltage drops as cells discharge; weaker choice for this build
USB power from a computer
Tested with NodeMCU + motors
Noticeable sag, almost 4 V with one motor
USB powerbank
Final choice in the build
Better behavior; about 4.2 V at full power with both motors
Key insight: The build succeeded because hardware and software stayed minimal: one L298N, one NodeMCU, a tiny web server, and simple GET commands. Power stability mattered more than code complexity. [#21450316]
Quick Facts
The chassis has space for 4 AA cells, giving about 6 V nominal, but the author rejected AA power because voltage dropped and cells heated up during use. [#21450316]
The NodeMCU board used here relies on an AMS1117-3.3 V regulator, and the post notes it needs roughly 4.6 V at input to keep 3.3 V stable. [#21450316]
The L298N module is described as a dual motor driver for up to 46 V motor supply, with a separate logic supply up to 7 V, and 3 control pins per motor. [#21450316]
In testing, USB power sagged to almost 4 V with one motor, while a powerbank dropped to about 4.2 V with both motors at full power and drove better. [#21450316]
The control page used 2 HTML sliders and one GET endpoint, /steer?a=...&b=..., so each track could be commanded independently over WiFi. [#21450316]
How do I build a WiFi-controlled tracked robot with NodeMCU, an L298N module, and two DC motors?
Build it as a simple 3-part system: NodeMCU for WiFi and logic, L298N for motor drive, and a tracked chassis with 2 DC motors. 1. Power the NodeMCU and L298N from the same source. 2. Wire one PWM and two direction pins per motor. 3. Serve an HTML control page and send GET commands to /steer. The thread’s first working version used PlatformIO, WiFiManager, ArduinoOTA, and an HTTP server on port 80, then expanded from one slider to two-track control. [#21450316]
What is WiFiManager on ESP8266, and how does it simplify WiFi setup for a NodeMCU robot?
"WiFiManager" is a configuration library that connects an ESP8266 to WiFi, using a temporary access point and captive setup portal when saved credentials are missing or reset. In this project, wifiManager.autoConnect("ESP_Config") handled first-time network setup, and pressing the trigger pin started the config portal again. That removed hard-coded SSIDs from the sketch and made the robot easier to deploy on a home network. [#21450316]
What is ArduinoOTA, and how do I use it in PlatformIO to update a NodeMCU robot over WiFi?
"ArduinoOTA" is a firmware-update library that sends new code to an ESP8266 over WiFi, avoiding a USB cable after initial setup. In this build, the author initialized OTA in setup() with ArduinoOTA.begin() and serviced it in loop() with ArduinoOTA.handle(). That let the NodeMCU robot receive updated firmware remotely while staying connected to the same WiFi used for control. [#21450316]
How should I connect an L298N module to a NodeMCU and two motors for a tank-style chassis?
Connect each motor to one L298N channel and give each channel 3 control lines: EN for PWM speed plus 2 direction pins. For 2 motors, the thread uses 2 PWM outputs and 4 digital pins total. The final mapping shown was left track on D0, D1, D2 and right track on D5, D7, D6. The battery or USB source was routed to both the L298N and NodeMCU Vin, while the onboard 7805 on the L298N was intentionally skipped. [#21450316]
Why do DC motors on an L298N squeal at low PWM and fail to start moving the tracked vehicle?
They squeal because the PWM is too weak to overcome static resistance, so the motor energizes but cannot start the loaded track. The thread reports exactly that behavior: at low PWM the motor “will not start, it will only buzz.” Later replies add two fixes: start above a threshold such as about 30% duty, or change PWM frequency with analogWriteFreq so the motor responds better at low speed. [#21450316]
Which power source works better for this kind of NodeMCU tank: 4xAA batteries or a USB powerbank?
A USB powerbank worked better in this build. The author tried 4xAA cells, noted nominal 6 V, then rejected them because voltage dropped more, the cells heated up, and they were wasteful. USB from a computer also sagged badly, nearly 4 V with one motor. The powerbank still dropped under load, but with both motors at full power it stayed around 4.2 V and drove the tank more smoothly. [#21450316]
How do I create a simple HTTP server on ESP8266WebServer to receive motor control commands from a web page?
Create ESP8266WebServer server(80);, register routes with server.on(...), call server.begin() in setup(), and run server.handleClient() in loop(). The thread first served a basic Hello, World! page at /, then added /steer to receive slider values. The handler checked server.hasArg(...), read values with server.arg(...), applied motor logic, and returned either HTTP 200 OK or HTTP 400 Missing value. [#21450316]
What is the purpose of analogWriteFreq on the ESP8266, and how does changing it affect motor control?
analogWriteFreq changes the PWM frequency on the ESP8266, which can improve low-speed motor behavior. In the thread, later testing confirmed that “the right setting of analogWriteFreq helps,” although the best value still needed tuning. That matters because the original problem was motor squeal and poor starting torque at low duty cycles. A better frequency can reduce audible noise and make the track start more reliably under load. [#21452019]
How can I control two separate tracks from an HTML page using two sliders and GET requests to a NodeMCU?
Use 2 HTML range sliders and send both values in one GET request, such as /steer?a=...&b=.... The thread’s page used slider IDs sliderA and sliderB, then updated both values through one JavaScript sendData() function. On the ESP8266 side, handleSteer() checked for arguments a and b, converted them with toInt(), and passed them separately to trackLeft.set(a) and trackRight.set(b). That gives independent control of both tracks from one web page. [#21450316]
What is a group regulator in the context of motor control, and how could it help with low-speed torque on a robot car?
"Group regulator" is a control method that applies stronger power in short time groups, not as a constant weak drive, helping a motor overcome startup resistance at low average speed. In the discussion, it was suggested as a way to stop squeal and improve launch torque. The idea was to use larger PWM bursts at low speed, but keep the intervals short enough to avoid visible jerking. [#21450967]
How can I implement a safety timeout so the WiFi tank stops its motors when control packets stop arriving?
Store the time of the last valid command and stop both motors when that timer expires. The author proposed a concrete rule: send control on every change and, if there is no change, every 0.1 seconds; then stop the tank if no packet arrives for about 0.3 seconds. That fail-safe prevents the robot from running away when WiFi packets drop or the browser freezes. [#21452019]
What’s the best way to structure the code for two tracks or motors on ESP8266, for example by using a Track class?
Use one class per motor or track so each object owns its enable pin and 2 direction pins. The thread created a Track class with init() and set(int value) methods, then instantiated trackLeft and trackRight. That kept motor logic in one place, handled forward and reverse from signed values, and added a dead zone below about 10 to avoid ineffective low-duty drive. It is the cleanest structure shown in the discussion. [#21450316]
How does L298N logic and PWM control work for forward, reverse, braking, and speed control on each motor?
On L298N, PWM on EN sets motor speed, while IN1 and IN2 set direction or braking state. The thread states three key modes: high/low drives one direction, low/high reverses, and matching states on both logic pins can brake. In this project, the code used signed values from -100 to 100, converted the sign into direction, then scaled magnitude to PWM with analogWrite. That gave one control range for forward, reverse, and stop. [#21450316]
ESP32-CAM vs ESP32-S3-CAM vs NodeMCU with a separate camera module — which is better for a WiFi tank with video?
For this thread’s direction, ESP32-CAM or ESP32-S3-CAM is the stronger video path, while NodeMCU suits the simpler first version. Later comments specifically recommend ESP32-CAM for combined camera and control, and suggest ESP32-S3-CAM if ESP32-CAM is too weak. The original robot stayed on NodeMCU because the author wanted a beginner-friendly build and planned to add camera features later, possibly with a separate module or future ESP board. [#21462675]
How could I add a charging station to a small tracked robot, including ideas like Qi wireless charging or contact docking?
Add either a simple contact dock or test Qi wireless charging, but keep alignment losses in mind. The discussion proposes both directions: a contactless Qi station for easier positioning and a home docking station for monitoring patrol use. One commenter notes Qi parts are cheap and says receiver detection works cleverly, while the author considers integrating an off-the-shelf solution with the existing powerbank-based setup for simplicity. Wireless docking is attractive, but efficiency remains the main trade-off raised in the thread. [#21450953]
Comments
Leaving such a driving platform with a camera and charging station at home is a nice idea for video monitoring of the house when we are on a trip. In a more advanced version, such a platform could make... [Read more]
Last year I was thinking of redoing the cleaning robot, maybe replacing its 'brain' with a Raspberry, and I already had two robots set aside.... but unfortunately they both drowned in the flood and all... [Read more]
Perhaps a contactless charging station? Less problems with positioning. [Read more]
A remote control with 2 potentiometers, so called analogue console pads, would suit this project perfectly. Print out a casing with a place for a phone (to view the image from the camera) and we would... [Read more]
Very cool ideas, thanks for your comments. @techekspert I was thinking about this option, although I haven't delved into it yet. I've seen that interesting ready-made modules can be imported from China.... [Read more]
Qi chargers are quite cheap, you can test them: https://pl.aliexpress.com/item/1005008107671736.html https://pl.aliexpress.com/item/1005006386722006.html https://pl.aliexpress.com/item/1005005716095383.html https://pl.aliexpress.com/item/1005008072369885.html https://pl.aliexpress.com/item/1005007361163095.html https://pl.aliexpress.com/item/1005008239169084.html Only... [Read more]
At low speeds the engines squeal and the vehicle does not run. You could try using a 'group regulator'. We usually use it with alternating current, but it should work well here too. The idea is to apply... [Read more]
. Maybe just a lower PWM frequency for lower motor speeds would work better. The motor beeping indicates that the frequency is quite high. [Read more]
Or closed-loop control, where we observe the rpm of the track drive and adjust the PWM to obtain the set rpm. [Read more]
With feedback, it would already be full control. Something like ABS / ASR. [Read more]
It looks like you are right about this PWM - the right setting of analogWriteFreq helps, only now you have to choose the best value. In the meantime, I'm upgrading the virtual touch pad and I have... [Read more]
The design of the tank even came out rather interestingly for you. I hope someday you will print a "Royal Tiger" that will patrol your domain when you are outside. [Read more]
@sheriff3 Intrigued by the subject of this tank, I've been browsing the listings on Ali. There's a powerful model that two kids can ride comfortably. So that it's not such a long way to patrol your domain... [Read more]
I have seen that people are printing tracks on a 3D printer. Practically the whole thing is printed, only some common cheap parts are used for this. [Read more]
I've had a printout of flexible filament in my hand. It behaves like hard rubber. The fact that it costs several times more expensive than PLA for example. So it probably wouldn't be much of a problem... [Read more]
. Necessarily equipped with such armament on the turret: https://www.elektroda.pl/rtvforum/topic1021421.html ;-) [Read more]
I buy SUNLU PLA filaments at 65PLN per kilo, ABS, at 89PLN per kilo, while Plexiwire TPU filament, at 130PLN per 900g, so some very expensive is not. However, I have to admit that it is amazing. It is... [Read more]
The camera and control option in one can be possessed with the ESP32 CAM, or if that's not enough, the ESP32-S3-Cam. Control can be transferred to the drive module via I2C. There are also laser distance... [Read more]
See this wonder. https://obrazki.elektroda.pl/7209575600_1741885691_thumb.jpg . [Read more]