Show HN: I made a tiny camera with super long battery life (toaster.llc)

843 points by davekeck ↗ HN
Hey HN!

A few years ago someone kept trying to steal my motorcycle, so I decided to make a small camera with really long battery life to catch them.

The hardware/software is totally open source, but the companion app only supports macOS currently. (I'm a big fan of native apps, and didn't want to block releasing on Linux/Windows support.)

I wrote some blog posts about the process:

PCB design: https://toaster.llc/blog/pcb

Enclosure design: https://toaster.llc/blog/enclosure

Image pipeline: https://toaster.llc/blog/image-pipeline

Rainproofing: https://toaster.llc/blog/rainproofing

Source: https://github.com/toasterllc/Photon

307 comments

[ 0.59 ms ] story [ 265 ms ] thread
I love "the fine print" section. This is so great. Congrats on all your hard work
Are there sample images from the camera on the product website? This is a neat idea but it would be nice to gauge to what extent it is fit for purpose, and a helpful way to do this is with a bunch of sample images.
I should definitely add some sample images...

For now, the Mac app has real imagery in the demo mode:

https://apps.apple.com/us/app/photon-transfer/id6476578040

(The demo photos are from the Lick Observatory on Mount Hamilton.)

You should really put up some sample images.
This is an amazing project, but you are pitching it as an engineer. As an amateur photographer, the first thing I want to see are sample photos. Super cool little device!
very cool, love the website design and the blog posts had a lot of interesting bits, like the backplate removal jig. I was kinda surprised to see an fpga in there but makes sense. Could that design be repurposed as a general image sensor -> sd card module or is it pretty specific to the sensor?
Hmm interesting question. I think a lot of the FPGA RTL should be reusable for most parallel-output image sensors. (It seems like all the really nice image sensors are headed towards MIPI nowadays though...)

I tried to make SDController.v and RAMController.v as re-usable as possible.

> exclusively for Mac

Why not just have it connect as a generic mass-storage device?

Yeah, even if you're a mac guy, it doesn't make sense to make hardware that is mac only.
It looks like the companion app is in the App Store, but yeah if it's going to be open source then I don't understand either.
Saw it on EEVBlog, even owning a Mac is not sufficient if its not the latest OS version. SD Card doesnt store pictures in windows readable format either.
Dang I haven't mustered the courage to watch Dave's critique yet!

I wrote/tested Photon Transfer (the companion app) on macOS 10.15 (Intel), so it should work on that and above. If not it's a bug that I need to fix!

I cant find the video now somehow (otherwise would link it). TLDR: he loved it, both idea and design, but could test due to Mac store requirements.
He gave you a pretty good review, I thought. I'd have been interested in the camera myself if it supported Windows.

Given the rate at which the data flows -- nothing at all for a long time, then a burst that isn't particularly time-sensitive, then nothing at all again for a while -- I wonder if the right way to do something like this is with LoRA. That way the camera could be mounted someplace hard to access, with no need for a file system at all. There would then be a separate receiver module that could listen for traffic from multiple cameras and store it for later access by a PC/Mac/whatever.

Your handling of folks' feedback in this thread is impressively graceful, fwiw.
I (as a non-mac user, but impulse buyer of odd camera gear) appreciate the "exclusively for Mac" label put just after the fold. I usually have to read pages (about software) on HN for minutes before finding out (in a footer or "get it here" link) that it's Mac-only. This way I just know it's not for me and I can continue with my boring life.
Totally fair question! My reasons were:

1. To maximize Photon's battery life I tried to make the hardware do the absolute minimum to record imagery. To that end, Photon stores images on an unformatted SD card (ie one huge linear array of bytes) which is easy and fast to index into.

2. A 16-bit MSP430 handles writing the image data, and the MSP430's codespace is 99% exhausted without dealing with the complexities of a filesystem like FAT32, so adding support for a filesystem wouldn't currently fit. (This line of MSP430, MSP430FR2433, has a maximum of 16 KB of FRAM, but perhaps I could use a different line.)

3. Photon stores images as RAW image data that require post-processing to view the images. Since I wanted to provide a polished app to view the imagery anyway, I figured I'd just make it a requirement.

I'm not saying those are all particularly good reasons, but that was my reasoning anyhow.

It's pretty cool that your MSP handles the SD Card directly!

