Mechnaum Wheeled RC car
I set out this project with not much idea where I was going but I knew I wanted to experiment with mechanum wheels and a robotic arm. I wanted this to be controlled by and ESP32 as I have not yet had a change to play with one of these and want to experiment further with the remote control and this seems like a wonderful chance to have these be like this. This set out the overall plan for the project which was for me to end with an RC car which has a small, light robotic arm and 4 mechanum wheels for funky movement.
Created by
The Geek
Tier 2
37 views
0 followers
CAN ⚡🚀
approved Mechnaum Wheeled RC car ago
Tickets awarded: 813 tickets
Tier: 2
Awesome project!
CAN ⚡🚀
submitted Mechnaum Wheeled RC car for ship review ago
The Geek
submitted Mechnaum Wheeled RC car for ship review ago
cubit010
requested changes for Mechnaum Wheeled RC car ago
hey!
please format your github properly!
the cad files don't have an extension! (no .stl, .step, or whatever else)
please also include the source cad file from your cad software (.f3d or .f3z for fusion, link in readme for onshape)
The Geek
submitted Mechnaum Wheeled RC car for ship review ago
The Geek
added to the journal ago
Finished
I have now fully assembled the product and wired it all up and really happy for it, not sure if I can upload videos here very well so check the repo but I think it looks good. Just put the final bits together and soldered them up and I think it is great. The last bit wasnt too bad to be honest - I was expecting much worse but now I will submit, wish me luck. :)


Forgive me, I did End up taping it rather than screwing it as it was faster and I think it is fine.
Still love the eyes: 
The Geek
added to the journal ago
Printing and building the arm and chassis
To begin I printed out all the parts on my 3D printer. I was hopeful to laser cut the arm parts but this didn't work out. Most of the prints were great specifically the chassis print but the arm print turned out horrible with massive elephants foot so clearly the bed was wayyyyy too close to the nozzle.

I then checked the fitment of all the parts and they went together pretty well specifically with the wheel arm struts fitting exceptionally well with the covers.
I did notice during this fit that the motor wires are too short and so I will have to resolder these when I solder all the parts later.
Finally, I built the arm over a couple of hour sessions this week. Due to the horrific print I had to sand and scrape down the contacted parts along with drilling out the M3 screw holes but this was fine. To assemble the arm I simply had the 3D model on the screen and kept referring back to it and then glued it into the chassis lid: 
It works really well in real life and I am very happy with the gripper and how the lifting platform stays flat.
The Geek
added to the journal ago
Testing the screen code
Writing this went quite well, very thankful for the datasheet images of the ports on the ESP32 - it makes it so much easier with glasses looking at the small writing.
First error I encountered was this: Sketch uses 822305 bytes (62%) of program storage space. Maximum is 1310720 bytes.
Global variables use 46264 bytes (14%) of dynamic memory, leaving 281416 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port COM10
A fatal error occurred: Could not open COM10, the port doesn't exist
Failed uploading: uploading error: exit status 2
So clearly something went wrong but thankfully it wasn't with the code but rather the uploading end of the programming. The issue was that the ESP was definitely com port 10.
And then it just worked..... No idea why, so just now don't change a thing.
Genuinely just switched to port 4, unplugged and re plugged the usb then reselected port 10 on the arduino ide ui and it simply worked.
Now I cannot describe the joy that I felt when I powered it on and the animation worked!!!!!
Ecstatic!!!!


The Geek
added to the journal ago
Modeling the mount for the arm
Just a short one today but I managed to model the mount for the arm onto the top plate of the car chassis.
This will hold the bottom of the main housing of the arm in little slots which will be glued into place.

I have also started printing the individual parts on my printer:

onwards and upwards....
The Geek
added to the journal ago
Making an arm
I have now done 3D modelling to design the arm for this car thing.
What I wanted to do with this arm was to have it almost flatpack down rather than be large. Almost as if it was laser cut and honestly if I am able to laser cut this I would love to but I don't think that will happed but 3D printing is fun to I don't mind.
For this arm I have tried to keep as much of the mass near to base so that the servos dont have to work too had and this wont be for picking up really heavy objects anyway. I have further revised the gripped system to make it more direct drive and improved the gears shaping.
This project has been really fun so far and I can really see how my fusion skill has improved.
I based the design on some ones I saw online: 
The way the design works is the 2 servos in the base work together via a series of linkages to keep the gripper platform level and control the movement. 


This design has a wide range of movement and it doesn't look to heavy, I will attach it al together with some standard hardware components and will get started printing the whole model soon as I have already used the layout tool to layout (Who'd a thought) to parts to print easily: 
onto coding next, after I model a mount for it to attach to the top of the car.
The Geek
added to the journal ago
Gripper design V2
After the horrific failiure that was the last couple of days with the previous gripper I decided to try again but specifically wanted to give myself a soft timelimit to prevent getting bogged down in a complicated design.
The desing I then came up with was much better. It is controlled by a servo which them moves 2 arms. The modelling went well and I have attached a video bellow.
I may revise this design as I can see a couple improvements and may remove the arms being parallel as that isnt really needed though is a nice feature I want this arm to be as barebones as possible.
In the video the servo and gripper have been added onto an arduino I had on my desk and a breadboard I already had set up with some potentiometers. 20250413_211443

