truncate -s 128M fs.img
parted fs.img
mklabel gpt
mkpart primary btrfs 1MiB 100%
quit
sudo losetup --find --partscan --show fs.img
sudo mkfs.btrfs /dev/loop0p1
You should be able to skip the loop device stuff and work on an actual device instead. Seems to me the limit is somewhere between 64M and 128M.
Edit: But as edinbruh said, maybe try f2fs if it's a flash device, that's probably a bit more lightweight?! And since I don't know what you're doing... If it's embedded stuff and you're alright with read-only, you might want to use squashfs.