Personally I think you should keep the focus on a polished mac app. For other platforms you can do just the bare minimum with a web app that uses WebUSB. People will bitch that it's Chromium only but, I mean, chromium has 95% market share outside Apple world (and I say this as a FF user).

A hardware solution could be to add a cheap microcontroller that would handle the usb port. It wouldn't be powered by the battery, only USB and it would act as a proxy between the raw sd card and the computer. Presenting a mass storage to the computer with folders, converting images to PNGs. Such capable MCUs are very cheap (rp2040, esp32-s3) but it certainly adds complexity to your project...

I would suggest the same hardware solution, where the USB powers a device-side presentation of the raw data into a more universal mass storage device. This also allows file transfer to any device without requiring special software. I did something like this in 2008 or so (using a FTDI chip and PIC mcu, and boy was it ever slow).
>It's pretty cool that your MSP handles the SD Card directly!

SD cards aren't really black magic since they "speak" SPI, meaning people have been interfacing basic microcontrollers to them since forever.

They speak SPI, but it's a lot slower than SDIO. And there's a lot of work that goes into making an MMC or SD card (or SDHC or SDXC card) into a FAT16 or FAT32 or exFAT filesystem!

If I were doing this project, I'd use an STM32 with its built-in SDIO driver to implement most of the SD card stuff. ST's CubeIDE has easy-to-use filesystem driver that makes this transparent. Use the STM32 to read the card and manage a file for the FPGA to write the bitstream to, then when you plug into USB power, have the STM32 empty this linear file and copy the photos over to BMP images on the SD card. It would be slower, sure, but if you're only using it once a month or once a year, does that really matter? Plug it into USB, go to lunch, and come back to a properly-formatted SDXC card with an exFAT filesystem ready to have the images copied to whatever OS you want to use.

> It's pretty cool that your MSP handles the SD Card directly!

The MSP430 is actually the puppet master for an ICE40 FPGA that does the high-speed transfers (102 MHz) between image sensor -> SDRAM -> SD card.

Here's a post about the architecture if you're curious:

https://toaster.llc/blog/architecture

Thanks for the feedback!

I think open source web app with WebUSB is basically the perfect solution as others can then come in and hack a better UI onto it.
> It's pretty cool that your MSP handles the SD Card directly!

No it isn't. Accessing an SD card from a microcontroller requires you to do that. To use FAT involves more effort, though lightweight libraries are available.

Maybe an electron app? I mean, we all love electron, right?
Can I ask why you went with a MSP430?

I'm not judging, they were all the rage in low-power embedded applications 10-15 years ago, just feels weird to see it in a modern design today, when the market now is flooded with low-power ARM chips that are way more capable than that, and probably easier to program.

One main reason I chose the MSP430 was for the FRAM. Photon stores all its state (ie the photo ring buffer indices, and user settings) in one big FRAM struct, which can be read/written just like RAM, but persists across power cycles and crashes.

Another reason was MSP430's low power consumption, but like you said it sounds like ARM has caught up.

Would love to hear about alternative designs -- are there low-power ARM chips that have something like FRAM and don't require erase/programming dances to write data?

If external F-RAM is an option, one can use F-RAM from, say Cypress (now Infineon, [1]) together with ARM chips from Ambiq, e.g. Apollo 3 Blue Thin [2], which likely have even better power consumption than an MSP430.

[1] https://www.infineon.com/cms/en/product/memories/f-ram-ferro...

[2] https://ambiq.com/apollo3-blue-thin/

Dang very cool. If there's ever a Photon 2 I'll definitely look at the low-power ARM world.

(FWIW Photon's USB stack is handled by a STM32F730 and I've been perfectly happy with it. Expensive though.)

IMO that's an odd choice for a micro. It initially looked like it could translate the custom SD card writing to FAT in SW, but with only 64K of flash that's not great. Some STM HAL irqs are almost that size. My recommendation is to find 1 micro that can do low power and USB, and maybe put external FRAM/QSPI for more code storage is needed.
Are there any RISC-V chips that do the same?
ESP32 has a variety of sleep modes down to around 12-20uA and up, depending what you want to leave awake.

With the 3rd CPU, the ULP, running continuously it is around 150uA and then you can be reading from i2c devices, or more. You can get that down to under 50uA with a periodic timed wake up, if you are keen.

Also it will appear as a USB device if needed when fully powered.