This has gone through 2 small revisions already where I editied the arms to be larger than in the video with also a different attaching mechanism as they were very flimsy with the filament pins so this was swapped to be m3 bolts; and then to add those large concave cutouts in the model image as the system wouldn't fully close due to contact with the screw area.
The Geek
added to the journal ago
Designing a gripper for the arm
I would also like to add an arm to this project and for this too.
To begin I decided to start designing a cool looking gripper which centred around a worm screw with the aim of this providing a stable base and lots of torque.
Modelling this went well and I also added a planetary gearbox on the back with the idea being this can be controlled with a servo.


The way the design works is that the servo turns the planetary gearbox which then spins the worm gear which is a 43:1 reduction to the large gears, this then passes via a couple other gears which doesn't change the ratios overall, the arm is then controlled by a smaller gear and levers to grab an item.
However, this had some issues....
I then printed the gripper section but unfortunately this raised some issues which frankly I should have seen coming. Firstly, the design was MASSIVE, I knew this when designing but was intending to shrink down slightly but it became obvious this was very unrealistic. Secondly, any advantage of the wormgear is completely countered by the gearbox and all disadvantages stay - this will also be difficult to hold in place. This leads me onto reason 3, the frame that I designed was both too bulky to easily assemble and really weak. The final main issue was with the arms, due to the lever design and the triple arms they just didnt grab stuff.
the lever dessign and loads of gears resulted in lots of 'wiggle' in the arms before the arms actually 'grip' the gears and stop but due to the bad frame the gears just skip under slight load.
The triple arm design was also a mistake as it simply didn't line up - like at all.
So it is clear to say that this just didn't work well and will need a redesign.
The Geek
added to the journal ago
Adding the OLED to the code
I'm going to preface this by explaining that I am yet to test this code as I am away from my electronics workshop....
The coding didn't go too bad this time and I think I have managed to add many many features. My goals for this screen was to have a controller connection symbol, two drifting eyes with back and forth motion and importantly not affect the connection speed.
I even found this retro datasheet: 
I think I have managed this well. I have made the decision to move some of the motor pins and also added a startup animation and these features. I don't know what else to say on this until I have the circuit built and added to the collection.
When coding this I started with the idea of two square eyes and made this but something about it just didn't feel like it was the best option and so I then pivoted and made circles which while would probably be cool I decided to stop and do some sketching at which point I went with the rounded squares but perhaps I will iterate the design further later when the circuit is tested, specifically with the dimensions and spacing.
.... I also removed the LED indicator of GPIO23 as it wasn't needed
The Geek
added to the journal ago
Modelling the rest of the car
To begin I made some small edits to the wheel arms which included so little studs to line up the side cover for the arms and adjusting the connection point.
I then moved onto the main chassis parts.
To begin I used the dimensions of the esp32 board to star to determine the internal dimensions of the chassis. This then was hollowed out and given a roof. I added slots into this roof for airflow and to prevent massive overheating.
I would like to then take a moment to hate on the learning curve for the new fusion update as while it was lovely for the wheel for which the parts were not based on each other it was horrible for this and I spent so much time working out errors and fusion going "ERRRRRMMMmmmm actshually,,,,, you can't do that".
I encountered most of these errors making the sockets for the wheel arms in the main chassis but it is all sorted now. To be honest I just ditched the part and assembly workflow and reverted back to simply using hybrid design and will most likely stick with this unless I learn the new workflow which will not be until the summer at the very least.
Finally I added a case for a 128x64 0.91" OLED display which I will be adding at some point and the mount point.
This is the built car (minus the wheels)
This is a closer view of the wheel arm connectors.
Also the main chassis lid is attached with some m3 screws - the same that attach the wheel together with countersunk holes on the top.
The Geek
added to the journal ago
Upgrading the controller
So I designed and coded the controller using this instructables as a base: https://www.instructables.com/Micro-Remote-Control/
but decided to create my own case for it in fusion.
Here is the wiring diagram: 
Which I used to wire up and then I coded the bellow circuit:

And the buttons light up!!!!
I have coded the circuit so that the joystick controls the movement with the wheels (The code will be altered for the omniwheels so that stick left moves the car directly left - no turning needed) the buttons are then to rotate the car clockwise and anticlockwise.
The ESP-now took a little while to set up over the last 2 days but after a couple of tries it seems to work, honestly, I couldn't explain it with any accuracy sorry - it just works.
For the CAD model I have rendered it exploded in a translucent material to view the internal geometries easier. 
The great thing about these buttons is that they don't require direct contact so I can hide them inside the 3D print. This model has 4 connection pins to hold it together and space for both the battery pack and the joystick to slot in.
The Geek
added to the journal ago
Getting the circuit to actually work
To start with I had to get the wifi to work as it wasn't working well yesterday which I know realise after some googling is as my 3.7 V battery cannot supply enough voltage or current for the ESP32, especially when WiFi turns on and draws large current spikes. This leads to the voltage droping, so the ESP32 cannot start the WiFi protocals, which is why it only works when powered from USB directly to the ESP32.
Thankfully I have 2 of those flat lithium ion cell batteries. I wired them up in series to try and boost the voltages.
After swapping out these batteries the circuit then seems to work. I then did some testing with a multimeter and stress tested the truning on and off and then I added in the motor boards bck to the circuit - these had been removed to help solve the previous error. At this point the wifi connection worked with the motors which solved the second issue from earlier.
I have also removed the led with transistor as I don't need it right now, I could add it back in afterwards to show power on but right now it is not needed.

