Hello All,
I've been watching this thread off and on for over a year now, and finally have a few projects that I'm itching to try. Obviously, getting a working programmer and some ICs is the first step, and that is what has held me back for a while. But, it looks like things have progressed to a point where I think I'll jump in. Thanks everyone for all your hard work on this!
Anyway, I spent some time today familiarizing myself with the programmer hardware schematics, and noticed that the base portion is roughly the same as the infamous STM32 blue-pill boards. So, I ended up creating a (mostly compatible) variation that is a top-hat for said boards. This is smaller than the original programmer, so it will be a bit cheaper to get one-offs produced (well technically 3-offs... $4.80 for 3x shipped from OSHPARK).
Important: Because the blue-pill's STM32F103C8T6 doesn't offer a DAC, it will have to be replaced with the STM32F072C8T6 that the original programmer uses (they are pin compatible), or possibly the software would have to be modified to use PWM instead of DAC (might not be easy/possible). Also if the LEDs are populated, the blue-pill's 32kHz crystal and supporting capacitors may need to be removed.The schematic (attached), aside from missing the STM32, USB, Vreg, etc... is exactly the same (with the same ref #'s as well), except for these minor changes:
- PB0/PB1 was moved to PA0/PA1. This kept the final board size smaller and means the blue-pill's boot mode jumpers aren't blocked. I don't think this will be a problem, although it will require a software modification, and I haven't tested it yet. Worst case, I can bodge wire it over to the original pins.
- All 0603 components (resistors/capacitors/leds) were changed to 0805. That's what I have on hand, and they are a bit easier to hand solder
- The inductor footprint was changed to CD32. That's what I have on hand. Not sure if they are compatible size wise, but CD32's are available from lcsc or aliexpress if needed.
- I used a 8-pin IC header layout instead of the 16-pin. This kept the board smaller. None of the top pins were connected anyway.
- PB9 is connected to GND to make it easier to identify this hardware variant from software
- PA15 isn't connected to BOOT0 (although it could be with a bodge wire). Not sure why it is on the original?
Here are the components that the blue-pill board already populates, and therefore are not in my schematic or on my board:
- USB connector (and resistors R10,R11)
- U1 - STM32 MCU (and capacitors C5,C8,C9,C12,C17)
- U2 - 3.3v regulator (and capacitors C6,C7,C22)
- SWD header
- SW1 switch (and resistor R3)
- X1 crystal (and capacitors C15,C16)
I sent these boards off to OSHPARK (
https://oshpark.com/shared_projects/z5EAm6HO) to get produced and will build one up when they get back in a few weeks. Hopefully I didn't mess up anything to badly on the schematic. Assuming all goes well, I'll publish the source files as well (I used Kicad).