New Driver: PD68 "DoubleDown" - 17/20/22mm FET+4

Nice work, good to see some new driver designs here!

So it should be possible to use the blf-a6 firmware with this driver, but most likely I would need to change the modes a little bit?

Yes.

Awesome driver PD! I'll be following this thread for the initial testing feedback :)

I don’t like using adapter rings or piggy-backing drivers unless I absolutely have to, so I stretched this out to 20mm and 22mm, and added some features.

20mm and 22mm are identical except for the outside diameter. They have all the same features as the 17mm board, plus:

  • LED+ hole is now directly in the center
  • Attiny45/85 ready
  • Separate pad for Pin 3
  • Zener ready
  • Gate pulldown resistor for FET

Oshpark link for 20mm Oshpark link for 22mm

Also added to the OP

Damn, that board looks great. I think you've become the new BLF Board Master. I'm going to place an order now for 20mm.

Thanks PD!

Good news! My order of 17mm Rev 2.1 boards came in today.

When you’re staring at a computer screen working in Eagle, it’s easy to forget how tiny these things are. It’s good to get feedback of exactly how Oshpark is going to produce what I’ve drawn on a screen. Overall I’m very pleased, but here are a few notes:

Notes:

  • My Turnigy 20awg silicone wire from RMM fit’s just fine in the through-hole, but anything bigger is a no-go. I’m glad I didn’t make the hole any smaller
  • Everything is a little closer to the edge than I was expecting. There’s still enough room that it shouldn’t be a problem, and I think it is partially Oshpark’s fault (a few things are wonky)
  • in future designs, I’m going to expose more ground ring on the top (I’ve already done this on the 20/22mm boards)
  • small fonts and Oshpark are not friends, so some labels on the board are hard/impossible to read
  • these will work just fine, but next time I’ll make the LED+ pad and FET pad bigger, like Wight did.

D1 is only used if you are actually using more than 1 cell, correct? Also, does it hurt anything to populate the bleeder resistor if you do not have a lighted tailcap installed?

Thanks Matt

no, you always need D1. I suppose it doesn’t hurt anything too much to populate BR

From what I can tell the cathode end is soldered next to the - ring on the outside of the driver?

eh? no. What size do you have?

One of the D1 pads has a rectangle around it and is next to the outside ring of the driver the other solder pad has a square around it and is more toward the center of the driver near an MCU pin.

The diode does not connect to the ground ring. The end nearest the ring is actually connected to batt+, and the other end connects to the mcu pin it is closest to.

Nope. Backwards. The cathode, which is marked with a line on the diode faces the attiny.

The inside line making up the “square” is suppose to be the line indicating cathode side.
Instead of a rectangle around one pad and a square around the other pad, you’re actually suppose to look at it as a rectangle around the whole thing, both pads, with a line toward the cathode side.

PD, do you already have a populated driver ready to test? Do you plan any changes to version 2.1?

I would like to order this driver but if in two weeks (for example) a new version pops up I can wait for the new version.

At this point the only thing I would change would be to make the labels a bigger font, but I don’t have any plans to do that right now.

I technically haven’t tested a built driver yet (haven’t had time) but I have checked continuity on the pads with my DMM and everything seemed correct.

If all goes well, I will have one built and tested this weekend. I may only use 2 7135’s on it since I do want it to have a good low ML mode. I will be loading it with a modified version of the BLF-A6 firmware with the blinky hidden modes removed, leaving only TURBO and BATTCHK. I do like going directly from ML to TURBO, so that got left. If I get time this weekend I will run the battchk firmware and will test the LVP on the driver. I am using 22.0K resistor, I do not have 19.1K and did not feel like a separate Mouser order with shipping for 10 or 20 resistors.

I will let you know how it goes!

Matt

Great!

Dang, missed this. Another great job PD! I gotta order some of each.

I got it built and only had a couple of solder bridges to fix, that went well.

Sorry about the quality of this pic...

I used a 560 ohm bleeder and it works with a lighted tailcap. R1 is 22k, that was all I had on hand and R2 is a 4.7k. The caps are the recommended ones for other FET based drivers.


But, now I have other problems. I flashed it with BLF-A6 firmware. I had to raise ML a little, but it is working fine now. I do not seem to have the highest mode, all of the others seem to be there. I also cannot go backwards in the modes. Any ideas? I was able to get into config mode and set it to 7 modes and that works, but no highest output level. I have flashed it with TK's battcheck and it will not run. So, I looked at the code and it looked to me like I needed to swap #define STAR2_PIN PB0 and #define PWM_PIN PB1 for output to the fet pwm channel. This requires me to recompile the code, and it spits out the following errors:

E:\AVRdude\BLF-A6\GccApplication1\GccApplication1\battcheck.c(48,10): error: expected '=', ',', ';', 'asm' or '__attribute__' before 'need'
Hey, you need to define ATTINY.
^
In file included from c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdint.h:9:0,
from c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h:37,
from c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:37,
from .././battcheck.c:66:
c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h(159,9): error: unknown type name 'int8_t'
typedef int8_t int_least8_t;
^
c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h(213,9): error: unknown type name 'int8_t'
typedef int8_t int_fast8_t;
^
.././battcheck.c: In function '_delay_ms':
E:\AVRdude\BLF-A6\GccApplication1\GccApplication1\battcheck.c(71,23): error: 'DELAY_TWEAK' undeclared (first use in this function)
_delay_loop_2(DELAY_TWEAK);
^
E:\AVRdude\BLF-A6\GccApplication1\GccApplication1\battcheck.c(71,23): info: each undeclared identifier is reported only once for each function it appears in
make: *** [battcheck.o] Error 1
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "battcheckM.cproj" -- FAILED.
Done building project "battcheckM.cproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========


So, until I can get this compiled I am stuck on the voltage testing. I did test battcheck.hex, that I downloaded, on a 105c and it worked. The numbers were fairly high, but I have no point of reference.

Frankly that all sounds firmware related, so you would probably get more help in the firmware repository thread. FW is not really in my wheelhouse. I will say that I’ve also had some issues with the newest versions of TK’s stuff that were made to be interchangeable for the attiny 13a and 25.

Is it just an illusion or is most of the ground ring missing on top?