DocsThe radios

How Knit uses Bluetooth and Wi-Fi Aware

Knit runs both radios at once. Bluetooth works on nearly every Android phone and keeps a steady link to the phones around you. Wi-Fi Aware, on phones that have it, moves pictures and big catch-ups much faster.

Checked against Knit 2.9.0

Neither radio needs a router, a cell tower or a SIM. They let two phones talk to each other directly, which is what lets Knit work where there's no network at all.

You don't pick between them. Knit uses whichever one reaches each nearby phone, often both at once, and when the same message arrives over both, your phone keeps the first copy and drops the second. A phone with only one of the two radios still joins the mesh.

The two radios side by side

BluetoothWi-Fi Aware
Which phonesNearly every Android phoneMany recent phones, on Android 12 or newer
Best atStaying linked, and everyday messagesPictures and big catch-ups
A 400 KB photoAbout 25 seconds with a screen onMuch faster
NeedsBluetooth onWi-Fi on, but no network

The photo time is with at least one of the two screens on. With both screens off, Bluetooth sends pictures at about a quarter of that speed, so the same photo takes over a minute and a half.

Bluetooth: the steady link

Knit uses Bluetooth Low Energy, the same low-power Bluetooth that earbuds and fitness bands use. Nearly every Android phone has it, which is why it's the radio Knit can count on.

Knit phones announce themselves over Bluetooth, find each other, and keep a link open to the phones nearby. Messages, delivery ticks, reactions and the messages your phone carries for other people all travel over those links. Bluetooth can also broadcast short public updates, like posts in the Nearby room, to phones it hasn't linked to yet. The Nearby room is plaintext by design, so those posts are readable by anyone in range.

Wi-Fi Aware: the fast lane

Wi-Fi Aware lets two phones talk over Wi-Fi directly, with no router or hotspot in between. Wi-Fi has to be switched on, but your phone doesn't need to be connected to any network for it to work.

Knit uses Wi-Fi Aware on phones running Android 12 or newer that include it. Pixel phones from the Pixel 3 on have it, and so do many recent phones from other makers. Some phones leave it out, including some Samsung models.

  • Short messages and updates can go to nearby phones as quick Wi-Fi Aware messages, with no connection set up at all.
  • Each phone also announces a short summary of what it's carrying. When two phones' summaries don't match, they open a brief Wi-Fi Aware connection, swap whatever the other is missing, and close it again. If Bluetooth already links the two, that catch-up goes over Bluetooth instead.
  • Larger pictures and attachments get a Wi-Fi Aware connection of their own when both phones support it, which is where the speed shows.

What Android asks you for

  • On Android 13 and newer: the Nearby devices permission, which covers both radios.
  • On Android 12 and older: location too, because those versions tie scanning for nearby phones to it. Knit reads where you are only if you send your location from a chat.

While Knit runs in the background, Android shows a notification saying the Knit mesh is active. Android requires that notification from any app that keeps working in the background, and it's how your phone keeps relaying for the people around you when the app isn't open.

On Android 12, after the phone restarts, Wi-Fi Aware may only search for phones while Knit is on screen. The notification then says "Open Knit to keep searching for phones over Wi-Fi", and opening Knit once fixes it. Bluetooth keeps working the whole time.

How Knit saves battery

  • When no other Knit phone has been in range for three minutes and your phone is on battery, Knit searches less often on both radios. As soon as it finds someone, or you plug in, it goes back to full speed.
  • When your phone is already linked to every Knit phone around it, Bluetooth scans for newcomers less often.
  • While you're playing audio to Bluetooth headphones or a speaker, Knit scans less, so it doesn't compete with your music for the radio. Existing links keep working.

Getting the most from both radios

  • Leave Bluetooth and Wi-Fi switched on. Wi-Fi doesn't have to be connected to anything.
  • Let Knit run in the background, with its notification showing.
  • To see which radios your phone is using, open Your mesh from the top of your chat list and tap Technical details. The Transports section lists Bluetooth and Wi-Fi Aware, and says "Not supported by this phone" or "Needs Android 12 or newer" where one isn't available.

What to expect

  • Each hop between two phones typically covers tens of metres. Every phone running Knit extends the route, and for bigger gaps an optional Meshtastic radio adds hops measured in kilometres.
  • On Android 10 and 11, and on phones without Wi-Fi Aware, Knit runs on Bluetooth alone. Messages, groups and pictures all work; pictures just take longer.
  • Turning on your phone's hotspot, or another app's Wi-Fi Direct connection, can take the Wi-Fi radio away from Wi-Fi Aware. Your mesh says "Another app has the radio", Bluetooth keeps going, and Wi-Fi Aware picks up again when the radio is free. Knit's own Direct file send pauses Wi-Fi Aware the same way while a file moves.
  • On a few phones, opening a Wi-Fi Aware connection knocks the phone off its normal Wi-Fi network. If that keeps happening, Knit stops opening those connections from that phone. Other phones can still connect to it, Knit tries again once a day, and Technical details has a Try again now button.

Common questions

Does Wi-Fi Aware use my Wi-Fi network or my data?

No. It's a direct link between two phones, so no network, router or internet is needed, and there's nothing to bill.

My phone doesn't have Wi-Fi Aware. Can I still use Knit?

Yes. Messages, groups and pictures all work over Bluetooth alone; pictures arrive more slowly. A nearby phone that does have Wi-Fi Aware still links to yours over Bluetooth.

What happens if I switch one radio off?

Knit carries on with the other. If both are off, Your mesh asks you to turn on Wi-Fi or Bluetooth.

Does Knit track my location?

No. Older Android versions ask for location because scanning for nearby phones needs it there. Knit reads your position only when you send your location from a chat's menu.

Is Direct file send the same as Wi-Fi Aware?

No. Direct file send, for files up to 8 GB in a direct message, uses Wi-Fi Direct: a separate connection the two phones set up for that one file and take down afterwards. Wi-Fi Aware pauses while it runs.

Read next

Something here unclear, wrong, or missing? Tell us and we'll fix the page.

← All docs

Bring your people into the conversation

Knit is on Android. Grab it on Google Play or F-Droid, and support development on Ko-fi, Liberapay or GitHub Sponsors. Knit for iPhone is on the way.

Requires Android 10+ — no Google Play services, no SIM, no account.