Not the OP, but my understanding (admittedly a few years outdated) is that an MSP430 will, in idle, with sleep states properly set up and low power modes in use, drain a coin cell battery (e.g. CR2032) over a period of years - with the current drawn around 1.5 uA in standby and 0.1uA in RAM retention idle.

That is likely even lower than the effective self discharge rate of a lithium coin cell battery. I don't believe the Arm equivalents like the Cortex M0 can deliver such low absolute current - maybe microamps, but more than an MSP430 from what I can see.

Ref - https://metebalci.com/blog/measuring-the-power-consumption-o...

> That is likely even lower than the effective self discharge rate of a lithium coin cell battery.

That's what I've found too. Based on my measurements and calculations, Photon uses 5µA (MSP430 + motion sensor) while sleeping, while the battery's self-discharge is more like 80µA.

That's probably a good argument for using a more powerful chip though, if the battery self-discharge is that high, hah.

Or a different battery chemistry with a lower self discharge rate. No need to be rechargable in most of the use cases, I'd imagine.
This sounds like a job for a lithium thionyl chloride battery.

The guys with the purple LiSoCl2 batteries make ones with up to 40 years of usable life

(comment deleted)
Maybe tiny solar panel + capacitor, like 1980/90s calculators had, then it could run "forever" - digital Millennium Camera.
This is a cool idea!
Some of the SiLabs EFM32 parts have comparable sleep currents.
Thanks for sharing the explanations, and hey it's open source so someone can make a linux version if they want!
Ok, so an app is needed to get the data from the device to a computer, and you wanted to focus your efforts on a "polished" Mac app. But why not make a non-polished Windows app as well? Or have someone make it?

Also, is the RAW data specific to the device and if so, why? If the device simply used, say, DNG or TIFF, then decoding could be done by external software, and all your own software would have to do would be to read the SD card and produce RAW files...?

> But why not make a non-polished Windows app as well? Or have someone make it?

If I had more time and money I certainly would!

> Also, is the RAW data specific to the device and if so, why?

To maximize battery life, the hardware does zero processing on the image data; it simply copies the raw pixels output by the image sensor to the unformatted SD card.

> If the device simply used, say, DNG or TIFF, then decoding could be done by external software, and all your own software would have to do would be to read the SD card and produce RAW files...?

True, perhaps I should've used an existing RAW format like DNG and exposed the images as a filesystem. That would require using a different architecture (ie not using an MSP430, like Rinzler89 suggested), and would likely reduce the battery life due to having to maintain a filesystem on the SD card.

It seems it's the filesystem that's most costly? Would it be possible, maybe, to store DNG file data, one after the other, on the card, without a filesystem?
I'm not too familiar with the DNG format, but if a DNG file could be as simple as [header][2304x1296x2 bytes][footer] then it might be possible with the current hardware.

But without a filesystem, would it be useful to have DNG files stored on the SD card? Wouldn't you need special software to read off the "packed" DNG data anyway? And if you need special software anyway, couldn't the special software convert the existing raw image data to the DNG format, instead of requiring the hardware to do it?

The DNG/TIFF spec is unreasonably flexible. It would be possible to add just a fixed precalculated header on the image data to make it valid DNG. The lack of filesystem is still a bigger issue.
Well, yes.

It's unclear from the website what Photon Transfer does exactly, but from the screenshots it seems it's almost a Lightroom-lite?

A super basic utility that would simply extract the data from the device and spit out DNG files, with zero further processin, would not need to have a nice GUI, or even a GUI at all, and may be enough to lure in Windows users?

Your header for your DNGs, I think, is going to be the same for every single file you write. DNG is just a kinda superset of TIFF, IIRC.
Love these answers. I declare you officially to be a badass.
Indeed, kudos for that. Nice to see the out of the box thinking.
Since the read part is handled by another chip (feeding off of USB power, therefore not terribly power constrained), you could present as a MTP device, or even mass storage, while generating the file structure on the fly. Maybe TIFFs are simple enough so you don't have to mess with the actual image bytes.
Perhaps your perspective would be better reflected on the site if instead of just saying "exclusively for mac" it said open source right there with it-- I closed the page as "not for me" before getting down to the open source part.
> To maximize Photon's battery life I tried to make the hardware do the absolute minimum to record imagery. To that end, Photon stores images on an unformatted SD card (ie one huge linear array of bytes) which is easy and fast to index into.

