build guide

Build oneParts, part numbers, and the two that bite

What to buy to turn a NanoPi Zero2 into a Wi-Fi 7 capture sensor, with every part number written down so the build survives a dead listing. Two choices on this page are easy to get wrong in a way that looks right: the exact BE200 variant, and which antenna connector you buy. Both have their own section.

Parts6 required, 7 optional
RadioIntel BE200, Wi-Fi 7
ToolsSmall Phillips driver
SolderingNone
TimeAbout 20 minutes
Get the image v1.0.7 · 419 MB
Every part below is listed with its manufacturer part number or ASIN, so a dead link is an inconvenience rather than a dead end.

Bill of materials

tap a row for detail
NanoPi Zero2 NanoPi Zero2 2 GB, no eMMC, with case · $49.99, free shipping Required
NanoPi Zero2

Buy the 2 GB, no eMMC, with case option. Skip the bundled Wi-Fi card and SD card: the card that ships with it is not a BE200, and you will supply your own SD.

SoC
Rockchip RK3528A, quad-core Cortex-A53
Memory
2 GB LPDDR4X (1 GB variant also sold)
Expansion
M.2 Key E slot, PCIe
Network
Gigabit Ethernet, Realtek RTL8211F PHY
Power / data
USB-C
Console
UART header, 3.3 V, 1,500,000 baud
Price
$49.99, free shipping
Source
FriendlyElec · Amazon B0DHLC9SJ3
Intel BE200, non-vPro Intel BE200, non-vPro Intel 282726 · must say “No vPro” Required
Intel BE200, non-vPro

The part number matters. See Get the BE200 variant right before ordering — the label on the card itself reads BE200NGW either way, so a photo cannot tell you which variant is in the box.

Intel part
282726
Model
BE200.NGWG.NV
Variant
Non-vPro, listed as “No vPro”
Form factor
M.2 2230, Key E
Radio
Wi-Fi 7, 2×2, tri-band, plus Bluetooth
Max width
160 MHz on 5 and 6 GHz
Driver
iwlmld, firmware core 106
Price
$23.39
Source
Amazon B0DFKF4T56
MHF4 to RP-SMA pigtails MHF4 to RP-SMA pigtails 15 cm, RP-SMA female, 4-pack Required
MHF4 to RP-SMA pigtails

Two needed, sold in fours. These carry the signal from the card’s tiny MHF4 sockets out to the case.

Ends
MHF4 (U.FL) to RP-SMA female
Length
15 cm / 5.9 in
Impedance
50 Ω
Quantity
4 per pack
Fits
M.2 NGFF cards. Not Mini PCIe
Price
$9.99 for four
Source
Amazon B07S2LYC1F
Osprey LHCP antenna Osprey LHCP antennas RP-SMA · the pocket-scanner pick · $19.88 for two Required
Osprey LHCP antenna

Two, and this is the one we actually measured rather than guessed at. Across eight antennas swept on all three bands the Osprey was the most compact tested, and circular polarisation cost nothing on throughput — it even out-ran the larger Dixingtek on 5 GHz. Read the connector trap before ordering any alternative.

Know what you are trading. This is a 5.8 GHz FPV antenna, roughly 5.6–6.0 GHz, not a tri-band whip. It gives up some 2.4 GHz and it is not tuned for the top of 6 GHz. That is the price of something that genuinely pockets; if the sensor lives on a desk, the 5″ Oscium was the stronger all-rounder.

Connector
RP-SMA, mates with the pigtails above
Polarisation
LHCP, circular
Band
5.6–6.0 GHz
Gain
2.82 dBi
Size
Stubby, 14.1 mm diameter × 14 mm
Quantity
2 per pack
Price
$19.88
Source
Amazon B0BM99SJCP
M2.5 screw assortment M2.5 screw assortment M.2 retaining screw is M2.5 · $9.99 Required
M2.5 screw assortment

The M.2 card is held down by a single small screw, and the M.2 standard specifies M2.5. An assortment is worth having because that screw is easy to lose and impossible to improvise.

