ESP32-S3 & TMC6200 Test Board

So … I’ve probably bitten off more than I can chew but I’ve gone ahead and designed a test board for my own design for a SimpleFOC all-in-one board.

The hardware overview is:


I am planning to use SimpleFOC with the 6PWM driver and in-line current sense using the TMC6200 onboard amps. Longer term I would like to implement a web interface for config and monitoring

The test board will support 48V or 12S lipo and hopefully up to about 10A. The final board will use buss bars for Vmot, Gnd, and the motor phases (U, V, W) to bump the amperage up as high as I can get it. I am hoping to achieve a continuous 1kW so around 25A with whatever peak that allows me. The schematics are heavily based off of the TMC6200-BOB and the ESP32-S3-WROOM Devkit C.

Initially I tried to get fancy with the packaging, making the board round, placing the angle sensor in the centre, and shrinking it to 80mm diameter. The idea was that it could be bolted to the back of the motor. After fighting with the packaging for some time I realised that the first thing I needed to do was confirm that I had a working schematic with the features I wanted working correctly so that is what this board is.

I have tried to keep the layout neat but the layout will change significantly for the final design so some of the circuits are just placed randomly in the most convenient spot.

I have tested the ESP32 with a TMC6200-BOB and AS5600 and it worked however there was some roughness to the running which seemed to be related to wiring and noise as it was all built on breadboards, so I am hoping that this will sort that out.

I am currently waiting on a shipment of parts from Mouser and another from LCSC both of which are due this coming week so I will hopefully have an update next weekend.

I am happy to share the schematics and BOM but it makes sense for me to test it before putting it up on the forum.


Very interesting. Please post your progress!

Excellent. This project is interesting for me and I will try to follow it quickly. But one question, if all the parts are on the same board, how can the signals be protected from noise (is there a software way)?

That is part of what I will be checking but I have tried to keep the power and signal stages as far apart as possible. The entire power stage is on one end, the TMC-6200 sits in the middle, and the ESP32 is up top. This way they are as physically far from one another as possible. On top of that every single 3v3, 5v, and Vcc line that connects to a component has a dedicated filter cap … I think filter caps outnumber all other components.

I think noise is more likely to be a problem at higher power levels and at the moment that will only be on the next board which, for packaging reasons, might end up on 2 boards anyway.

1 Like

Just a quick update, the last few parts are due in on Friday so for now I am just cleaning my workspace and daydreaming about how perfect and bug free my board is going to be :stuck_out_tongue:


I have managed to solder the board with no major issues, hooked it up and the ESP32-S3 responded first time. A BLE example uploaded no problem and I could see it as a Bluetooth device on my phone straight away. Now I just have to wade through the long list of compile errors when I try to link SimpleFOC :sob:


So I got it to compile, the only issue is apparently some of the ADC register names are different on the S3. Obviously I am going to have to check this but next step is to try run a motor!

So for tonight’s testing the AS5600 magnetic encoder example worked straight out the box :partying_face: but when I tried a motor control example I started running into a bunch of weird problems.

About 3h, a resoldered ESP32, and a load of swearing later I discovered that the rear USB ports on my workshop PC are failing or have a bad driver somewhere :tired_face: so I changed to a different USB host and was straight back to working :man_facepalming:

It’s late now so will have to carry on testing tomorrow.

1 Like

I had a loot of issue’s also using the esp32 to run the simplefoc library, in my case i’m using the esp32 wroom32E and the main problem was that i havent updated to the last release the Esp32 adaptation for using it with the arduino framework (that creates a some incompatibilities that aren’t obvious and it creates a estrange behaviour for the system) if you are still on trouble with it, you should make sure that you are using the lasts versions of the library’s and the framework.

Hi, thanks for sharing this! When you’re ready I would love to get access to the schematic + BOM :slight_smile:

Hi! Just checking if there are any updates on this and whether it would be possible to see your schematic :slight_smile:

Hi @avi, sorry for the slow reply, I do automation for a living and the last 2 months have been insanely busy. I haven’t really had a free weekend since my last post. I will be working on it later today and will post my schematics then (I’m posting from my phone right now)

@maymerich thanks for the suggestion. Given that it’s been a while I will make sure to update before I carry on.

Have you had any luck getting this all working? I’m looking into using the TMC6200 with ESP32 as well