tinyPEPPER 4in1 ESC — blheli_s, tiny, light, and open hardware

This is my approach to a tiny, lightweight, powerful, and state-of-the-art 4in1 BLHeli_S ESC. As of writing this, it is probably the world’s smallest and lightest ESC that has been designed so far. I developed it during my journey of building pepperF1SHthe world’s lightest brushless FPV quadcopter.

Recently some Chinese sellers picked up my design, removed the fishpepper logo, produced and started selling my design under their name. You can see a picture of the outdated revision 0.4 they copied here. They violate the license under which I shared the design with everybody. I wanted to have the design open so everyone can learn from it. It is really a pity that they decided to remove my logo and do not mention where they got their design from and sell it as theirs. Right now I am not sure if I am going to continue publishing my future designs under an open source license… This is the reason why you can not find my tiny brand-new ESC design with 2S support on my website yet.

Specifications:

Even though this thing is really tiny, it features all the features you nowadays expect from a state-of-the-art ESC. It has the same dimensions as my tinyFISH FC and both can be fitted perfectly into a low profile stack.

  • 16x16mm M2 hole-to-hole spacing (20x20mm outer dimension)
  • a total weight of 1.2g (!)
  • BLHeli_S
  • DSHOT600 (rev 0.5 and higher)
  • regenerative breaking
  • 4.3A continuous current
  • openhardware + opensource software

Please note that this board is for 1S operation only. Do not even try 2S, the board will be immediately releasing all it’s magic smoke and stop working…

Circuit board

This board uses some hacks to squeeze all components into this small form factor. It is something the other 1S ESC vendors used in the past as well, but it is against what you learn on how to design hardware. The EFM8BB10 microcontroller used on this ESC has an absolute maximum voltage rating of 4.2Volts and is powered directly from the Lipo without any voltage regulator in between. Looks like a perfect match for an 1S Lipo, right? — Not really. This is specified as absolute maximum rating, not something the device should be operated on permanently. One might argue that the 4.2V are never applied long, the voltage begins to drop instantly when you connect your copter as a typical vtx/camera combo draws around 0.4A. You have to remember that this ESC is running the Blheli_S firmware with regenerative breaking. So in principle the Voltage of 4.2V could be exceeded when the ESC tries to stop the spinning motors. All my prototypes have survived this so far, seems like they are quite robust and/or the moving mass on the tiny 1103 brushless motors I use is just not big enough to cause big voltage spikes. And as mentioned before, other ESC vendors did this in the past as well. Still, this causes a guilty conscience, poor little EFM8 CPUs.

Open Hardware

Please refer to post “tinyPEPPER – how to build your own” for a detailed list of components and links to the open hardware design files. This should give you all the information you need to build your own tinyPEPPER ESC. If something is missing, please let me know!

Changelog:

v0.5:
– switched to efm8bb21 (pin compatible)
– better tabs (you can now solder from the side)

v0.4:
– added motor phase tabs

v0.3:
– initial release

You might wonder why I release all that for free. The reason is simple, I just love open source stuff. Most of my knowledge is based on tinkering with open source stuff since my childhood. This is my way to give something back to the community so please respect the license and release all work you do based on my design under the same license.

Please note that you need a recent version of Kicad to open the files. I compiled my own binaries from Kicad commit hash #efdfaeb.

Flashing

You will need no special programmer for this, any usb to serial converter will do. The EFM8 devices come with a bootloader and I wrote a small python script that will do the flashing. Have a look at this tutorial on how to flash BLHeli_S to the tinyPEPPER ESC.

Status

The latest revision is currently being test flown by three friends of mine and myself. An additional pepperF1SH copter that incorporates this ESC will be soon be sent out in the context of the pepperF1SH world tour 2017.

Where to buy

I do not sell this. You can not buy it from me. So for now you will have to build your own, this page should serve you all you need.

The first clones without proper credit start to pop up. I can not recommend to buy there as they do not care about who designed the stuff. But go ahead and buy there, I would probably do the same. Just feel some seconds guilty for supporting this theft šŸ˜‰

News

Here is a list of recent blog posts covering the latest status of my tinyPEPPER ESC project:

Right now there is only a collection of single posts, i will update this project page soon.

Disclaimer

Please refer to my disclaimer that applies to all projects presented on this blog.