The printed enclosure below eats two more lengths: M2.5 × 8 mm top-to-bottom at the antenna corners and M2.5 × 14 mm for the four centre holes. This kit has the 8 mm and not the 14 mm — its ladder runs 12, 16, 20 and skips straight over. Source the 14 mm separately if you are printing the enclosure.

Thread
M2.5, the M.2 retaining size
Sizes
M2.5 × 3/4/5/6/8/10/12/16/20 mm
Head
Flat head, Phillips
Contents
620 pieces, flat head Phillips, with nuts and washers
Price
$9.99
Source
Amazon B0B3J58MMW
microSD card microSD card A2 / V30 minimum · any size, it auto-expands Required
microSD card

Any size from 8 GB up. The image expands to fill the card on first boot, so buy for capture headroom, not for the image. Buy A2 and V30 for headroom, and see what a running sensor actually uses for the measurements.

Minimum
A2 and V30, so 30 MB/s sustained write
Known good
SanDisk Extreme microSDXC — C10, U3, V30, A2 B07FCMKK5X
Price
$12 for 32 GB up to $44.59 for the 128 GB Extreme
Size
32–64 GB is a sensible middle
Endurance
“High endurance” is a nice-to-have, not required
Before trusting it
Benchmark the write speed. A card can read perfectly and write at a crawl
Note
The cheaper SanDisk Ultra line is A1/U1. The stock card in our build managed 12 MB/s regardless

Worth adding

nice to have
0.5 mm thermal pad 0.5 mm thermal pad Case includes one; this is a better one Upgrade
0.5 mm thermal pad

The case already ships with a pad, so this is not something the build needs to work — the stock one is just thin and cheap. Orb is firm that a pad is required: “the card needs the pad to transfer heat to the case and run reliably.” Replacing it with a decent 0.5 mm pad is a cheap upgrade, and it matters more here than on most boards because mainline has no thermal zone for this SoC, so nothing throttles on your behalf.

Product
ARCTIC TP-3
Thickness
0.5 mm, matching the stock pad
Sheet
120 × 20 mm, 4 per pack
Do not go thicker
Too thick stops the case closing flat and makes contact worse
Price
$7.49
Source
Amazon B09V518BXM
Short right-angle USB-C cable Short right-angle USB-C cable 10 cm, powers and networks in one Optional
Short right-angle USB-C cable

Powers the sensor and carries the network link at the same time. Plug it into a laptop or phone and the sensor appears at 198.18.42.1 with no ethernet involved. The right angle keeps it from levering on the port in a bag.

Product
JUXINICE 90° USB-C male to male
Length
10 cm / 4 in, flat and pliable
Quantity
2 per pack
Price
$9.99 for two
Source
Amazon B0CSW84W7J
REVODATA PoE splitter with USB-C output PoE splitter, USB-C output One cable does power and network Optional
REVODATA PoE splitter with USB-C output

For a sensor that lives where there is no outlet — a ceiling grid, a rack door, a riser cupboard. The splitter takes 48 V PoE in on one RJ45 and gives you data out on a second RJ45 plus 5 V at up to 4 A over USB-C, which is more than this board and a BE200 will ever draw. 802.3af alone budgets 12.95 W at the powered device, so an af switch port is enough; at is headroom.

It occupies the USB-C port. That port is how you get the NCM gadget link at 198.18.42.1 from a laptop, so a PoE-powered sensor is reached over ethernet or not at all — and since v1.0.7 there is no serial console on that port either. Budget for the UART header if the unit goes somewhere awkward. You also need a short RJ45 patch lead from the splitter to the board, which is not in the box.

The board's PHY is gigabit, so the 2.5G rating is headroom rather than a benefit. The USB-C splitter below is the way to keep the gadget link while this is powering the board. Not tested here — the specifications below are the listing's, not measurements.

Product
REVODATA 2.5G Type-C PoE splitter
Model
TYPEC0504G
Standards
IEEE 802.3af / 802.3at
Output
USB-C, 5 V / 4 A, 20 W
Data
2.5 Gb/s passthrough
Also needs
A short RJ45 patch lead, splitter to board
Price
$15.29
Source
Amazon B0CHW5K5F4
90-degree USB-C one-to-two adapter USB-C one-to-two adapter, 90° Power and the gadget link on one port Optional
90-degree USB-C one-to-two adapter