Hmm, what about a dongle that connects between the camera and computer? The dongle wouldn't have to worry about battery life because it'd have USB power. It could do the translation to mass-storage in hardware so the computer wouldn't have to be running macOS.

how do you manage the balancing of card use, or is there still a card firmware layer in the loop that does that?

eg lower memory being used far more often over the life so wearing out well before upper memory?

how do you handle memory dropouts for a given address/cell/whatever you call a memory location, or as above?

> how do you manage the balancing of card use, or is there still a card firmware layer in the loop that does that?

The SD card is accessed as a ring buffer, so all addresses are written evenly. (It was my understanding that SD cards implement wear leveling themselves though, so the wear leveling should be free even if the SD card was written to randomly -- if my understanding is correct.)

> how do you handle memory dropouts for a given address/cell/whatever you call a memory location, or as above?

SD card write failures cause the firmware to crash and reset itself, so it'll try again when another photo is triggered. (It also logs the reset so it can be debugged.)

FWIW I'm using Samsung 128 GB "PRO Endurance" SD cards, with endurance == 820 TBW, which works out to 820e12 / 5.97e6 (size of one photo) == 137e6. So you can capture 137 million photos before the SD card is expected to fail.

Make it a tar archive with some common RAW photo format?

    cat /dev/sda > raws.tar
The software being exclusive to Mac is apparently a feature in this case.
I'm admittedly trying to "celebrate my constraints" of finite time and money haha. I would love to support more systems if there's enough interest.
Nothing wrong with prioritizing one platform. It's just presented in a strange way on the website which suggests to me that it will only ever work on Mac.
The website states he's a "big fan of native apps."

You shouldn't build software based on what you're a fan of. You should built it based on its usefulness to users. Very silly to limit the customer base so much to perfect something very tangential to the experience.

> You shouldn't build software based on what you're a fan of.

Why not? For a solo/passion/hobby product like this, I'd argue you 100% absolutely should build it based on what you're a fan of. My experience is people like Dave who approach things with opinionated laser focus and solve a personal/niche need tend to build things with much higher quality and better experience because they essentially build it for themselves. They are the customer.

> Very silly to limit the customer base so much to perfect something very tangential to the experience.

This presupposes the goal here is to reach the broadest customer base possible, like this camera+software is supposed to be a rocket ship. What if it's not? What if the goal is to build a high quality, highly-polished product? Focusing on a single OS (one that the maker is obviously a fan of) makes a ton of sense.

