Home Technology Babel-USB: USB drive with every file
Technology

Babel-USB: USB drive with every file

Key Points

This project turns an ESP32-S3 development board into an infinite filesystem inspired by the digital Library of Babel. - Buy an ESP32-S3 development board - ideally one shaped as a USB stick for maximum bewilderment. This is the one I got, though you don't necessarily need this exact variant.

This project turns an ESP32-S3 development board into an infinite filesystem inspired by the digital Library of Babel. - Buy an ESP32-S3 development board - ideally one shaped as a USB stick for maximum bewilderment. This is the one I got, though you don't necessarily need this exact variant. That said, make sure you're getting an ESP32-S3. That's the only one I've tested. Others may not have hardware USB support. S2 might work, but I make no promises. - Get Visual Studio Code and set up PlatformIO. Refer to Google or YouTube if you don't know how. - Clone this repository with submodules. Again, if you don't know what that means, look it up. - Open the cloned folder in VScode, wait for it to set up the project. - While holding the "BOOT" button, plug the microcontroller into your PC. - Click the "→" icon in VScode to compile and flash the project. Once that's done, disconnect and reconnect the microcontroller. - Explore! You might have to copy files off of the MTP share before reading them, as most programs don't support reading directly from MTP. - Install Bun. - Navigate to the cloned folder and use the command bun run file-to-path.js , where is a path to the file you wish to find. Note that files larger than a couple hundred bytes will take a very long time to generate. - Copy the path it returns and paste it into your file browser after disk/ . - Find the file , copy it off of the drive, and verify that it is in fact the same file. The hardware-facing bits of this project are loosely cobbled on top of RigoLigoRLC's work on esp32s3-tusb-mtp and their fork of espressif-tinyusb-component.
Babel-USB (ORG) S3 (ORG) USB (ORG) Google (ORG) YouTube (ORG) VScode (ORG) MTP (ORG)
Originally published by Hacker News Read original →