The board has one USB-C port, and it is both how you power the sensor and how you reach it at 198.18.42.1 over the NCM gadget. Anything permanent in that port — a PoE splitter, a wall supply — takes the laptop link with it. This adapter is one male into two females, so the supply goes on one leg and the laptop on the other, and its right angle keeps the stack out of the printed enclosure's way.

One is in the field rig below, carrying power from a pocket battery. What is untested is the other half of the claim: an adapter like this routes power to one leg and USB 2.0 data to the other, and whether this board's UDC still enumerates a gadget while VBUS arrives from the neighbouring leg has to be measured rather than assumed. Power through it is proven; power and the laptop link at once is not.

The PD100W and 10 Gbps ratings are irrelevant here in the same way the PoE splitter's 2.5G is: the board's port is USB 2.0 and the board wants 5 V.

Product
QIANRENON USB-C 1 male to 2 female, 90°
Rated
PD 100 W, 10 Gb/s — both headroom
Use
Supply on one leg, host on the other
Price
$12.99
Source
Amazon B0DDPRWVD5
90-degree USB-A extension cables USB-A extension, 90° Stops a USB radio levering on the port Optional
90-degree USB-A extension cables

The board has one USB 2.0 Type-A host port, and that is where a USB radio goes — an MT7921U, or the MT7925U inside a Netgear A9000. Those adapters are heavy and stick straight out, which is a lever on a through-hole connector every time the sensor is moved or bagged. A 10 cm right angle turns that into a cable pulling on a cable. The pack has one up-angle and one down-angle, so whichever way the port faces in your enclosure, one of them lies flat.

USB 2.0, which costs nothing here. The board's Type-A port is USB 2.0 whatever you plug into it, so a USB 3 radio is already running at USB 2.0 speeds and this cable takes nothing further away. It is the board that caps this, not the extension.

Product
JUXINICE 90° USB 2.0 male to female
Length
10 cm / 4 in, flat and pliable
Quantity
2 per pack — one up-angle, one down-angle
Fits
The board's single USB 2.0 Type-A host port
Price
$9.99 for two
Source
Amazon B0CDM7G5WH
MagSafe magnet rings MagSafe magnet rings 53.9 mm outer · 2.6 mm thick · $7.99 Optional
MagSafe magnet rings

For sticking the finished sensor to something steel, or to a 3D-printed mount. Sold for DIY and print-in projects rather than as a phone accessory.

The ring has a polarity and it is easy to fit backwards. A MagSafe array is a ring of alternating poles, so a ring seated the wrong way up repels the one in the phone case instead of latching. Offer it up to the case you actually intend to stick it to before committing it, and mark the face that held.

Type
Magnet ring, MagSafe-compatible
Outer ø
53.9 mm / 2.12 in
Inner ø
45.8 mm / 1.80 in
Thickness
2.6 mm / 0.10 in
Price
$7.99
Intended use
DIY and 3D printing, accessory side
Source
Amazon B0GGNLD59P
The printed MagSafe enclosure, built, holding the aluminium case on the back of a phone 3D-printed MagSafe case Free community design · MakerWorld Optional
The printed MagSafe enclosure, built, holding the aluminium case on the back of a phone

A community-published MagSafe enclosure for the NanoPi Zero 2 that you print yourself. This is the route to a sensor that sticks to a steel ceiling grid, a rack door or a tripod plate. Pair it with the magnet ring above.

It does not replace the stock case — it wraps it. The finned aluminium case goes inside the print, so the thermal pad and the metal it dumps into are still in the stack, and the external antennas still terminate on the board. Buy the board with its case, not on its own — the print needs it.

Printed and built here. See fitting the printed enclosure below for the parts of it that are not obvious: which screw lengths, which way the magnet ring goes, and where the pigtails run. Read the model page for print settings.

Type
Printable case, MagSafe
Fits
NanoPi Zero 2
Price
Free — you supply the filament
Source
MakerWorld model 3266641
FTDI TTL-232R-3V3 USB to UART cable USB serial console cable The only console, since v1.0.7 Optional
FTDI TTL-232R-3V3 USB to UART cable