The style of the website and the focus of the product remind me a lot of the software company Panic (https://panic.com). They make extremely high quality software, with excellent design & experience, and a very narrow focus (unapologetically Apple-only). They don't make any concessions or sacrifice user experience to appease users of other operating systems. I respect them a whole lot more for that.

It's being sold, presumably for a profit, on a platform with a ~14% market share. Less if we count compatible devices based on OS version.

That is entirely the author's choice, but it isn't without consequence. For example, I have never heard of Panic despite owning a Mac myself.

> You shouldn't build software based on what you're a fan of.

If you’re doing something as a passion project you should absolutely do things based on what you’re a fan of.

Amazing project. Would consider buying one, if you sent to Germany. Did you consider writing your app using the Web Serial API? If you did, why did you decide to go the native route?
> Did you consider writing your app using the Web Serial API? If you did, why did you decide to go the native route?

I went the native route mainly because I love native software, particularly native Mac software. I never quite enjoy using web apps, but I certainly understand the appeal.

Until I get the ordering system taking international addresses, send me an email (support@toaster.llc) with your address and I can send a Stripe invoice.

(comment deleted)
> Why not just have it connect as a generic mass-storage device?

Actually have it present itself as a MTP (0) compatible device would have been better, but that would require an underlying filesystem, and as the author explained there's no space to add more features. The product is interesting though, and the code is free (thanks!) so I'm positive that Linux support will eventually happen.

0: https://en.wikipedia.org/wiki/Media_Transfer_Protocol

Why MTP? It's strictly less functional and more annoying to user than presenting as mass-storage device, and since you need a filesystem either way, might as well go with a protocol that gives you access to files, instead of a slow, half-working abstraction over them.
Cool project, here's a few comments after a quick glance over:

- There's no license on the code and design files in the Github repo, thus this currently isn't open source but rather "source-available". If you plan to allow others to modify the code and build their own cameras you should add an appropriate license.

- The Mac only support (and it's MacOS only, with no iPad/iPhone support) with a dedicated app to operate it seems to really limit the market for this device. Since all the app does is allow you to view/transfer photos and configure the device you probably could make do with a simple MTP interface for access to the photo files and have a second interface for configuration. Also if you do plan to release this under an OSS license and market it as a hackable + privacy friendly device Linux support is pretty much a requirement.

- Consider using automotive grade ICs to allow the device to function below freezing. The current stuff may be fine for Cali but people in northern states won't be able to use it outdoors in the winter.

> Linux support is pretty much a requirement

Support isn't required for linux: I think there will be people who will be keen to hack up Linux support based on the open source code available, and the same with Windows. However if "Dave" wants access a larger market, Windows or even Android support would make sense.

>Windows or even Android support would make sense.

How about an SD card slot with a configuration in a plaintext file, so that one isn't tied to the software which may or may not be available in the future.

I just got myself a Sony Mavica which shoots photos on a floppy disk, and I can still use it without thinking about which OS my computer runs.

For a camera that boasts battery life in years, needing "exclusive" software (that may or may not be available years down the line) defies the point.

> Support isn't required for linux: I think there will be people who will be keen to hack up Linux support based on the open source code available, and the same with Windows.

I guess this is more of a marketing thing but I wouldn't be interested in buying this as a Linux user even with the other benefits if it came with unknown DIY support. If you're advertising it as an open source device and such then the people willing to play with it and pay a premium are typically Linux makers/hackers. If it's being sold as a Mac only device with a slick interface and app-only control that appeals to a different market entirely.

(comment deleted)
so cool!

For your next trick, how about a super long battery life MP3 player? A friend asked if I knew of an MP3 player that would be good for a two-week hike with no access to electricity, and it really seems like there's nothing out there beyond carrying around a bunch of batteries.

There are other options such as chargers powered by solar power, hand crank, fire, etc.
FiiO M3 Pro? https://www.amazon.com/FiiO-M3-Pro-Resolution-Touchscreen/dp...

> 15 hours battery life and 35 days standby time: Adopt 1000 mAh high-capacity lithium-ion battery and USB-C charging technology. The M3 Pro has a battery life up to 15 hours and standby time up to 35 days. That means if you listen 3.5 hours every day, the M3 Pro can go for a whopping 1 week before needing to be charged again!

My Cowon D2 might be old but it still goes on for days and days and ... you get it, it's awesome!
15 hours seems not that much considering an iPod nano can do 30 hours (according to Apple)
Fifteen hours is not enough for a two-week hike. That gives you one hour of listening per day, maximum.
https://www.amazon.com/dp/B01NAJ3KQB

...probably at least 10-25 hours playback on a single battery, which means 8 batteries gives you 80 hours of listening (2 weeks).

For that space though, you could scavenge a solar garden light charger and get indefinite listening with ~4 batteries. 1 loaded, 3 charging, with a nominal "fully charge 3 batteries with 16 hours of daylight", which means a ~33% duty cycle.

One sunny day charges 3 batteries, which means you have 45 hours of charge before needing to obtain another 16 hours of sunlight.

I was surprised to see that company is still around. I used to love their cameras because of their limitations. Unless I’m mixing them up with a similarly named company.
>A friend asked if I knew of an MP3 player that would be good for a two-week hike with no access to electricity, and it really seems like there's nothing out there beyond carrying around a bunch of batteries.

Go on the used market and look for old iRiver players if you can, preferably the T10. They take AA batteries and last forever (45+ hours), have a rugged sporty design and had the best non-Apple quality and UX.

The only downside is the small flash storage on them for today's standards but only the old players were feature AA batteries, before they all switched to sealed internal lithium meaning they are now dead.

But on the upside the name brand players from 20 years ago had higher quality MP3 decoding SoCs and audio DACs, while the new MP3 players with AA batteries you can buy today are all bottom of the barrel chinesium e-waste.

A modded iPod classic is hard to beat. Replace the HDD with a CF card (many of the SD and SATA adapter boards don't have support the drive's power saving features) and stick the biggest battery you can get in there. I've seen people get 100+ hours of playback from a modded iPod.
> A few years ago someone kept trying to steal my motorcycle, so I decided to make a small camera with really long battery life to catch them.

The camera seems really cool. But given that the device has no way to get photos off it without physical access, it seems like this wouldn't be super useful for your original purpose. If someone just takes the camera (or manages to successfully steal your motorcycle), then then camera doesn't provide any value.

I don't think the camera goes on the motorcycle.
Yeah my plan was to hide it in the garage's rafters. (I ended up moving out of my apartment complex anyway though, so I ended up not needing it for that anyway.)
That makes a lot more sense :) Although you still have the problem of someone potentially finding it.
The one use case he mentions could also be satisfied by a $50 trail camera with video capability, better photo quality, better low light performance and better motion sensing.

I'm really struggling to figure out why people are excited about this. Do they not know trail cameras exist?

Love that everything is open source! Code relating to cameras have been traditionally locked down and hidden under NDAs. Surprised there's no sample photos nor specifications on image sensor.
Looks like 5MP but saves as 3MP files. https://github.com/toasterllc/MDCCode/blob/6afdde594861264f8...

Pixel resolution Size = 2304 x 1296 = 2,985,984 pixels Pixel count = 2.99 million pixels Resolution = 2.99 mega pixels Aspect Ratio Width / Height: 1.78 "landscape" (horizontal) orientation Type of aspect ratio = "HD 16:9"

Couple photos here too: https://github.com/toasterllc/MDCCode/tree/6afdde594861264f8...

I guess its for hiding a camera near where you park your bike and see who stole it or looked at it.

> Looks like 5MP but saves as 3MP files.

OMG that's so refreshing. Just recently I've come across, both from garage sales, a "40MP" camera smartphone (Chinese brand-X) that actually has, probably, a 13MP class sensor in it and upscales, and a wildlife camera that does the same.

Waste a great deal of storage just to fool people into thinking they got a better camera, and then you have to downscale all that again to achieve something like pixel-level sharpness.

Indeed it's 2304 x 1296, 12-bit color. (That .jpg in the repo was a test image from a different camera.)
Omnivision's camera datasheets and sample code can be found everywhere on the Internet.
Wonder if this could be co-opted to function like a Narrative Clip. Take a photo every 30 seconds (or something like that). I had mine for 3 years before it died
50,000 pic battery life * 1 pic every 30 seconds = ~17 day battery life. Not bad
Small note: though the battery will last for 50k pictures, the storage will begin overwriting old photos after ~20k.
It does feel a little weird that the battery outlasts the storage. Maybe I should've gone with 256 GB SD cards == 40k photos.
Does it start replacing the oldest photos?
Currently it replaces the oldest photos, yes. (There might be use cases where you only want to keep the first 20k photos though -- if anyone wants that, get in touch and I can add a setting.)
I figured that was the case. That makes the most sense for your original use-case. I ordered one last night, are you seeing a large uptick of orders from this post?
Definitely, the HN crowd has been kind.
re: Footprints being a solved problem, SnapEDA/SnapMagic is a great place to start for beginners. You still want to verify, but they have metrics on how many users have used the footprint and other "trustworthiness" indicators.

re: the sealing, you may want to test the seals over a temp cycle. fully enclosed housings sometimes need a vent to prevent pressurizing the housing and, literally, blowing a gasket.

Really well done! I also love the design of your website, is it a boilerplate/template or did you design it yourself?

Is this the same sensor as the rpi hq cam? Would be cool to have interchangeable lenses on this, but that might make weatherproofing it difficult.

> I also love the design of your website, is it a boilerplate/template or did you design it yourself?

Website is painfully custom haha. Credit to the wonderful Iconfactory for the Photon art!

I try to avoid devices with built in batteries. Could a version be created that uses a replaceable 18350, 18650 or even AA? I'm OK swapping every few months etc, but when its time to dispose of it, I don't want to fret about how to remove the battery for recycling.
Also when the battery dies and it renders the product garbage that only someone with fairly advanced skills can fix.
I 1000% agree with the sentiment, I hate that we throw so many electronics away.

I need to make a blog post showing how to replace the battery.

Is the battery soldered? Is it a fairly standard kind of thing like an 18650 (obviously not the same size, but I'm not familiar with what "standard" pouch style batteries exist)?
It’s not soldered, but it does have a Molex Pico-EZmate connector (chosen for its low profile), and I’m not sure you can find batteries premade with that kind of connector. You could reuse the existing connector with a new battery, but that would ideally involve soldering.
Totally fair, I feel the same way. Originally Photon was going to use AAs but I changed course when I decided I wanted to make it water resistant.

(FWIW Photon uses a 103040 which is pretty commonly available, the only caveat is it needs a Molex Pico-EZmate connector, which is a super-low-profile connector since interior space is scarce.)

I'd love to revisit the battery story some day...

Would this be suitable for strapping on a helmet to take a picture every (other) second on a bike ride and turn into a time lapse video afterwards?
Looks like yes

> capture photos at particular times or on certain dates, perfect for time-lapse photography

With 50k photos on a single charge you could capture almost 28h of continuous 0.5fps video.

I was wondering about the weight which I couldn't find specified (although at that size it can't be much) and about ways that you could attach a strap to it.
For some reason I never thought to weigh it! Need to update the website.

I just put one on my kitchen scale: 70g.

Oh wow, that's almost as light as a Scatt (totally different domain, but also a very customized/specialized camera).
I think it should work pretty well for that use case.

I need to add support to the companion app to make exporting videos convenient though. Right now it only allows batch-exporting images.

No. You need some motion smoothing for that too look good. At 3MP it does not have enough CCD to stablize and transcode into smooth pics.
I want to know who designed your site and who implemented it :-) One of the best sites I have ever seen.
Few questions come to mind:

- what’s the image resolution? Is it fixed or can it be changed in the settings?

- can you attach an actual image file? The previews are barely clear to show anything.

- any info about operating temperature? The battery might not die but the camera shuts off due to high temperatures, happens to me all the time with gopro and the likes.

- what’s the storage capacity? Not mentioned anywhere.

Edit: ok I see now the footer of the site, it didn’t load before

great landing page! "IOT? how about NOT"...i lol'd
I really like the focused idea. This is likely the best product in its niche. It's an oddly large niche--this is a tool that can solve a lot of problems.

Is the battery replaceable if it fails?

> Is the battery replaceable if it fails?

It's replaceable but I hadn't thought that far ahead regarding end-users doing it. The caveats are:

1. I made a special tool to avoid scuffing the aluminum when removing the backplate:

https://toaster.llc/blog/rainproofing

Search for "Backplate Removal"

2. The backplate needs to be re-sealed (with standard RTV sealant).

3. The PCB uses a Molex Pico-EZmate connector. (It could be transferred from the old battery to the new battery, or I could sell pre-made batteries if there was interest.)

Would be great if it had Zwave and Zigbee support... Would love this for home automation use cases
Why not just use something like Qt to build a native cross platform app? As others have mentioned, advertising a device as open source and yet Mac only is going to turn away a lot of people.
Qt apps, even in 2024, still don't feel native when used on Mac.