The Geek
added to the journal ago
Wiring with the new ESP32
Did a couple edits to the code before soldering the esp32 pinout together and can someone explain to me who designed the breadboard to just be such a bad size: 
There is no pins on the left side of the board when I plug it in.
Despite this I have now wired in the components:
Yeah, it doesn't work. I have no idea why and will sort in the morning.
To solve:
- Why the motors all started randomly moving together independently of the controller
- Why after rebooting the wifi didn't appear
- Whether to revoeme this LED and transistor as it is ye to light up probably as the parts are too small for a reliable breadboard connection
The Geek
added to the journal ago
Swapping to ESP32D
Before continuing further I decided to swap to an ESP32-D due to tha facts that upgrading from an ESP32-C3 to an ESP32 HW-394 (WR-32) gives you the full dual-core ESP32 Wi-Fi radio (802.11 b/g/n on 2.4 GHz) with better throughput and connectivity options compared to the ESP32-C3’s Wi-Fi, so the project will benefit from a more advanced board more suited to the use-case. The new board also has a much higher number of pins so use.
Here is a datasheet: https://documentation.espressif.com/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf
And easy to read info here: https://www.espboards.dev/esp32/esp32-hw-394/
And I now have this diagram: 
Alongside this I have rewritten the code to work with the new board and will test after the new circuit is built.
Sorry, a bit of a longer one today but this took 2 days of searching, researching, and coding - I really hope the code works first try and I haven't tried to use a load of pins that are not meant to be used
The Geek
added to the journal ago
Failed idea
So I started today by deciding to drop the work yesterday into the wheel struts and pivot to have suspension. I then jumped to pen and paper and tried to design an active suspension setup based on the FW14-B (An F1 car) Which to be honest looked pretty good and I'm happy to share if anyone is interested but it isn't a particularly nice drawing, the mechanism is ok, no the drawing skills.
I them moved to CAD to design the main suspension with me using this as the inspiration:
and modelling an upper and lower wishbone to the part holding the DC motor but as I started to move onto the active suspension I realised that this may not be best for the mecanum wheels as it could cause some wheels to have more grip than others through an inbalance of weight and it didn't help that I was unable to figure out how to mount my servo driven active suspension arm. This has led me to cut my losses and return back to yesterday's model and perhaps I will add this idea in later if I feel the need but for now I am going to go back and I am liking the idea of the wheels almost lowing out of the main chassis mike bug legs as it sounds fun.
The Geek
added to the journal ago
Chasis start
I forgot to mention last time I have had some issues with the charging module smoking when I add the USB C too slowly and so I have completely swapped out the module for a fresh one.
I have also made a quick start on the chassis modelling with some quick pencil and paper sketches before jumping into fusion and this is the part I surrently have:
This is the first iteration of the leg strut and with have this DC motor inside:
I have also started taking more consideration in regards to modelling for manufacture specifically with the cover plate for access to the motor and lack of support needed.
I also took the opportunity to find an ESP32 Dev module model as I am heavily considering switching to this board for the rest of the project: 
The Geek
added to the journal ago
Code
So I've been having issues with the code and I think I have figured it but basically On some newer ESP32-C3 cores (3.x), ledcSetup() was replaced internally by the new driver system which means if you're using core 3.x, the LEDC API changed.
This required a quick downgrade in version for the core. I also had SPIFFS.h installed twice because of course I did and still have a DC motor randomly moving but then not if it is moved to certain orientations so I think that I have a short somewhere which is likely considering the horrific wiring that currently is sitting on my desk.
I have also switched to WIFI rather than BLE as I think it will be faster to switch to ESP controller and it transfers data faster and more reliably compared to BLE. This will also work on an apple device rather than integrating BLE via a webpage which is not allowed.
Finally, I tested it and it worked well but 1 motor didn't work and while 3/4 is not bad it is a massive issue for mechanum wheels and so I visually checked connections and got out the multimeter before realising one of the factory solder joints had simply failed which while frustrating is very fixable next time I get to my soldering iron.

The Geek
added to the journal ago
Electronics
I have done more work on the physical aspects of the electronics
Good ESP32 C3 datasheet: https://dl.artronshop.co.th/ESP32-C3%20SuperMini%20datasheet.pdf
Another (Espressif) ESP32 C3 datasheet: https://documentation.espressif.com/esp32-c3_datasheet_en.pdf
The second link - from espressif - contains lots of complicated information about the internal workings where the first link will probably be more useful for me in this moment. The first link contains this important diagram:
And this very detailed schematic: 

The FAQ here is also very useful after a good read.
I have also assemblied the circuit physically using a breadboard but had some issues as one of the motors keeps moving ramdomly and I cannot figure out why for the life of me. I have also been uunable to upload the code after some changes and compiling errors but I hope to fix them in the morning.
The Geek
added to the journal ago
More Coding
So I have done some more coding, updating the tank/differential style steering to work better with all 4 wheels and while this wont work with the mecanum wheels I will add them in later with more complex code and control along with better user side control. I have also now created the HTML code for Bluetooth control and so next I just need to do some tests which is probably when it all goes wrong.
I also added some acceleration ramping which apparently makes the drive much smoother, easier to control, and protects the motors and driver boards.
I'm pretty happy with the interface though it is only temporary but perhaps if I really like it then I will keep it, who knows. 
This should send this required info and so next I should probably test I unless I can think of more things to add and so I will be designing the circuit and making that to test.
The Geek
added to the journal ago
Coding
I have started coding and the code I made is for an ESP32 C3 which can be controlled via bluetooth (Just to start with as it is faster to set up due to my previous project providing a blueprint) and currently all the wheels are individually controlled which sort of needs to change as the user shouldn't be able to individually change the wheels - that should be automatic to make it more idiot proof.