For watching the board boot, or recovering one that will not come up on the network. This is now the only console. v1.0.7 removed the CDC-ACM function from the USB gadget — it stopped some hosts enumerating the gadget at all — so a unit in a case has no console over USB-C any more. Do not buy a cheap CP2102 for this board — see the console runs at 1.5 Mbaud.

Recommended
FTDI TTL-232R-3V3
Chip
FT232R, 300 baud to 3 Mbaud
Logic level
3.3 V signals
Wire colours
Documented by FTDI: black GND, orange TX, yellow RX, red +5 V
Connect
GND, TX, RX only. Leave red disconnected
Price
$17.99
Source
Amazon B00DDF8TV6

Buy the FTDI-branded part. Listings exist that put the string TTL-232R-3V3 in the title under someone else's brand for about the same money, and the chip inside is what decides whether 1.5 Mbaud works. The ASIN above is FTDI's own.

What it costs

prices checked 2026-09-04

Two builds, depending on whether the antennas live inside the case or screw onto the outside. Everything above the antennas is identical.

PartPriceInternalExternal
NanoPi Zero2, 2 GB, case$49.99
Intel BE200, non-vPro$23.39
microSD$12–$44.59
M2.5 screw kit$9.99
Thermal pad, optional upgrade$7.49
MHF4 to RP-SMA pigtails$9.99
Osprey LHCP antennas$19.88
Estimated total

Internal antennas: roughly $95 to $135. The spread is almost entirely the SD card — a 32 GB A2 card at the bottom, the 128 GB SanDisk Extreme at the top — plus the optional thermal pad.

External antennas: roughly $125 to $165. The same build plus pigtails and a pair of Osprey antennas, which together add about $30.

Prices exclude tax and were read from the listings on 4 September 2026. They move; the part numbers do not, which is why those are what this page is really for.

The internal build assumes the antennas mount inside the case rather than on external connectors. If you are fitting adhesive MHF4 flex antennas instead of the pigtail-and-Osprey pair, budget for those separately — they are not listed above.

Get the BE200 variant right

the expensive typo

The BE200 ships in vPro and non-vPro variants that look identical, mount identically and differ by a few characters in the part number. You want the non-vPro card.

Buy this

Intel 282726 · BE200.NGWG.NV · "No vPro"

Listing title reads: Intel 282726 Nt Be200.ngwg.nv Intel Wi-fi 7 Be200 2230 2x2 Be+bt No Vpro Retail

Check the listing title for the letters .NV and the words No Vpro before you pay. A seller photo of the card will not tell you which one is in the box.

The connector trap

pin meets socket, always

SMA and RP-SMA use the same thread. A mismatched pair screws together perfectly, feels solid, and never makes electrical contact. There is no mechanical tell.

We have already paid for this. In an antenna comparison on 2026-08-27, three of four antenna sets were RP-SMA on an SMA jack. Every one threaded on. All three datasets were stray coupling through an open connector and had to be thrown away. A seating check passed, because an open connector still hears plenty at close range; the giveaway only appeared across frequency, as a 13 dB hole at 6295 MHz beside near-parity at 5975 MHz.

WHAT YOU HAVE WHAT IT MUST MEET RESULT pigtail end RP-SMA female centre PIN + antenna end RP-SMA male centre SOCKET = Pin enters socket. Contact made. The failure: two sockets, or two pins. Threads on perfectly, conducts nothing. Look into both connectors before you buy. One must show a pin, the other a hole.

One more habit worth keeping from that run: if two physically different antennas measure identically, treat it as a connection fault until proven otherwise. Two disconnected antennas both read −64.0 dBm.

What a running sensor actually uses

measured 2026-09-04

Rather than guess at the RAM and storage a capture sensor needs, we measured one during capture.

