2000s digicam that mints photos onchain using custom SD card firmware
Everyone loves digicams these days, so we figured we would hack one to mint photos onchain in order to onboard all digicam lovers onto ethereum. We did so using an SD card that has wifi + bluetooth support and a hackable firmware. This allowed us to write custom logic that runs on the SD card inside the digicam itself! We also created a companion app that walks the user through interacting with the SD card via bluetooth, enabling the wifi access point, downloading the latest file from the SD card via direct wifi connection, and then uploading the metadata and minting the photo onchain.
We wrote the custom firmware for the esp32 SD card using Arduino C++. We forked the base firmware and significantly improved it to support waking / sleeping the wifi chip, chunked resumable file downloads, and recursive directory listings. We wrote the companion app in React Native, using react-native-ble-plx and react-native-wifi-reborn to control the bluetooth and wifi communication with the SD card. We also wrote a large workflow in xstate that automates nearly all of the steps involved with communicating with the card and minting photos onchain, so the cognitive overhead for end users is low.