Haven't managed to test this code yet so I will set up the circuit tomorrow after a couple more changes. I managed to write this code quite well if I may say so myself and I am amazed by the resources online every time I do a project like this.
The Geek
added to the journal ago
Building the wheels
I have now built all 4 wheels which is amazing and these spin fantastically with the rollers, the resin wheels took much less work but I did just do a little sanding as suggested in the previous post to clean up the parts and make it smoother.
I did start by building it wrong cause of course that had to happen:
but that was when I dicided to just give the parts a quick sand.

But they turned out great in the end and now all 4 are done
The Geek
added to the journal ago
Printing the final wheels
So I changed my mind and as I am moving house I will not have access to my printers and so I just went ahead and resin printed the final wheels today. These came out with fantastic tolerances and I only had to widen the outer circle of holes on the side panels a little bit and so I probably wont reprint but I have updated the 3D model for when I release it.

The Geek
added to the journal ago
More on the wheels
First I remodelled the parts of the wheels as specified by the previous journal entry and printed these. I now have two complete wheels printed - in parts.
After this I started assembly which was so finicky and I think I glued my fingers together at least 3 times. But I started with the side panels, giving them a quick sand and then heat forming them to the jig which caused them to warp on the though holes and so after reprinting a drilling the now warped part I discovered that if I use a varnish tin on the section with the hole and then apply heat it will act as a heat sink to the plastic and block some heat via convection which solved the issue pretty well.



I then moved on to assembly and now have a fully built mecanum wheel. I am currently debating printing the rest of the parts fully in resin for tolerance and as I don't currently know how well it works but I think I will make the second one tomorrow which is already printed and then one I have rudamentary code and stuff figure that out.


The Geek
added to the journal ago
Building the wheel prototype
I have now Printed the wheel files including the jig via FDM aside from the small pins which I thought would benefit from resin printing due to the small size.

This files mostly came out well aside from a couple issues.
Due to elephants foot and generally tight tolerances I have had to drill out all the outer holes on the side panels and also trimmed the inner circle diameter to allow fitment over the center block. I am honestly so surprised by the difficulty I had getting the drill bit to cut - who knew PLA had such a high hardness.

Before printing more parts I will be remodelling the tolerances on this centre block and the motor mount for a better, tighter fit.
The final thing I have done is glued the rollers together - I printed them in two halves to remove supports and assembled the needed hardware for the assembly after I thermoform the outer panels with the jig
The Geek
added to the journal ago
Soldering
I have since done some soldering, attaching the 4 dc motors to their respective H-bridge modules and I have also wired up my Lithium ion battery to the charging module I have.
While the wiring for the DC motors went well I am considering re-doing it as the wires are really cheap and so I could replace them with my lovely silicon wrapped ones that are lovely - did I say truly how nice they are?

With the charging module I was surprised at the complexity of the connections required.

The Geek
added to the journal ago
Connection to control the car
After the difficulties with my desk robot project
where I spent ages - of frankly wasted time - just attempting to control the product.
Due to this I have done some research and found the espNOW protocol which looks good. It appears that it can be difficult to set up and so if I struggle too much I will switch back to using Bluetooth.
EspNow doesn't require an external hardware like antenna and so is cheap while having good range along with not being grounded to a certain area like with wifi.
There are also some good tutorials for this and so I will be following those to create the code that I will need to create this.
The Geek
added to the journal ago
Figuring the wheels
After some more head scratching and ditching the awful tutorial managed to get the parts to fit. I added some distance between the outer panels and larger spacers with some tolerances.
After this I made the parts actually buildable with good hardware.
To start I added a bracket into the center for the DC motor to attach to and widened the alignment pin holes on the panel faces for M3 screws to slot into.
I also designed some pins that will hold the rollers in place and cut the roller in half for easier 3D printing.

I originally wanted to use m2 screws but struggled to find any long enough. and after this I spent some time going back and fixing any errors made by the changes I made to dimensions, notably the bending jig: 
The Geek
added to the journal ago
More modelling for the wheels
After this I created a plate that will be printed with the other wheel parts and this will be to allow me to print the side panels flat and then via heat gun I can bend this panel to shape. This jig will allow for increased repeatability across the 8 of these panels that I will need.

Then I made the roller
And I really hope that this is the correct shape though it would be funny if it wasn't - after the crying stopped
After the rollers and some accompanying pins I started the assembly - but this had some issues... 




Basically, what happened was I think that I was using a copied tutorial but the video was proper bad quality and kind of rubbish but it resulted in me making the wheel to not fit.
As of right now I have no idea what to do to fix it as the wheel is just off but hopefully I figure something - I'm going to sleep on it and start in the morning by making (on my own) an inner section for the motor to attach to and and hopefully solving the alignment issue
The Geek
added to the journal ago
Modelling the mecanium wheels
I started the modelling the mecanium wheels and this took ages. I decided to start with the two side panels and this - i hope - will give me a good starting point for the rest of the wheels. To determine the qualities of this wheel I used the research from previously and some online resources.
So far I'm happy how it is going.


This is the kind of thing is what I want and what im basing it off: 
The Geek
added to the journal ago
Research
In the mean time for completing the modelling for the two motors I have done some research into DC motors and in to Driver boards, specifically H-bridges.
As per this research I have determined to use some slower speed, higher torque DC motors with a gearbox and this will allow me to see the movement happening and also I am unsure how much torque the mecanum wheels will need and so this feels like a safe bet.
Alongside these I will use the L298N H-bridge motor driver board and I want to say how facinating all of the electronics are, I have particularly enjoyed looking into how H-bridges work on a basic level and this has upgraded my understanding quite significantly with choosing the correct board.
My hope for this is also that it will be the easiest to code of the cheaper boards that I have seen as it is very wide spread.