Personally I'd much rather just drop the custom Mac app and replace it with:

  - firmware that can read/write a proper filesystem
  - firmware that can create e.g. DNG files that can be handled by regular photo editors like Lightroom, RawTherapee, Darktable, etc.
  - A webapp that lets you generate a configuration file and does the battery life estimation.
Really appreciate the feedback.

The honest answer is I'm a Mac guy, and a terrible businessman.

FWIW I love Linux and used it extensively to develop Photon. (In fact the "MDCUtil" tool for debugging Photon already supports Linux.) I'd love to add Linux support for the app if there's enough interest in this thing.

Can he afford Qt? He'd need a lawyer on retainer.
If the app is opensource, Qt is 100% free under GPLv3.
Most of it is LGPL, so the app doesn't even need to be open-source and on desktop compliance is quite easy.
Technically, you're correct.

I just don't like being threatened on their download page.

Nice. Ever read The Circle? Bet you could get some good SeeChange camera streams going from this :)
Really cool! How much does it weigh? I'd love to attach it to a collar on my cat to track their fun adventures.
I just put one on my kitchen scale: 70g.
> “made by Dave in California”

Love this, well done, looks like a great product.

Neat, if there was something like this that was more like a car dashcam, I'd really like something for my bicycle helmet, I want a dashcam like experience incase someone hits me, but the battery life and charging ergonomics combined with having to empty the flash card on a gopro makes it not work well for the usecase.
For this I use a Virb Elite mounted on the bike itself. Garmin stopped making them in 2013 I think, and they can be found in mint condition for $40-50. They're very sturdy, waterproof, and have GPS. The battery life is reasonnable (with new batteries).

The mounting system is very practical, they can be taken off or put back on with one hand, something I was never able to do with a GoPro.

And they just... look weird, so they don't get stolen.