Do a deep dive into this project and come up with...


Thinking for 2 days 14 hrs...
Thought for a moment — Searching for components
Search "In the current project, identify the power archite...".
Search "In the current project, identify the power archite...".
Search project.
Thought for a moment — Searching for data components
Search project.
Search project.
Thought for a moment — Exploring asset options
Search project.
Search project.
Thought for 2 sec — Evaluating project data
Search project.
Search project.
Search project.
Checking 5 design areas.
Reading schematic details for U1, U2, U3 and 86 more.
Reading schematic details for U1, U2, U3 and 86 more.
Reading schematic details for U2, Q1, R1 and 86 more.
Reading schematic details for R6, R7, R8 and 86 more.
Thought for 14 sec — Calculating current values
Search "What are the main power rails in this project, and...".
Thought for a moment — Searching for power components
Search "What are the main power rails in this project, and...".
Thought for a moment — Investigating net connections
Search "What are the main power rails in this project, and...".
Search "What are the main power rails in this project, and...".
Thought for a moment — Exploring component search options
Search "What are the main power rails in this project, and...".
Thought for a moment — Searching for components
Search "What are the main power rails in this project, and...".
Thought for a moment — Investigating net components
Search "What are the main power rails in this project, and...".
Thought for a moment — Searching for resistor information
Search "What are the main power rails in this project, and...".
Thought for a moment — Analyzing RC network components
Search "What are the main power rails in this project, and...".
Search "What are the main power rails in this project, and...".
Thought for 18 sec — Analyzing RC networks
Searched "What are the main power rails in this project, and..." — 1297 results.
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Exploring component options
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Improving search queries
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Searching for component information
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Searching for component associations
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Searching for design documents
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Looking for components info
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Searching for PCB footprints
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for 3 sec — Analyzing resistor values
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Searching for specifics
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Thought for a moment — Organizing components
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Search "Reconstruct the exact A/B/C phase sensing channel ...".
Searched "Reconstruct the exact A/B/C phase sensing channel ..." — 948 results.
Running calculation.
Running calculation.
Running calculation.
Running calculation.
Running calculation...

First Time Flashing
First-time flashing procedure for an EFM8BB21F16G-based ESC using BLHeli_S.

Equipment Required
  • Arduino Uno or Arduino Nano, used as the programmer
  • New ESC with EFM8BB21F16G MCU
  • USB cable for the Arduino
  • 4× female-to-female Dupont jumper wires
  • Battery disconnected from the ESC
Critical safety note: Keep the battery disconnected during first-time flashing.
Step 1: Install Software
  1. Download BLHeli Suite v4.2.1 or newer:
  2. Extract BLHeli Suite to disk.
    • Do not install or extract it inside Program Files.
  3. Install CH340 drivers for the Arduino if needed:
Step 2: Flash the Arduino as a Programmer
  1. Connect the Arduino to the PC via USB.
  2. Open BLHeli Suite.
  3. Go to Make interfaces in the left panel.
  4. Select your Arduino board and COM port:

Text


Board Selection: Arduino Uno or Arduino Nano
COM Port: COM3, or the COM port assigned by your system
  1. Click Arduino 4way-interface.
  2. Wait for BLHeli Suite to upload the programmer sketch to the Arduino.
    • This usually takes about 5–10 seconds.
    • The Arduino LED should blink after programming.
After this step, the Arduino is configured as the ESC programmer.
Step 3: Connect the Arduino to the ESC
Critical: Disconnect the battery before connecting the programmer.
Use the following wiring:

Table


Arduino PinESC PinNotes
GNDGNDBlack wire
3.3 V3.3 VRed wire; use 3.3 V only
Pin 12 / MOSIC2DYellow wire
Pin 11 / SCKC2CKGreen wire
On an EFM8BB21 board, the programming pads are usually marked near the microcontroller:

Text


┌──────────────┐
│ C2D  C2CK    │
│ 3.3V GND     │
└──────────────┘
Important: Use 3.3 V, not 5 V. The EFM8 is a low-voltage device.
Step 4: Flash the ESC with BLHeli
  1. In BLHeli Suite, click ESC Setup.
  2. Select the programming interface and COM port:

Text


Interface: SILABS C2 (4way if)
COM Port: COM3, or the same COM port used by the Arduino
  1. Click Read Setup or Connect.
  2. If the connection is successful, the ESC information should appear.
    • If it does not connect, check the wiring and COM port.
  3. Click Flash BLHeli.
  4. Select the BLHeli firmware type:

Text


Select BLHeli Version:
○ A type
○ B type
● C type recommended
○ D type
○ E type
  1. Choose C type.
    • This is the recommended option for this custom ESC.
  2. Click Flash.
  3. Wait for the flashing process to complete.
    • Do not disconnect anything during flashing.
    • Flashing usually takes about 10–20 seconds.
A successful flash should show messages similar to:

Text


✓ Flash completed successfully
✓ BLHeli bootloader installed
✓ BLHeli firmware installed
Step 5: Verify the Flash
After successful flashing, confirm that:
  • The ESC has the BLHeli bootloader installed.
  • The ESC has BLHeli firmware installed.
  • The ESC can use the 1-wire interface through the PWM pin.
  • The ESC can be flashed later through a flight controller using passthrough mode.
Future Flashing
After the first-time flash, the ESC can be updated through the 1-wire interface instead of the C2 programming pads.
Typical future flashing path:
  1. Connect the ESC to a flight controller.
  2. Use BLHeli Suite passthrough mode.
  3. Flash or configure the ESC through the PWM/signal wire.
  • Equipment Required

  • Step 1: Install Software

  • Step 2: Flash the Arduino as a Programmer

  • Step 3: Connect the Arduino to the ESC

  • Step 4: Flash the ESC with BLHeli

  • Step 5: Verify the Flash

  • Future Flashing