The Geek
added to the journal ago
Research
Done about an hours research into Mecanum wheels looking at different guides and resources.
Interestingly, the layout of the wheels are very important and each wheel is specific which before doing this research I didn't realise. 
I'm going to have a go next at modeling these in fusion, probably first at an abstract scale and then to fit the DC motors that I have
The Geek
started Mechnaum Wheeled RC car ago
2/1/2026 - Research
Done about an hours research into Mecanum wheels looking at different guides and resources.
Interestingly, the layout of the wheels are very important and each wheel is specific which before doing this research I didn't realise. 
I'm going to have a go next at modeling these in fusion, probably first at an abstract scale and then to fit the DC motors that I have
2/2/2026 5 PM - Research
In the mean time for completing the modelling for the two motors I have done some research into DC motors and in to Driver boards, specifically H-bridges.
As per this research I have determined to use some slower speed, higher torque DC motors with a gearbox and this will allow me to see the movement happening and also I am unsure how much torque the mecanum wheels will need and so this feels like a safe bet.
Alongside these I will use the L298N H-bridge motor driver board and I want to say how facinating all of the electronics are, I have particularly enjoyed looking into how H-bridges work on a basic level and this has upgraded my understanding quite significantly with choosing the correct board.
My hope for this is also that it will be the easiest to code of the cheaper boards that I have seen as it is very wide spread.

2/2/2026 9 PM - Modelling the mecanium wheels
I started the modelling the mecanium wheels and this took ages. I decided to start with the two side panels and this - i hope - will give me a good starting point for the rest of the wheels. To determine the qualities of this wheel I used the research from previously and some online resources.
So far I'm happy how it is going.


This is the kind of thing is what I want and what im basing it off: 
2/3/2026 - More modelling for the wheels
After this I created a plate that will be printed with the other wheel parts and this will be to allow me to print the side panels flat and then via heat gun I can bend this panel to shape. This jig will allow for increased repeatability across the 8 of these panels that I will need.

Then I made the roller
And I really hope that this is the correct shape though it would be funny if it wasn't - after the crying stopped
After the rollers and some accompanying pins I started the assembly - but this had some issues... 




Basically, what happened was I think that I was using a copied tutorial but the video was proper bad quality and kind of rubbish but it resulted in me making the wheel to not fit.
As of right now I have no idea what to do to fix it as the wheel is just off but hopefully I figure something - I'm going to sleep on it and start in the morning by making (on my own) an inner section for the motor to attach to and and hopefully solving the alignment issue
2/4/2026 12 PM - Figuring the wheels
After some more head scratching and ditching the awful tutorial managed to get the parts to fit. I added some distance between the outer panels and larger spacers with some tolerances.
After this I made the parts actually buildable with good hardware.
To start I added a bracket into the center for the DC motor to attach to and widened the alignment pin holes on the panel faces for M3 screws to slot into.
I also designed some pins that will hold the rollers in place and cut the roller in half for easier 3D printing.

I originally wanted to use m2 screws but struggled to find any long enough. and after this I spent some time going back and fixing any errors made by the changes I made to dimensions, notably the bending jig: 
2/4/2026 3 PM - Connection to control the car
After the difficulties with my desk robot project
where I spent ages - of frankly wasted time - just attempting to control the product.
Due to this I have done some research and found the espNOW protocol which looks good. It appears that it can be difficult to set up and so if I struggle too much I will switch back to using Bluetooth.
EspNow doesn't require an external hardware like antenna and so is cheap while having good range along with not being grounded to a certain area like with wifi.
There are also some good tutorials for this and so I will be following those to create the code that I will need to create this.
2/5/2026 4 PM - Soldering
I have since done some soldering, attaching the 4 dc motors to their respective H-bridge modules and I have also wired up my Lithium ion battery to the charging module I have.
While the wiring for the DC motors went well I am considering re-doing it as the wires are really cheap and so I could replace them with my lovely silicon wrapped ones that are lovely - did I say truly how nice they are?

With the charging module I was surprised at the complexity of the connections required.

2/5/2026 10 PM - Building the wheel prototype
I have now Printed the wheel files including the jig via FDM aside from the small pins which I thought would benefit from resin printing due to the small size.

This files mostly came out well aside from a couple issues.
Due to elephants foot and generally tight tolerances I have had to drill out all the outer holes on the side panels and also trimmed the inner circle diameter to allow fitment over the center block. I am honestly so surprised by the difficulty I had getting the drill bit to cut - who knew PLA had such a high hardness.

Before printing more parts I will be remodelling the tolerances on this centre block and the motor mount for a better, tighter fit.
The final thing I have done is glued the rollers together - I printed them in two halves to remove supports and assembled the needed hardware for the assembly after I thermoform the outer panels with the jig
2/7/2026 12 AM - More on the wheels
First I remodelled the parts of the wheels as specified by the previous journal entry and printed these. I now have two complete wheels printed - in parts.
After this I started assembly which was so finicky and I think I glued my fingers together at least 3 times. But I started with the side panels, giving them a quick sand and then heat forming them to the jig which caused them to warp on the though holes and so after reprinting a drilling the now warped part I discovered that if I use a varnish tin on the section with the hole and then apply heat it will act as a heat sink to the plastic and block some heat via convection which solved the issue pretty well.