Measured on a live sensorValueWhat it means
Total RAM1.92 GiBThe 2 GB board
Idle253 MBFull system, Orb running
Peak during capture281 MBOnly 28 MB above idle
tcpdump itself7 MBIt streams, it does not buffer
Swap used0Never came close
Card write, mid-range12.1 MB/sFlat from 16 MiB to 256 MiB, no falloff
Card write, Samsung 128 GB21.7 MB/sAlso flat; about 1.75× the other
Card read, both67–70 MB/sIdentical — this is the board’s ceiling, not the card
Capture to card vs to RAM0% loss bothStorage was not a limit at the rate tested
What this tells you

1 GB of RAM would be enough. Peak usage during capture was 281 MB, and tcpdump streams to disk rather than buffering in memory. We still suggest the 2 GB board because the price gap is small, but do not buy it expecting capture to need it.

A mid-range card is fine. Two cards measured on this board sustain 12 and 22 MB/s, against the roughly 0.8 MB/s a busy 2.4 GHz capture was actually writing. Buying A2 and V30 buys headroom and a guarantee, not a fix for a problem you are likely to have.

Ignore read speed when judging a card here. Both cards read at 67–70 MB/s despite writing at very different rates, because read is capped by the RK3528’s SD host controller. A benchmark that leads with read numbers will tell you nothing about this board.

One unresolved observation

One 180-second capture on a busy channel lost 51% of its frames — 160,621 dropped against 152,625 written — at roughly 1,700 packets per second. It is not the card. The same card re-tested at 12 MB/s with no errors, and capturing to RAM instead of to the card made no difference at all.

The cause is still unidentified. Ambient traffic has since dropped to about 150 packets per second, where nothing drops in any configuration, so it is not currently reproducible. If you see heavy loss on a busy channel, the card is not the first place to look.

Benchmarking a new card before trusting it is still worth the thirty seconds, because a card that reads normally can still write slowly, and a capture gives no sign when it is losing frames.

# On the sensor. The image checks this itself once per boot and
# publishes the result, but you can ask any time:
sudo wc-storage-check
#   GOOD: SD card writes at 21.7 MB/s.

# Or measure it by hand:
sudo dd if=/dev/zero of=/var/tmp/w.bin bs=1M count=64 conv=fdatasync
sudo rm /var/tmp/w.bin

Size is free to choose: the image ships a 2.1 GB root partition and expands to fill the card on first boot. Ours grew to a 13.9 GB partition on a 14.6 GB card with no intervention.

Assembly

about 20 minutes · photographed on a real build
The finished sensor magnet-mounted on the back of a phone, fed from a pocket battery through a right-angle USB-C lead and a one-to-two adapter

What you are building: the sensor magnet-mounted on the back of a phone, the finned aluminium case visible inside the print, an antenna on the corner, and power arriving from a pocket battery through the short right-angle USB-C lead and a one-to-two adapter marked USB 3.2 10 Gb/s PD 100 W. Nothing in this picture is bolted to anything.

01

Open the case and seat the BE200

The card goes into the M.2 Key E slot at an angle, then presses flat under its retaining screw. If it will not sit flat, it is not fully home in the slot.

02

Fit the thermal pad

The case comes with one. Use it, or swap in a better 0.5 mm pad. Cut a piece to cover the BE200's shield can and lay it on top. It bridges the gap to the case, which is the only heatsink this card gets. Do not substitute a thicker pad to "be safe": too thick stops the case closing flat and makes contact worse.

03

Take the stock antennas out by the cover, not the antenna

Push the corner of the antenna cover to release it. Pushing on the antenna itself is how you damage one: it is a thin flexible element on a fragile lead, and it is not what the retention is holding. The slots it frees are where the pigtails go.

Pushing the corner of the antenna cover to release the stock antennas

Click for the full-size photograph.

04

Clip the pigtails onto the card

MHF4 connectors seat with a small, definite click. They are fragile and meant to be pressed straight down, not rocked. The BE200 prints its own connector map: MAIN is 2 and AUX is 1, marked with triangles beside each U.FL pad. Populate both.

05

Mount the RP-SMA ends and fit the antennas

Check one last time that the pigtail shows a pin and the antenna shows a hole. Finger tight is correct; a wrench on an SMA body will damage it.

Into the SMA / antenna case

The rest is the printed enclosure, and it does not replace the aluminium case — the case slides into it, thermal pad and all. Stop at step 5 if you are keeping the antennas inside. These six are photographs of the build, in the order the job is actually done.

