ACEBOTT ESP32 Smart Car Starter Kit with Mecanum Wheel

Screenshot 2025-08-28 080437

In my on going quest to get a camera working on a robot car and failing with an Arducam, I cam across an existing kit that has an add on extra of a camera. It is the:

ACEBOTT ESP32 Smart Car Starter Kit with Mecanum Wheel

with

ACEBOTT ESP32 Camera Expansion pack for Smart Car

which is going to make achieving my goal much, much easier.

To get the Smart car working you’ll need to nuy some batteries:

1 x CR2025 for the Infra Red Controller

2 x 18650 to the motors and controller board

Assembling the car is pretty straight forward and the kit give you a few spare items for those that you invariably drop on the floor and lose, which is nice. The main challenge I had was with the wiriing. It is always a good idea of take a photo of the components , both sides, BEFORE you assemble them so you can read the pin settings. Case in point, here is the Ultrasonic senor after I had to disassemble it to get the pin settings.

Screenshot 2025-08-28 081429

Hopefully, that saves someone else having to do same.

Here are some more I took of the motor shield board because reading the numbers for the connectors was challenging.

Screenshot 2025-08-28 081600

Screenshot 2025-08-28 081753

With everything finally assembled and powered up I wanted to wire some code to test all the sensors were working correctly. I used this for my tests:

https://github.com/directorcia/Azure/blob/master/Iot/Acebott/Smartcar/diag.cpp

It will flash the LEDs, move the servo for the ultrasonic sensor, test the IR receiver, play tunes on the buzzer and test all the wheels, forwards and backwards for you.

All teh driver files and the instructions can be downloaded here. This will give you everything you need for all the Smartcar kits and add ons.

My next step will be to code the Smartcar so that it moves in response to commands sent to it via the Infra Red controller. Stay tunes.

Robot with distance

As I detailed in a previous post:

Mecanum motion

I had my robot moving and taking commands from an Internet based dashboard. The missing piece was to get the distance sensor operational, which I have now achieved.

I firstly need to print a mount to allow the distance sensor to be mounted to the buggy frame. I have uploaded that to the CIAOPSLabs repo here:

https://github.com/directorcia/ciaopslabs/blob/main/3dprint/mounts/VL53L0X-distance.stl

image

With the VL53L0X sensor now mounted and connected to the processor the layout now looked like the above image.

Basically, the motor controller, distance sensor and LCD display all communicate with the ESP32-S2 processor via the SDA/SCL bus. They achieve this by all being on a different address.

It was also important to ensure that I connected up the wheel in a know sequence because to drive the mecanum motion I needed to turn different wheels to make it move in certain directions per:

I’ve uploaded the initial code with it all working here:

https://github.com/directorcia/ciaopslabs/blob/main/Projects/14/moveanddistance-v1.c

The commands on the keyboard are:

image

1 = Left forward 45

2 = Forward

3 = Right forward 45

4 = Left 90

5 = Stop/Start

6 = Right 90

7 = Left back 45

8 = Back

9 = Right back 45

* = Slower

0 = Spin on the spot

# = Faster

As the robot moves it displays the distance on the LCD display like so:

image

The robot starts with speed = 0 (i.e. stationery). You press 5 to set the speed to 100 but it will not yet move until you give it a direction. If you now press 2, the robot will move forward at a speed of 100. You can then happy go along changing directions via the keypad. If you press 5 again, the robot will stop moving.

With all this now working, the next update will be for the robot to use the distance sensor to determine how far away it is from object (at the front), slow and stop if necessary to avoid hitting these objects.

I want to also optimise the code to make it more responsive if I can and I’ll post the updates here and to the CIAOPSLabs repo when I get it all working.

Beyond that I’m still trying to decide what to get the robot to do? If you have any suggestions, let me know but I’m kind of thinking that the robot needs to have ‘vision’ next!

New chassis

image

I’ve invested in a new chassis for my robot creations. This is the one I opted for:

Mecanum Wheel Chassis Car Kit with TT Motor, Aluminum Alloy Frame, Smart Car Kit for DIY Education Robot Car Kit

from Amazon. It is great quality, strong and well made. Has lots of connection options and the right size for what I want. It is also robust enough to survive the inevitable ‘incidents’ it will no doubt have along the way. In short, I think it is great value for money and very professionally made.

As you can see from the above picture, I have managed to put it together, even though it didn’t come with assembly instructions. Those I found here:

https://www.hiwonder.com/products/mecanum-wheel-chassis-car

and specifically on this YouTube video – https://youtu.be/WMQ-PyM-PNE

The motor connections are JST 2-pin female connectors so I have also ordered these:

JST PH 2-Pin Cable – Male Header 200mm

to allow easy connection to the motor driver I’ve already played with here:

https://blog.ciaops.com/2023/07/12/iot-motors/

Once I get all that I can start putting together the controllers and then start writing the code to make it actually move about.

Stay tuned.