I then moved on to assembly and now have a fully built mecanum wheel. I am currently debating printing the rest of the parts fully in resin for tolerance and as I don't currently know how well it works but I think I will make the second one tomorrow which is already printed and then one I have rudamentary code and stuff figure that out.


2/7/2026 10 PM - Printing the final wheels
So I changed my mind and as I am moving house I will not have access to my printers and so I just went ahead and resin printed the final wheels today. These came out with fantastic tolerances and I only had to widen the outer circle of holes on the side panels a little bit and so I probably wont reprint but I have updated the 3D model for when I release it.

2/8/2026 - Building the wheels
I have now built all 4 wheels which is amazing and these spin fantastically with the rollers, the resin wheels took much less work but I did just do a little sanding as suggested in the previous post to clean up the parts and make it smoother.
I did start by building it wrong cause of course that had to happen:
but that was when I dicided to just give the parts a quick sand.

But they turned out great in the end and now all 4 are done
2/9/2026 - Coding
I have started coding and the code I made is for an ESP32 C3 which can be controlled via bluetooth (Just to start with as it is faster to set up due to my previous project providing a blueprint) and currently all the wheels are individually controlled which sort of needs to change as the user shouldn't be able to individually change the wheels - that should be automatic to make it more idiot proof.

Haven't managed to test this code yet so I will set up the circuit tomorrow after a couple more changes. I managed to write this code quite well if I may say so myself and I am amazed by the resources online every time I do a project like this.
2/10/2026 - More Coding
So I have done some more coding, updating the tank/differential style steering to work better with all 4 wheels and while this wont work with the mecanum wheels I will add them in later with more complex code and control along with better user side control. I have also now created the HTML code for Bluetooth control and so next I just need to do some tests which is probably when it all goes wrong.
I also added some acceleration ramping which apparently makes the drive much smoother, easier to control, and protects the motors and driver boards.
I'm pretty happy with the interface though it is only temporary but perhaps if I really like it then I will keep it, who knows. 
This should send this required info and so next I should probably test I unless I can think of more things to add and so I will be designing the circuit and making that to test.
2/12/2026 - Electronics
I have done more work on the physical aspects of the electronics
Good ESP32 C3 datasheet: https://dl.artronshop.co.th/ESP32-C3%20SuperMini%20datasheet.pdf
Another (Espressif) ESP32 C3 datasheet: https://documentation.espressif.com/esp32-c3_datasheet_en.pdf
The second link - from espressif - contains lots of complicated information about the internal workings where the first link will probably be more useful for me in this moment. The first link contains this important diagram:
And this very detailed schematic: 

The FAQ here is also very useful after a good read.
I have also assemblied the circuit physically using a breadboard but had some issues as one of the motors keeps moving ramdomly and I cannot figure out why for the life of me. I have also been uunable to upload the code after some changes and compiling errors but I hope to fix them in the morning.
2/13/2026 - Code
So I've been having issues with the code and I think I have figured it but basically On some newer ESP32-C3 cores (3.x), ledcSetup() was replaced internally by the new driver system which means if you're using core 3.x, the LEDC API changed.
This required a quick downgrade in version for the core. I also had SPIFFS.h installed twice because of course I did and still have a DC motor randomly moving but then not if it is moved to certain orientations so I think that I have a short somewhere which is likely considering the horrific wiring that currently is sitting on my desk.
I have also switched to WIFI rather than BLE as I think it will be faster to switch to ESP controller and it transfers data faster and more reliably compared to BLE. This will also work on an apple device rather than integrating BLE via a webpage which is not allowed.
Finally, I tested it and it worked well but 1 motor didn't work and while 3/4 is not bad it is a massive issue for mechanum wheels and so I visually checked connections and got out the multimeter before realising one of the factory solder joints had simply failed which while frustrating is very fixable next time I get to my soldering iron.

