590 karma · joined May 24, 2014
davekeck at gmail
(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...
I tried to make SDController.v and RAMController.v as re-usable as possible.
I just put one on my kitchen scale: 70g.
I need to add support to the companion app to make exporting videos convenient though. Right now it only allows batch-exporting images.
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.
There was a ton of manual assembly for each unit (some due to my errors, some due to the PCBA's errors, some simply due to the design of the device). All in all, it's not get-rich-quick/ever scheme haha.
So it sounds like you use different companies for machining and anodizing? It certainly seems like you'd get better results from someone that specializes in each...
Website is painfully custom haha. Credit to the wonderful Iconfactory for the Photon art!
I spent a lot of time working on the time-tracking aspect too, so making time-lapses is a third:
https://toaster.llc/blog/timekeeping
Another (incredibly stupid or delightfully whimsical, your call XD) is putting it in your fridge to have a collection of images yourself / your family when they're hungry.
So that works out to $18 per unit. This is my first time doing something like this so I have no idea if that's a good deal or not.
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!
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.)
(FWIW Photon's USB stack is handled by a STM32F730 and I've been perfectly happy with it. Expensive though.)
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.
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 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!
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.)
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.
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?
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.
Apple created this situation, I just hope they don't feel the need to "fix it". Given their sensitivity to bad PR, I'd be very surprised if they did.