27 thoughts on “tinyPEPPER 4in1 ESC — blheli_s, tiny, light, and open hardware

  1. Allen

    My number one motor on my Lumenier tinyPEPPER 4 in 1 is stuttering above mid throttle and doesn’t spin up as smoothly as the other three. I have only run the motors through the blheli configurator and have updated to latest version of blheli_s. The motor is lightly warm to the touch after the short motor runs while the other three are cool. I am I looking at an ESC issue or a motor issue here? Is there anyway to tell without swapping the symptomatic motor out?

    Reply
    1. fishpepper Post author

      Does this always happen or only on full Lipos ? If only on full Lipo you might want to read this šŸ˜‰

      Reply
  2. Phil

    Hi, wanted to know, i’m willing to make my own ESC with blheli.
    Where did you find the pinouts etc?
    I searched on the blheli github but didn’t find any infos-

    Nice work and keep going šŸ™‚

    Reply
    1. fishpepper Post author

      There was no documentation on the pinout. I did some reading in the blheli source and added a new hardware variant to match my layout. Achim and SSkaug gave me some hints šŸ˜‰

      Reply
  3. Kwong

    Recently I got a set of tinyFISH FC & tinyPEPPER ESC from China, they do have proper names and even URL linked back to this site printed on their PCBs.

    Not sure if that’s adequate credit given, works for me.

    http://imgur.com/qJGDGMy

    Reply
  4. Kevin Austin

    HV batteries, it appears with a max of 4.2, 4.35 maybe a no no. All I have is 1S HV, think it will ruin my day?

    Reply
    1. fishpepper Post author

      You can try. But I can not guarantee that it works. The efm8 absolute maximum rating is 4.2V. I accidently had them running at 5V for some minutes without any damage. You can always charge your HV lipos to 4.2V only. Of course you loose some capacity šŸ˜‰

      Reply
      1. Kevin Austin

        If you had them run at 5v for a few minutes, I will push them to 4.35 for the few seconds that power level stays. šŸ™‚ Thanks for the reply.

        Reply
        1. fishpepper Post author

          Do it at your own risk, you might fry it. If it works for you it is not for sure that other EFM8 charges will survive this. Keep in mind that 4.2V already defines the absolute maximum rating, this is not recommended by the manufacturer but works ok for me. The new 1-2S design I am working on does not have this issue, the EFM8 run on regulated 3.3V šŸ˜‰

          Reply
  5. mhvdrone

    Super neat! Can’t wait to try building.

    For those in the US I was able to find all the components at Digikey (had to make a few substitutions but I think they’re all equivalent). If you’re interested I have copies of the BOM updated with digikey part #s here:

    https://docs.google.com/spreadsheets/d/1o9CkWSYWpz4Zyp-rfTQf-Zp24hv0e36ef1bGu6-hkeE/edit?usp=sharing

    https://docs.google.com/spreadsheets/d/1lamhIpTX52tD2ILiv2F8QD0Uboo3U0TM6IQQG_ND_T0/edit?usp=sharing

    Reply
    1. fishpepper Post author

      You need to compile kicad from source. Use kicad commit hash #efdfaeb.

      Reply
  6. HuiHu

    Hello,What is your version of the software about KiCad?I do not open it.It reminds me that I need to open it with a higher version.Hope to get your reply,thank you!

    Reply
    1. fishpepper Post author

      You will need a recent version from kicad. I compiled my own binaries from kicad commit hash #efdfaeb.

      Reply
  7. Daniel

    Hi fishpepper,

    I’m getting the boards and the parts to come here soon.
    Thanks for your awesome design contribution to the open community!

    I’m not too familiar with BLHeli_S, but is there a custom firmware repo you can point to us for this board to work straight out of the assembly? I see your python script to flash the uC, but I don’t know what binaries/codes I should be uploading…

    Also, I’d appreciate if you could teach us about how you chose the components, trial and error bits that helped you learn more.

    Cheers,

    Reply
  8. Sevim

    Hey Simon any release date for the esc design files šŸ™‚ as you know i have successfully built the TinyFishFC and it misses it little esc brother šŸ™‚

    Reply
    1. fishpepper Post author

      There were some delays in testing the boards. I hope to get them ready next week.

      Reply
  9. sevo

    i was not aware that dshot300 is possible what a nice suprise šŸ™‚ well 1s then nothing to do

    Reply
  10. Daniel

    Super awesome project. *Hats off*
    I know it’s still under progress, but may I ask what you are using for bldc controller and FETs besides your 8bit uC?
    Been thinking about trying my hand in making one myself.

    Happy new year!

    Reply
    1. fishpepper Post author

      I will probably release the schematics and design files next weekend.
      The new PCB is on its way. I use EFM8BB10 CPUs and IRLML6244 and IRLML2244 mosfets. Make sure to buy genuine, the chinese copies from aliexpress are really really bad (high RDSon and low current).

      Reply
      1. sevo

        wanting for your release šŸ™‚ , are you considering of using BB2? and maybe support for 2S?

        Reply
        1. fishpepper Post author

          It uses EFM8BB10. There is no need for the BB2. DSHOT300 is more than enough šŸ˜‰
          Unfortunately 2S is not possible with this simplified design approach, I could not find mosfet drivers small enough for this layout.

          Reply
          1. Jacob

            Are the mosfets the only component on the ESC that is restricting 2s comparability? As in are all caps and resistors 10v ready

          2. fishpepper Post author

            No, the whole design is for 1S only. 2S will blow up the CPUs and the mosfets will not switch correctly. For 2S one needs FET drivers and a proper voltage regulator for the CPUs. I might do a 2S version some day, but this will take some time šŸ˜‰

Leave a Reply

Your email address will not be published. Required fields are marked *

*