2/14/2026 12 AM - Chasis start
I forgot to mention last time I have had some issues with the charging module smoking when I add the USB C too slowly and so I have completely swapped out the module for a fresh one.
I have also made a quick start on the chassis modelling with some quick pencil and paper sketches before jumping into fusion and this is the part I surrently have:
This is the first iteration of the leg strut and with have this DC motor inside:
I have also started taking more consideration in regards to modelling for manufacture specifically with the cover plate for access to the motor and lack of support needed.
I also took the opportunity to find an ESP32 Dev module model as I am heavily considering switching to this board for the rest of the project: 
2/14/2026 5 PM - Failed idea
So I started today by deciding to drop the work yesterday into the wheel struts and pivot to have suspension. I then jumped to pen and paper and tried to design an active suspension setup based on the FW14-B (An F1 car) Which to be honest looked pretty good and I'm happy to share if anyone is interested but it isn't a particularly nice drawing, the mechanism is ok, no the drawing skills.
I them moved to CAD to design the main suspension with me using this as the inspiration:
and modelling an upper and lower wishbone to the part holding the DC motor but as I started to move onto the active suspension I realised that this may not be best for the mecanum wheels as it could cause some wheels to have more grip than others through an inbalance of weight and it didn't help that I was unable to figure out how to mount my servo driven active suspension arm. This has led me to cut my losses and return back to yesterday's model and perhaps I will add this idea in later if I feel the need but for now I am going to go back and I am liking the idea of the wheels almost lowing out of the main chassis mike bug legs as it sounds fun.
2/17/2026 2 PM - Swapping to ESP32D
Before continuing further I decided to swap to an ESP32-D due to tha facts that upgrading from an ESP32-C3 to an ESP32 HW-394 (WR-32) gives you the full dual-core ESP32 Wi-Fi radio (802.11 b/g/n on 2.4 GHz) with better throughput and connectivity options compared to the ESP32-C3’s Wi-Fi, so the project will benefit from a more advanced board more suited to the use-case. The new board also has a much higher number of pins so use.
Here is a datasheet: https://documentation.espressif.com/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf
And easy to read info here: https://www.espboards.dev/esp32/esp32-hw-394/
And I now have this diagram: 
Alongside this I have rewritten the code to work with the new board and will test after the new circuit is built.
Sorry, a bit of a longer one today but this took 2 days of searching, researching, and coding - I really hope the code works first try and I haven't tried to use a load of pins that are not meant to be used
2/17/2026 10 PM - Wiring with the new ESP32
Did a couple edits to the code before soldering the esp32 pinout together and can someone explain to me who designed the breadboard to just be such a bad size: 
There is no pins on the left side of the board when I plug it in.
Despite this I have now wired in the components:
Yeah, it doesn't work. I have no idea why and will sort in the morning.
To solve:
- Why the motors all started randomly moving together independently of the controller
- Why after rebooting the wifi didn't appear
- Whether to revoeme this LED and transistor as it is ye to light up probably as the parts are too small for a reliable breadboard connection
2/18/2026 - Getting the circuit to actually work
To start with I had to get the wifi to work as it wasn't working well yesterday which I know realise after some googling is as my 3.7 V battery cannot supply enough voltage or current for the ESP32, especially when WiFi turns on and draws large current spikes. This leads to the voltage droping, so the ESP32 cannot start the WiFi protocals, which is why it only works when powered from USB directly to the ESP32.
Thankfully I have 2 of those flat lithium ion cell batteries. I wired them up in series to try and boost the voltages.
After swapping out these batteries the circuit then seems to work. I then did some testing with a multimeter and stress tested the truning on and off and then I added in the motor boards bck to the circuit - these had been removed to help solve the previous error. At this point the wifi connection worked with the motors which solved the second issue from earlier.
I have also removed the led with transistor as I don't need it right now, I could add it back in afterwards to show power on but right now it is not needed.

2/21/2026 - Upgrading the controller
So I designed and coded the controller using this instructables as a base: https://www.instructables.com/Micro-Remote-Control/
but decided to create my own case for it in fusion.
Here is the wiring diagram: 
Which I used to wire up and then I coded the bellow circuit:

And the buttons light up!!!!
I have coded the circuit so that the joystick controls the movement with the wheels (The code will be altered for the omniwheels so that stick left moves the car directly left - no turning needed) the buttons are then to rotate the car clockwise and anticlockwise.
The ESP-now took a little while to set up over the last 2 days but after a couple of tries it seems to work, honestly, I couldn't explain it with any accuracy sorry - it just works.
For the CAD model I have rendered it exploded in a translucent material to view the internal geometries easier. 
The great thing about these buttons is that they don't require direct contact so I can hide them inside the 3D print. This model has 4 connection pins to hold it together and space for both the battery pack and the joystick to slot in.
2/25/2026 - Modelling the rest of the car
To begin I made some small edits to the wheel arms which included so little studs to line up the side cover for the arms and adjusting the connection point.
I then moved onto the main chassis parts.
To begin I used the dimensions of the esp32 board to star to determine the internal dimensions of the chassis. This then was hollowed out and given a roof. I added slots into this roof for airflow and to prevent massive overheating.
I would like to then take a moment to hate on the learning curve for the new fusion update as while it was lovely for the wheel for which the parts were not based on each other it was horrible for this and I spent so much time working out errors and fusion going "ERRRRRMMMmmmm actshually,,,,, you can't do that".
I encountered most of these errors making the sockets for the wheel arms in the main chassis but it is all sorted now. To be honest I just ditched the part and assembly workflow and reverted back to simply using hybrid design and will most likely stick with this unless I learn the new workflow which will not be until the summer at the very least.
Finally I added a case for a 128x64 0.91" OLED display which I will be adding at some point and the mount point.
This is the built car (minus the wheels)
This is a closer view of the wheel arm connectors.
Also the main chassis lid is attached with some m3 screws - the same that attach the wheel together with countersunk holes on the top.
2/26/2026 - Adding the OLED to the code
I'm going to preface this by explaining that I am yet to test this code as I am away from my electronics workshop....
The coding didn't go too bad this time and I think I have managed to add many many features. My goals for this screen was to have a controller connection symbol, two drifting eyes with back and forth motion and importantly not affect the connection speed.
I even found this retro datasheet: 
I think I have managed this well. I have made the decision to move some of the motor pins and also added a startup animation and these features. I don't know what else to say on this until I have the circuit built and added to the collection.
When coding this I started with the idea of two square eyes and made this but something about it just didn't feel like it was the best option and so I then pivoted and made circles which while would probably be cool I decided to stop and do some sketching at which point I went with the rounded squares but perhaps I will iterate the design further later when the circuit is tested, specifically with the dimensions and spacing.
.... I also removed the LED indicator of GPIO23 as it wasn't needed
3/2/2026 - Designing a gripper for the arm
I would also like to add an arm to this project and for this too.
To begin I decided to start designing a cool looking gripper which centred around a worm screw with the aim of this providing a stable base and lots of torque.
Modelling this went well and I also added a planetary gearbox on the back with the idea being this can be controlled with a servo.


