I have been looking at integrating Proffieboards into DL-44 blaster props, but have been finding the tight space makes it difficult. I want a clean package that is easy to assemble with connectors. The connectors and wire bundles have too much bulk and the soldered wires are a bit too fragile for my taste. Since the hardware design is open source, I have been toying with the idea of creating a custom PCB that is tailored to my needs. Before I go too far, I wanted to ask a couple questions and see if anyone can help.
To reduce PCB manufacturing cost, I want to avoid the STM32 BGA package. There seems to be an identical 64-LQFP package (STM32L452RET6TR). If I use this package instead, will ProffieOS run exactly the same with no tweaks? I assume so, as the internal pin names and connections appear the same in the chip’s datasheet.
Once a custom PCB is created, how do I get the STM32 bootloader on it? I don’t see a firmware file anywhere and every Proffieboard I’ve used comes preloaded with it. Unless I’ve misunderstood, I don’t think a bare microchip from Digikey would come with anything loaded. Would a fresh chip be able to load it via USB, or does it need to be loaded through some other programming interface?
Not to steer you away from being creative, but typically DL44 builds take advantage of the large chamber of the clip to house the battery and board. On the bottom of a 3D printed chassis clip you can have a mode (and optional 3rd) button, as well as a recharge port/killkey.
My original design used an off-the-shelf Proffieboard v3.9, included an RGB barrel LED, vibration motor, 2W speaker, lever switch for trigger button, momentary button for mode select, and magnetic reed switch for the reload button. I wanted peripherals to be connected via JST PH connectors for easier installation. That resulted in the wires for the male receptacle side being soldered directly to the Proffieboard, and wire-to-board soldering is kind of fragile and easy to break. It also generated a lot of wire bulk. I did manage to fit all this into a 3D printed DL-44, but it’s very tight, has a few compromises, and can sometimes impede pulling the bolt back to trip the magnetic reed reload switch. As all the design files for the Proffieboard v3.9 are available, I’m adapting it to a different form factor and tailoring it to what I want/need it to do.
Studying the design files in KiCad, I see Button 1 is logically connected to two different STM32 pins (PC5 & PB14); the same is true for Button 2 (PA2 & PB13), but not Button 3 (PB15 only). Any idea why? My first thought was to make it easier to route traces out from under the BGA package (and use a logical OR in code interrupts), but the Button1 pins are both on the outer edge of the pin array…
I plan to use a different battery charge controller than is on the Proffieboard v3.9. It looks like the spec’d STBC08 uses an open drain output for the CHRG pin, and there is no external pull-up resistor. Can I safely assume the STM32’s internal pull-up is used, and it won’t be an issue if pin PA0 is left floating? Are there any benefits to ProffieOS monitoring battery charge state?
BATT+ is routed through transistor Q7B, which is set to always on. What benefit does this provide compared to directly tying BATT+ and BATTERY together?
Depends on the wires really. Good wires soldered well are not particularly fragile.
Choosing the right wires can help, but yes, wires often take a surprising amount of space.
Sure, I have some idea why, since I designed it that way…
The reason is that each STM32 pin has a limit set of functionality, and the Proffieboard only has room for so many pads. Connecting one pads to two pins gives that pad more functions. Now, if you’re only going to use the “button” functionality, you don’t need to do that. However, the “Wakeup” functionality (which is not currently in use) lives on the other pin.