Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Simulate Bluetooth system-level networks using the Bluetooth Toolbox. Use this skill for any Bluetooth topology: BLE ACL (Asynchronous Connection-Less) data connections, CIS (Connected Isochronous Stream) and LE Audio for stereo speakers or hearing aids, BLE GAP (Generic Access Profile) connection establishment with advertising and scanning, Classic BR/EDR piconets with ACL data and SCO (Synchronous Connection-Oriented) voice links, and BLE+BR/EDR coexistence with adaptive frequency hopping. Cov
.claude/skills/matlab-matlab-simulate-bluetooth-network/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 9% | 0% |
Entry point for all Bluetooth system-level simulation. All Bluetooth simulations use sim = wirelessNetworkSimulator.init and follow the workflow defined in matlab-simulate-wireless-network (simulator init, traffic, mobility, instrumentation, addNodes, run).
bluetoothLENode, bluetoothNodematlab-simulate-wireless-network instead)matlab-simulate-wireless-network)| Scenario | Reference | |----------|-----------| | BLE realistic connection setup (advertising, scanning, GAP) | references/ble-gap-connection.md | | BLE point-to-point data, star network, ACL connections | references/ble-connection.md | | LE Audio unicast (stereo speakers, hearing aids, CIS/CIG) | references/ble-cis.md | | Classic Bluetooth earbuds, SCO voice, ACL data | references/bluetooth-bredr.md | | BLE + BR/EDR coexistence, adaptive frequency hopping | references/bluetooth-coexistence.md | | Capture and visualization (PCAP, IQ, event tracing, traffic viewer) | See matlab-simulate-wireless-network skill |
bluetoothLENode("central"), bluetoothLENode("peripheral")bluetoothNode("central"), bluetoothNode("peripheral") — max 7 peripherals per centraladdTrafficSource(sourceNode, traffic, ...):
DestinationNode=peer required. CIS also needs CISConfig=cfgCISOut.SCOPacketType in connection config.| Topology | "throughput" | "latency" | "PLR" / "PDR" | Layer | |----------|:-:|:-:|:-:|-------| | BLE ACL | LL only | App only | Both LL and App | "LL" or "App" | | BLE CIS | LL only | App only | Both LL and App | "LL" or "App" | | BR/EDR | Baseband | — | Baseband | "Baseband" |
| Topology | Config Object | Function | Notes | |----------|--------------|----------|-------| | BLE ACL | bluetoothLEConnectionConfig | configureConnection(cfg, central, peripheral) | Per-peripheral in loop; unique AccessAddress per connection | | BLE CIS | bluetoothLEConnectionConfig + bluetoothLECISConfig | [~, cfgCISOut] = configureConnection(cfg, central, peripheral, CISConfig=cfgCIS) | Pass cfgCISOut to addTrafficSource(..., CISConfig=cfgCISOut) | | BR/EDR | bluetoothConnectionConfig | configureConnection(cfg, central, peripherals) | Single call with vector of peripherals |
bluetoothNode for BLE (or vice versa): BR/EDR = bluetoothNode, BLE = bluetoothLENode"LL", BLE latency → "App", BR/EDR → "Baseband" onlyrun(): Node/connection properties cannot change mid-sim. Use updateChannelList for mid-sim channel updates.configureConnection with peripheral vector for BLE: Must call per-peripheral in loop (BR/EDR accepts vector)AccessAddress per connection: Each BLE connection on same central needs different AccessAddressDataRate=100 means 100 Kbps, not 100 bpsGeneratePacket=true is not valid: Not applicable for network-level simulation. Use OnTime=Inf for continuous traffic.<!-- Copyright 2026 The MathWorks, Inc. -->
Other measured skills in the registry, with their headline benchmark lift.