• End of year community survey

    If you've been seeing any bugs, want new features, or have any positive feedback we'd love to hear it and we'll be putting together a plan for adding in these changes in 2023!

    Check out the survey

DIY Open-source open-hardware TC/Variwatt mod (STM32 based)

Not open for further replies.


New Member
Jan 14, 2016
    Since my DIY arduino mod has a lot of restrictions, i've choosed the STM32F373C8T6 MCU for my next one. This is my first project with the STM32 hardware, so it has some problems yet. But since it is open-source/open-hardware - everyone can make it better!

    The main repository (with PCB gerber files and schematics):
    GitHub - vasimv/StmSmoke: Open-source (GPL) STM32F373C8T6 based vaping mod, up to 140W, to use with LiPo 2S 500 mAh

    The mod is:

    39x40x7 mm two-layers PCB (can be made a bit less even with multi-layers PCB)

    Uses 2S LiPo or LiIon batteries (i prefer LiPo from RC models as they're easy to select from, small and light)

    Boost charging regulator from USB to recharge 2S batteries (with the balance power pin to don't overcharge one of battery's cells)

    Touch sensors instead buttons (you won't need holes in the case, just stick a piece of foil connected to the PCB on the back side of the front panel)

    Cheap components - just one $3 chip and few cheap MOSFETs

    0.96" monochrome OLED 128x64 screen (may use any u8glib's supported display), $4 on aliexpress

    100+ Watts output power (well, theoretical power is about 200+ watts actually, but didn't make tests)

    Flashlight LED (two 70mA white LEDs)

    Software features:

    Supports titan, nickel (ni200), NiFE30, 316L and 304 stainless steel coils for thermocontrol

    Supports "variwatt" mode, limiting output power from 0.5W to the maximum.

    "Slow-start" feature to prevent ooze "shooting" and coils overburn

    Almost every parameter is customizable through setup menu

    Todo/current problems:

    Inductor-based variant support

    High current in sleep mode (3..4 mA), will discharge 500mA*H battery in just few days.

    PID regulator needs some tuning

    PCB needs refactoring to move everything to front side, so backside would be used for touch sensors. Would be easier to just glue the PCB to the front panel instead connecting external electrodes.

    96x32 displays support (smaller fonts, moving stuff around)

    Firmware size optimization (nearly at the 60kB limit currently as 4kB is used as EEPROM data storage)

    USB debugging needs fixing



    Last edited:
    Not open for further replies.

    Users who are viewing this thread