Raphael Chang BMS and ESC


This guy made his own ESC and BMS. (Probably helped getting an internship at BB lol)

The BMS actually looks pretty nice http://raphaelchang.com/projects/bms/ https://github.com/raphaelchang/battman-hardware and seems close to functional. It has push button for power. Another thing to look out for I guess.

The ESC still seems reliant on a magnetic encoder, but might become interesting.


Looks really nice. His ESC looks really good as well. I wonder if it performs as well, if not better than the VESC. Do you think he is on the forum?

EDIT: I have sent an email to him inviting him to the forum

1 Like

I doubt he’s on the forum. He’s moved away from the DRV8302 in his designs, so it can’t be that bad. (Crossing fingers for eventual reliable FOC).

Looking at his stuff makes me realize I need to be more ambitious with being a robotics student LOL.


Very interesting. You know he used to work for Boosted Boards. :wink:

1 Like

Damn this is sweet. The ESC is nice too!

1 Like

Way cool, he defiantly needs to join the forum!

This is exciting. Looks like another viable ESC option for us.

Great ! The BMS is last bit of element that was not DIY on my project !!

1 Like

I will be following this. Good stuff!

Looks kinda like he’s trying to build a better, faster Boosted. BMS looks interesting as it’s tailor-made for 12s LiFePO4.

I’d be very interested in an ESC designed specifically for FOC, especially if it can handle high amps better than the VESC. Amazing to see guys do this kinda work in their free time and share their design open-source.


Guy has some amazing skill obviously. Definitely check out his other projects. Cool Cap spot welder too!

Be great to have him join and contribute here.

1 Like

This is very intriguing - I’m going to take a look at it since I’ve given up on the chinese BMS vendors.

Thank you everyone for inviting me to this forum, and thanks for all the positive comments! Sorry for taking so long to reply to this thread, school has been very busy for the last month.

First, a bit about me: I’m a student at MIT and I enjoy designing and building electromechanical systems. I was originally developing an ESC and BMS just for my own skateboard, to build a skateboard with fully custom parts. Over the last year, however, they became more independent projects. Since there seems to be quite a bit of interest in them in the DIY community, I am interested in developing and releasing them to the DIY community for others to use. This will take some more development to make them work with different system requirements; I have a rough timeline below.

Here’s a small preview of the two boards, the ESC (“Infinity”) and the BMS (“Battman”). They’re still under development, so some of these specifications may change as I do more testing and iterating.

Infinity ESC Development progress: http://raphaelchang.com/projects/brushless-esc/ GitHub: https://github.com/raphaelchang/infinity-hardware (PCB), https://github.com/raphaelchang/infinity-firmware (Firmware)


  • 8V-50V operating voltage (3S-12S LiPo)
  • 80A continuous, 100A peak (may change with more testing)
  • Sensored and sensorless (in development) field-oriented control
  • DirectFET MOSFETs for better heat dissipation
  • Discrete 3A MOSFET drivers with 100V tolerance (no DRV)
  • 3 discrete current amplifiers for improved current measurement
  • Separate gate drive and logic level buck converters for reliability
  • CAN, UART, I2C, SPI, PPM, USB for communication (Nunchuk, NRF, etc.)
  • STM32F4 with bootloader buttons for programming without ST-Link
  • Node.js web application for cross platform GUI configuration
  • Bulk capacitor mounted to PCB
  • 2"x1.5" PCB size

Battman BMS Development progress: http://raphaelchang.com/projects/bms/ GitHub: https://github.com/raphaelchang/battman-hardware (PCB), https://github.com/raphaelchang/battman-firmware (Firmware)


  • Supports 4 to 12 cell LiPo and LiFePo4 battery packs
  • 100A continuous, 150A peak discharge current (may change)
  • Cell voltage monitoring and ~100mA balancing with LTC6803 IC
  • Bidirectional current monitoring with overcurrent protection and SOC tracking (planned)
  • Boost converter circuit with adjustable voltage for CC/CV charging at ~3A
  • Pre-discharge circuit to limit inrush current
  • External push button (momentary) switch to turn on BMS and rest of system
  • Complete shutdown to preserve battery when not in use
  • STM32F3 with UART, I2C, CAN communication and WS2812 LED support
  • GUI for configuration
  • Flash memory to log battery usage data during rides
  • Optional CAN communication with Infinity ESC for smarter protection (planned)
  • 3.5"x1" PCB size

As these are personal projects, I have to balance the time I spend on them with schoolwork and other things, so it will take a while before they’re ready for use. Still, I’m spending quite a bit of time on them, as well as working with a few friends to develop various aspects in parallel. I’m estimating a few more months of development, so early 2017 is what I am aiming for right now. Infinity is a little further along than Battman, so it might be ready first.

Any questions and comments are appreciated, and I’ll definitely post more details and any important updates here. Stay tuned!


Sounds like this will give the VESC a run for it’s money, can’t wait to see this in action!

1 Like

Thank you for joining and sharing your work. Both the esc and bms are very interesting, especially the BMS as I have not personally seen one as powerful that is that small. That PCB size seems to apply to 10A discharge BMS.

Would you consider integrating a receiver or Bluetooth module in either the BMS or ESC? I forgot what built in radio the Vesc 6.0 will have but doing something similar would be great.

For the BMS could you add a little fuse standoffs so we don’t have to have a separate fuse unit.

Check out JTAG’s BMS project. http://www.electric-skateboard.builders/t/diy-6s-to-12s-bms-with-can/2639/67?u=pantologist

Welcome, awesome stuff!!

I have considered integrating a Bluetooth module into the BMS and ESC, but I decided that it would be better to design an external module that would be plug and play into one of the JST connectors. This way, I can keep the boards compact (wireless modules tend to require many parts + antenna space) and people who don’t care about having Bluetooth don’t have to pay for the extra components.

I do have surface mount fuses on the BMS right now (a few in parallel). If they turn out to be problematic at high currents I will consider switching to standard fuses, but it could be difficult with size constraints.

I have actually seen the DieBieMS before, but I did not know it originated here. We seem to have a lot of features in common, it would be awesome for both projects to co-exist in the community.


I think this is a good decision - I personally use XBee and am looking forward to giving your designs a try and would much rather have a serial connection than to have to hack in a nonstandard radio.

Thank you very much for open sourcing the project!

I want this for my next build