README.md

May 30, 2023 · View on GitHub

Product Description:

Starting your first Field Oriented Control (FOC) project might be daunting, especially if you're new to the field.

As makers, we frequently want to jump right into the action and begin writing the firmware without the hassle/need of selecting the right Microcontroller, Magnetic Sensor, and Motor Driver, then configuring and calibrating it with an abundance of cables that renders your projects too bulky to use in your creations.

The NanoFOC is little enough to attach on the back of most small BLDC gimbal motors (Even easier with Universal BLDC Motor Adapter Kit), making it an excellent choice for compact projects requiring maximum efficiency and precision.

Purchase Link: https://store.binaris.io/products/nanofoc-devkit

Features:

  • Espressif ESP32 S3 Microcontroller 4MB Flash, 2MB PSRAM
  • Trinamic TMC6300 low power 6PWM BLDC Driver
  • MPS MagAlpha MA710 or MAQ430 rotary magnetic position sensor
  • BiCMOS 3.3V LDO
  • 11 Programmable GPIO's (SPI, PWM, ADC, RTC etc.)
  • I2C & UART pins available
  • USB Powered (Compatible with USB PD 2.0 - 5V @ 3A)
  • USB OTG
  • AUX Power via VIN pads

Pinout Cheat Sheet:

PinFunctionOn GPIO Matrix?
GPIO 01I2C SCLYES
GPIO 02I2C SDAYES
GPIO 04SPI CS -MAGNETIC SESNORNO
GPIO 05SPI MOSI -MAGNETIC SESNORNO
GPIO 06SPI SCLK -MAGNETIC SESNORNO
GPIO 07SPI MISO -MAGNETIC SESNORNO
GPIO 08I/OYES
GPIO 09I/OYES
GPIO 10VL - PhaseB LowNO
GPIO 11WL - PhaseC LowNO
GPIO 12UL - PhaseA LowNO
GPIO 13WH - PhaseC HighNO
GPIO 14VH - PhaseB HighNO
GPIO 17I/OYES
GPIO 18I/OYES
GPIO 19USB D-NO
GPIO 20USB D+NO
GPIO 21UH PhaseA HighNO
GPIO 38I/OYES
GPIO 39I/OYES
GPIO 40I/OYES
GPIO 41I/OYES
GPIO 42I/OYES
GPIO 43UART0 TX or I/OYES
GPIO 44UART0 RX or I/OYES
GPIO 43UART0 TXYES
GPIO 44UART0 RXYES
GPIO 47I/OYES
GPIO 48I/OYES

Board Layout:

Bill Of Materials

ComponentReferencesFootprintQuantityLinkPrice
100nFC1, C2, C4, C8, C1206035https://eu.mouser.com/ProductDetail/KEMET/C0603C104K8RAC0,55 €
4.7uFC5, C608052https://eu.mouser.com/ProductDetail/TDK/C2012X7R1A475K125AC0,46 €
10uFC7, C1306032https://eu.mouser.com/ProductDetail/Samsung-Electro-Mechanics/CL10A106KP8NNWC0,24 €
22ufC908051https://eu.mouser.com/ProductDetail/Murata-Electronics/GRM21BC81C226ME44L0,39 €
22ufC1106031https://eu.mouser.com/ProductDetail/Murata-Electronics/GRM188R61A226ME15J0,17 €
100KR1-R606036https://eu.mouser.com/ProductDetail/Bourns/CMP0603-FX-1003ELF1,20 €
300RR7, R806032https://eu.mouser.com/ProductDetail/Panasonic/ERJ-UP3F3000V0,48 €
150mR9, R1006032https://eu.mouser.com/ProductDetail/Susumu/KRL0816D-C-R150-F-T51,20 €
340RR1406031https://eu.mouser.com/ProductDetail/Panasonic/ERJ-3EKF3400V0,09 €
5.1KR1306032https://eu.mouser.com/ProductDetail/Panasonic/ERJ-P03F5101V0,70 €
10KR1506031https://eu.mouser.com/ProductDetail/ROHM-Semiconductor/SFR03EZPF10020,13 €
100Mhz 400Ohm 1.5AL108051https://eu.mouser.com/ProductDetail/Laird-Performance-Materials/MI0805K400R-100,19 €
NUF2042XV6T1GD3SOT-5631https://www.mouser.com/ProductDetail/onsemi/NUF2042XV6T1G0,44 €
CUS15S30D4SOD-3231https://www.mouser.com/ProductDetail/Toshiba/CUS15S30H3F0,33 €
Yellow/Green Mono LEDD5, DRV06032https://eu.mouser.com/ProductDetail/ROHM-Semiconductor/SML-D12M8WT860,68 €
ESP32-S3 N4R2 1UU1ESP32-S3-WROOM-1U1https://www.mouser.com/ProductDetail/Espressif-Systems/ESP32-S3-WROOM-1U-N8R23,38 €
TMC6300 LAU2QFN201https://eu.mouser.com/ProductDetail/ADI-Trinamic/TMC6300-LA-T2,13 €
MPS MA710U3QFN161https://www.mouser.com/ProductDetail/Monolithic-Power-Systems-MPS/MA710GQ-Z6,15 €
Alps SKTDLDE010SW1, SW2SKTDLDE0102https://eu.mouser.com/ProductDetail/Alps-Alpine/SKTDLDE0101,46 €
Amber Mono LEDERR06031https://eu.mouser.com/ProductDetail/Wurth-Elektronik/150060AS750000,14 €
ST1L05CPU33R LDOIC1DFN61https://www.mouser.com/ProductDetail/STMicroelectronics/ST1L05CPU33R1,18 €
G-Switch_GT-USB-7010ASVP17010ASV1https://www.mouser.com/ProductDetail/GCT/USB4105-GF-A0,75 €
3822,44 € / 23.50 $

Power Options:

Device is designed to run of 5V @ 1.5A Max. There are two ways you can power the board

  1. USB Type C - Power delivery is capped at 5V3A with usage of 5.1K resistors on CC1 and CC2 pads. It is recommended to use USB that is PD2.0 compatible. It is possible to power device off 500mA capable USB port - however this is not recommended.

  2. External VIN - This connection bypass L1 and D4 connecting directly to Driver and LDO VS pin. The recommended input voltage is 5V and maximum allowed is 6V - which is restricted by max VIN of ST1L05C LDO.

First Time Setup

Development Kit comes with no Firmware. Since ESP32-S3 comes with USB-OTG/USB-Serial integrated into MCU the assumption is that this would be a preferred method of code upload. If you are connecting your device to computer for the first time it is critical to put device into DFU mode.

In order to do that you need to:

  1. Connect Development Board to USB port - On windows machines you may notice that USB detection sound goes on and off in loop - Please ignore that for now
  2. Press and hold BOOT switch
  3. While holding BOOT press and hold RESET switch for about 2 seconds
  4. Release RESET
  5. Release BOOT
  6. You are now in DFU mode and you can use Arduino IDE or PlatformIO to upload your first sketch.

Alternatively you may use UART pins which are available on GPIO Matrix to upload your code the legacy way. In order to do that you need external TTL Converter.

Projects using NanoFOC:

SmartKnob by Scott Bezek -> https://github.com/scottbez1/smartknob#nanofoc-3rd-party