Stories
Slash Boxes
Comments

SoylentNews is people

Submission Preview

Link to Story

Hosting a WebSite on a Disposable Vape

Accepted submission by Anonymous Coward at 2025-10-02 07:57:58
Hardware

https://bogdanthegeek.github.io/blog/projects/vapeserver/ [github.io]

For a couple of years now, I have been collecting disposable vapes from friends and family. Initially, I only salvaged the batteries for “future” projects (It’s not hoarding, I promise), but recently, disposable vapes have gotten more advanced. I wouldn’t want to be the lawyer who one day will have to argue how a device with USB C and a rechargeable battery can be classified as “disposable”. Thankfully, I don’t plan on pursuing law anytime soon.

Last year, I was tearing apart some of these fancier pacifiers for adults when I noticed something that caught my eye, instead of the expected black blob of goo hiding some ASIC (Application Specific Integrated Circuit) I see a little integrated circuit inscribed “PUYA”. I don’t blame you if this name doesn’t excite you as much it does me, most people have never heard of them. They are most well known for their flash chips, but I first came across them after reading Jay Carlson’s blog post about the cheapest flash microcontroller you can buy. They are quite capable little ARM Cortex-M0+ micros.

Over the past year I have collected quite a few of these PY32 based vapes, all of them from different models of vape from the same manufacturer. It’s not my place to do free advertising for big tobacco, so I won’t mention the brand I got it from, but if anyone who worked on designing them reads this, thanks for labeling the debug pins!

What are we working with

The chip is marked PUYA C642F15, which wasn’t very helpful. I was pretty sure it was a PY32F002A, but after poking around with pyOCD, I noticed that the flash was 24k and we have 3k of RAM. The extra flash meant that it was more likely a PY32F002B, which is actually a very different chip.1

So here are the specs of a microcontroller so bad, it’s basically disposable:

        24MHz Coretex M0+
        24KiB of Flash Storage
        3KiB of Static RAM
        a few peripherals, none of which we will use.

You may look at those specs and think that it’s not much to work with. I don’t blame you, a 10y old phone can barely load google, and this is about 100x slower. I on the other hand see a blazingly fast web server.


Original Submission