The way the design works is that the servo turns the planetary gearbox which then spins the worm gear which is a 43:1 reduction to the large gears, this then passes via a couple other gears which doesn't change the ratios overall, the arm is then controlled by a smaller gear and levers to grab an item.
However, this had some issues....
I then printed the gripper section but unfortunately this raised some issues which frankly I should have seen coming. Firstly, the design was MASSIVE, I knew this when designing but was intending to shrink down slightly but it became obvious this was very unrealistic. Secondly, any advantage of the wormgear is completely countered by the gearbox and all disadvantages stay - this will also be difficult to hold in place. This leads me onto reason 3, the frame that I designed was both too bulky to easily assemble and really weak. The final main issue was with the arms, due to the lever design and the triple arms they just didnt grab stuff.
the lever dessign and loads of gears resulted in lots of 'wiggle' in the arms before the arms actually 'grip' the gears and stop but due to the bad frame the gears just skip under slight load.
The triple arm design was also a mistake as it simply didn't line up - like at all.
So it is clear to say that this just didn't work well and will need a redesign.
3/3/2026 - Gripper design V2
After the horrific failiure that was the last couple of days with the previous gripper I decided to try again but specifically wanted to give myself a soft timelimit to prevent getting bogged down in a complicated design.
The desing I then came up with was much better. It is controlled by a servo which them moves 2 arms. The modelling went well and I have attached a video bellow.
I may revise this design as I can see a couple improvements and may remove the arms being parallel as that isnt really needed though is a nice feature I want this arm to be as barebones as possible.
In the video the servo and gripper have been added onto an arduino I had on my desk and a breadboard I already had set up with some potentiometers. 20250413_211443

This has gone through 2 small revisions already where I editied the arms to be larger than in the video with also a different attaching mechanism as they were very flimsy with the filament pins so this was swapped to be m3 bolts; and then to add those large concave cutouts in the model image as the system wouldn't fully close due to contact with the screw area.
3/5/2026 - Making an arm
I have now done 3D modelling to design the arm for this car thing.
What I wanted to do with this arm was to have it almost flatpack down rather than be large. Almost as if it was laser cut and honestly if I am able to laser cut this I would love to but I don't think that will happed but 3D printing is fun to I don't mind.
For this arm I have tried to keep as much of the mass near to base so that the servos dont have to work too had and this wont be for picking up really heavy objects anyway. I have further revised the gripped system to make it more direct drive and improved the gears shaping.
This project has been really fun so far and I can really see how my fusion skill has improved.
I based the design on some ones I saw online: 
The way the design works is the 2 servos in the base work together via a series of linkages to keep the gripper platform level and control the movement. 


This design has a wide range of movement and it doesn't look to heavy, I will attach it al together with some standard hardware components and will get started printing the whole model soon as I have already used the layout tool to layout (Who'd a thought) to parts to print easily: 
onto coding next, after I model a mount for it to attach to the top of the car.
3/6/2026 - Modeling the mount for the arm
Just a short one today but I managed to model the mount for the arm onto the top plate of the car chassis.
This will hold the bottom of the main housing of the arm in little slots which will be glued into place.

I have also started printing the individual parts on my printer:

onwards and upwards....
3/7/2026 - Testing the screen code
Writing this went quite well, very thankful for the datasheet images of the ports on the ESP32 - it makes it so much easier with glasses looking at the small writing.
First error I encountered was this: Sketch uses 822305 bytes (62%) of program storage space. Maximum is 1310720 bytes.
Global variables use 46264 bytes (14%) of dynamic memory, leaving 281416 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port COM10
A fatal error occurred: Could not open COM10, the port doesn't exist
Failed uploading: uploading error: exit status 2
So clearly something went wrong but thankfully it wasn't with the code but rather the uploading end of the programming. The issue was that the ESP was definitely com port 10.
And then it just worked..... No idea why, so just now don't change a thing.
Genuinely just switched to port 4, unplugged and re plugged the usb then reselected port 10 on the arduino ide ui and it simply worked.
Now I cannot describe the joy that I felt when I powered it on and the animation worked!!!!!
Ecstatic!!!!


3/15/2026 - Printing and building the arm and chassis
To begin I printed out all the parts on my 3D printer. I was hopeful to laser cut the arm parts but this didn't work out. Most of the prints were great specifically the chassis print but the arm print turned out horrible with massive elephants foot so clearly the bed was wayyyyy too close to the nozzle.

I then checked the fitment of all the parts and they went together pretty well specifically with the wheel arm struts fitting exceptionally well with the covers.
I did notice during this fit that the motor wires are too short and so I will have to resolder these when I solder all the parts later.
Finally, I built the arm over a couple of hour sessions this week. Due to the horrific print I had to sand and scrape down the contacted parts along with drilling out the M3 screw holes but this was fine. To assemble the arm I simply had the 3D model on the screen and kept referring back to it and then glued it into the chassis lid: 
It works really well in real life and I am very happy with the gripper and how the lifting platform stays flat.
3/25/2026 - Finished
I have now fully assembled the product and wired it all up and really happy for it, not sure if I can upload videos here very well so check the repo but I think it looks good. Just put the final bits together and soldered them up and I think it is great. The last bit wasnt too bad to be honest - I was expecting much worse but now I will submit, wish me luck. :)


Forgive me, I did End up taping it rather than screwing it as it was faster and I think it is fine.
Still love the eyes: 