06

The cable relief is how the case goes in

The notch moulded into the print is not only clearance for the coax — it is the entry the case slides in past. Line the case up on that side rather than trying to drop it in square.

The printed frame, showing the cable relief notch used to slide the case in

Click for the full-size photograph.

07

Run the leads out through the case passthroughs

The aluminium case has passthroughs that let the coax out beside the boards, so nothing is pinched between case halves. Slack is not a problem — there is a void above the board that stores the excess neatly, and coiled slack in there is better than a taut lead pulling on a U.FL.

Case passthroughs beside the boards, with cable slack stored in the void above the board

Click for the full-size photograph.

08

Push the SMA boot in as the case slides

The rubber boot on the SMA lead catches on the enclosure lip on the way in. Press it in with a fingernail while the case slides rather than forcing the case — the thing that gives if you force it is the connector, not the print.

Pushing the SMA boot in while the case slides into the printed enclosure

Click for the full-size photograph.

09

What a clean cable install looks like

Both leads on the card, dressed flat across the module, nothing standing proud and nothing taut. This is what you are aiming at before the lid goes back on.

BE200 seated with both U.FL leads attached and dressed flat across the module

Click for the full-size photograph.

10

Fit the magnet ring, and check which way up

The ring seats from the inside, so it goes in before anything is screwed together. A MagSafe array is a ring of alternating poles, so a ring fitted upside down pushes the phone case away instead of latching. Offer it up to the case you actually intend to stick it to, find the face that holds, and mark it — the two faces are identical to look at.

Magnet ring fitted into the printed back plate, with the working face marked UP

Click for the full-size photograph.

11

Two screw lengths, and the kit only has one of them

M2.5 × 8 mm runs the enclosure top to bottom at the two antenna corners. M2.5 × 14 mm takes the four centre holes. The 620-piece assortment listed above covers the 8 mm and not the 14 mm — its ladder goes 12, 16, 20 — so buy those separately or you will get to the last step and stop.

Assembled enclosure from the back, showing which screws take which length

Click for the full-size photograph.

12

Flash the card and boot

Write the image, insert the card, and give it about two minutes: it resizes the root filesystem and reboots once on its own.

xz -dc wlan-commander-nanopi-zero2-v1.0.7-bleedingedge.img.xz \
  | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
13

Confirm the radio came up

Over ethernet, or straight down the USB-C cable at ssh wlanpi@198.18.42.1. A healthy BE200 reports three bands and no disabled channels.

iw reg get | head -2
iw phy phy0 info | grep -c 'MHz \['     # expect 110
sudo dmesg | grep -i 'loaded firmware'  # expect core 106

The console runs at 1.5 Mbaud

why the cheap adapter fails

This board's debug UART runs at 1,500,000 baud at 3.3 V. That single number rules out most of the cheap adapters, and it does so silently: you get a connection and a screen of garbage, which reads like a dead board rather than a wrong cable.

ChipMaximum rateHandles 1.5 Mbaud?
FT232R3 MbaudYes
CP2102C3 MbaudYes
CP21042 MbaudYes
CP2102, the common cheap one1 MbaudNo
Wiring it without letting the smoke out

Connect ground, TX and RX only. Leave the red +5 V lead disconnected: the board is already powered over USB-C, and feeding it a second supply through the header is how you back-power a running board.

Buy an adapter with individual leads rather than a moulded 4-pin block. Separate leads let you leave the power wire off, and they make a swapped pair a five-second fix instead of a rewire. FTDI documents its colours, which is the other half of the problem: black is ground, orange is TX out of the adapter, yellow is RX into it.

# macOS, once the adapter is plugged in
ls /dev/cu.usbserial-*
screen /dev/cu.usbserial-XXXX 1500000

About the photographs

hosted here, not hotlinked

The product photographs are the sellers’ and are served from this site rather than linked to Amazon, so the page keeps working when a listing is pulled. The specifications beside them are facts, recorded in full for the same reason: a dead link should cost you a search, not the build.

The assembly photographs are ours, taken and annotated on the build described here.