Microchip ATWINC3400-IC Handleiding
Microchip
Niet gecategoriseerd
ATWINC3400-IC
Lees hieronder de 📖 handleiding in het Nederlandse voor Microchip ATWINC3400-IC (149 pagina's) in de categorie Niet gecategoriseerd. Deze handleiding was nuttig voor 241 personen en werd door 2 gebruikers gemiddeld met 4.5 sterren beoordeeld
Pagina 1/149

ATWINC3400
ATWINC3400 Wi-Fi/BLE Network Controller - Software
Design Guide
User Guide
Introduction
Atmel® SmartConnect ATWINC3400 SoC is an IEEE® 802.11 b/g/n and
Bluetooth® Smart BLE network controller for applications in the Internet-of-
Things. It is an ideal add-on to existing MCU solutions bringing Wi-Fi® and
network capabilities through an SPI- -to Wi-Fi interface. The WINC3400 AT
connects to any Atmel AVR® or Atmel | SMART MCU with minimal resource ™
requirement s.
Features
Wi-Fi IEEE® 802.11 b/g/n STA AP modes and
Wi-Fi Protected Setup (WPS)
Discovery and provisioning via Smartphone using BLE
Support of WEP WPA/WPA2 personal security and
Embedded network stack protocols to ooad work from the host MCU. This
allows operation with a wide range of MCUs including low end MCUs.
Embedded TCP/IP stack with BSD-style socket API
Embedded network protocols
– DHCP client/server
– DNS resolver client
– SNTP client for UTC time synchronization
Embedded TLS security abstracted behind BSD-style socket API
HTTP Server for optional provisioning using AP mode
Ultra-low cost IEEE 802.11 b/g/n RF/PH/MAC SoC
Ultra-low power Bluetooth SMART (BLE 4.0 SoC with Integrated MCU, )
Transceiver, Modem, MAC, PA, TR Switch, and Power Management Unit
Fast boot from on-chip Boot ROM
8Mb internal Flash memory
Low power consumption with dierent power saving modes
SPI, I2C, and UART support
Low footprint host driver with the following capabilities:
– Can run on 8, 16, and 32 bit MCU
– Little and Big endian support
– Consumes about 8KB of code memory and 1KB of data memory on host
MCU
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
2
Table of Contents
1 Icon Key Identiers .............................................................................................. 7
2 Glossary ................................................................................................................ 7
3 References ............................................................................................................ 7
4 Host Driver Architecture ...................................................................................... 8
4.1 WLAN API ......................................................................................................................................... 8
4.2 Socket API ......................................................................................................................................... 8
4.3 Host Interface (HIF) ........................................................................................................................... 9
4.4 Board Support Package (BSP) .......................................................................................................... 9
4.5 Serial Bus Interface ........................................................................................................................... 9
5 WINC System Architecture ................................................................................ 10
5.1 Bus Interface ................................................................................................................................... 10
5.2 Non-volatile Storage ........................................................................................................................ 11
5.3 CPUs ............................................................................................................................................... 11
5.4 IEEE 802.11 MAC Hardware ........................................................................................................... 11
5.5 Bluetooth BLE V4.0 MAC Hardware ................................................................................................ 11
5.6 Program Memory ............................................................................................................................. 11
5.7 Data Memory ................................................................................................................................... 11
5.8 Shared Packet Memory ................................................................................................................... 11
5.9 IEEE 802.11 MAC Firmware ............................................................................................................ 11
5.10 Bluetooth V2.1 MAC Firmware ........................................................................................................ 12
5.11 Memory Managers ........................................................................................................................... 12
5.12 Power Managements ....................................................................................................................... 12
5.13 ATWINC RTOS ............................................................................................................................... 12
5.14 ATWINC IoT Library ........................................................................................................................ 13
6 ATWINC Initialization and Simple Application ................................................. 14
6.1 BSP Initialization .............................................................................................................................. 14
6.2 ATWINC Host Driver Initialization .................................................................................................... 14
6.3 Socket Layer Initialization ................................................................................................................ 14
6.4 ATWINC Event Handling ................................................................................................................. 14
6.4.1 Asynchronous Events ............................................................................................................. 15
6.4.2 Interrupt Handling ................................................................................................................... 15
6.5 Code Example ................................................................................................................................. 16
7 ATWINC Conguration ....................................................................................... 17
7.1 Device Parameters .......................................................................................................................... 17
7.1.1 System Time ........................................................................................................................... 17
7.1.2 Firmware and HIF Version ...................................................................................................... 17
7.2 ATWINC Modes of Operation .......................................................................................................... 17
7.2.1 Idle Mode ................................................................................................................................ 18
7.2.2 Wi-Fi Station M ode................................................................................................................. 18
7.2.3 Wi-Fi Hotspot (AP) Mode ........................................................................................................ 18
7.3 Network Parameters ........................................................................................................................ 19
7.3.1 Wi-Fi MAC Address ................................................................................................................ 19
7.3.2 IP Address .............................................................................................................................. 19
7.4 Power Saving Parameters ............................................................................................................... 19

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
3
7.4.1 Power Saving Modes .............................................................................................................. 19
7.4.1.1 M2M_PS_MANUAL ................................................................................................ 20
7.4.1.2 M2M_PS_AUTOMATIC .......................................................................................... 21
7.4.1.3 M2M_PS_H_AUTOMATIC ..................................................................................... 21
7.4.1.4 M2M_PS_DEEP_AUTOMATIC .............................................................................. 21
7.4.2 Conguring Listen Interval and DTIM Monitoring .................................................................... 21
8 -Fi Station Mode Wi ............................................................................................. 22
8.1 Scan Conguration Parameters .......................................................................................................22
8.1.1 Scan Region ........................................................................................................................... 22
8.1.2 Scan Options .......................................................................................................................... 22
8.2 Wi-Fi Scan ....................................................................................................................................... 22
8.3 On Demand Wi-Fi Connection ......................................................................................................... 23
8.4 Default Connection .......................................................................................................................... 24
8.5 Wi-Fi Security .................................................................................................................................. 25
8.6 Example Code ................................................................................................................................. 26
9 ATWINC Socket Programming .......................................................................... 27
9.1 Overview .........................................................................................................................................27
9.1.1 ATWINC Socket Types ........................................................................................................... 27
9.1.2 Socket Properties ................................................................................................................... 27
9.1.3 Limitations .............................................................................................................................. 27
9.2 ATWINC Sockets API ...................................................................................................................... 27
9.2.1 API Prerequisites .................................................................................................................... 27
9.2.2 Non-blocking Asynchronous Socket APIs ..............................................................................28
9.2.3 Socket API Functions ............................................................................................................. 28
9.2.3.1 socketInit ................................................................................................................ 28
9.2.3.2 registerSocketCallback ........................................................................................... 28
9.2.3.3 socket ..................................................................................................................... 28
9.2.3.4 connect ................................................................................................................... 28
9.2.3.5 bind......................................................................................................................... 29
9.2.3.6 listen ....................................................................................................................... 29
9.2.3.7 accept ..................................................................................................................... 29
9.2.3.8 send ........................................................................................................................ 30
9.2.3.9 sendto ..................................................................................................................... 30
9.2.3.10 recv / recvfrom ........................................................................................................ 31
9.2.3.11 close ....................................................................................................................... 31
9.2.3.12 setsockopt ..............................................................................................................31
9.2.3.13 gethostbyname ....................................................................................................... 31
9.2.4 Summary ................................................................................................................................ 32
9.3 Socket Connection Flow .................................................................................................................. 33
9.3.1 TCP Client Operation .............................................................................................................34
9.3.2 TCP Server Operati on ............................................................................................................ 35
9.3.3 UDP Client Operation ............................................................................................................. 36
9.3.4 UDP Server Operation ............................................................................................................ 37
9.3.5 DNS Host Name Resolution ................................................................................................... 38
9.4 Example Code ................................................................................................................................. 39
9.4.1 TCP Client Example Code ...................................................................................................... 39
9.4.2 TCP Server Example Code .................................................................................................... 40
9.4.3 UDP Client Example Code ..................................................................................................... 42
9.4.4 UDP Server Example Code .................................................................................................... 43

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
4
10 Transport Layer Security (TLS) ......................................................................... 45
10.1 TLS Connection Establishment ....................................................................................................... 45
10.2 Server Certicate Installation ........................................................................................................... 46
10.2.1 Technical Background ............................................................................................................ 46
10.2.1.1 Public Key Infrastructure ......................................................................................... 46
10.2.1.2 TLS Server Authentication ...................................................................................... 46
10.2.2 Adding a Certicate to the ATWINC Trusted Root Certicate Store ....................................... 46
10.3 ATWINC TLS Limitations ................................................................................................................. 46
10.3.1 Modes of Operation ................................................................................................................ 46
10.3.2 Concurrent Connections ......................................................................................................... 46
10.3.3 Supported Cipher Suites .........................................................................................................46
10.3.4 Supported Hash Algorithms .................................................................................................... 46
10.4 SSL Client Code Example ............................................................................................................... 47
11 Wi-Fi AP Mode .................................................................................................... 49
11.1 Overview .........................................................................................................................................49
11.2 Setting ATWINC AP Mode ..............................................................................................................49
11.3 Limitations ....................................................................................................................................... 49
11.4 Sequence Diagram .......................................................................................................................... 49
11.5 AP Mode Code Example ................................................................................................................. 50
12 Provisioning ........................................................................................................ 51
12.1 BLE Provisioning ............................................................................................................................. 51
12.1.1 BLE Provisioning Code Example ............................................................................................ 53
12.2 HTTP Provisioning ........................................................................................................................... 54
12.2.1 Introduction ............................................................................................................................. 54
12.2.2 Limitations .............................................................................................................................. 54
12.2.3 Basic Approach ......................................................................................................................54
12.2.4 Provisioning Control Flow ....................................................................................................... 55
12.2.5 HTTP Redirect Feature ...........................................................................................................56
12.2.6 HTTP Provisioning Code Example ......................................................................................... 56
12.3 Wi-Fi Protected Setup (WPS) .......................................................................................................... 57
12.3.1 WPS Conguration Methods .................................................................................................. 57
12.3.2 WPS Limitations ..................................................................................................................... 57
12.3.3 WPS Control Flow .................................................................................................................. 58
12.3.4 WPS Code Example ............................................................................................................... 59
13 Multicast Sockets ............................................................................................... 60
13.1 Overview .........................................................................................................................................60
13.2 How to use Filters ............................................................................................................................ 60
13.3 Multicast Socket Code Example ...................................................................................................... 60
14 ATWINC Serial Flash Memory ........................................................................... 65
14.1 Overview and Features ...................................................................................................................65
14.2 Accessing to Serial Flash ................................................................................................................ 65
14.3 Read/Write/Erase Operations .......................................................................................................... 65
14.4 Serial (SPI) Flash Map ....................................................................................................................66
14.5 Flash Read, Erase, Write Code Example ........................................................................................ 66
15 Writing a Simple Networking Application ......................................................... 68
15.1 Prerequisites ....................................................................................................................................68
15.2 Solution Overview ............................................................................................................................ 68

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
5
15.3 Project Creation ............................................................................................................................... 69
15.4 Wi-Fi Software API Files .................................................................................................................. 69
15.5 Reading Temperature Sensor and Controlling LED Status ............................................................. 71
15.6 Step By Step Development .............................................................................................................72
16 Host Interface Protocol ...................................................................................... 90
16.1 Transfer Sequence Between HIF Layer and ATWINC Firmware ..................................................... 91
16.1.1 Frame Transmit ...................................................................................................................... 91
16.1.2 Frame Receive ....................................................................................................................... 92
16.2 HIF Message Header Structure ....................................................................................................... 93
16.3 HIF Layer APIs ................................................................................................................................ 93
16.4 Scan Code Example ........................................................................................................................ 94
17 ATWINC SPI Protocol ....................................................................................... 100
17.1 Introduction .................................................................................................................................... 100
17.1.1 Command Format ................................................................................................................. 101
17.1.2 Response Format ................................................................................................................. 105
17.1.3 Data Packet Format .............................................................................................................. 106
17.1.4 Error Recovery Mechanism .................................................................................................. 107
17.1.5 Clockless Registers Access .................................................................................................. 108
17.2 Message Flow for Basic Transactions ........................................................................................... 109
17.2.1 Read Single Word ................................................................................................................109
17.2.2 Read Internal Register (for clockless registers) .................................................................... 109
17.2.3 Read Block ........................................................................................................................... 110
17.2.4 Write Single Word ................................................................................................................. 111
17.2.5 Write Internal Register (for clockless registers) .................................................................... 111
17.2.6 Write Block ........................................................................................................................... 112
17.3 SPI Level Protocol Example .......................................................................................................... 112
17.3.1 TX (Send Request) ............................................................................................................... 113
17.3.2 RX (Receive Response) ....................................................................................................... 124
Appendix A. How to Generate Certicates .................................................... 139
A.1 Introduction .................................................................................................................................... 139
A.2 Steps ............................................................................................................................................. 139
Appendix B. X.509 Certicate Format and Conversion ................................ 140
B.1 Introduction .................................................................................................................................... 140
B.2 Conversion Between Dierent Formats ......................................................................................... 140
B.2.1 Using Windows ..................................................................................................................... 140
B.2.2 Using OpenSSL .................................................................................................................... 140
B.2.3 Online Conversion ................................................................................................................ 140
Appendix C. How to Download the Certicate into the ATWINC ................. 141
C.1 Overview .......................................................................................................................................141
C.2 Certicate Downloading ................................................................................................................. 141
C.3 Adding New Certicate .................................................................................................................. 141
Appendix D. Firmware Image Downloader .................................................... 142
D.1 Preparing Environment .................................................................................................................. 142
D.2 Download Firmware ....................................................................................................................... 143
Appendix E. Gain Settings Builder ................................................................ 145

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
6
E.1 Introduction .................................................................................................................................... 145
E.2 Preparing Environment .................................................................................................................. 145
E.3 How to use .....................................................................................................................................145
E.3.1 Method 1 ............................................................................................................................... 145
E.3.2 Method 2 ............................................................................................................................... 145
Appendix F. Revision History ........................................................................ 147

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
7
1 Icon Key Identiers
Delivers contextual information about a specific topic.
Highlights useful tips and techniques.
Highlights objectives to be completed.
Highlights the expected result of an assignment step.
Indicates important information.
2 Glossary
BSD Berkeley Software Distribution
BSP Board Support Package
HIF Host Interface Layer
IoT Internet of Things
OTA Over The Air
OTP One Time Programmable
TLS Transport Layer Security
WINC Wi-Fi Network Controller
3 References
[R01] . Atmel-42640-Getting-Started-Guide-for-ATWINC3400WiFi-using-SAMD21-Xplained-Pro_UserGuide
[R02] Atmel-42639-Software-Programming-Guide-for-ATWINC3400-WiFi-using-SAMD21-Xplained-
Pro_UserGuide.
[R03] Atmel-42535-ATWINC3400-MR210-IEEE80211bgn-Link-Ctlr-with-Integrated-Low-Energy-
Bluetooth40_Datasheet
[R04] Atmel-42683-ATWINC3400-BLE-WiFi-Scan- -Connect-Services-Guide_UserGuideand

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
10
5 WINC System Architecture
Figure 5-1 shows the WINC system architecture. The Soc contains two 32-bit CPUs APS3S-Cortus for Wi-: an
Fi and an APS3-Cortus for BLE. In addition it has separate built-in Wi-Fi IEEE-802.11 and BLE 4.0 physical
layers sharing a single nal RF front end. The firmware for Wi-Fi comprises the Wi-Fi IEEE-802.11 MAC layer
and embedded protocol stacks which ooad the host MCU. The firmware for BLE implements the entrie BLE
stack and privides an application supporting a prole defined for device provisioning. The components of the
system are described in the following sub-sections.
Figure 5- WINC System Architecture 1.
WINC3400 SOC
APS3S-Cortus
Power
Management
IEEE 802.11 MAC
WINC RTOS
Memory
Manager
WINC Host Interface
WINC IoT Library
WINC TCP/IP Stack
Transport
Layer Security
(TLS)
Wi-Fi
Protected
Setup (WPS)
Radio
Coexistence
DHCP
Client/
Server
DNS
Resolver SNTP SSL
Manager
Crypto Library
BUS Interface
I2
CSPI Master/Slave
IEEE 802.11 MAC HW
IEEE 802.11 PHY Shared PKT
Memory
Program
Memory
Data
Memory
SPI FLASH
APS3-Cortus
Power
Management
Bluetooth V4.1 MAC Memory
Manager
WINC BLE Library
AT Bluetooth SmartConnect
Stack: SAP, SMT, ATT, GATT,
L2CAP
Wi-Fi cross
comms
BLE cross
comms
Shared Radio
Bluetooth V4.1 MAC HW
Bluetooth V4.1 PHY
Shared PKT
Memory
Program
Memory
Data
Memory
Corus - Cortus
Radio
Coexistence
Provisioning
App support
5.1 Bus Interface
Hardware logic for the supported bus types for WINC communications.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
11
5.2 Non-volatile Storage
The SoC has an integrated 8 serial ash inside the WINC package (SIP). This stores the WINC Mb both Wi-Fi
rmware image and the BLE rmware image. It also stores information used by WINC firmware in the run-time.
The detailed description of the serial flash is provided in Chapter 14: ATWINC Serial Flash Memory.
5.3 CPUs
The SoC contains two 32-bit CPUs:
An APS3S-Cortus 32-bit CPU running at 40MHz clock speed, which executes the embedded WINC Wi-
Fi rmware
An APS3-Cortus 32-bit CPU running at MHz clock speed, which executes the embedded WINC BLE 26
rmware
5.4 IEEE 802.11 MAC Hardware
The SoC contains a hardware accelerator to ensure fast and compliant implementation of the IEEE 802.11
MAC layer and associated timing. It ooads IEEE 802.11 MAC functionality from rmware to improve
performance and boost the MAC throughput. The accelerator includes hardware encryption/decryption of Wi-Fi
trac and traic ltering mechanisms to avoid unnecessary processing in software.
5.5 Bluetooth BLE V4.0 MAC Hardware
The BLE Medium Access Controller (MAC) encodes and decodes HCI packets, constructs baseband data
packages, schedules frames and manages and monitors connection status, slot usage, data ow, routing,
segmentation, and buer control.
The core performs Link Control Layer management supporting the main BLE states, including advertising and
connection.
5.6 Program Memory
128KB Instruction RAM is provided for execution of the WINC Wi-Fi rmware code.
292KB Instruction RAM is provided for execution of the WINC BLE rmware code.
5.7 Data Memory
64KB Data RAM is provided for WINC Wi-Fi rmware data storage.
64KB Data RAM is provided for WINC BLE rmware data storage.
5.8 Shared Packet Memory
128KB memory is provided for Wi-Fi TX/RX packet management. It is shared between the Wi-Fi MAC
hardware and the CPU. This memory is managed by the Wi-Fi Memory Manager SW component.
32KB memory is provided for BLE TX/RX packet management. It is shared between the BLE MAC hardware
and the CPU. This memory is managed by the BLE Memory Manager SW component.
5.9 IEEE 802.11 MAC Firmware
The system supports IEEE 802.11 b/g/n Wi-Fi MAC including WEP and WPA/WPA2 security supplicant.
Between the MAC hardware and firmware, a full range of IEEE 802.11 features are implemented and
supported including beacon generation and reception, control packet generation and reception and packet
aggregation and de-aggregation.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
12
5.10 Bluetooth V2.1 MAC Firmware
The BLE subsystem implements all the critical real-time functions required for full compliance with Specication
of the Bluetooth System, v4.1, Bluetooth SIG. The rmware implements an integrated Bluetooth Low Energy
stack which is Bluetooth V4.1 compliant. The rmware supports access to the GAP, SMP, ATT, GATT client /
server and L2CAP service layer protocols. In the WINC3400 these services are used by a built-in AT
application for WI-Fi provisioning.
5.11 Memory Managers
The memory managers on both the Wi-Fi and BLE sides are responsible for the allocation and de-allocation of
memory chunks in both shared packet memory and data memory.
5.12 Power Managements
The Power Management modules on both the Wi-Fi and BLE sides are responsible for handling dierent power
saving modes supported by the WINC and coordinating these modes with the Wi-Fi and BLE transceiver. AT
5.13 WINC RTOS AT
The rmware includes a low-footprint real-time scheduler which allows concurrent multi-tasking on WINC AT
Wi-Fi CPU. The WINC RTOS provides semaphores and timer functionality. AT

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
13
5.14 WINC IoT Library AT
The WINC IoT library provides a set of networking protocols in WINC rmware. It ooads the host MCU AT AT
from networking and transport layer protocols. The following sections describe the components of WINC IoT AT
library.
ATWINC TCP/IP STACK
The WINC TCP/IP is an IPv4.0 stack based on the µIP TCP/IP stack (pronounced micro-IP). AT
µIP is a low footprint TCP/IP stack which has the ability to run on a memory-constrained microcontroller
platform. It was originally developed by Adam Dunkels, licensed under a BSD style license, and further
developed by a wide group of developers. The WINC TCP/IP stack adds to the original µIP AT
implementation several enhancements to boost TCP and UDP throughput.
DHCP CLIENT/SERVER
A DHCP client is embedded in ATWINC rmware that can obtain an IP conguration automatically after
connecting to a Wi-Fi network.
ATWINC rmware provides an instance of a DHCP server that starts automatically when ATWINC AP
mode is enabled. When the host MCU application activates the AP mode, it is allowed to configure the
DHCP Server IP address pool range within the AP configuration parameters.
DNS RESOLVER
ATWINC rmware contains an instance of an embedded DNS resolver. This module can return an IP
address by resolving the host domain names supplied with the socket API call gethostbyname.
SNTP
The SNTP (Simple Network Time Protocol) module implements an SNTP client used to synchronize the
ATWINC internal clock to the UTC clock.
TRANSPORT LAYER SECURITY
For TLS implementation, see C Transport Layer Security (TLS) for details. hapter 10:
WI-FI PROTECTED SETUP
For WPS protocol implementation, see Section 12.3: Wi-Fi Protected Setup (WPS) for details.
CRYPTO LIBRARY
The Crypto Library contains a set of cryptographic algorithms used by common security protocols. This
library has an implementation of the following algorithms:
MD4 Hash algorithm (used only for MsChapv2.0 digest calculation)
MD5 Hash algorithm
SHA-1 Hash algorithm
SHA-256 Hash algorithm
DES Encryption (used only for MsChapv2.0 digest calculation)
MS-CHAPv2.0 (used as the EAP-TTLS inner authentication algorithm)
AES-128, AES-256 Encryption (used for securing WPS and TLS trafc)
BigInt module for large integer arithmetic (for Public Key Cryptographic computations)
RSA Public Key cryptography algorithms (includes RSA Signature and RSA Encryption algorithms)

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
14
6 WINC Initialization and Simple Application AT
After powering up the WINC device, a set of synchronous initialization sequences must be executed for the AT
correct operation of the Wi-Fi functions and BLE functions. This chapter aims to explain the dierent steps
required during the initialization phase of the system. The host MCU does not communicate directly with the
BLE function but controls it through messages to the Wi-Fi MCU. This allows a single interface and driver to be
used to communicate to the WINC device. AT
After initialization, the host MCU application is required to call the WINC driver entry point to handle events AT
from ATWINC rmware.
BSP Initialization
ATWINC Host Driver Initialization
Socket Layer Initialization
Call ATWINC driver entry point
Failure to complete any of the initialization steps will result in failure in ATWINC startup.
6.1 BSP Initialization
The BSP is initialized by calling the API. The BSP initialization routine performs the following nm_bsp_init
steps:
Resets the ATWINC1 using corresponding host MCU control GPIOs
Initializes the host MCU GPIO which connects to ATWINC interrupt line. It congures the GPIO as an
interrupt source to the host MCU. During runtime, ATWINC interrupts the host to notify the application of
events and data pending inside ATWINC rmware.
Initializes the host MCU delay function used within implementation nm_bsp_sleep
6.2 ATWINC Host Driver Initialization
The ATWINC host driver is initialized by calling the API. The Host driver initialization routine m2m_wifi_init
performs the following steps:
Initializes the bus wrapper, I2C, SPI, or UART, depending on the host driver software bus interface
conguration compilation ag respectively USE_I2C, USE_SPI or USE_UART
Registers an application-defined Wi-Fi event handler
Initializes the driver and ensures that the current ATWINC rmware matches the current driver version
Initializes the host interface and the Wi-Fi layer and registers the BSP Interrupt
A Wi-Fi event handler is required for the correct operation of any ATWINC application.
6.3 Socket Layer Initialization
Socket layer initialization is carried out by calling the API. It must be called prior to any socket socketInit
activity. Refer to S for more information about socket initialization and programming. ection 9.2.1
6.4 ATWINC Event Handling
The ATWINC host driver API allows the host MCU application to interact with the ATWINC rmware. To
facilitate interaction, the ATWINC driver implements the described in CHost Interface (HIF) Protocol hapter 16:
1 Refer to ATWINC3400 datasheet [R02] for more information about ATWINC hardware reset sequence.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
15
Host Interface Protocol. The HIF protocol denes how to serialize and de-serializes API requests and response
callbacks over the serial bus interface: I2C, UART, or SPI.
Figure 6- ATWINC System Architecture 1.
Host Interface Protocol
HOST MCU
WINC Host Driver
Host MCU Application
WINC
WINC Hardware
WINC Firmware
ATWINC host driver API provides services to the host MCU applications that are mainly divided in two major
categories: Wi-Fi control services and Socket services. The Wi-Fi control services allow actions such as
channel scanning, network identication, connection, and disconnection. The Socket control services allow
application data transfer once a Wi-Fi connection has been established.
6.4.1 Asynchronous Events
Some ATWINC host driver APIs are synchronous function calls, where the result is ready by the return of the
function. However, most ATWINC host driver API functions are asynchronous. This means that when the
application calls an API to request a service, the call is non-blocking and returns immediately, most often
before the requested action is completed. When completed, a notication is provided in the form of a HIF
protocol message from the ATWINC rmware to the host which, in turn, is delivered to the application via a
callback2 function. Asynchronous operation is essential when the requested service such as Wi-Fi connection
may take signicant time to complete. In general, the ATWINC rmware uses asynchronous events to signal
the host driver about status change or pending data.
The HIF uses “push” architecture, where data and events are pushed from ATWINC firmware to the host MCU
in FCFS manner. For instance, suppose that host MCU application has two open sockets; socket 1 and socket
2. If ATWINC receives socket 1 data followed by socket 2 data, then HIF shall deliver socket data in two HIF
protocol messages in the order they were received. HIF does not allow reading socket 2 data before socket 1
data.
6.4.2 Interrupt Handling
The HIF interrupts the host MCU when one or more events are pending in ATWINC rmware. The host MCU
application is a big state machine which processes received data and events when ATWINC driver calls the
event callback function(s). In order to receive event callbacks, the host MCU application is required to call the
2 The callback is C function, which contains an application-dened logic. The callback is registered using the ATWINC host
driver registration API to handle the result of the requested service.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
16
m2m_wifi_handle_events API to let the host driver retrieve and process the pending events from the
ATWINC rmware. It is recommended to call this function either:
Host MCU application polls the API in main loop or a dedicated task
Or at least once when host MCU receives an interrupt from ATWINC rmware
All the application-dened event callback functions registered with ATWINC driver run
in the context API. m2m_wifi_handle_events
The above HIF architecture allows the ATWINC host driver to be exible to run in the following congurations:
Host MCU with no operating system configuration: In this configuration, the MCU main loop is
responsible to handle deferred work from interrupt handler.
Host MCU with operating system configuration: In this conguration, a dedicated task or thread is
required to call ed work from interrupt handler. m2m_wifi_handle_events to handle deferr
Host driver entry point is . In the operating m2m_wifi_handle_events non-reentrant
system conguration, it is required to protect the host driver from reentrance by a syn-
chronization object.
When host MCU is polling , the API checks for pending un-m2m_wifi_handle_events
handled interrupt from ATWINC. If no interrupt is pending, it returns immediately. If an
interrupt is pending, reads all the pending HIF messages m2m_wifi_handle_events
sequentially and dispatches the HIF message content to the respective registered
callback. If a callback is not registered to handle the type of message, the HIF mes-
sage content is discarded.
6.5 Code Example
The code example below shows the initialization ow as described in previous sections.
static void uint8_t void wifi_cb( u8MsgType, * ) pvMsg
{
}
int void main ( )
{
tstrWifiInitParam param;
nm_bsp_init();
m2m_memset((uint8*)& ,param 0, sizeof( )); param
param pfAppWifiCb. = wifi_cb;
/*intilize the WINC Driver*/
ret =m2m_wifi_init(¶m);
if (M2M_SUCCESS != ret){
"Driver Init Failed <%d>\M2M_ERR(n", ret);
while(1);
}
while(1){
/* Handle the app state machine plus the WINC event handler */
while( ( )m2m_wifi_handle_events NULL != M2M_SUCCESS) {
}
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
17
7 ATWINC Configuration
ATWINC firmware has a set of configurable parameters that control its behavior. There is a set of APIs
provided to host MCU application to configure these parameters. The configuration APIs are categorized
according to their functionality into: device, network, and power saving parameters.
Any parameters left unset by the host MCU application shall use their default values assigned during the
initialization of the ATWINC firmware. A host MCU application needs to configure its parameters when coming
out of cold boot or when a specific configuration change is required.
7.1 Device Parameters
7.1.1 System Time
It is important to set the ATWINC system to UTC time to ensure proper validity check of the X509 certificate
expiration date. Since ATWINC does not contain a built-in real-time clock (RTC), there are two ways to obtain
UTC time:
Using the internal SNTP client: Which is enabled by default in the ATWINC firmware at start-up. The
SNTP client synchronizes the ATWINC system clock to the UTC time from well-known time servers, e.g.
" ". The SNTP client uses a default update cycle of one day. time-c.nist.gov
From host MCU RTC: If the host MCU has an RTC, the application may disable the SNTP client by
calling after ATWINC initialization. The application shall provision the ATWINC m2m_wifi_disable_sntp
system time by calling API. m2m_wifi_set_system_time
7.1.2 Firmware and HIF Version
During startup, the host driver requests the firmware version through m2m_wifi_get_firmware_version API
which returns the structure containing the version number and host interface (HIF) level of the tstrM2mRev
current ATWINC firmware.
If the HIF level of the current driver is not equal to the HIF level of the current ATWINC
firmware, the driver initialization will fail.
The version parameters provided are:
M2M_HIF_LEVEL: Host Interface Level for driver/firmware compatibility
M2M_FIRMWARE_VERSION_MAJOR_NO: Firmware Major release version number
M2M_FIRMWARE_VERSION_MINOR_NO: Firmware Minor release version number
M2M_FIRMWARE_VERSION_PATCH_NO: Firmware Patch release version number
7.2 ATWINC Modes of Operation
The ATWINC firmware supports the following modes of operation:
Idle Mode
Wi-Fi STA Mode
Wi-Fi Hotspot (AP)

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
18
Figure 7- ATWINC Modes of Operation 1.
IDLE
STA AP
7.2.1 Idle Mode
After the host MCU application calls the ATWINC driver initialization API, ATWINC remains in m2m_wifi_init
idle mode waiting for any command to change the mode or to update the configuration parameters. In this
mode ATWINC will enter the power save mode in which it disables the IEEE 802.11 radio and all unneeded
peripherals and suspends the ATWINC CPU. If ATWINC receives any configuration commands from the host
MCU, ATWINC will update the configuration, send back the response to the host MCU, and then go back the
power save mode.
7.2.2 -Fi Station Mode Wi
ATWINC enters station (STA) mode when the host MCU requests connection to an AP using the
m2m_wifi_connect or APIs. ATWINC exits STA mode when it receives a m2m_wifi_default_connect
disconnect request from the Wi-Fi AP conveyed to the host MCU application via the event callback
M2M_WIFI_RESP_CON_STATE_CHANGED or when the host MCU application decides to terminate the connection
via m2m_wifi_disconnect API. ATWINC firmware ignores mode change requests while in this mode until
ATWINC exits the mode.
The supported API functions in this mode use the HIF command types: tenuM2mCon-
figCmd tenuM2mStaCmd and . See the full list of commands in the header file
m2m_types.h.
For more information about this mode, refer to Chapter 8: Wi-Fi Station Mode.
7.2.3 -Fi Hotspot (AP) Mode Wi
In AP mode, ATWINC allows Wi-Fi stations to connect to ATWINC and obtain IP address from ATWINC DHCP
server. To enter AP mode, host MCU application calls API. To exit AP mode, the m2m_wifi_enable_ap
application calls API. ATWINC firmware ignores mode change requests while in this m2m_wifi_disable_ap
m ATWINC exits the mode. ode until
The supported API functions in this mode use the HIF command types:
tenuM2mApCmd tenuM2mConfigCmdand . See the full list of commands in the
header file . m2m_types.h
For more information about this mode, refer to Chapter 11: Wi-Fi AP Mode.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
19
7.3 Network Parameters
7.3.1 -Fi MAC Address Wi
The ATWINC firmware provides two methods to assign the ATWINC MAC address:
Assignment from host MCU: When host MCU application calls the API m2m_wifi_set_mac_address
after initialization using . m2m_wifi_init API
Assignment from ATWINC OTP (One Time Programmable) memory: ATWINC supports an internal
MAC address assignment method through a built-in OTP memory. If MAC address is programmed in the
ATWI OTP memory, the ATWINC working MAC address defaults to the OTP MAC address unless NC
the host MCU application sets a different MAC address programmatically after initialization using the API
m2m_wifi_set_mac_address.
OTP MAC address is programmed in ATWINC OTP memory at manufacturing time.
For more details, refer to descripti the WINC3400_IoT_SW_APIs.chm that was on of the following APIs in
supplied in the WINC3400_IoT_REL software package.
m2m_wifi_get_otp_mac_address
m2m_wifi_set_mac_address
m2m_wifi_get_mac_address
Use m2m_wifi_get_otp_mac_address API to check if there is a valid programmed
MAC address in ATWINC OTP memory. The host MCU application can also use the
same API to read the OTP MAC address octets. The m2m_wifi_get_otp_mac_address
API must be confused with the , which reads the not m2m_wifi_get_mac_address API
working ATWINC MAC address in ATWINC firmware regardless from whether it is as-
signed from the host MCU or from ATWINC OTP.
7.3.2 IP Address
ATWINC firmware uses the embedded DHCP client to obtain an IP configuration automatically after a
successful Wi-Fi connection. After the IP configuration is obtained, the host MCU application is notified by the
asynchronous event M2M_WIFI_RESP_IP_CONFIGURED.
Alternatively, the host MCU application can set a static IP configuration by calling the
m2m_wifi_set_static_ip API. Setting a static IP address will cancel any pending DHCP requests and
disable the DHCP client until the next Wi-Fi connection attempt to the same AP or any other AP.
7.4 Power Saving Parameters
When a Wi-Fi station is idle, it disables the Wi-Fi radio and enters power saving mode. The AP is required to
buffer data while stations are in power save mode and transmit data later when stations wake up. The AP
transmits a beacon frame periodically to synchronize the network every . A station which is in beacon period
power save wakes up periodically to receive the beacon and monitor the signaling information included in the
beacon. The beacon conveys information to the station about unicast data, which belong to the station and
currently buffered inside the AP while the station was sleeping. The beacon also provides information to the
station when the AP is going to send broadcast/multicast data.
7.4.1 Power Saving Modes
ATWINC firmware supports multiple power saving modes which provide flexibility to the host MCU application
to tweak the system power consumption. The host MCU can configure the ATWINC power saving policy using

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
20
the m2m_wifi_set_sleep_mode m2m_wifi_set_lsn_int and APIs. ATWINC supports the following power
saving modes:
M2M_PS_MANUAL
M2M_PS_AUTOMATIC
M2M_PS_H_AUTOMATIC
M2M_PS_DEEP_AUTOMATIC
M2M_PS_DEEP_AUTOMATIC mode recommended for most applications.
7.4.1.1 M2M_PS_MANUAL
This is a fully host-driven power saving mode.
ATWINC sleeps when the host instructs it to do so using the API. During m2m_wifi_request_sleep
ATWINC sleep, the host MCU can decide to sleep also for extended durations.
ATWINC wakes up when the host MCU application requests services from ATWINC by calling any host
driver API function, e.g. Wi-Fi or socket operation
In , M2M_PS_MANUAL mode when ATWINC sleeps due to m2m_wifi_request_sleep
API. ATWINC does not wake up to receive and monitor AP beacon. Beacon monitor-
ing is resumed when host MCU application wakes up the ATWINC.
For an active Wi-Fi connection, the AP may decide to drop the connection if ATWINC is absent because it
sleeps for long time duration. If connection is dropped, ATWINC detects the disconnection on the next wake-up
cycle and notifies the host to reconnect to the AP again. In order to maintain an active Wi-Fi connection for
extended durations, the host MCU application should wake up the ATWINC periodically so that ATWINC can
send a keep-alive Wi-Fi frame to the AP. The host should choose the sleep period carefully to satisfy the
tradeoff between keeping the Wi-Fi connection uninterrupted and minimizing the system power consumption.
This mode is useful for applications which send notifications very rarely due to a certain trigger. It fits also
applications which send notifications periodically with a very long spacing between notifications. Careful power
planning is required when using this mode. If the host MCU decides to sleep for very long period, it may use
M2M_PS_MANUAL or may power off WINCAT 3 completely. The advantage of this mode compared to powering off
ATWINC is that saves the time required for ATWINC firmware to boot since the firmware is M2M_PS_MANUAL
always loaded in ATWINC memory. The real pros and cons depend on the nature of the application. In some
applications, the sleep duration could be long enough to be a power-efficient decision to power off ATWINC
and power it on again and reconnect to the AP when host MCU wakes up. In other situations, a latency-
sensitive application may choose to use to avoid ATWINC firmware boot latency on the M2M_PS_MANUAL
expense of slightly increased power consumption.
During ATWINC sleep, ATWINC in mode saves more power than M2M_PS_MANUAL M2M_PS_DEEP_AUTOMATIC
mode since in the former mode ATWINC skips beacon monitoring while the latter it wakes up to receive
beacons. The comparison should also include the effect of host MCU sleep duration: If host MCU sleep period
is too long, the Wi-Fi connection may drop frequently and the power advantage of is lost due M2M_PS_MANUAL
to the power consumed in Wi-Fi reconnection. In contrast, M2M_PS_DEEP_AUTOMATIC can keep the Wi-Fi
connection for long durations at the expense of waking up ATWINC to monitor the AP beacon.
3 Refer to ATWINC datasheet in for hardware power off sequence. [R02]

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
21
7.4.1.2 M2M_PS_AUTOMATIC
This mode is deprecated and kept for backward compatibility and development reasons. It should not be used
in new implementations.
7.4.1.3 M2M_PS_H_AUTOMATIC
This mode implements the Wi-Fi standard power saving method in which ATWINC will sleep and wake up
periodically to monitor AP beacons. In contrast to , this mode does not involve the host MCU M2M_PS_MANUAL
application.
In this mode, when ATWINC enters sleep state, it only turns off the IEEE 802.11 radio, MAC, and PHY. All
system clocks and the APS3S-Cortus CPU are on.
This mode is useful for a low-latency packet transmission because ATWINC clocks are on and ready to
transmit packets immediately, unlike the M2M_PS_DEEP_AUTOMATIC which may require time to wake up the
ATWINC to transmit a packet if ATWINC was sleep mode.
M2M_PS_H_AUTOMATIC mode is very similar to except that the former power M2M_PS_DEEP_AUTOMATIC
consumption is higher than the latter the since ATWINC system clock is on.
7.4.1.4 M2M_PS_DEEP_AUTOMATIC
Like M2M_PS_HS_AUTOMATIC, this mode implements the Wi-Fi standard power saving method. However, when
ATWINC enters sleep sta system clock is turned off. te, the
Before sleep, the ATWINC programs a hardware timer (running on an internal low-power oscillator) with a
sleep period determined by the ATWINC firmware power management module.
While sleeping, the ATWINC will wake up if one of the following events happens:
Expiry of the hardware sleep timer. ATWINC wakes up to receive the upcoming beacon from AP.
ATWINC wakes up 4 when the host MCU application requests services from ATWINC by calling any host
driver API function, e.g. Wi-Fi or socket operation
7.4.2 Configuring Listen Interval and DTIM Monitoring
ATWINC allows the host MCU application to tweak the system power consumption by configuring beacon ’s
monitoring parameters. The AP sends beacons periodically every (e.g. 100ms). The beacon beacon period
contains a which informs the station about presence of unicast data for the station buffer in the TIM element
AP. The station negotiates with the AP a which is how many beacon periods the station can listen interval
sleep before it wakes up to receive data buffer in AP. The AP beacon also contains the which contains DTIM,
information to the station about the presence of broadcast/multicast data. Which the AP is ready to transmit
following this beacon after normal channel access rules (CSMA/CA).
The ATWINC driver allows the host MCU application to configure beacon monitoring parameters as follows:
Configure DTIM monitoring: I.e. enable or disable reception of broadcast/multicast data using the API:
– m2m_wifi_set_sleep_mode(desired_mode, 1) to receive broadcast data
– m2m_wifi_set_sleep_mode(desired_mode, 0) to ignore broadcast data
Configure the listen interval: using the m2m_wifi_set_lsn_int API
Listen interval value provided to the API is expressed in the m2m_wifi_set_lsn_int
unit of beacon period.
4 The wakeup sequence is handled internally in the ATWINC host driver in the API. Refer to the reference hif_chip_wake
Chapter for more information. 16

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
22
8 -Fi Station Mode Wi
This chapter provides information about ATWINC Wi-Fi station (STA) mode . Wi-Fi described in Section 7.2.2
station mode involves scan operation; association to an AP using parameters (SSID and credentials) provided
by host MCU or using AP parameters stored in ATWINC -volatile storage (default connection). This chapter non
also provides information about supported security modes along with code examples.
8.1 Scan Configuration Parameters
8.1.1 Scan Region
The number of RF channels supported varies by geographical region. For example, 14 channels are supported
in Asia while 11 channels are supported in North America. By default the ATWINC initial region configuration is
equal to 14 channels (Asia), but this can be changed by setting the scan region using the
m2m_wifi_set_scan_region API.
8.1.2 Scan Options
During Wi- scan operation, ATWINC sends probe request Wi-Fi frames and waits for some time on the Fi
current Wi-Fi channel to receive probe response frames from nearby APs before it switches to the next
channel. Increasing the scan wait time has a positive effect on the number of access pointed detected during
scan. However, it has a negative effect on the power consumption and overall scan duration. ATWINC
firmware default scan wait time is optimized to provide the tradeoff between power consumption and scan
accuracy. ATWINC firmware provides flexible configuration options to the host MCU application to increase the
scan time. For more detail, refer to the API. m2m_wifi_set_scan_options
8.2 -Fi Scan Wi
A Wi-Fi scan operation can be initiated by calling the API. The scan can be m2m_wifi_request_scan
performed on all 2.4GHz Wi-Fi channels or on a specific requested channel.
The scan response time depends on the scan options. For instance, if the host MCU application requests to
scan all channels, the scan time will be equal to NoOfChannels (14) * M2M_SCAN_MIN_NUM_SLOTS*
M2M_SCAN_MIN_SLOT_TIME efer the WINC3400_IoT_SW_APIs.chm that was supplied in the (r to
WINC3400_IoT_REL software package how to customize the scan parameters). on
The scan operation is illustrated in . Figure 8-1

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
23
Figure 8- -Fi Scan Operation 1. Wi
M2M APPLICATION M2M HOST DRIVER
m2m_wifi_request_scan( )WiFi_Channel_ID
wifi_cb(M2M_WIFI_RESP_SCAN_DONE,
tstrM2mScanDone* );
Read the number of found APs(N).
Start reading the SCAN result list.
m2m_wifi_req_scan_result(0)
wifi_cb(M2M_WIFI_RESP_SCAN_RESULT,
tstrM2mWifiscanResult* );
m2m_wifi_req_scan_result(N - 1)
Process the Scan
result (*)
8.3 On Demand Wi-Fi Connection
The host MCU application may establish a Wi-Fi connection on demand if all the required connection
parameters (SSID, security credentials, etc.) are known to the application. To start a Wi-Fi connection on
demand, the application shall call the API . m2m_wifi_connect
Using implies that the host MCU application has prior knowledge of m2m_wifi_connect
the connection parameters. For instance, connection parameters can be stored on non-
volatile storage attached to the host MCU.
The Wi-Fi on demand connection operation is described in . Figure 8-2

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
24
Figure 8- On Demand Wi-Fi Connection 2.
M2M APPLICATION M2M HOST DRIVER
m2m_wifi_connect(Sec_Type, SSID,SSID_Len,
Key,Key_Len ,Channel_ID (*) );
wifi_cb(M2M_WIFI_REQ_CON_STATE_CHANGED,
tstrM2mWifiStateChanged* );
wifi_cb(M2M_WIFI_REQ_DHCP_CONF, uint8* );
Set the IP Address.
Start M2M socket Application.
8.4 Default Connection
The host MCU application may establish a Wi-Fi connection without prior knowledge to the AP information by
calling the . m2m_wifi_default_connect API
Default connection relies on the connection profiles provisioned into ATWINC serial flash via the provisioning
method Provisioning. Alternatively, connection profiles are created and stored in described in Chapter 12:
ATWINC serial flash when the host MCU application successfully connects once to an AP using the
m2m_wifi_connect API described in Section . If there are no cached profiles or if a connection cannot be 8.3
established with any of the cached profiles, an event of type M2M_WIFI_RESP_DEFAULT_CONNECT is delivered to
the host driver indicating failure.
Upon successful default connection, the host application can read the current Wi-Fi connection status
information by calling the API. The m2m_wifi_get_connection_info m2m_wifi_get_connection_info is an
asynchronous API. The actual connection information is provided in the asynchronous event
M2M_WIFI_RESP_CONN_INFO in Wi-Fi callback. The callback parameter of type provides tstrM2MConnInfo
information about AP SSID, RSSI (AP received power level), security type, and IP address obtained by DHCP.
A connection profile is cached in the serial flash if and only if the connection is success-
fully established with the target AP.
The Wi-Fi default connection operation is described in . Figure 8-3

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
25
Figure 8- -Fi Default Connection 3. Wi
M2M APPLICATION M2M HOST DRIVER
m2m_wifi_default_connect();
wifi_cb(M2M_WIFI_REQ_CON_STATE_CHANGED,
tstrM2mWifiStateChanged* );
wifi_cb(M2M_WIFI_REQ_DHCP_CONF, uint8* );
Set the IP Address.
Start M2M socket Application.
8.5 -Fi Security Wi
The following types of security are supported in ATWINC Wi-Fi STA mode.
M2M_WIFI_SEC_OPEN
M2M_WIFI_SEC_WEP
M2M_WIFI_SEC_WPA_PSK (WPA/WPA2-Personal Security Mode i.e. Passphrase)
M2M_WIFI_SEC_802_1X (WPA-Enterprise security)
The currently supported 802.1x authentication algorithm is EAP-TTLS with MsChapv2.0
authentication.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
26
8.6 Example Code
#define M2M_802_1X_USR_NAME "user_name"
#define M2M_802_1X_PWD "password"
#define AUTH_CREDENTIALS {M2M_802_1X_USR_NAME M2M_802_1X_PWD, }
int main (void)
{
tstrWifiInitParam param;
tstr1xAuthCredentials gstrCred1x =AUTH_CREDENTIALS;
nm_bsp_init();
m2m_memset((uint8*)& ,param 0, sizeof(param));
param pfAppWifiCb. = wifi_event_cb;
/* intilize the WINC Driver
*/
ret =m2m_wifi_init(¶m);
if (M2M_SUCCESS != ret)
{
"Driver Init Failed <%d>\M2M_ERR(n", ret);
while(1);
}
/* Connect to a WPA-Enterprise AP
*/
m2m_wifi_connect( ,"DEMO_AP" sizeof("DEMO_AP" ), M2M_WIFI_SEC_802_1X,
( *)&uint8 gstrCred1x, M2M_WIFI_CH_ALL);
while(1)
{
/************************************************************************/
/* Handle the app state machine plus the WINC event handler */
/************************************************************************/
while(m2m_wifi_handle_events( )NULL != M2M_SUCCESS)
{
}
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
27
9 ATWINC Socket Programming
9.1 Overview
The ATWINC socket application programming interface (API) provides a method that allows host MCU
application to interact with intranet and remote internet hosts. The ATWINC sockets API is based on the BSD
(Berkeley) sockets. This chapter explains the ATWINC socket programming and how it differs from regular
BSD sockets.
This chapter assumes the reader to have a basic understanding of the BSD sockets,
TCP Internet protocols, UDP, and the . Follow the online references provided in link in
the name of each topic for more information.
9.1.1 ATWINC Socket Types
The ATWINC sockets API provides two types of sockets:
Datagram sockets (connection-less sockets) - which use the UDP protocol
Stream sockets TCP (connection oriented sockets) - which use the protocol
9.1.2 Socket Properties
Each ATWINC socket is identified by a unique combination of:
Socket ID: It is a unique identifier for each socket. This is the return value of the " " API. socket
Local socket address: A combination of ATWINC IP address and port number assigned by the
ATWINC firmware for the socket.
Protocol: This is the transport layer protocol, either TCP or UDP.
Note that TCP port 53 and UDP port 53 represent two different sockets.
Remote socket address: Applicable only for TCP stream sockets. This is necessary since TCP is
connection oriented. Each connection is made to a specific IP address and port number requires a
separate socket. The remote socket address can be obtained in the socket event callback as discussed
later.
9.1.3 Limitations
The ATWINC ckets API support a maximum of seven TCP sockets and 4 for UDP sockets so
The ATWINC sockets API support only IPv4. It does not support IPv6.
9.2 ATWINC Sockets API
9.2.1 API Prerequisites
The C header file ncludes all the necessary socket API function declarations. When using “ ”: Isocket.h
any ATWINC sockets API described in the following sections, the host MCU application should to include
the socket.h header file.
Initialization: The ATWINC socket API shall be initialized once before calling any sockets API function.
This is done by using the " . socketInit" API described in the Section 9.2.3

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
28
9.2.2 Non-blocking Asynchronous Socket APIs
Most ATWINC socket APIs are asynchronous function calls that do not block the host MCU application. The
behavior of ATWINC asynchronous APIs is described in Section . 6.4.1
For example, the host MCU application can register an application-defined socket event callback function using
the ATWINC socket API . When the host MCU application calls the socket API registerSocketCallback
connect SUCCES, the API returns a zero value ( S) immediately indicating that the request is accepted. The host
MCU application must then wait for the ATWINC socket API to call the registered socket callback when the
connection is established or if there was a connection timeout. The socket callback function provides the
necessary information to determine if the connection was successful or not.
9.2.3 Socket API Functions
ATWINC sockets API provide the following functions (see the subsections below).
9.2.3.1 socketInit
The host MCU application must call the API once during initialization. The API is a synchronous socketInit
API.
9.2.3.2 registerSocketCallback
The function allows the host MCU application to provide the ATWINC sockets with registerSocketCallback
application-defined event callbacks for socket operations. The API is a synchronous API. The API registers the
following callbacks:
The socket event callback
The DNS resolve callback
The socket event callback is an application-defined function that is called by the ATWINC socket API whenever
a socket event occurs. Within this handler, the host MCU application should provide an application-defined
logic that handles the events of interest.
The DNS resolve event handler is the application-defined function that is called by the ATWINC socket API to
return the results of . By implication, this will only occur after the host MCU application has gethostbyname
called the function. If successful, the callback provides the IP address for the desired domain gethostbyname
name.
9.2.3.3 socket
The function creates a new socket of a specified type and returns the corresponding socket ID. The socket
API is a synchronous API.
The socket ID is required by most other socket functions and is also passed as an argument to the socket
event callback function to identify which socket generated the event.
9.2.3.4 connect
The function is used with TCP sockets to establish a new connection to a TCP server. connect
The function will result in a connect SOCKET_MSG_CONNECT sent to the socket event handler callback upon
completion. The connect event will be sent when the TCP server accepts the connection or, if no remote host
response is received, after a timeout interval of approximately 30 seconds.
The event callback provides a contain-SOCKET_MSG_CONNECT tstrSocketConnectMsg
ing an error code. The error code is 0 if the connection was successful or a negative
value to indicate an error due to a timeout condition or if is used with UDP connect
socket.
Figure 9-1 shows the ATWINC socket API connect to remote server host.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
29
Figure 9- TCP Client API Call Sequence 1.
9.2.3.5 bind
The function can be used for server operation for both UDP and TCP sockets. Its purpose is to associate bind
a socket with an address structure (port number and IP address).
The bind function call will result a event sent to the socket callback handler with the bind SOCKET_MSG_BIND
status. Calls to functions should not be issued until the bind listen, , , send sendto recv, and recvfrom
callback is received.
9.2.3.6 listen
The function is used for server operations with TCP stream sockets. After calling the API the listen listen
socket will accept a connection request from a remote host. The function causes a listen
SOCKET_MSG_LISTEN event notification to be sent to the host after the socket port is ready to indicate listen
operation success or failure.
When a remote peer establishes a connection, a event notification is sent to the SOCKET_MSG_ACCEPT
application.
9.2.3.7 accept
The function is deprecated and calling this API has no effect. It is kept only for backward compatibility. accept
The listen API will implicitly accepts accept connections from a TCP remote peer.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
30
Figure 9- TCP Server API Call Sequence 2.
Although the function is deprecated, the event occurs whenever a remote host accept SOCKET_MSG_ACCEPT
connects to the ATWINC TCP server. The event message will contain the IP address and port number of the
connected remote host.
9.2.3.8 send
The function is used by the application to send data to a remote host. The function can be used to send send
send either UDP or TCP data depending on the type of socket. For a TCP socket a connection must be
established first. For a UDP socket, the target remote host must be specified as part of the address structure
during the function. bind
The function will generate a event callback after the data is transmitted to the remote send SOCKET_MSG_SEND
host. For TCP sockets, this event guarantees that the data has been delivered to the remote host TCP/IP stack
(the remote application must use the function to be able to read the data though). For UDP sockets it recv
means that the data has been transmitted but there are no guarantees that the data has arrived to the remote
host as per UDP protocol nature. The application is responsible to guarantee data delivery in the UDP sockets
case.
The event callback will return the size of the data transmitted if the transmission in the SOCKET_MSG_SEND
success case and zero or negative value in case of an error.
9.2.3.9 sendto
The function is used by the application to send UDP data to a remote host. It can only be used with sendto
UDP sockets. The IP address and port of the destination remote host is included as a parameter to the sendto
function.
The event callback returns the size of the data transmitted in the success case and zero SOCKET_MSG_SENDTO
or negative value in case of an error.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
31
9.2.3.10 recv / recvfrom
The a functions are used to read data from TCP and UDP sockets respectively. Their recv nd recvfrom
operation is otherwise identical.
The host MCU application calls the or function with a pre allocated buffer. When the recv recvfrom
SOCKET_MSG_RECV or event callback arrives this buffer will contain the received data. SOCKET_MSG_RECVFROM
The received data size indicates the status:
Positive: Data received.
Zero: Socket connection is terminated.
Negative value: This indicates an error.
In the case of TCP sockets, it i recommended to call the function after each successful socket s recv
connection (client or server). Otherwise, received data will be buffered in the ATWINC firmware wasting the
systems resources until the socket is explicitly closed using a function call. close
9.2.3.11 close
The function is used to release the resources allocated to the socket and, for a TCP stream socket, also close
terminate an open connection.
Each call to the function should be match with a call to the function. In addition, sockets that socket ed close
have been accepted on a server socket port should also be closed using this function.
9.2.3.12 setsockopt
The function may be used to set socket options to control the socket behavior. setsockopt
The options supported are:
SO_SET_UDP_SEND_CALLBACK send sendto: Enables or disables the / event callbacks. The user might
want to disable the event callback for UDP sockets to enhance the socket connection sendto
throughput.
IP_ADD_MEMBERSHIP: Used to subscribe to IP Multicast addresses.
IP_DROP_MEMBERSHIP: Used to unsubscribe to IP Multicast addresses.
Disabling send/sendto callbacks using is recommended in high through-setsockopts
put applications.
9.2.3.13 gethostbyname
The function is used to resolve a host name (e.g. URL) to a host IP address via the Domain gethostbyname
Name System ( ). This is limited for IPv4 addresses only. Operation depends on having configured a DNS DNS
server IP address and having access to the DNS hierarchy through the internet.
After has been called, a callback to the DNS resolver handler will be made. If the IP address gethostbyname
has been determined it will be returned. If it cannot be determined or if the DNS server is not accessible (30
second timeout) an IP address value of zero will be indicated.
A return IP value of zero indicates an error (e.g. the internet connection is down or DNS
is unavailable) and the host MCU application may try the function call gethostbyname
again later.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
32
9.2.4 Summary
Table 9-1 summarizes the ATWINC socket API and shows its compatibility with BSD socket APIs:
Table 9- ATWINC Socket API Summary 1.
BSD API
ATWINC API
ATWINC API
Type
Server/
Client
TCP/UDP
Brief
socket
socket
Synchronous
Both
both
Creates a new socket
connect
connect
Asynchronous
Client
TCP
Initialize a TCP connection request to a re-
mote server
bind
bind
Asynchronous
Server
both
Binds a socket to an address (address/port)
listen
listen
Asynchronous
Server
TCP
Allow a bound socket to listen to remote con-
nections for its local port
accept
accept
Depreciated, Implicit accept in listen
send
send
Asynchronous
Both
Both
Sends packet
sendto
sendto
Asynchronous
Both
UDP
Sends packet over UDP sockets
write
Not supported
recv
recv
Asynchronous
Both
Both
Receive packet
recvfrom
recvfrom
Asynchronous
Both
Both
Receive packet
read
Not supported
close
close
Synchronous
Both
Both
Terminate TCP connection and release sys-
tem resources
gethostbyname
gethostbyname
Asynchronous
Both
Both
Get IP address of certain host name
gethostbyaddr
Not supported
select
Not supported
poll
Not supported
setsockopt
setsockopt
Synchronous
Both
Both
Sets socket opti on
getsockopt
Not supported
htons/ntohs
_htons/_ntohs
Synchronous
Both
Both
Convert a 2-byte integer from the host repre-
sentation to the Network byte order represen-
tation (and vice versa)
htonl/ntohl
_htonl/_ntohl
Synchronous
Both
Both
Convert a 4-byte integer from the host repre-
sentation to the Network byte order represen-
tation (and vice versa)

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
33
9.3 Socket Connection Flow
In the following sub-sections the TCP and UDP (client and server) operations are described in detail.
Figure 9- Typical Socket Connection Flow 3.
socketInit
registerSocketCallback
bind
Socket
Accept event
callback
connect
listen
Bind event
callback
Listen event
callback
socketInit
registerSocketCallback
Socket
recv
send
Send event
callback
Recv event
callback
send
recv
close
recv
Recv event
callback
close
Server Operations
Data Exchange
End Connection
Client Operations

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
34
9.3.1 TCP Client Operation
Figure 9-4 shows the message flow for transferring data with a TCP client.
Figure 9- TCP C ent Sequence Diagram 4. li
APPLICATION
connect(clientSocketHdl)
SOCKET_MSG_CONNECT SOCKET_CMD_CONNECT
HOST
DRIVER WINC
SOCKET_CMD_CONNECT
socket(SOCK_STREAM)
clientSocketHdl
Data Exchange (send/recv)
close(clientSocketHdl)
SOCKET_CMD_CLOSE
TCP(SYN,ACK)
TCP(SYN)
send(clientSocketHdl, data) SOCKET_CMD_SEND
recv(clientSocketHdl)
SOCKET_CMD_RECV
SOCKET_CMD_RECV
TCP Packet
TCP Packet
SOCKET_MSG_RECV
TCP(FIN)
Notes: 1. The host application must register a socket notification callback function. The function must be of
type and must handle socket event notifications appropriately. tpfAppSocketCb
2. If the client knows the IP of the server, it may call directly as shown in . If only connect Figure 9-4
the server URL is known, then the application should resolve the server URL first calling the
gethostbyname API.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
35
9.3.2 TCP Server Operation
Figure 9- TCP Server Sequence Diagram 5.
APPLICATION
bind(listenSocketHdl,port)
SOCKET_MSG_BIND
SOCKET_CMD_BIND
HOST
DRIVER WINC
SOCKET_CMD_BIND
socket(SOCK_STREAM)
listenSocketHdl
Data Exchange (send/recv)
close(acceptedSocketHdl) SOCKET_CMD_CLOSE
TCP(SYN)
send(acceptedSocketHdl, data) SOCKET_CMD_SEND
recv(acceptedSocketHdl) SOCKET_CMD_RECV
SOCKET_CMD_RECV
TCP Packet
TCP Packet
SOCKET_MSG_RECV
TCP(FIN)
listen(listenSocketHdl)
SOCKET_CMD_LISTEN
SOCKET_CMD_LISTEN
SOCKET_MSG_LISTEN
TCP(SYN,ACK)
SOCKET_CMD_ACCEPT
SOCKET_MSG_ACCEPT
Get the accepted
socket handle
è
è
è
èè
acceptedSocketHdl
close(listenSocketHdl) SOCKET_CMD_CLOSE
Note: The host application must register a socket notification callback function. The function must be of type:
tpfAppSocketCb and must handle socket event notifications appropriately.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
36
9.3.3 UDP Client Operation
Figure 9-6 shows the message ow for transferring data with a UDP client.
Figure 9- UDP Client Sequence Diagram 6.
APPLICATION HOST
DRIVER WINC
socket(SOCK_DGRAM)
clientSocketHdl
Data Exchange (send/recv)
close(clientSocketHdl)
SOCKET_CMD_CLOSE
sendto(clientSocketHdl,data,addr) SOCKET_CMD_SENDTO
recvfrom(clientSocketHdl) SOCKET_CMD_RECVFROM
SOCKET_CMD_RECVFROM UDP Packet
SOCKET_MSG_RECVFROM
UDP Packet
Notes: 1. The rst send message must be performed with the API with the destination address sendto
specied.
2. If further messages are to be sent to the same address, the API can be used. send
3. can be used instead of . recv recvfrom

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
37
9.3.4 UDP Server Operation
Figure 9-7 shows the message ow for transferring data after establishing a UDP server.
Figure 9- UDP Server Sequence Diagram 7.
APPLICATION HOST
DRIVER WINC
socket(SOCK_DGRAM)
serverSocketHdl
Data Exchange (send/recv)
close(serverSocketHdl)
SOCKET_CMD_CLOSE
sendto(serverSocketHdl, data) SOCKET_CMD_SENDTO
recvfrom(serverSocketHdl) SOCKET_CMD_RECVFROM
UDP Packet
SOCKET_MSG_RECVFROM
UDP Packet
bind(serverSocketHdl,port)
SOCKET_MSG_BIND
SOCKET_CMD_BIND
SOCKET_CMD_BIND
SOCKET_CMD_RECVFROM

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
38
9.3.5 DNS Host Name Resolution
Figure 9-8 shows the message ow for resolving a URL to and IP address.
Figure 9- DNS Resolution Sequence 8.
APPLICATION HOST
DRIVER WINC
gethostbyname(hostName)
dnsResolveCB(hostName, hostIP)
SOCKET_CMD_DNS_RESOLVE
DNS Query
DNS_Resolver
formats a DNS
Query with the
given hostName
DNS Answer
SOCKET_CMD_DNS_RESOLVE
DNS_Resolver
Extracts the
hostIP for
hostName from
the DNS Answer
registerSocketCallback(dnsResolveCB)
Notes: 1. The host application requests to resolve hostname (e.g. www.foobar.com), by calling the function
gethostbyname.
2. Before calling the gethostbyname, the application must register a DNS response callback function
using the function . registerSocketCallback
3. After the ATWINC DNS_Resolver module obtains the IP a ress (hostIP) corresponding to the dd
given HostName, the will be called with the hostIP. dnsResolveCB
4. If an error occurs or if the DNS request encounters a timeout, the is called with IdnsResolveCB P
address value zero indicating a failure to resolve the domain name.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
39
9.4 Example Code
This section provides code samples for dierent socket applications. For additional socket code example, refer
to WINC3400 Software Programming Guide. [R03] AT
9.4.1 TCP Client Example Code
SOCKET clientSocketHdl;
uint8 rxBuffer[256];
/* Socket event handler.
*/
void tcpClientSocketEventHandler(SOCKET sock u8Msg pvMsg, uint8 , * void )
{
if(sock clientSocketHdl == )
{
if(u8Msg == SOCKET_MSG_CONNECT)
{
// Connect Event Handler.
tstrSocketConnectMsg *pstrConnect = (tstrSocketConnectMsg*)pvMsg;
if(pstrConnect s8Error-> == 0)
{
// Perform data exchange.
uint8acSendBuffer[256];
uint16 u16MsgSize;
// Fill in the acSendBuffer with some data here
// send data
send(clientSocketHdl acSendBuffer u16MsgSize, , , 0);
// Recv response from server.
recv(clientSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
}
else
{
"TCP Connection Failed\printf(n");
}
}
else if(u8Msg == SOCKET_MSG_RECV)
{
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
if((pstrRecvMsg pu8Buffer-> != NULL) && (pstrRecvMsg s16BufferSize-> > 0))
{
// Process the received message.
// Close the socket.
close(clientSocketHdl);
}
}
}
}
// This is the DNS callback. The response of gethostbyname is here.
void dnsResolveCallback( *uint8 pu8HostName u32ServerIP, uint32 )
{
struct sockaddr_in strAddr;
if(u32ServerIP != 0)
{
clientSocketHdl =socket( ,AF_INET SOCK_STREAM,u8Flags);
if(clientSocketHdl >= 0)
{
strAddr.sin_family =AF_INET;
strAddr.sin_port =_htons(443);
strAddr. .sin_addr s_addr u32ServerIP = ;
connect(clientSocketHdl, ( struct sockaddr strAddr sizeof struct sockaddr_in *)& , ( ));
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
40
else
{
"DNS Resolution Failed\printf(n");
}
}
/* This function needs to be called from main function. For the callbacks to be invoked correctly, the API
m2m_wifi_handle_events should be called continuously from main. */
void tcpConnect( *char pcServerURL)
{
// Initialize the socket layer.
socketInit();
// Register socket application callbacks.
registerSocketCallback tcpClientSocketEventHandler dnsResolveCallback( , );
// Resolve Server URL.
gethostbyname((uint8*)pcServerURL);
}
9.4.2 TCP Server Example Code
SOCKET listenSocketHdl, acceptedSocketHdl;
uint8 rxBuffer[256];
uint8 bIsfinished = 0;
/* Socket event handler.
*/
void tcpServerSocketEventHandler(SOCKET sock u8Msg pvMsg, uint8 , * void )
{
if(u8Msg == SOCKET_MSG_BIND)
{
tstrSocketBindMsg *pstrBind = (tstrSocketBindMsg*)pvMsg;
if(pstrBind status-> == 0)
{
listen(listenSocketHdl, 0);
}
else
{
"Bind Failed\printf(n");
}
}
else if(u8Msg == SOCKET_MSG_LISTEN)
{
tstrSocketListenMsg *pstrListen = (tstrSocketListenMsg*)pvMsg;
if(pstrListen status-> != 0)
{
"listen Failed\printf(n");
}
}
else if(u8Msg == SOCKET_MSG_ACCEPT)
{
// New Socket is accepted.
tstrSocketAcceptMsg *pstrAccept = (tstrSocketAcceptMsg *)pvMsg;
if(pstrAccept sock-> >= 0)
{
// Get the accepted socket.
acceptedSocketHdl pstrAccept sock = -> ;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
41
recv(acceptedSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
}
else
{
"Accept Failed\printf(n");
}
}
else if(u8Msg == SOCKET_MSG_RECV)
{
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
if((pstrRecvMsg pu8Buffer pstrRecvMsg s16BufferSize-> != NULL) && ( -> > 0))
{
// Process the received message
// Perform data exchange
uint8 acSendBuffer[256];
uint16 u16MsgSize;
// Fill in the acSendBuffer with some data here
// Send some data.
send(acceptedSocketHdl, acSendBuffer u16MsgSize, , 0);
// Recv response from client.
recv(acceptedSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
// Close the socket when finished.
if(bIsfinished)
{
close(acceptedSocketHdl);
close(listenSocketHdl);
}
}
}
}
/* This function needs to be called from main function. For the callbacks to be invoked correctly, the API
m2m_wifi_handle_events should be called continuously from main. */
void tcpStartServer(uint16 u16ServerPort)
{
struct sockaddr_in strAddr;
// Initialize the socket layer.
socketInit();
// Register socket application callbacks.
registerSocketCallback tcpServerSocketEventHandler NULL( , );
// Create the server listen socket.
listenSocketHdl =socket(AF_INET SOCK_STREAM, , 0);
if(listenSocketHdl >= 0)
{
strAddr.sin_family =AF_INET;
strAddr.sin_port u16ServerPort =_htons( );
strAddr.sin_addr s_addr 0. = ; //INADDR_ANY

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
42
bind(listenSocketHdl, ( struct sockaddr strAddr sizeof struct sockaddr_in *)& , ( ));
}
}
9.4.3 UDP Client Example Code
SOCKET clientSocketHdl;
uint8 rxBuffer[256], [256]; acSendBuffer
/* Socket event handler */
void udpClientSocketEventHandler(SOCKET sock u8Msg pvMsg, uint8 , * void )
{
if((u8Msg == SOCKET_MSG_RECV) || (u8Msg == SOCKET_MSG_RECVFROM))
{
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
if((pstrRecvMsg pu8Buffer pstrRecvMsg s16BufferSize-> != NULL) && ( -> > 0))
{
uint16 len;
// Format a message in the acSendBuffer and put its length in len
sendto(clientSocketHdl acSendBuffer len, 0, , ,
( *)&struct sockaddr strAddr sizeof struct sockaddr_in, ( ));
recvfrom(clientSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
// Close the socket after finished
close(clientSocketHdl);
}
}
}
/* This function needs to be called from main function. For the callbacks to be invoked correctly, the API
m2m_wifi_handle_events should be called continuously from main.
*/
void udpClientStart(char * ) pcServerIP
{
struct sockaddr_in strAddr ;
// Initialize the socket layer.
socketInit();
// Register socket application callbacks.
registerSocketCallback udpClientSocketEventHandler NULL( , );
clientSocketHdl =socket(AF_INET SOCK_STREAM, ,u8Flags);
if(clientSocketHdl >= 0)
{
uint16 len;
strAddr.sin_family =AF_INET;
strAddr.sin_port =_htons(1234);
strAddr.sin_addr s_addr. =nmi_inet_addr(pcServerIP);
// Format some message in the acSendBuffer and put its length in len
sendto(clientSocketHdl acSendBuffer len, 0, , , (struct sockaddr strAddr*)& ,
sizeof struct sockaddr_in( ));
recvfrom(clientSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
43
9.4.4 UDP Server Example Code
SOCKET serverSocketHdl;
uint8 rxBuffer[256];
/* Socket event handler.
*/
void udpServerSocketEventHandler(SOCKET sock u8Msg pvMsg, uint8 , * void )
{
if(u8Msg == SOCKET_MSG_BIND)
{
tstrSocketBindMsg *pstrBind = (tstrSocketBindMsg*)pvMsg;
if(pstrBind status-> == 0)
{
// call Recv
recvfrom(serverSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
}
else
{
"Bind Failed\printf(n");
}
}
else if(u8Msg == SOCKET_MSG_RECV)
{
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
if((pstrRecvMsg pu8Buffer pstrRecvMsg s16BufferSize-> != NULL) && ( -> > 0))
{
// Perform data exchange.
uint8 acSendBuffer[256];
uint16 u16MsgSize;
// Fill in the acSendBuffer with some data
// Send some data to the same address.
sendto(acceptedSocketHdl acSendBuffer u16MsgSize, , , 0,
pstrRecvMsg-> strRemoteAddr, (pstrRecvMsg-> strRemoteAddr) sizeof );
// call Recv
recvfrom(serverSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
// Close the socket when finished.
close(serverSocketHdl);
}
}
}
/* This function needs to be called from main function. For the callbacks to be invoked correctly, the API
m2m_wifi_handle_events should be called continuously from main.
*/
void udpStartServer(uint16 u16ServerPort)
{
struct sockaddr_in strAddr;
// Initialize the socket layer.
socketInit();
// Register socket application callbacks.
registerSocketCallback udpServerSocketEventHandler NULL( , );

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
44
// Create the server listen socket.
listenSocketHdl =socket(AF_INET SOCK_DGRAM, , 0);
if(listenSocketHdl >= 0)
{
strAddr.sin_family =AF_INET;
strAddr.sin_port u16ServerPort =_htons( );
strAddr.sin_addr s_addr 0. = ; //INADDR_ANY
bind(serverSocketHdl, ( struct sockaddr strAddr sizeof struct sockaddr_in *)& , ( ));
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
45
10 Transport Layer Security (TLS)
T ransport Layer Security layer sits on top of TCP and provides security services including privacy, he T
authenticity, and message integrity. Various security methods are available with TLS in ATWINC rmware.
ATWINC implements the Transport Layer Security protocol TLS v1.0, client mode.
10.1 TLS Connection Establishment
From the application’s point of view, the TLS functionality is wrapped behind the socket APIs. This hides the
complexity of TLS from the application which could use the TLS in the same fashion as the TCP client. The
main dierence between TLS sockets and regular TCP sockets is that the application sets the
SOCKET_FLAGS_SSL while creating the TLS client socket. The detailed sequence of TLS connection
establishment is described in . Figure 10-1
Do not miss both the ag and the correct port number in your TLS SOCKET_FLAGS_SSL
application. For instance an HTTP client application shall use no ags when calling
socket API function and connect to port 80. The same application source code be-
comes an HTTPS client application if you use the ag and change SOCKET_FLAGS_SSL
the port number to to port 433. connect
Figure 10- TLS Connection Establishment 1.
APPLICATION
Create SSL Session
connect(sslSocketHdl)
SOCKET_MSG_CONNECT SOCKET_CMD_SSL_CONNECT
HOST
DRIVER WINC
SOCKET_CMD_SSL_CONNECT
TLS Handshake
socket(SOCK_FLAGS_SSL)
sslSocketHdl
Data Exchange (send/recv)
close(sslSocketHdl) SOCKET_CMD_SSL_CLOSE

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
46
10.2 Server Certicate Installation
10.2.1 Technical Background
10.2.1.1 Public Key Infrastructure
The TLS security is based on the , in which: Public Key Infrastructure PKI
A server has its public key stored in a digital certicate with X.509 standard format
Certicate AuthorityThe server must have its X.509 certicate issued by CA which is in turn might be
certied by another CA
This structure forms a chain of X.509 certicates known as chain of trust
The top most CA of the Chain is known to be the of the chain Trusted Root Certificate Authority
10.2.1.2 TLS Server Authentication
When a TLS client initiates a connection with a server, the server sends its X.509 certificate chain (may
or may not include the root certicate) to the client
The client must authenticate the Server (verify the Server identity) before starting data exchange
The client must verify the entire certicate chain and also verify that the root certicate authority of the
chain is in the client’s trusted root certificate store
10.2.2 Adding a Certicate to the WINC Trusted Root Certicate Store AT
Before connecting to a TLS Server, the root certificate of the server must be installed on the
AT ATWINC3400. If this is not done, the TLS Connection to the server is aborted locally by WINC.
The root certicate must be in format. If it is not provided in format, it must be converted before DER DER
installation. See for certicate formats and conversion methods. Appendix A
To install the certicate, execute with the following syntax: root_certicate_downloader.exe
Refer to Appendix C for more information on how to download X509 certificates on WINC serial ash. AT
10.3 WINC TLS Limitations AT
10.3.1 Modes of Operation
The current TLS implementation supports TLSv1.0 Client operation only. TLS Server is not supported.
10.3.2 Concurrent Connections
Only two TLS concurrent connections are allowed.
10.3.3 Supported Cipher Suites
The current implementation is limited to the following cipher suites:
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
10.3.4 Supported Hash Algorithms
The current implementation supports MD5, SHA-1, and SHA256 hash algorithms.
root_certificate_downloader.exe -n N File1.cer File2.cer .. FileN.cer

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
47
10.4 SSL Client Code Example
SOCKET sslSocketHdl;
uint8 rxBuffer[256];
/* Socket event handler.
*/
void SSL_SocketEventHandler( ,SOCKET sock uint8 u8Msg,void *pvMsg)
{
if(sock == sslSocketHdl)
{
if(u8Msg == SOCKET_MSG_CONNECT)
{
// Connect event
tstrSocketConnectMsg *pstrConnect = ( tstrSocketConnectMsg*)pvMsg;
if(pstrConnect s8Error-> == 0)
{
// Perform data exchange.
uint8 acSendBuffer[256];
uint16 u16MsgSize;
// Fill in the acSendBuffer with some data here
// Send some data.
send( ,sock acSendBuffer, u16MsgSize, 0);
// Recv response from server.
recv(sslSocketHdl rxBuffer rxBuffer, , ( sizeof ), 0);
}
else
{
"SSL Connection Failed\printf(n");
}
}
else if(u8Msg == SOCKET_MSG_RECV)
{
tstrSocketRecvMsg *pstrRecvMsg = (tstrSocketRecvMsg*)pvMsg;
if((pstrRecvMsg pu8Buffer-> != NULL) ( && pstrRecvMsg-> > 0)) s16BufferSize
{
// Process the received message here
// Close the socket if finished.
close(sslSocketHdl);
}
}
}
}
/* This is the DNS callback. The response of gethostbyname is here.
*/
void dnsResolveCallback( *uint8 pu8HostName u32ServerIP, uint32 )
{
struct sockaddr_in rAddr st ;
if(u32ServerIP != 0)
{
sslSocketHdl =socket(AF_INET SOCK_STREAM, ,u8Flags);
if(sslSocketHdl >= 0)

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
48
{
strAddr.sin_family =AF_INET;
strAddr. = (443); sin_port _htons
strAddr. .sin_addr s_addr u32ServerIP = ;
connect(sslSocketHdl, ( struct sockaddr strAddr *)& , ( sizeof struct sockaddr_in));
}
}
else
{
"DNS Resolution Failed\printf(n");
}
}
/* This function needs to be called from main function. For the callbacks to be invoked correctly, the API
m2m_wifi_handle_events should be called continuously from main.
*/
void SSL_Connect( *char pcServerURL)
{
// Initialize the socket layer.
socketInit();
// Register socket application callbacks.
registerSocketCallback SSL_SocketEventHandler dnsResolveCallback( , );
// Resolve Server URL.
gethostbyname((uint8*)pcServerURL);
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
49
11 -Fi AP Mode Wi
11.1 Overview
This chapter provides an overview of WINC Access Point (AP) mode and describes how to set up this mode AT
and congure its parameters.
11.2 Setting WINC AP Mode AT
ATWINC AP mode conguration parameters should be set rst by using structure. the tstrM2MAPConfig
There are two functions to enable/disable AP mode:
sint8 m2m_wifi_enable_ap(CONST ) tstrM2MAPConfig* pstrM2MAPConfig
sint8 voidm2m_wifi_disable_ap( );
For more information about structure an d APIs, refer to the API reference in the
WINC3400_IoT_SW_APIs.chm that was supplied in the WINC3400_IoT_REL software package.
11.3 Limitations
AP mode supports OPEN and WEP security only
The AP can only support a single associated station. Further connection attempts will be rejected.
Concurrency (simultaneous STA/P2P and AP mode) is not supported. Before activating the AP mode,
host MCU application should disable the mode currently running.
11.4 Sequence Diagram
Once AP mode has been established, no data interface exists until after a station associates to the AP. the
Therefore the application needs to wait until it receives a notication via an event callback. This process is
shown in . Figure 11-1
Figure 11- WINC AP Mode Establishment 1. AT

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
50
11.5 AP Mode Code Example
The following example shows how to configure ATWINC AP Mode with “ ” as broadcasted SSID on WINC_SSID
channel one with open security and an IP address equals 192.168.1.1.
#include "m2m_wifi.h"
#include "m2m_types.h"
void wifi_event_cb(uint8 u8WiFiEvent,void * ) pvMsg
{
switch(u8WiFiEvent)
{
case M2M_WIFI_REQ_DHCP_CONF:
{
uint8 *pu8IPAddress = (uint8*)pvMsg;
"Associated STA has IP Address \"%u.%u.%u.%u\"\ printf(n",pu8IPAddress[0],
pu8IPAddress[1], pu8IPAddress pu8IPAddress[2], [3]);
}
break;
default:
break;
}
}
int main()
{
tstrWifiInitParam param;
/* Platform specific initializations. */
param pfAppWifiCb. =wifi_event_cb;
if (!m2m_wifi_init(¶m))
{
tstrM2MAPConfig apConfig;
strcpy(apConfig au8SSID. , "WINC_SSID"); // Set SSID
apConfig u8SsidHide. =SSID_MODE_VISIBLE; // Set SSID to be broadcasted
apConfig u8ListenChannel. = 1; // Set Channel
apConfig u8SecType. =M2M_WIFI_SEC_WEP; // Set Security to WEP
apConfig u8KeyIndx. = 0; // Set WEP Key Index
apConfig u8KeySz. =WEP_40_KEY_STRING_SIZE; // Set WEP Key Size
strcpy(apConfig au8WepKey. , "1234567890"); // Set WEP Key
// IP Address
apConfig au8DHCPServerIP. [0] = 192;
apConfig au8DHCPServerIP. [1] = 168;
apConfig au8DHCPServerIP. [2] = 1;
apConfig au8DHCPServerIP. [3] = 1;
// Start AP mode
m2m_wifi_enable_ap(&apConfig);
while(1)
{
m2m_wifi_handle_events(NULL);
}
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
51
12 Provisioning
For normal operation the WINC device needs certain parameters to be loaded. In particular, when operating AT
in station mode, it needs to know the identity (SSID) and credentials of the access point to which it will connect.
The entry of this information is facilitated through the following provisioning steps.
The WINC software supports three methods of provisioning: AT 3400
BLE based in which a SmartPhone detects the WINC and uses an APP to transfer the information AT
from the user to the WINC3400 AT
HTTP-based (browser) provisioning while WINC is in AP mode AT
Wi-Fi Protected Setup (WPS)
12.1 BLE Provisioning
This mode of provisioning is a major feature of the WINC3400 and is likely to be the method of choice. It has AT
the advantage that it is simple and intuitive for the user and does not disrupt normal SmartPhone operation
during the process.
In this method the host MCU instructs the WINC3400 to enable the BLE provisioning mode using API AT
m2m_wifi_start_ble_provision_mode. This causes the BLE to be activated and to start issuing BLE
beacons. The beacons will be detected by a suitable SmartPhone, which will inform the user that the device is
available for provisioning and provide information about the APP required to complete the process. When the
user obtains/runs the APP it will request the provisioning information and transfer to the WINC3400. The AT
ATWINC3400 will store the information and then connect to the specified AP, thus making itself ready for use.
The user needs to load the Atmel_IoT APP on either iOS or Andorid Smartphone. Upon launching the APP will
search for WINC3400 based products that are available for provisioning. A list of products will be displayed AT
using their user-friendly names:
When the user selects a product and clicks the ‘>’ symbol, the Access Points visible to the IoT device will be
shown on the screen:

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
52
The user may then select the Access Point to which he wants to connect the IoT device and enter the
Passphrase at the top of the screen. After the information is entered, the provisioning information is passed to
the device using BLE and then passed on to the Wi-Fi component of the ATWINC3400. The Wi-Fi component
passes the credentials to the host using the callback M2M_WIFI_RESP_PROVISION_INFO and placing the
information in the structure tstrM2MProvisionInfo.
Figure 12- BLE Provisioning Sequence Diagram 1.
APPLICATION
BLE hardware activated
Beaconing
Beacons detected by User device and
presented to user
User selects device and
observes list of Aps
seen by device
User selects AP and
enter PassPhrase
Credentials passed to
BLE in WINC3400
Credentials passed to
Wi-Fi in WINC3400
Credentials passed to Wi-
Fi in WINC3400
Turn off BLE module
m2m_wifi_start_ble_provision_mode
M2M_WIFI_RESP_PROVISION_INFO
M2M_WIFI_REQ_START_BLE_PROVISION_MODE
Run Atmel_IoT
App
BLE
M2M_WIFI_RESP_PROVISION_INFO
HOST
DRIVER WINC USER DEVICE
Wi-Fi Connection
Procedure
Figure 12-1 shows the provisioning operation for an WINC device. The detailed steps are described in the AT
code example below.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
53
12.1.1 BLE Provisioning Code Example
void wifi_event_cb(uint8 u8WiFiEvent,void * ) pvMsg
{
if(u8WiFiEvent == M2M_WIFI_RESP_PROVISION_INFO)
{
tstrM2MProvisionInfo *provInfo = (tstrM2MProvisionInfo*)pvMsg;
if(provInfo u8Status-> == M2M_SUCCESS)
{
// connect to the provisioned AP.
m2m_wifi_connect((char*)provInfo au8SSID-> , strlen(provInfo au8SSID -> ),
p ->rovInfo u8SecType rovInfo au8Password, p -> , M2M_WIFI_CH_ALL);
"PROV SSID : %s\printf(n", p ->rovInfo au8SSID);
"PROV PSK : %s\printf(n", p ->rovInfo au8Password);
}
else
{
"(ERR) Provisioning Failed\n"printf( );
}
}
}
int main()
{
tstrWifiInitParam param;
// Platform specific initializations.
// Driver initialization.
param pfAppWifiCb. =wifi_event_cb;
if(!m2m_wifi_init(¶m))
{
m2m_wifi_start_ble_provision_mode();
while(1)
{
m2m_wifi_handle_events(NULL);
}
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
54
12.2 HTTP Provisioning
12.2.1 Introduction
In this method, the WINC is placed in AP mode and another device with a browser capability (mobile phone, AT
tablet, PC, etc.) is instructed to connect to the WINC HTTP server. Once connected, the desired AT
conguration can be entered.
12.2.2 Limitations
The current implementation of the HTTP Provisioning has the following limitations:
ATWINC AP limitations apply in provisioning mode. See Section 11.3: Limitations for a list of AP mode
limitations.
Provisioning uses AP mode with open security. No Wi-Fi security nor application level security (e.g. TLS)
is used and therefore the AP credentials entered by the user are sent on the clear and can be seen by
eavesdroppers.
The WINC Provisioning home page is a static HTML page. No server-side scripting allowed in the AT
ATWINC HTTP server.
Only APs with WPA-personal security (passphrase based) and no security (Open network) can be
provisioned. WEP and WPA-Enterprise APs cannot be provisioned.
The Provisioning is responsible to deliver the connection parameters to the application, the connection
procedure and the connection parameters validity its application responsibility
12.2.3 Basic Approach
The HTTP provisioning home page is as shown in . Figure 12-2
Figure 12- WINC HTTP Provisioning Page 2. AT

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
55
12.2.4 Provisioning Control Flow
Figure 12- HTTP Provisioning Sequence Diagram 3.
APPLICATION
AP On, sending Beacons
HTTP Server is UP
Wi-Fi Connection Establishment and DHCP
1- The user launches
the web browser and
opens the WINC home
page (e.g. ://“http
wincconf. )com”
2- The user presses
“REFRESH”, touches an
AP from the SCAN
results table and then
types its password.
Turn off AP and
Destroy the HTTP
Server
m2m_wifi_start_provision_mode
M2M_WIFI_RESP_PROVISION_INFO
M2M_WIFI_REQ_START_PROVISION_MODE
Select WINC AP from
Wi-Fi Scan List
HTTP Traffic
M2M_WIFI_RESP_PROVISION_INFO
HOST
DRIVER WINC USER DEVICE
Wi-Fi Connection
Procedure
Figure 12-3 shows the provisioning operation for an WINC device. The detailed steps are described as AT
follows:
1. The WINC device starts the HTTP Provisioning mode. AT
2. A user with a smart phone nds the WINC AP SSID in the Wi-Fi search list. AT
3. The user connects to the WINC AP. AT
4. The user launches the web browser and writes the WINC home page in the address bar. AT
5. If the HTTP redirect is enabled at the WINC, any web address the WINC home page will load AT AT
automatically (like connecting to a public Wi- hotspot). Some phones will display a notication Fi
message “sign in to Wi Fi networks?” which, when accepted, will load the - ATWINC home pages load
automatically. The WINC home page (shown in ) will appear on the browser. AT Figure 12-2
6. To discover the list of Wi- Fi APs in the area, the user can press “Refresh”.
7. The desired AP is then selected from the search list (by one click or one touch) and its name will appear
automatically in the “Network Name” text box.
8. Then the user must enter the correct AP passphrase (for WPA/WPA2 personal security) in the “Pass
Phrase” text box. If the AP is not secured (Open network) the field should be left empty.
9. An ATWINC device name may be optionally configured if desired by the user in the “Device Name” text
box.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
56
10. The user presses “Connect”.
The WINC will then turn o AP mode and start connecting to the provisioned AP. AT
12.2.5 HTTP Redirect Feature
The WINC HTTP provisioning server supports the HTTP redirect feature, which forces all HTTP trac AT
originating from the associated user device to be redirected to the WINC provisioning home page. AT
This simplies the mechanism of loading the provisioning page instead of typing the exact web address of the
http provisioning server.
To enable this feature, the redirect ag should be set when calling the API
m2m_wifi_start_provision_mode. See the below code example for details.
12.2.6 HTTP Provisioning Code Example
void wifi_event_cb(uint8 u8WiFiEvent,void * ) pvMsg
{
if(u8WiFiEvent == M2M_WIFI_RESP_PROVISION_INFO)
{
tstrM2MProvisionInfo *provInfo = (tstrM2MProvisionInfo*)pvMsg;
if(provInfo u8Status-> == M2M_SUCCESS)
{
// connect to the provisioned AP.
m2m_wifi_connect((char*)provInfo au8SSID-> , strlen(provInfo au8SSID -> ),
p ->rovInfo u8SecType rovInfo Password, p ->au8 , M2M_WIFI_CH_ALL);
"PROV SSID : %s\printf(n", p ->rovInfo au8SSID);
"PROV PSK : %s\printf(n", p ->rovInfo au8Password);
}
else
{
"(ERR) Provisioning Failed\printf(n");
}
}
}
int main()
{
tstrWifiInitParam param;
// Platform specific initializations.
// Driver initialization.
param pfAppWifiCb. =wifi_event_cb;
if(!m2m_wifi_init(¶m))
{
tstrM2MAPConfig apConfig;
uint8 bEnableRedirect = 1;
strcpy(apConfig au8SSID. , "WINC_AP");
apConfig u8ListenChannel . = 1;
apConfig u8SecType. =M2M_WIFI_SEC_OPEN;
apConfig u8SsidHide. = 0;
// IP Address
apConfig au8DHCPServerIP. [0] = 192;
apConfig au8DHCPServerIP. [1] = 168;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
57
apConfig au8DHCPServerIP. [2] = 1;
apConfig au8DHCPServerIP. [0] = 1;
m2m_wifi_start_provision_mode(&apConfig, "atmelconfig.com" ,bEnableRedirect);
while(1)
{
m2m_wifi_handle_events(NULL);
}
}
}
12.3 -Fi Protected Setup (WPS) Wi
Most modern Access Points support the Wi-Fi Protected Setup method, typically using the push button
method. From the user’s perspective WPS is a simple mechanism to make a device connect securely to an AP
without remembering passwords or passphrases. WPS uses asymmetric cryptography to form a temporary
secure link which is then used to transfer a passphrase (and other information) from the AP to the new station.
After the transfer, secure connections are made as for normal static PSK configuration.
12.3.1 WPS Conguration Methods
There are two authentication methods that can be used with WPS:
1. PBC (Push button) method
A physical button is pressed on the AP, which puts the AP into WPS mode for a limited period of time.
WPS is initiated on the WINC3400 by calling with input parameter . AT m2m_wifi_wps WPS_PBC_TRIGGER
2. PIN method
The AP is always available for WPS initiation but requires proof that the user has knowledge of an 8-digit
PIN, usually printed on the body of the AP. Because ATWINC is often used in “headless” devices (no
user interface) it is necessary to reverse this process and force the AP to use a PIN number provided
with the WINC device. Some APs allow the PIN to be changed through conguration. WPS is initiated AT
on the WINC3400 by calling with input parameter . Given the AT m2m_wifi_wps WPS_PIN_TRIGGER
diculty of this approach it is not recommend for most applications.
The ow of messages and actions for WPS operation is shown in . Figure 12-4
12.3.2 WPS Limitations
WPS is used to transfer the WPA/WPA2 key only; other security types are not supported
The WPS standard will reject the session (WPS response fail) if the WPS button pressed on more than
one AP in the same proximity, and the application should try after couple of minutes
If no WPS button pressed on the AP, the WPS scan will timeout after two minutes since the initial WPS
trigger
The WPS is responsible to deliver the connection parameters to the application, the connection
procedure and the connection parameters validity is the application responsibility

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
58
12.3.3 WPS Control Flow
Figure 12- WPS Operation for Push Button Trigger 4.
APPLICATION
Start WPS Scan
WPS Session Ends
and AP credentials
are obtained
m2m_wifi_wps
M2M_WIFI_REQ_WPS
M2M_WIFI_REQ_WPS
M2M_WIFI_REQ_WPS
HOST
DRIVER WINC
WPS Button
Pressed on AP
WPS Registration
Protocol
Wi-Fi Connection
Procedure

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
59
12.3.4 WPS Code Example
void wifi_event_cb(uint8 u8WiFiEvent,void * ) pvMsg
{
if(u8WiFiEvent == M2M_WIFI_REQ_WPS)
{
tstrM2MWPSInfo * = (pstrWPS tstrM2MWPSInfo*)pvMsg;
if( ->pstrWPS u8AuthType != 0)
{
"WPS SSID : %s\printf(n", ->pstrWPS au8SSID);
"WPS PSK : %s\printf(n", -> pstrWPS au8PSK);
"WPS SSID Auth Type : %s\printf(n",
pstrWPS u8AuthType-> == M2M_WIFI_SEC_OPEN "OPEN" "WPA/WPA2"? : );
"WPS Channel : %d\printf(n", -> +pstrWPS u8Ch 1);
// Establish Wi-Fi connection
m2m_wifi_connect((char*)pstrWPS au8SSID-> , ( uint8)m2m_strlen( ->pstrWPS au8SSID),
pstrWPS u8AuthType pstrWPS au8PSK pstrWPS-> , -> , -> u8Ch);
}
else
{
"(ERR) WPS Is not enabled OR Timedout\printf(n");
}
}
}
int main()
{
tstrWifiInitParam param;
// Platform specific initializations.
// Driver initialization.
param pfAppWifiCb. =wifi_event_cb;
if(!m2m_wifi_init(¶m))
{
// Trigger WPS in Push button mode.
m2m_wifi_wps(WPS_PBC_TRIGGER NULL, );
while(1)
{
m2m_wifi_handle_events(NULL);
}
}
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
60
13 Multicast Sockets
13.1 Overview
The purpose of the multicast filters is to provide the ability to send/receive messages to/from multicast
addresses. This feature is useful for one- -many communication over networks, whether is intended to send to it
Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission, participate in a
zero-configuration networking or listening to a multicast stream or any other application.
13.2 How to use Filters
Whenever the application wishes to use a multicast IP address, for either sending or receiving, a filter is
needed. The application can establish this through setting the option for the required IP_ADD_MEMBERSHIP
socket accompanied by the multicast address that the application wants to use. If subsequently the host wants
to stop receiving the multicast stream it should set the option for the required socket IP_DROP_MEMBERSHIP
accompanied with the multicast address.
Adding or removing a multicast address filter will cause WINC chip firmware to add/remove both MAC layer AT
filter and IP layer filter in order to pass or prevent messages from reaching to host.
13.3 Multicast Socket Code Example
In order to illustrate the functionality, a simple example is implemented where the host application responds to
mDNS (Multicast Domain Name System) queries sent from a Computer/Mobile application. The
Computer/Mobile is looking for devices which support the service as indicated by mDNS zero configuration an
response. The WINC responds, announcing its presence and its capability of sending and receiving AT
multicast messages.
The example consists of a UDP server that binds on port 5353 (mDNS port) and waits for messages, parsing
them and replying with a previously saved response message.
Server Initialization
void MDNS_ServerInit()
{
tstrSockAddr strAddr ;
unsigned int MULTICAST_IP = 0xE00000FB; //224.0.0.251
socketInit();
dns_server_sock =socket(AF_INET SOCK_DGRAM, ,0);
"DNS_server_init \MDNS_INFO(n");
setsockopt(dns_server_sock,1,IP_ADD_MEMBERSHIP,&MULTICAST_IP MULTICAST_IP, (sizeof ));
strAddr u16Port. = (HTONS MDNS_SERVER_PORT);
bind(dns_server_sock,(struct sockaddr *)&strAddr,sizeof( )); strAddr
registerSocketCallback UDP_SocketEventHandler AppServerCb( , );
}
Sockets Events Handler
void MDNS_RecvfromCB(signed char unsigned char sock, *pu8RxBuffer,signed short s16DataSize,
*unsigned char pu8IPAddr,unsigned short u16Port pvArg, *void )
{
"DnsServer_RecvfromCB \MDNS_INFO(n");
if((pu8RxBuffer != 0) && (s16DataSize > 0))
{
tstrDnsHdr strDnsHdr;
strdnsquery;
"DNS Packet Recieved \MDNS_INFO(n");

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
61
if(MDNS_ParseQuery(&pu8RxBuffer strDnsHdr strDnsQuery[0], & ,& ))
MDNS_SendResp (sock pu8IPAddr u16Port strDnsHdr strDnsQuery, , ,& ,& );
}
else
{
"DnsServer_RecvfromCB Error !\MDNS_INFO(n");
}
}
Server Socket Callback
void signed char unsigned char signed short MDNS_RecvfromCB( sock, * ,pu8RxBuffer
s16DataSize pu8IPAddr u16Port pvArg, *unsigned char ,unsigned short , *void )
{
"DnsServer_RecvfromCB \MDNS_INFO(n");
if((pu8RxBuffer != 0) && (s16DataSize > 0))
{
tstrDnsHdr strDnsHdr ;
strdnsquery ;
"DNS Packet Recieved \MDNS_INFO(n");
if( [0],MDNS_ParseQuery(&pu8RxBuffer & strDnsHdr,&strDnsQuery))
MDNS_SendResp ( , ,sock pu8IPAddr u16Port strDnsHdr strDnsQuery,& ,& );
}
else
{
"DnsServer_RecvfromCB Error !\MDNS_INFO(n");
}
}
Parse mDNS Query
int MDNS_ParseQuery(unsigned char *pu8RxBuffer, tstrDnsHdr *pstrDnsHdr pstrDnsQuery, * strdnsquery )
{
unsigned char dot_size temp, =0;
unsigned short n=0, =0,i u16index=0;
int bDNSmatch = 0;
/* ----Identification--------------------------|QR| Opcode |AA|TC|RD|RA|Z|AD|CD|Rcode | */
/* Total Questions------------------------|-----------------Total Answer R ------------ ----- Rs --
*/
/* Total Authority RRs --------------------|----------------Total Additional RRs----------------
*/
/* --------------------------------- Questions ---------------------------------
*/
/* ------------------------------------ wer RRs Ans ------------------------------------------*/
/* ----------------------------------- Authority RRs -------------- ------------------ --
*/
/* -----------------------------------Additional RRs ----------------------------------
*/
MDNS_INFO("Parsing DNS Packet\n");
pstrDnsHdr pu8RxBuffer u16index pu8RxBuffer u16index->id = (( [ ]<<8)| ( [ +1]));
MDNS_INFO "id = %.4x \(n",pstrDnsHdr->id);
u16index+=2;
pstrDnsHdr flags1-> = [ pu8RxBuffer u16index++];
pstrDnsHdr flags2-> = [ pu8RxBuffer u16index++];
MDNS_INFO "flags = %.2x %.2x \(n",pstrDnsHdr flags1 pstrDnsHdr flags2-> , -> );

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
62
pstrDnsHdr numquestions pu8RxBuffer u16index pu8RxBuffer u16index-> = (( [ ]<<8)| ( [ +1]));
"numquestions = %.4x \MDNS_INFO (n",pstrDnsHdr numquestions-> );
u16index+=2;
pstrDnsHdr numanswers-> = ((pu8RxBuffer u16index pu8RxBuffer u16index[ ]<<8)| ( [ +1]));
"numanswers = %.4x \MDNS_INFO (n",pstrDnsHdr numanswers-> );
u16index+=2;
pstrDnsHdr numauthrr pu8RxBuffer u16index pu8RxBuffer u16index-> = (( [ ]<<8)| ( [ +1]));
"numauthrr = %.4x \MDNS_INFO (n",pstrDnsHdr numauthrr-> );
u16index+=2;
pstrDnsHdr numextrarr-> = ((pu8RxBuffer u16index pu8RxBuffer u16index[ ]<<8)| ( [ +1]));
"numextrarr = %.4x \MDNS_INFO (n",pstrDnsHdr numextrarr-> );
u16index+=2;
dot_size =pstrDnsQuery query n pu8RxBuffer u16index-> [ ++]= [ ++];
pstrDnsQuery->u16size=1;
while (dot_size--!=0) //(pu8RxBuffer[++u16index] != 0)
{
pstrDnsQuery query n pstrDnsQuery queryForChecking i-> [ ++]= -> [ ++]=pu8RxBuffer u16index[ ++] ;
pstrDnsQuery u16size-> ++;
gu8pos temp= ;
if (dot_size == 0 )
{
pstrDnsQuery queryForChecking i-> [ ++]= ; '.'
temp=u16index;
dot_size =pstrDnsQuery query n pu8RxBuffer u16index-> [ ++]= [ ++];
pstrDnsQuery u16size-> ++;
}
}
pstrDnsQuery queryForChecking i-> [-- ] = 0;
"parsed query <%s>\MDNS_INFO(n",pstrDnsQuery queryForChecking-> );
// Search for any match in the local DNS table.
for(n= 0; n<DNS_SERVER_CACHE_SIZE; ++) n
{
"Saved URL <%s>\MDNS_INFO(n",gpacDnsServerCache n[ ]);
if( (strcmp gpacDnsServerCache n pstrDnsQuery queryForChecking[ ], -> ) ==0)
{
bDNSmatch= 1;
"MATCH \MDNS_INFO(n");
}
else
{
"Mismatch\MDNS_INFO(n");
}
}
pstrDnsQuery u16class-> = ((pu8RxBuffer u16index pu8RxBuffer u16index[ ]<<8)| ( [ +1]));
u16index+=2;
pstrDnsQuery u16type pu8RxBuffer u16index pu8RxBuffer u16index-> = (( [ ]<<8)| ( [ +1]));
return bDNSmatch;
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
63
Send mDNS Response:
void MDNS_SendResp (signed char sock,unsigned char * , pu8IPAddr
unsigned short tstrDnsHdr u16Port, *pstrDnsHdr pstrDnsQuery, *strdnsquery )
{
unsigned short u16index=0;
tstrSockAddr strclientAddr ;
unsigned char *pu8sendBuf;
char *serviceName2 = (char sizeof*)malloc( (serviceName)+1);
unsigned int MULTICAST_IP = 0xFB0000E0;
pu8sendBuf=gPu8Buf;
memcpy(&strclientAddr u32IPAddr MULTICAST_IP. ,& ,IPV4_DATA_LENGTH);
strclientAddr u16Port u16Port. = ;
"%s \MDNS_INFO(n",pstrDnsQu queryery-> );
"Query Size = %d \MDNS_INFO(n",pstrDnsQuery u16size-> );
"class = %.4x \MDNS_INFO(n", ->pstrDnsQuery u16class);
"type = %.4x \MDNS_INFO(n", ->pstrDnsQuery u16type);
"PREPARING DNS ANSWER BEFORE SENDING\MDNS_INFO(n");
/*----------------------------ID 2 Bytes -----------------------------*/
pu8sendBuf [u16index++] =0; //( pstrDnsHdr->id>>8);
pu8sendBuf [u16index++] = 0;//( pstrDnsHdr->id)&(0xFF);
"(ResPonse) id = %.2x %.2x \MDNS_INFO (n", pu8sendBuf u16index pu8sendBuf u16index[ -2], [ -1]);
/*----------------------------Flags 2 Bytes----------------------------*/
pu8sendBuf [u16index++] = DNS_RSP_FLAG_1;
pu8sendBuf [u16index++] = DNS_RSP_FLAG_2;
"(ResPonse) Flags = %.2x %.2x \ MDNS_INFO (n",pu8sendBuf[u16index pu8sendBuf u16index-2], [ -1]);
/*----------------------------No of Questions--------------------------*/
pu8sendBuf [u16index++] =0x00;
pu8sendBuf [u16index++] =0x01;
"(ResPonse) Questions = %.2x %.2x \ MDNS_INFO (n",pu8sendBuf u16index[ -2],pu8sendBuf u16index[ -
1]);
/*---------------------------No of Answers----------------------------*/
pu8sendBuf [u16index++] =0x00;
pu8sendBuf [u16index++] =0x01;
"(ResPonse) Answers = %.2x %.2x \ MDNS_INFO (n",pu8sendBuf u16index[ -2],pu8sendBuf u16index[ -1]);
/*---------------------------No of Authority RRs------------------------*/
pu8sendBuf [u16index++] =0x00;
pu8sendBuf [u16index++] =0x00;
"(ResPonse) Authority RRs = %.2x %.2x \ MDNS_INFO (n",pu8sendBuf u16index pu8sendBuf u16index[ -2], [ -
1]);
/*----------------------------No of Additional RRs----------------------*/
pu8sendBuf [u16index++] =0x00;
pu8sendBuf [u16index++] =0x00;
"(ResPonse) Additional RRs = %.2x %.2x \ MDNS_INFO (n",pu8sendBuf u16index[ -
2],pu8sendBuf u16index[ -1]);
/*--------------------------------Query-----------------------------*/
memcpy(&pu8sendBuf u16index pstrDnsQuery query pstrDnsQuery u16size[ ], -> , -> );
"\nsize = %d \MDNS_INFO(n",pstrDnsQuery u16size-> );
u16index pstrDnsQuery u16size+= -> ;
/*-------------------------------Query Type----------------------------*/
pu8sendBuf [u16index++] = ( pstrDnsQuery u16type-> >>8);//MDNS_TYPE>>8;
pu8sendBuf [u16index pstrDnsQuery u16type++] = ( -> )&(0xFF);//(MDNS_TYPE&0xFF);
"Query Type = %.2x %.2x \ MDNS_INFO (n",pu8sendBuf u16index pu8sendBuf u16index[ -2], [ -1]);
/*------------------------------Query Class-----------------------------------*/
pu8sendBuf [u16index++] = MDNS_CLASS>>8;//(( pstrDnsQuery->u16class>>8)|0x80);
pu8sendBuf [u16index++] = ( MDNS_CLASS & 0xFF);//( pstrDnsQuery->u16class)&(0xFF);

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
64
"Query Class = %.2x %.2 \ MDNS_INFO (x n",pu8sendBuf u16index pu8sendBuf u16index[ -2], [ -1]);
/*########################Answers#########################*/
/*------------------------------Name---------------------------------*/
pu8sendBuf [u16index++]= 0xC0 ; //pointer to query name location
pu8sendBuf [u16index++]= 0x0C ; // instead of writing the whole query name again
/*-----------------------------Type----------------------------------*/
pu8sendBuf [u16index++] = MDNS_TYPE>>8; //Type 12 PTR (domain name Pointer).
pu8sendBuf [u16index++] =(MDNS_TYPE&0xFF);
/*------------------------------Class-----------------------------------*/
pu8sendBuf [u16index++] =0x00; //MDNS_CLASS; //Class IN, Internet.
pu8sendBuf [u16index++] =0x01; // (MDNS_CLASS & 0xFF);
/*----------------------------- L----------------------------------TT */
pu8sendBuf [u16index++] =(TIME_TO_LIVE >>24);
pu8sendBuf [u16index++] =(TIME_TO_LIVE >>16);
pu8sendBuf [u16index++] =(TIME_TO_LIVE >>8);
pu8sendBuf [u16index++] =(TIME_TO_LIVE );
/*---------------------------Date Length----------------------------------*/
pu8sendBuf [u16index++] =(sizeof(serviceName)+2)>>8;//added 2 bytes for the pointer
pu8sendBuf [u16index++] =(sizeof(serviceName)+2);
/*-----------------------------DATA--------------------------------*/
convertServiceName(serviceName serviceName, (sizeof ),serviceName2);
memcpy(&pu8sendBuf u16index serviceName2[ ], , (sizeof serviceName)+1);
u16index+=sizeof(serviceName);
pu8sendBuf [u16index++] =0xC0; //Pointer to .local (from name)
pu8sendBuf [u16index gu8pos++] = ; //23
/*###########################################################*/
strclientAddr u16Port. = (HTONS MDNS_SERVER_PORT);
// MultiCast RESPONSE
sendto(sock,pu8sendBuf,(uint16) ,0,(u16index struct
sockaddr*)&strclientAddr,sizeof(strclientAddr));
strclientAddr u16Port u16Port. = ;
memcpy(&strclientAddr u32IPAddr pu8IPAddr. , ,IPV4_DATA_LENGTH);
}
Service Name
static char gpacDnsServerCache[DNS_SERVER_CACHE_SIZE MDNS_HOSTNAME_SIZE][ ] =
{
"_services._dns-sd._udp.local" "_workstation._tcp.local" "_http._tcp.local", ,
};
unsigned char gPu8Buf [MDNS_BUF_SIZE];
unsigned char gu8pos ;
signed char dns_server_sock ;
#define serviceName "_ATMELWIFI._tcp"

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
65
14 WINC Serial Flash Memory AT
14.1 Overview and Features
The WINC has internal serial (SPI) flash memory of either 4 or 8 capacity. The flash memory is used to AT Mb
store:
User configuration
Wi-Fi Firmware
BLE Firmware
Connection Profiles
During startup and mode changes the firmware is loaded from the serial flash into program memory (IRAM) in
which the firmware is executed. First the Wi-Fi firmware is loaded and started while holding the BLE processor
in reset. Then the BLE firmware is loaded and placed into the BLE memory prior to releasing reset. The flash is
accessed at other points during runtime to retrieve configuration and profile data.
The flash memory can be read, written to, and erased directly from the host without cooperation with the
ATWINC firmware. However, if operational firmware is already loaded, it is necessary to first halt any running
AT ATWINC firmware before accessing the serial flash to avoid access conflict between host and the WINC
processor.
14.2 Accessing to Serial Flash
The host has transparent access to the serial (SPI) flash through WINC SPI master AT
The host can program the serial (SPI) flash without need for operational firmware in the WINC. The AT
function m2m_wifi_download_mode must be called first.
Figure 14- System Block Diagram showing SPI Flash Connection 1.
WINC
Serial Flash
SPI Master
Wi-Fi ASICHost MCU I2C, SPI, UART
14.3 Read/Write/Erase Operations
SPI Flash can be accessed to be read, written, and erased.
It is required to first change the ATWINC’s mode to “ ” before any attempt to access the SPI download mode
Flash by calling:
sint32 m2m_wifi_download_mode();
All SPI flash functions are blocking. A return of indicates that the requested operation has been M2M_SUCCESS
completed successfully.
The following is a list of flash functions that may be used:
Query the size of the SPI Flash:

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
66
uint32 spi_flash_get_size();
This function returns with size of SPI Flash in Mb.
Read data from the SPI Flash:
sint8 uint32 uint32 spi_flash_read(uint8 *pu8Buf, u32offset, u32Sz)
Where the size of data is limited by SPI Flash size.
Erase sectors in the SPI Flash:
sint8 uint32 spi_flash_erase(uint32 u32Offset, u32Sz)
Note: The size is limited by the SPI Flash size.
Before writing to any sector, this sector has to be erased first. So if some data needs to be changed
within a sector, it is advised to read the sector first, modify the data, then erase and write the whole
sector again.
Write data to the SPI Flash:
sint8 uint32 uint32 spi_flash_write(uint8* pu8Buf, u32Offset, u32Sz)
If the application wants to write any number of bytes within any sector, it has to erase the entire sector
first. It may be necessary to read the entire sector, erase the sector, and then write back with
modifications. It is also recommended to verify that data had been written after it returns success by
reading data again and compare it with the original.
14.4 Serial (SPI) Flash Map
The following map is valid for SPI Flash with size equals 8 ( Mb 1MB)
Section
Offset [KB]
Size [KB]
Boot firmware
0
4
Control Section
4
8
Configuration
12
8
Certificate
20
4
Scratch Section
24
4
Firmware Image – Wi- Fi
28
196
HTTP Files
224
8
Connection Parameters
232
4
Firmware Image BLE –
236
128
[Unused]
[364]
[148]
OTA Image – Wi-Fi and BLE
512
324
[Unused]
[836]
[188]
Total used
684
14.5 Flash Read, Erase, Write Code Example
#include "spi_flash.h"
#define DATA_TO_REPLACE "THIS IS A NEW SECTOR IN FLASH"
int main()

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
67
{
uint8au8FlashContent[FLASH_SECTOR_SZ] = {0};
uint32u32FlashTotalSize = 0, =u32FlashOffset 0;
// Platform specific initializations.
ret =m2m_wifi_download_mode();
if(M2M_SUCCESS != ret)
{
"Unable to enter download mode\r\printf(n");
}
else
{
u32FlashTotalSize =spi_flash_get_size();
}
while((u32FlashTotalSize u32FlashOffset > ) ( && M2M_SUCCESS == ret))
{
ret =spi_flash_read(au8FlashContent u32FlashOffset, , FLASH_SECTOR_SZ);
if(M2M_SUCCESS != ret)
{
"Unable to read SPI sector\r\printf(n");
break;
}
memcpy(au8FlashContent, DATA_TO_REPLACE, strlen(DATA_TO_REPLACE));
ret =spi_flash_erase(u32FlashOffset, FLASH_SECTOR_SZ);
if(M2M_SUCCESS != ret)
{
"Unable to erase SPI sector\r\printf(n");
break;
}
ret =spi_flash_write(au8FlashContent u32FlashOffset, , FLASH_SECTOR_SZ);
if(M2M_SUCCESS != ret)
{
"Unable to write SPI sector\r\printf(n");
break;
}
u32FlashOffset += FLASH_SECTOR_SZ;
}
if(M2M_SUCCESS == ret)
{
"Successful operations\r\printf(n");
}
else
{
"Failed operations\r\printf(n");
}
while(1);
return M2M_SUCCESS;
}

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
68
15 Writing a Simple Networking Application
This chapter provides a step-by-step tutorial on how to build a networking application from scratch. For details
on getting started with the Atmel Studio and how to setup the environment and obtain the example application
and AtmelWirelessConnect APK smart phone application, refer to . [R01]
15.1 Prerequisites
Hardware Prerequisites
– Atmel SAMD21-XPRO Evaluation kit
– Atmel I/O1 Xplained ATIO1-XPRO board
– Atmel WINC3400 Xplained Pro Extension board AT
– Micro-USB Cable (Micro-A / Micro- B)
– Android Phone
Software Prerequisites
– Atmel Studio 6.2 (build 1153) or higher
– Atmel Software Frameworks 3.15.0
– Wi-Fi Network Controller demo for SAM D21
– Android apk AtmelWirelessConnect application
15.2 Solution Overview
The goal of this project is to develop an IoT application, capable of sending temperature information to any
phone or tablet on the network while offering a way to remotely control the LED on the SAM D21 Xplained Pro
board.
To develop and run this project you need to start with the downloaded empty Wi-Fi example project.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
69
If you cannot use an Android phone to test the solution, you can still use Wireshark to
see the traffic generated by the IoT sensor application.
ATWINC3400 Wi-Fi extension and I/O1 extension should be plugged into SAM D21
Xplained Pro EXT1 and EXT2 respectively.
15.3 Project Creation
Open the empty Wi-Fi example Project.
Open Atmel Studio 6.2
Click on “File” then “Open Project/Solution…”
Select the Empty Wi-Fi example project on your hard drive
15.4 Wi-Fi Software API Files
The table below lists the main files from the Wi-Fi Software API located.
File
Description
m2m_wifi.h
m2m_wifi.c
Provide entry point, Wi-Fi configuration API
socket.h
socket.c
Provide socket API
nmbsp.h
nm_bsp_samd21.c
Provide BSP APIs needed by Host Driver
nm_bus_wrap-
per_samd21.c
Provide bus wrapper APIs needed by Host Driver
In order to add Wi-Fi connectivity into an existing user example project, the complete “wifi_nmi” folder should
be added to the user project.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
70
Locate these files in your project:
m2m_wifi_type.h is an internal type definition header file.
The configuration of the Wi-Fi Software API is fairly easy and relies on three configuration files.
The file provides configuration for the following: conf_winc.h
Reset pin definition (RESET_N) CONF_WIFI_M2M_RESET_PIN:
Reset pin definition (CHIP_EN) CONF_WIFI_M2M_CHIP_ENABLE_PIN:
Interrupt line (IRQN) CONF_WIFI_M2M_INT_PIN:
Debug enable CONF_WIFI_M2M_DEUG:

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
71
15.5 Reading Temperature Sensor and Controlling LED Status
The empty Wi-Fi example Project comes with a specific driver for the AT30TSE temperature sensor, located on
the I/O1 extension.
The driver implementation can be found in the “ASF at30tse75x” folder of the \sam0\components\sensor\
Solution Explorer.
Retrieving the temperature information is easy and can be performed in three steps:
1. Include the driver header file.
#include “asf.h”
2. Initialize the temperature sensor driver.
at30tse_init();
3. Retrieve the current temperature value.
double ; temp = ()at30tse_read_temperature
The empty Wi-Fi example Project already includes the peripheral dependencies for the
temperature sensor.
The temperature sensor configuration file “conf_at30tse75x.h” is already configured to
use the peripheral on EXT2.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
100
17 WINC SPI Protocol AT
The WINC main interface is SPI. The WINC device employs a protocol to allow exchange of formatted AT AT
binary messages between WINC rmware and host MCU application. The WINC protocol uses raw bytes AT AT
exchanged on SPI bus to form high level structures like requests and callbacks.
The WINC SPI protocol consists of three layers: AT
Layer 1: WINC SPI slave protocol, which allows the host MCU application to perform AT
register/memory read and write operation in the WINC3400 device using raw SPI data AT
exchange
Layer 2: Host MCU application uses the register and memory read and write capabilities to exchange
host interface frames with the WINC rmware. It also provides asynchronous callback from AT
the ATWINC rmware to the host MCU through interrupts and host interface RX frames. This
layer was discussed earlier in C . hapter 16: Host Interface Protocol
Layer 3: Allows the host MCU application to exchange high level messages (e.g. Wi-Fi scan, socket
connection, or TCP data received) with the WINC rmware to employ in the host MCU AT
application logic
Figure 17- WINC SPI Protocol Layers 1. AT
17.1 Introduction
The WINC SPI Protocol is implemented as a command-response transaction and assumes one party is AT that
the master and the other is the slave. The roles correspond to the master and slave devices on the SPI bus.
Each message has an identier in the first byte indicating the type of message:
Command
Response
Data
In the case of Command and Data messages, the last byte is used as data integrity check.
•App Logic
Host MCU
Application
•Init, scan,
connect, socket
Socket,
WLAN
Functions
•hif_send,
•hif_receive
WINC HIF
Frames
TX/RX
•write_reg
•read_reg
WINC SPI
Slave
Protocol
•SPI read/write
Host MCU
Raw SPI Bus

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
101
The format of Command and Response and Data frames is described in the following sections. The following
points apply:
There is a response for each command
Transmitted/received data is divided into packets with xed size
For a write transaction ( ), the slave should reply by a response for each Slave is receiving data packets
data packet
For an RD transaction (Master is receiving data packets), the master doesn’t send response. If there is
an error, the master should request retransmission on the lost data packet.
Protection of commands and data packets by CRC is optional
17.1.1 Command Format
The following frame formation is used for commands where the host supports a DMA address of three bytes.
CMD/DATA Start CMD type Payload CRC
1 Byte Payload Size 1 Byte
10 Byte (max)
4 Bits 4 Bits
The rst byte contains two elds:
The CMD/Data Start field indicates that this is a Command frame
The CMD type eld species the command to be executed
The may be one of 15 commands: CMD type
DMA write
DMA read
Internal register write
Internal register read
Transaction termination
Repeat data Packet
DMA extended write
DMA extended read
DMA single-word write
DMA single-word read
Soft reset
The field contains command specic data and its length depends on the CMD type. Payload
The eld is optional and generally computed in software. CRC
The field can be one of four types each having a dierent length: Payload
A: Three bytes
B: Five bytes
C: Six bytes
D: Seven bytes

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
102
Type A commands include:
DMA single-word RD
internal register RD
Transaction termination command
Repeat Data PKT command
Soft reset command
Type B mmands include: co
DMA RD Transaction
DMA WR Transaction
Type C commands include:
DMA Extended RD transaction
DMA Extended WR transaction
Internal register WR
Type D commands include:
DMA single-word WR
Full details of the frame format elds are provided in the following table:
Field
Size
Description
CMD Start
4 bits
Command Start : 4’b1100
CMD Type
4 bits
Command type:
4’b0001: DMA write transaction
4’b0010: DMA read transaction
4’b0011: Internal register write
4’b0100: Internal register read
4’b0101: Transaction termination
4’b0110: Repeat data Packet command
4’b0111: DMA extended write transaction
4’b1000: DMA extended read transaction
4’b1001: DMA single-word write
4’b1010: DMA single-word read
4’b1111: soft reset command

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
103
Payload
A: 3
B: 5
C: 6
D: 7
The Payload eld may be of Type A, B, C, or D
Type A (length 3)
1- DMA single-word RD
Param: Read Address:
Payload bytes:
B0: ADDRESS[23:16]
B1: ADDRESS[15:8]
B2: ADDRESS[7:0]
2- internal register RD
Param: Oset address (two bytes):
Payload bytes:
B0: OFFSET-ADDR[15:8]
B1: OFFSET-ADDR[7:0]
B2: 0
3- Transaction termination command
Param: none
Payload bytes:
B0: 0
B1: 0
B2: 0
4- Repeat Data PKT command
Param: none
Payload bytes:
B0: 0
B1: 0
B2: 0
5- Soft reset command
Param: none
Payload bytes:
B0: 0xFF
B1: 0x FF
B2: 0xFF
Type B (length 5)
1- DMA RD Transaction
Params:
DMA Start Address: 3 bytes
DMA count: 2 bytes
Payload bytes:
B0: ADDRESS[23:16]
B1: ADDRESS[15:8]
B2: ADDRESS[7:0]
B3: COUNT[15:8]
B4: COUNT[7:0]
2- DMA WR Transaction
Params:
DMA Start Address: 3 bytes
DMA count: 2 bytes
Payload bytes:
B0: ADDRESS[23:16]
B1: ADDRESS[15:8]
B2: ADDRESS[7:0]
B3: COUNT[15:8]
B4: COUNT[7:0]

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
104
Field
Size
Description
Type C (length 6)
1- DMA Extended RD transaction
Params:
DMA Start Address: 3 bytes
DMA extended count: 3 bytes
Payload bytes:
B0: ADDRESS[23:16]
B1: ADDRESS[15:8]
B2: ADDRESS[7:0]
B3: COUNT[23:16]
B4: COUNT[15:8]
B5: COUNT[7:0]
2- DMA Extended WR transaction
Params:
DMA Start Address: 3 bytes
DMA extended count: 3 bytes
Payload bytes:
B0: ADDRESS[23:16]
B1: ADDRESS[15:8]
B2: ADDRESS[7:0]
B3: COUNT[23:16]
B4: COUNT[15:8]
B5: COUNT[7:0]
3- Internal register WR*
Params:
Oset address: 3 bytes
Write Data: 3 bytes
* “clocked or clockless registers”
Payload bytes:
B0: OFFSET-ADDR[15:8]
B1: OFFSET-ADDR [7:0]
B2: DATA[31:24]
B3: DATA [23:16]
B4: DATA [15:8]
B5: DATA [7:0]
Type D (length 7)
1- DMA single-word WR
Params:
Address: 3 bytes
DMA Data: 4 bytes
Payload bytes:
B0: ADDRESS[23:16]
B1: ADDRESS[15:8]
B2: ADDRESS[7:0]
B3: DATA[31:24]
B4: DATA [23:16]
B5: DATA [15:8]
B6: DATA [7:0]
CRC7
1 byte
Optional data integrity eld comprising two subelds:
bit 0: fixed value ‘1’
bits 1-7: 7 bit CRC value computed using polynomial G(x)
= X^7 + X^3 + 1 with seed value: 0x7F

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
105
The following table summarizes the dierent commands according to the payload type (DMA address = 3-
bytes):
Payload type
Payload size
Command packet size
“with CRC”
Commands
Type A
3-Bytes
5-Bytes
1- DMA Single-Word Read
2- Internal Register Read
3- Transaction Termination
4- Repeat Data Packet
5- Soft Reset
Type B
5-Bytes
7-Bytes
1- DMA Read
2- DMA Write
Type C
6-Bytes
8-Bytes
1- DMA Extended Read
2- DMA Extended Write
3- Internal Register Write
Type D
7-Bytes
9-Bytes
1- DMA Single-Word Write
17.1.2 Response Format
The following frame formation is used for responses sent by the WINC device as the result of receiving a AT
Command or certain Data frames. The Response message has a fixed length of two bytes.
RES/DATA Start RES Type STATE
1 Byte 1 Byte
2 Byte
4 Bits 4 Bits
The rst byte contains two 4-bit elds which identify the response message and the response type.
The second byte indicates the status of the WINC after receiving and, where possible, executing the AT
command/data. This byte contains two sub elds:
B0-B3: Error state
B4-B7: DMA state
States that may be indicated are:
DMA state:
– DMA ready for any transaction
– DMA engine is busy
Error state:
– No error
– Unsupported command
– Receiving unexpected data packet
– Command CRC7 error

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
106
Field
Size
Description
Res Start
4 bits
Response Start : 4’b1100
Response Type
4 bits
If the response packet is for Command:
Contains of copy of the Command Type eld in the
Command.
If the response packet is for received Data Packet:
4’b0001: rst data packet is received
4’b0010: Receiving data packets
4’b0011: last data packet is received
4’b1111: Reserved value
State
1 byte
This eld is divided into two subelds:
State
DMA State Error State
4 Bits 4 bits
DMA State :
4’b0000: DMA ready for any transaction
4’b0001: DMA engine is busy
Error State:
4’b0000: No error
4’b0001: Unsupported command
4’b0010: Receiving unexpected data packet
4’b0011: Command CRC7 error
4’b0100: Data CRC16 error
4’b0101: Internal general error
17.1.3 Data Packet Format
The Data Packet Format is used in either direction (master to slave or slave to master) to transfer opaque data.
A Command frame is used either to inform the slave that a data packet is about to be sent or to request the
slave to send a data packet to the master. In the case of master to slave, the slave sends a response after the
command and each subsequent data frame. The format of a data packet is shown below.
DATA Start Packet Order Data Bytes CRC
1 Byte DATA_PACKET_SIZE 2 Byte
4 Bits 4 Bits
To support DMA hardware a large data transfer may be fragmented into multiple smaller Data Packets. This is
controlled by the value of DATA_PACKET_SIZE which is agreed between the master and slave in software
and is a xed value such as 256B, 512B, 1KB (default), 2KB, 4KB, or 8KB. If a transfer has a length which m
exceeds DATA_PACKET_SIZE the sender must split into frames where frames will be length n 1..n-1
DATA_PACKET_SIZE and frame will be length: n
(m -1)* DATA_PACKET_SIZE)–(n .This is shown diagrammatically below:
If DMA count <= DATA_PACKET_SIZE
The data packet is “ “, i.e. nDATA_Header + DMA count +optional CRC16 o padding.
DATA
Header Remaining data CRC

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
107
If DMA count > DATA_PACKET_SIZE
DMA Count
DATA
Header DATA_PKT_SIZE CRC16 DATA
Header DATA_PKT_SIZE CRC16 DATA
Header
Remaining
data CRC16
If < DATA_PACKET_SIZE, the is: remaining data last data packet
“DATA_Header + remaining data + optional CRC16 “, i.e. no padding.
The frame elds are describe in detail in the following table:
Field
Size
Description
Data Start
4 bits
4’b1111 (Default)
(Can be changed to any value by programming
DATA_START_CTRL register)
Packet Order
4 bits
4’b0001: First packet in this transaction
4’b0010: Neither the first or the last packet in this transaction
4’b0011: Last packet in this transaction
4’b1111: Reserved
Data Bytes
DATA_PACKET_SIZE
User data
CRC16
2 bytes
Optional data integrity eld comprising a 16-bit CRC value
encoded in two bytes. The most signicant eight bits are
transmitted rst in the frame.
The CRC16 value is computed on data bytes only based on
the polynomial:
G(x) = X^16 + X^12 + X^5 + 1, seed value: 0xFFFF
17.1.4 Error Recovery Mechanism
Error type
Recovery mechanism
Master:
CRC error in command
1. Error response received from slave.
2. Retransmit the command.
CRC error in received
data
1. Issue a repeat command for the data packet that has a CRC error.
2. Slave sends a response to the previous command.
3. Slave keeps the start DMA address of the previous data packet, so it can retransmit it.
4. Receive the data packet again.
No response is received
from sla ve
Synchronization is lost between master and slave
The worst case is when slave is in receiving data state
Solution: master should wait for maximum DATA_PACKET_SIZE period, then
generate a soft reset command
Unexpected response
Retransmit the command

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
108
Error type
Recovery mechanism
TX/RX Data count error
Retransmit the command
No response to soft reset
command
Transmit all ones till master receives a response of all ones from the slave
Then deactivate the output data line
Slave:
Unsupported command
Send response with error
Returns to command monitor state
Receive command CRC
error
Send response with error
waits for command retransmission
Received data CRC error
Send response with error
wait for retransmission of the data packet
Internal general error
The master should soft reset the slave
TX/RX Data count error
Only the master can detect this error
Slave operates with the data count received till the count nishes or the master
terminates the transaction
In both cases the master should retry the command from the beginning
No response to soft reset
command
1. First received 4’b1001, it decides data start.
2. Then received packet order 4’b1111 that is reserved value.
3. Then monitors for 7 bytes all ones to decide Soft Reset action.
4. The slave should activate the output data line.
5. Waits for deactivation for the received line.
6. The slave then deactivates the output data line and returns to the CMD/DATA start
monitor state.
General NOTE
The slave should monitor the received line for command reception in any time
When a CMD start is detected, the slave will receive eight bytes, then return again
to the command reception state
When the slave is transmitting data, it should also monitor for command reception
When the slave is receiving data, it will monitor for command reception between the
data packets
Therefore issuing a soft reset command, should be detected in all cases
17.1.5 Clockless Registers Access
Clockless register access allows a host device to access registers on the WINC device while it is held in a AT
reset state. This type of access can only be done using the “internal register read” and “internal register write”
commands. For clockless access, bit 15 of the Offset_addr in the command should be ‘1’ to differentiate
between clockless and clocked access mode.
For clock-less register - the protocol master should wait for the response as shown here: write:
8'hC3 Oset_addr[15]
=1'b1
‘ ’0
‘ ’0‘ ’0
Oset_addr[14:0]
= clkless_addr Four bytes of data { CRC7,1'b1 }
Response
‘ ’0
1 Byte 2 Byte 4 Byte 1 Byte
2 Byte

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
109
For clock-less register - according to the interface, the protocol slave may not send CRC16. One or two read:
byte padding depends on three or four byte DMA addresses.
8'hC3 Oset_addr[15]
=1'b1
‘ ’0‘ ’0
‘ ’0
Oset_addr[14:0]
= clkless_addr
One or two
byte padding { CRC7,1'b1 }
Response
1 Byte 2 Byte 1 or 2 Byte 1 Byte
2 Byte
Data Hdr Clk-less
reg data
1 Byte
‘ ’0
17.2 Message Flow for Basic Transactions
This section shows the essential message exchanges and timings associated with the following commands:
Read Single Word
Read Internal Register (clockless)
Read Block
Write Single Word
Wri te Internal Register (clockless)
Write Bock
17.2.1 Read Single Word
‘ ’0
‘ ’0
Cmd Hdr:
Read Single Word Address / CRC
Rsp Hdr STATE
CMD_RES Period
‘ ’0
DATA Start DATA
4 bytes1 byte
‘ ’0
4 bytes1 byte
1 byte1 byte
17.2.2 Read Internal Register (for clockless registers)
‘ ’0
‘ ’0
Cmd Hdr:
Read Internal Register Oset Addr
Rsp Hdr STATE
CMD_RES Period
‘ ’0
16 0‘d
DATA Start DATA
4 bytes1 byte
‘ ’0
2 bytes1 byte 2 bytes
1 byte1 byte

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
110
17.2.3 Read Block
Normal transaction:
Master: Issues a DMA read transaction and waits for a response.
Slave: Sends a response after CMD_RES_PERIOD.
Master: Waits for a data packet start.
Slave: Sends the data packets, separated by DATA_DATA_PERIOD5 where DATA_DATA_PERIOD is
controlled by software and has one of these values:
NO_DELAY (default), 4_BYTE_PERIOD, 8_BYTE_PERIOD, and 16_BYTE_PERIOD.
Slave: Continues sending till the count ends.
Master: Receive data packets. No response is sent for data packets but a termination/retransmit command
may be sent if there is an error.
The message sequence for this case is shown below:
‘ ’0
‘ ’0DATA Hdr DATA
Fixed size1 byte
CRC16
2 byte
DAT Header DATA
Fixed size1 byte
CRC16
2 byte
Cmd Hdr:
Data Read Address, Count, crc
Rsp Hdr STATE
DATA_DATA Period
‘ ’0
‘ ’0‘ ’0
CMD_RES Period
1 byte 6 bytes
1 byte 1 byte
Termination command is issued:
Master: Can issue a termination command at any time during the transaction.
Master: Should monitor for RES_START after CMD_RESP_PERIOD.
Slave: Should cut o the curren t running data packet “if any“.
Slave: Should respond to the termination command after CMD_RESP_PERIOD from the end of the
termination command packet.
‘ ’0
‘ ’0DAT Header DATA
Fixed size1 Byte
CRC16
2 Byte
DATA Hdr DATA
Fixed size1 Byte
CRC16
2 Byte
Cmd Hdr:
Data Read Address, Count, crc
Rsp Hdr STATE
DATA_DATA Period
‘ ’0
‘ ’0‘ ’0
Cmd Hdr:
STOP command
Rsp Hdr STATE
‘ ’0
‘ ’0
CMD_RESP Period
5 Actually the period between data packets is “DATA_DATA_PERIOD + DMA access time.” The master should monitor for DATA_START
directly after DATA_DATA_PERIOD

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
111
Repeat command is issued:
1. Master: Can issue a repeat command at any time during the transaction.
2. Master: Should monitor for RES_START after CMD_RESP_PERIOD.
3. Slave: Should cut o the current running data packet, if any.
4. Slave: Should respond to the repeat command after CMD_RESP_PERIOD from the end of the repeat
command packet.
5. Slave: Resends the data packet that has an error then continues the transaction as normal.
‘0
’
‘0
’DATA Packet 1
Read
Command
Response
‘0
’
‘0
’
Repeat
Command
DATA Packet 2
“error”
‘0
’
DATA Packet 3
“cut off” Response DATA Packet 2 DATA Packet 3
CMD_RESP Period
17.2.4 Write Single Word
1. Master: Issues DMA single-word write command, including the data.
2. Slave: Takes the data and sends a command response.
‘ ’0
‘ ’0
Cmd Hdr:
Single Word Write Address, Data, CRC
Response
Hdr STATE
CMD_RES Period
‘ ’0
‘ ’0
8 bytes1 byte
17.2.5 Write Internal Register (for clockless registers)
1. Master: Issues an internal register write command, including the data.
2. Slave: Takes the data and sends a command response.
‘ ’0
‘ ’0
Cmd Hdr:
Internal Word Write Oset Addr, Data, CRC
Rsp Hdr STATE
CMD_RES Period
‘ ’0
‘ ’0
1 byte 7 bytes

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
112
17.2.6 Write Block
Case 1: Master waits for a command response:
1. Master: Issues a DMA write command and waits for a response.
2. Slave: Sends response after CMD_RES_PERIOD.
3. Master: Sends the data packets after receiving response.
4. Slave: Sends a response packet for each data packet received after DATA_RES_PERIOD.
5. Master: Does not wait for the data response before sending the following data packet notes:
CMD_RES_PERIOD is controlled by SW taking one of the values:
NO_DELAY (default), 1_BYTE_PERIOD, 2_BYTE_PERIOD and 3_BYTE_PERIOD
The master should monitor for RES_START after CMD_RES_PERIOD
DATA_RES_PERIOD is controlled by SW taking one of the values:
NO_DELAY (default), 1_BYTE_PERIOD, 2_BYTE_PERIOD and 3_BYTE_PERIOD
Cmd Hdr:
Write Command AddresS, Count, CRC
‘ ’0
Rsp Hdr STATE
DATA Hdr DATA
Fixed size1 byte
Rsp Hdr STATE
CRC16
2 byte
‘ ’0Rsp Hdr STATE
DATA Hdr DATA
Fixed size1 byte
CRC16
2 byte
DATA Hdr DATA
Fixed size1 byte
CRC16
2 byte
‘ ’0
‘ ’ ‘ ’0 0
‘ ’0
‘ ’0
CMD_RES Period DATA_RES Period
Case 2: Master does not wait for a command response:
1. Master: Sends the data packets directly after the command but it still monitors for a command
response after CMD_RESP_PERIOD.
2. Master: Retransmits the data packets if there is an error in the command.
Cmd Hdr:
Write Command Address, count, CRC
‘ ’0
Response
DATA Hdr DATA
Fixed size1 byte
Data Response
CRC16
2 byte
‘ ’0
DATA Hdr DATA
Fixed size1 byte
CRC16
2 byte
DATA Hdr DATA
Fixed size1 byte
CRC16
2 byte
‘ ’0
‘ ’0
‘ ’0
CMD_RES Period DATA_RES Period
‘ ’0Data Response
17.3 SPI Level Protocol Example
In order to illustrate how WINC SPI protocol works, SPI Bytes from the scan request example were dumped AT
and the sequence is described below.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
113
17.3.1 TX (Send Request)
First step in hif_send() API is to wake up the chip:
sint8 nm_clkless_wake( ) void
{
ret =nm_read_reg_with_ret(0x1, & reg);
/* Set bit 1 */
ret =nm_write_reg(0x1, | reg (1 << 1));
// Check the clock status
ret =nm_read_reg_with_ret(clk_status_reg_adr clk_status_reg, & );
// Tell Firmware that Host waked up the chip
ret =nm_write_reg(WAKE_REG WAKE_VALUE, );
return ret;
}
Command CMD_INTERNAL_READ : 0xC4 /* internal register read */
[0] = BYTE CMD_INTERNAL_READ
[1] = >> 8; BYTE address /* address = 0x01 */
[1] |= (1 << 7); BYTE /* clockless register */
[2] = ; BYTE address
[3] = 0x00; BYTE
ATWINC acknowledges the command by sending three bytes [C4] [0] [F3].
Then the ATWINC chip sends the value of the register 0x01 which equals 0x01.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
114
Command CMD_INTERNAL_WRITE: C3 /* internal register write */
BYTE [0] = CMD_INTERNAL_WRITE
BYTE [1] = address >> 8; /* */ address = 0x01
BYTE [1] |= (1 << 7); /* */ clockless register
BYTE [2] = address;
BYTE [3] = u32data >> 24; /* */ Data = 0x03
BYTE [4] = u32data >> 16;
BYTE [5] = u32data >> 8;
BYTE [6]=u32data;
ATWINC acknowledges the command by sending two bytes [C3] [0].
Command CMD_INTERNAL_READ: 0xC4 /* */ internal register read
BYTE [0] = CMD_INTERNAL_READ
BYTE [1] = address >> 8; /* */ address = 0x0F
BYTE [1] |= (1 << 7); /* */ clockless register
BYTE [2] = address;
BYTE [3] = 0x00;
ATWINC acknowledges the command by sending three bytes [C4] [0] [F3].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
115
Then WINC chip sends the value of the register 0x01 which equals 0x07. AT
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* WAKE_REG address = 0x1074 */
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* WAKE_VALUE Data = 0x5678 */
BYTE [5] = u32data >> 1 6;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;
The chip acknowledges the command by sending two bytes [C9] [0].
At this point, HIF nishes executing the clockless wakeup of the WINC chip. AT
The HIF layer Prepares and Sets the HIF layer header to NMI_STATE_REG register (4 | 8 Byte header
describing the packet to be sent).

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
116
Set BIT [1] of WIFI_HOST_RCV_CTRL_2 register to raise an interrupt to the chip.
sint8 uint8 hif_send( u8Gid u8Opcode pu8CtrlBuf u16CtrlBufSize,uint8 , *uint8 ,uint16 ,
uint8 * ,pu8DataBuf uint16 uint16 u16DataSize, u16DataOset)
{
volatile tstrHifHdr strHif;
; volatile uint32 reg
strHif u8Opcode. = u8Opcode&(~NBIT7);
strHif u8Gid. = u8Gid;
strHif.u16Length =M2M_HIF_HDR_OFFSET;
strHif.u16Length += u16CtrlBufSize;
ret =nm_clkless_wake();
reg = 0UL;
reg |= ( ) ; uint32 u8Gid
reg |= ((uint32) <<8); u8Opcode
reg |= ((uint32) . <<16); strHif u16Length
ret =nm_write_reg( , NMI_STATE_REG reg);
reg = 0;
reg |= (1<<1);
ret =nm_write_reg(WIFI_HOST_RCV_CTRL_2, reg);
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* NMI_STATE_REG address = 0x180c */
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x000C3001 */
BYTE [5] = u32data >> 16; /* 0x0C is the length and equals 12 */
BYTE [6] = u32data >> 8; /* 0x30 is the Opcode =
M2M_WIFI_REQ_SET_SCAN_REGION */
BYTE [7] = u32data; /* 0x01 is the Group ID = M2M_REQ_GRP_WIFI */
ATWINC acknowledges the command by sending two bytes [C9] [0].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
117
Command CMD_SINGLE_WRITE:0XC9/* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* address = 0x1087*/ WIFI_HOST_RCV_CTRL_2
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x02 */
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;
ATWINC acknowledges the command by sending two bytes [C9] [0].
Then HIF polls for DMA address.
for ( = < 1000; cnt 0; cnt cnt ++)
{
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_2,(uint32 *)& reg);
if(ret != M2M_SUCCESS) ; break
if (!(reg & 0x2))
{
ret =nm_read_reg_with_ret(0x150400,( *)&uint32 dma_addr);
/*in case of success break */
break;
}
}
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1078 */WIFI_HOST_RCV_CTRL_2
BYTE [2] = address >> 8;
BYTE [3] = address;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
118
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip send the value of the register 0x1078 which equals 0x00.
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1504 */
BYTE ][2 = address >> 8;
BYTE [3] = address;
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
119
Then the ATWINC chip send the value of the register 0x1504 which equals 0x037AA0.
ATWINC writes the HIF header to the DMA memory address.
u32CurrAddr = ; dma_addr
strHif.u16Length=NM_BSP_B_L_16( . strHif u16Length);
ret =nm_write_block(u32CurrAddr, ( *)& ,uint8 strHif M2M_HIF_HDR_OFFSET);
Command CMD_DMA_EXT_WRITE 0xC7: /* DMA extended write */
BYTE [0] = CMD_DMA_EXT_WRITE
BYTE [1] = address >> 16; /* address = 0x037AA0 */
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = size >> 16; /* size = 0x08 */
BYTE [5] = size >> 8;
BYTE [6] = size;
ATWINC acknowledges the command by sending three bytes [C7] [0] [F3].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
120
The HIF layer writes the Data.
HIF writes the Control Buffer data (part of the framing of the request).
if (pu8CtrlBuf != NULL)
{
ret =nm_write_block(u32CurrAddr pu8CtrlBuf u16CtrlBufSize, , );
if(M2M_SUCCESS != ret ERR1) goto ;
u32CurrAddr u16CtrlBufSize += ;
}
Command CMD_DMA_EXT_WRITE 0xC7: /* DMA extended write */
BYTE [0] = CMD_DMA_EXT_WRITE
BYTE [1] = address >> 16; /* address = 0x037AA8 */
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = size >> 16; /* size = 0x04 */
BYTE [5] = size >> 8;
BYTE [6] = size;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
121
ATWINC acknowledges the command by sending three bytes [C7] [0] [F3].
HIF layer writes the Data.
Finally, HIF finished writing the request data to memory and is going to interrupt the chip announcing that host
TX is done.
reg dma_addr = << 2;
reg |= (1 << 1);
ret reg =nm_write_reg( ,WIFI_HOST_RCV_CTRL_3 );
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* address = 0x106C */ WIFI_HOST_RCV_CTRL_3
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x000DEA82 */
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
122
ATWINC acknowledges the command by sending t bytes [C9] [0]. wo
HIF layer allows the chip to enter sleep mode again.
sint8 hif_chip_sleep( ) void
{
sint8 ret =M2M_SUCCESS;
uint32 reg = 0;
ret =nm_write_reg( ,WAKE_REG SLEEP_VALUE);
/* Clear bit 1 */
ret =nm_read_reg_with_ret(0x1, & reg);
if( &0x2) reg
{
reg &=~(1 << 1);
ret =nm_write_reg(0x1, reg);
}
}
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* address = 0x1074 */ WAKE_REG
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x4321 */SLEEP_VALUE
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
123
ATWINC acknowledges the command by sending two bytes [C9] [0].
Command CMD_INTERNAL_READ: 0xC4 /* internal register read */
BYTE [0] = CMD_INTERNAL_READ
BYTE [1] = address >> 8; /* address = 0x01 */
BYTE [1] |= (1 << 7); /* clockless register */
BYTE [2] = address;
BYTE [3] = 0x00;
ATWINC acknowledges the command by sending three bytes [C4] [0] [F3].
Then the ATWINC chip sends the value of the register 0x01 which equals 0x03.
Command CMD_INTERNAL_WRITE: C3 /* internal register write */
BYTE [0] = CMD_INTERNAL_WRITE
BYTE [1] = address >> 8; /* address = 0x01 */
BYTE [1] |= (1 << 7); /* clockless register */
BYTE [2] = address;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
124
BYTE [3] = u32data >> 24; /* Data = 0x01 */
BYTE [4] = u32data >> 16;
BYTE [5] = u32data >> 8;
BYTE [6] = u32data;
The WINC chip acknowledges the command by sending two bytes [C3] [0]. AT
At this point, the HIF layer has finished posting the scan Wi-Fi request to the WINC chip and the request is AT
being processed by the chip.
17.3.2 RX (Receive Response)
After finishing the required operation (scan Wi-Fi) the WINC will interrupt the Host announcing that the AT
request has been processed.
Host will handle this interrupt to receive the response.
First step in hif_isr ( ) is to wake up the WINC chip. AT
sint8 nm_clkless_wake( ) void
{
ret =nm_read_reg_with_ret(0x1, & reg);
/* Set bit 1 */
ret =nm_write_reg(0x1, | reg (1 << 1));
// Check the clock status
ret =nm_read_reg_with_ret(clk_status_reg_adr clk_status_reg, & );
// Tell Firmware that Host waked up the chip
ret =nm_write_reg( ,WAKE_REG WAKE_VALUE);
return ret;
}
Command CMD_INTERNAL_READ: 0xC4 /* internal register read */
BYTE [0] = CMD_INTERNAL_READ
BYTE [1] = address >> 8; /* address = 0x01 */
BYTE [1] |= (1 << 7); /* clockless register */
BYTE [2] = address;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
125
BYTE [3] = 0x0 0;
ATWINC acknowledges the command by sending three bytes [C4] [0] [F3].
Then the ATWINC chip sends the value of the register 0x01 which equals 0x01.
Command CMD_INTERNAL_WRITE: C3 /* internal register write */
BYTE [0] = CMD_INTERNAL_WRITE
BYTE [1] = address >> 8; /* address = 0x01
*/
BYTE [1] |= (1 << 7); /* clockless register */
BYTE [2] = address;
BYTE [3] = u32data >> 24; /* Data = 0x03 */
BYTE [4] = u32data >> 16;
BYTE [5] = u32data >> 8;
BYTE [6] = u32data;
ATWINC acknowledges the command by sending two bytes [C3] [0].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
126
Command CMD_INTERNAL_READ: 0xC4 /* internal register read */
BYTE [0] = CMD_INTERNAL_READ
BYTE [1] = address >> 8; /* address = 0x0F
*/
BYTE [1] |= (1 << 7); /* ockless register cl */
BYTE [2] = address;
BYTE [3] = 0x00;
ATWINC acknowledges the command by sending three bytes [C4] [0] [F3].
Then the ATWINC chip sends the value of the register 0x01 which equals 0x07.
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* address = 0x1074 */ WAKE_REG
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x5678 */WAKE_VALUE
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
127
The chip acknowledges the command by sending two bytes [C9] [0].
Read register WIFI_HOST_RCV_CTRL_0 to check if there is new interrupt, and if so, clear it (as it will be
handled now).
static sint8 hif_isr( ) void
{
sint8 ret ;
uint32 reg;
volatile tstrHifHdr strHif;
ret =hif_chip_wake();
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_0, & reg);
if(reg & 0x1) /* New interrupt has been received */
{
uint16 size;
/*Clearing RX interrupt*/
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_0,®);
reg &= ~(1<<0);
ret =nm_write_reg(WIFI_HOST_RCV_CTRL_0,reg);
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1070 */WIFI_HOST_RCV_CTRL_0
BYTE [2] = address >> 8;
BYTE [3] = address;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
128
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip sends the value of the register 0x1070 which equals 0x31.
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1070 */WIFI_HOST_RCV_CTRL_0
BYTE [2] = address >> 8;
BYTE [3] = address;
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
129
Then WINC chip sends the value of the register 0x1070 which equals 0x31. the AT
Clear the WINC Interrupt. AT
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* ddress = 0x1070 */ WIFI_HOST_RCV_CTRL_0 a
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x30 */
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;
The chip acknowledges the command by sending two bytes [C9] [0].
Then HIF reads the data size.
/* read the rx size */
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_0, & reg);

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
130
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1070 */WIFI_HOST_RCV_CTRL_0
BYTE [2] = address >> 8;
BYTE [3] = address;
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip sends the value of the register 0x1070 which equals 0x30.
HIF reads hif header address.
/** start bus transfer**/
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_1, & address);
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1084 */WIFI_HOST_RCV_CTRL_1
BYTE [2] = address >> 8;
BYTE [3] = address;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
131
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip sends the value of the register 0x1078 which equals 0x037AB0.
HIF reads the hif header data (as a block).
ret address strHif =nm_read_block( , ( *)& uint8 , ( sizeof tstrHifHdr));
Command CMD_DMA_EXT_READ : C8 /* dma extended read */
BYTE [0] = CMD_DMA_EXT_READ
BYTE [1] = address >> 16; /* address = 0x037AB0*/
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = size >> 16;
BYTE [5] = size >>;
BYTE [6] = size;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
132
ATWINC acknowledges the command by sending three bytes [C8] [0] [F3].
ATWINC sends the data block (four bytes).
HIF then calls the appropriate handler according to the hif header received which tries to receive the Response
data payload. (Note that hif_receive ( ) obtains some data again for checks.)
sint8 hif_receive( ,uint32 u32Addr uint8 uint16 * ,pu8Buf u16Sz isDone, uint8 )
{
uint32 address,reg;
uint16 size;
sint8 ret =M2M_SUCCESS;
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_0,®);
size = (uint16)((reg >> 2) & 0xfff);
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_1,&address);
/* Receive the payload */
ret =nm_read_block(u32Addr, , pu8Buf u16Sz);
}
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1070 */WIFI_HOST_RCV_CTRL_0
BYTE [2] = address >> 8;
BYTE [3] = address;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
133
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip sends the value of the register 0x1070 which equals 0x30.
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1084 */WIFI_HOST_RCV_CTRL_1
BYTE [2] = address >> 8;
BYTE [3] = address;
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip sends the value of the register 0x1078 which equals 0x037AB0.

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
134
Command CMD_DMA_EXT_READ : C8 /* dma extended read */
BYTE [0] = CMD_DMA_EXT_READ
BYTE [1] = address >> 16; /* address = 0x037AB8*/
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = size >> 16;
BYTE [5] = size >>;
BYTE [6] = size;
ATWINC acknowledges the command by sending three bytes [C8] [0] [F3].
ATWINC sends the data block (four bytes).

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
135
Now, after HIF layer received the response, it interrupts the chip to announce host RX is done.
static sint8 hif_set_rx_done( ) void
{
uint32 reg;
sint8 ret =M2M_SUCCESS;
ret =nm_read_reg_with_ret(WIFI_HOST_RCV_CTRL_0,®);
/* Set RX Done */
reg |= (1<<1);
ret =nm_write_reg(WIFI_HOST_RCV_CTRL_0, reg);
}
Command CMD_SINGLE_READ 0xCA : /* single word (4 bytes) read */
BYTE [0] = CMD_SINGLE_READ
BYTE [1] = address >> 16; /* address = 0x1070 */WIFI_HOST_RCV_CTRL_0
BYTE [2] = address >> 8;
BYTE [3] = address;
ATWINC acknowledges the command by sending three bytes [CA] [0] [F3].
Then the ATWINC chip sends the value of the register 0x1070 which equals 0x30.
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* ddress = 0x1070 */ WIFI_HOST_RCV_CTRL_0 a
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x32*/
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
136
The chip acknowledges the command by sending two bytes [C9] [0].
The HIF layer allows the chip to enter sleep mode again.
sint8 hif_chip_sleep( ) void
{
sint8 ret =M2M_SUCCESS;
uint32 reg = 0;
ret =nm_write_reg( ,WAKE_REG SLEEP_VALUE);
/* Clear bit 1 */
ret =nm_read_reg_with_ret(0x1, & reg);
if( &0x2) reg
{
reg &=~(1 << 1);
ret =nm_write_reg(0x1, reg);
}
}
Command CMD_SINGLE_WRITE:0XC9 /* single word write */
BYTE [0] = CMD_SINGLE_WRITE
BYTE [1] = address >> 16; /* address = 0x1074 */ WAKE_REG
BYTE [2] = address >> 8;
BYTE [3] = address;
BYTE [4] = u32data >> 24; /* Data = 0x4321 */SLEEP_VALUE
BYTE [5] = u32data >> 16;
BYTE [6] = u32data >> 8;
BYTE [7] = u32data;

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
137
ATWINC acknowledges the command by sending two bytes [C9] [0].
Command CMD_INTERNAL_READ: 0xC4 /* internal register read */
BYTE [0] = CMD_INTERNAL_READ
BYTE [1] = address >> 8; /* address = 0x01 */
BYTE [1] |= (1 << 7); /* clockless register */
BYTE [2] = address;
BYTE [3] = 0x00;
ATWINC acknowledges the command by sending three bytes [C4] [0] [F3].

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
138
Then the ATWINC chip sends the value of the register 0x01 which equals 0x03.
Command CMD_INTERNAL_WRITE: C3 /* internal register write */
BYTE [0] = CMD_INTERNAL_WRITE
BYTE [1] = address >> 8; /* address = 0x01 */
BYTE [1] |= (1 << 7); /* clockless register */
BYTE [2] = address;
BYTE [3] = u32data >> 24; /* Data = 0x01 */
BYTE [4] = u32data >> 16;
BYTE [5] = u32data >> 8;
BYTE [6] = u32data;
The WINC chip acknowledges the command by sending two bytes [C3] [0]. AT
Scan Wi-Fi request has been sent to the WINC chip and the response is sent to the host successfully. AT

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
139
Appendix A. How to Generate Certificates
A.1 Introduction
This chapter explains the required procedures to create and sign custom certificates using OpenSSL, to use
this guide you must install OpenSSL to your machine.
OpenSSL is an open-source implementation of the SSL and TLS protocols. The core library, written in the C
programming language, implements basic cryptographic functions and provides various utility functions.
OpenSSL can be found here: https://www.openssl.org
A.2 Steps
After installing OpenSSL, open a CMD prompt and navigate to the directory where OpenSSL was installed
(e.g.: C:\OpenSSL-Win64\bin).
First you need to generate a key for our The CA (certification authority). To generate a 4096-bit long
RSA (will create a new file CA_KEY.key to store the random key):
CMD: openssl genrsa -out CA_KEY.key 4096
Next, create your self-signed root CA certificate CA_CERT.crt; you’ll need to provide some data for your
Root certificate.
CMD: openssl req -new - -days 1826 -key CA_KEY.key -out CA_CERT.crtx509
Next step is to create the custom certificate which will be signed by the CA root certificate created earlier.
First, generate the key:
CMD: openssl genrsa -out Custom.key 4096
Using the key generated above, you should generate a certificate request file (csr):
CMD: openssl req -new -key Custom.key -out CertReq.csr
Finally: process the request for the certificate and get it signed by the root CA.
CMD: openssl x509 -req -days 730 -in CertReq.csr -CA CA_CERT.crt -CAkey
CA_KEY.key -set_serial 01 -out CustomCert.crt

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
140
Appendix B. X.509 Certificate Format and Conversion
B.1 Introduction
The most known encodings for the X.509 digital certificates are PEM and DER formats.
The PEM format is base64 encoding of the DER enclosed with between
" BEGIN CERTIFICATE " and " END CERTIFICATE ----- ----- ----- -----".
B.2 Conversion Between Different Formats
The current implementation of the ATWINC root_certificate_downloader supports only DER format. So, if the
certificate is not in DER it must be converted to DER. This conversion can be done by several methods as
described in the following sub-sections.
B.2.1 Using Windows
From Windows ®, double click on the .pem certificate file and then go to Details Tab and press “Copy to File”.
Follow the wizard until finish.
B.2.2 Using OpenSSL
The famous OpenSSL could be used for certificate conversion by the following command.
B.2.3 Online Conversion
There are useful online tools which provide conversion between certificate formats, which can be found
through searching online using keywords such as "OpenSSL".

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
141
Appendix C. How to Download the Certificate into the ATWINC
C.1 Overview
The WINC save the certificate inside the SPI flash in 4K sector (so the maximum size of all certificates iAT n
flash should be less than 4K).
C.2 Certificate Downloading
To download the root certificate Execute the batch file inside the release package: RootCertDownload.bat
I2C Downloader
/src/Tools/root_certificate_downloader/debug_I2C/RootCertDownload.bat
UART Downloader
/src/Tools/root_certificate_downloader/debug UART/RootCertDownload.bat
C.3 Adding New Certificate
Open the file RootCertDownload.bat. There you find the following command:
root_certificate_downloader -n 2 NMA_Root.cer PROWL_Root.c er
Update the batch for example to add NMI_root.cer (by update the n number of certificated and add the
new certificate to the argument)
root_certificate_downloader - 3 NMA_Root.cer PROWL_Root.cer NMI_root.cer n

ATWINC3400 Wi-Fi/BLE Network Controller Software Design Guide [USER GUIDE]
Atmel- -ATWINC3400-WiFi-BLE-Network-Controller-Software-Design-Guide_UserGuide 42016 42566A _0
142
Appendix D. Firmware Image Downloader
The Firmware Downloader script use the EDBG SAMD21/W25 UART as the main interface.
1. Downloads the serial bridge application on the SAMD21/W25 using the Atmel atprogram.exe.
2. After downloading, the application will initialize the WINC in download mode and start listen on EDBG AT
UART for UART commands.
3. The application will convert the UART commands to SPI commands.
4. The script will wait a couple of seconds until the application initialization finishes, then executes the
firmware downloader, and the gain builder given the UART argument and the firmware/gain sheets path
argument.
D.1 Preparing Environment
After connecting SAM D21 Debug USB and WINC Virtual COM Port USB port to computer, make sure that AT
their drivers are already installed and correctly detected by Windows.
The WINC COM Port is configured (460800N-8-1) for Debug traces. AT
To check this, here are the steps for Windows XP and 7:
1. Right click on the icon “My Computer” and a menu will appear. Scroll down and select “Manage”. The
following “Computer Management” window will appear:
Product specificaties
Merk: | Microchip |
Categorie: | Niet gecategoriseerd |
Model: | ATWINC3400-IC |
Heb je hulp nodig?
Als je hulp nodig hebt met Microchip ATWINC3400-IC stel dan hieronder een vraag en andere gebruikers zullen je antwoorden
Handleiding Niet gecategoriseerd Microchip

11 Maart 2025

11 Maart 2025

25 Februari 2025

25 Februari 2025

25 Februari 2025

25 Februari 2025

25 Februari 2025

25 Februari 2025

25 Februari 2025

25 Februari 2025
Handleiding Niet gecategoriseerd
- Niet gecategoriseerd Electrolux
- Niet gecategoriseerd Braun
- Niet gecategoriseerd Bosch
- Niet gecategoriseerd Philips
- Niet gecategoriseerd HP
- Niet gecategoriseerd IKEA
- Niet gecategoriseerd Candy
- Niet gecategoriseerd Sony
- Niet gecategoriseerd Samsung
- Niet gecategoriseerd Delonghi
- Niet gecategoriseerd Indesit
- Niet gecategoriseerd Xiaomi
- Niet gecategoriseerd Casio
- Niet gecategoriseerd Panasonic
- Niet gecategoriseerd Nikon
- Niet gecategoriseerd Epson
- Niet gecategoriseerd Brondi
- Niet gecategoriseerd LG
- Niet gecategoriseerd Huawei
- Niet gecategoriseerd Asus
- Niet gecategoriseerd AEG
- Niet gecategoriseerd ATAG
- Niet gecategoriseerd Bauknecht
- Niet gecategoriseerd BEKO
- Niet gecategoriseerd Canon
- Niet gecategoriseerd Daewoo
- Niet gecategoriseerd DeWalt
- Niet gecategoriseerd Etna
- Niet gecategoriseerd Ford
- Niet gecategoriseerd Fysic
- Niet gecategoriseerd Garmin
- Niet gecategoriseerd Grundig
- Niet gecategoriseerd Honeywell
- Niet gecategoriseerd Inventum
- Niet gecategoriseerd JVC
- Niet gecategoriseerd JBL
- Niet gecategoriseerd Junkers
- Niet gecategoriseerd Kenwood
- Niet gecategoriseerd Krups
- Niet gecategoriseerd Karcher
- Niet gecategoriseerd Lego
- Niet gecategoriseerd Liebherr
- Niet gecategoriseerd Miele
- Niet gecategoriseerd Motorola
- Niet gecategoriseerd Medion
- Niet gecategoriseerd Nokia
- Niet gecategoriseerd Olympus
- Niet gecategoriseerd Onkyo
- Niet gecategoriseerd Pioneer
- Niet gecategoriseerd Quigg
- Niet gecategoriseerd Ravensburger
- Niet gecategoriseerd Siemens
- Niet gecategoriseerd Tefal
- Niet gecategoriseerd Toshiba
- Niet gecategoriseerd Unold
- Niet gecategoriseerd Vaillant
- Niet gecategoriseerd Volvo
- Niet gecategoriseerd VTech
- Niet gecategoriseerd Whirlpool
- Niet gecategoriseerd WOLF-Garten
- Niet gecategoriseerd Wiko
- Niet gecategoriseerd Yamaha
- Niet gecategoriseerd Yealink
- Niet gecategoriseerd Zanussi
- Niet gecategoriseerd Zibro
- Niet gecategoriseerd Hoover
- Niet gecategoriseerd A.O. Smith
- Niet gecategoriseerd A3
- Niet gecategoriseerd A4tech
- Niet gecategoriseerd ABB
- Niet gecategoriseerd ABC Design
- Niet gecategoriseerd Absima
- Niet gecategoriseerd Abus
- Niet gecategoriseerd ACCU-CHEK
- Niet gecategoriseerd Acer
- Niet gecategoriseerd ACME
- Niet gecategoriseerd Acoustic Solutions
- Niet gecategoriseerd Act
- Niet gecategoriseerd Acti
- Niet gecategoriseerd Ade
- Niet gecategoriseerd Adidas
- Niet gecategoriseerd Adler
- Niet gecategoriseerd Aduro
- Niet gecategoriseerd Advance Acoustic
- Niet gecategoriseerd Adventuridge
- Niet gecategoriseerd AEA
- Niet gecategoriseerd Aeris
- Niet gecategoriseerd Afk
- Niet gecategoriseerd Ag Neovo
- Niet gecategoriseerd Airlive
- Niet gecategoriseerd Airlux
- Niet gecategoriseerd Aiwa
- Niet gecategoriseerd Akai
- Niet gecategoriseerd Akasa
- Niet gecategoriseerd Akg
- Niet gecategoriseerd Al-ko
- Niet gecategoriseerd Albrecht
- Niet gecategoriseerd Alcatel
- Niet gecategoriseerd Alcon
- Niet gecategoriseerd Alecto
- Niet gecategoriseerd Alesis
- Niet gecategoriseerd Alfen
- Niet gecategoriseerd Alienware
- Niet gecategoriseerd Aligator
- Niet gecategoriseerd Allibert
- Niet gecategoriseerd Allied Telesis
- Niet gecategoriseerd Allnet
- Niet gecategoriseerd Alpen Kreuzer
- Niet gecategoriseerd Alphatronics
- Niet gecategoriseerd Alpina
- Niet gecategoriseerd Alpine
- Niet gecategoriseerd Alto
- Niet gecategoriseerd Aluratek
- Niet gecategoriseerd Amana
- Niet gecategoriseerd Amazfit
- Niet gecategoriseerd Amazon
- Niet gecategoriseerd Ambiano
- Niet gecategoriseerd Ambrogio
- Niet gecategoriseerd American Audio
- Niet gecategoriseerd Amfra
- Niet gecategoriseerd Amica
- Niet gecategoriseerd Amiko
- Niet gecategoriseerd Ampeg
- Niet gecategoriseerd Amplicom
- Niet gecategoriseerd Amprobe
- Niet gecategoriseerd Anker
- Niet gecategoriseerd Ansmann
- Niet gecategoriseerd Antec
- Niet gecategoriseerd AOC
- Niet gecategoriseerd AOpen
- Niet gecategoriseerd Apa
- Niet gecategoriseerd Apart
- Niet gecategoriseerd Apc
- Niet gecategoriseerd Apple
- Niet gecategoriseerd Aprilia
- Niet gecategoriseerd Aqara
- Niet gecategoriseerd Aquapur
- Niet gecategoriseerd Arcelik
- Niet gecategoriseerd Archos
- Niet gecategoriseerd Arendo
- Niet gecategoriseerd Argon
- Niet gecategoriseerd Argus
- Niet gecategoriseerd Ariete
- Niet gecategoriseerd Arris
- Niet gecategoriseerd Artsound
- Niet gecategoriseerd Arturia
- Niet gecategoriseerd AS - Schwabe
- Niet gecategoriseerd Asaklitt
- Niet gecategoriseerd Ascom
- Niet gecategoriseerd Asko
- Niet gecategoriseerd Aspen
- Niet gecategoriseerd Asrock
- Niet gecategoriseerd Astralpool
- Niet gecategoriseerd Astro
- Niet gecategoriseerd Atika
- Niet gecategoriseerd Atlantic
- Niet gecategoriseerd Atlas
- Niet gecategoriseerd ATN
- Niet gecategoriseerd ATP
- Niet gecategoriseerd Audio Pro
- Niet gecategoriseerd Audio-Technica
- Niet gecategoriseerd Audiolab
- Niet gecategoriseerd Audioline
- Niet gecategoriseerd Audiovox
- Niet gecategoriseerd Audison
- Niet gecategoriseerd Aukey
- Niet gecategoriseerd Auna
- Niet gecategoriseerd Auriol
- Niet gecategoriseerd Autel
- Niet gecategoriseerd Autotek
- Niet gecategoriseerd Avanti
- Niet gecategoriseerd Avaya
- Niet gecategoriseerd AVM
- Niet gecategoriseerd AVTech
- Niet gecategoriseerd Axa
- Niet gecategoriseerd Axis
- Niet gecategoriseerd Axkid
- Niet gecategoriseerd B-tech
- Niet gecategoriseerd Baby Jogger
- Niet gecategoriseerd Baby Lock
- Niet gecategoriseerd BabyGO
- Niet gecategoriseerd BabyHome
- Niet gecategoriseerd BaByliss
- Niet gecategoriseerd Babymoov
- Niet gecategoriseerd Babyzen
- Niet gecategoriseerd Balance
- Niet gecategoriseerd Balay
- Niet gecategoriseerd Barco
- Niet gecategoriseerd Bartscher
- Niet gecategoriseerd Basetech
- Niet gecategoriseerd Batavia
- Niet gecategoriseerd Bavaria
- Niet gecategoriseerd Be Cool
- Niet gecategoriseerd Beaba
- Niet gecategoriseerd Beafon
- Niet gecategoriseerd BeamZ
- Niet gecategoriseerd Bebe Confort
- Niet gecategoriseerd Beem
- Niet gecategoriseerd Beha-Amprobe
- Niet gecategoriseerd Behringer
- Niet gecategoriseerd Belgacom
- Niet gecategoriseerd Belkin
- Niet gecategoriseerd Bellini
- Niet gecategoriseerd Benning
- Niet gecategoriseerd BenQ
- Niet gecategoriseerd Beper
- Niet gecategoriseerd Berkel
- Niet gecategoriseerd Berker
- Niet gecategoriseerd Berner
- Niet gecategoriseerd Bernina
- Niet gecategoriseerd Bertazzoni
- Niet gecategoriseerd BeSafe
- Niet gecategoriseerd Bestron
- Niet gecategoriseerd Bestway
- Niet gecategoriseerd Beurer
- Niet gecategoriseerd Beyerdynamic
- Niet gecategoriseerd BH Fitness
- Niet gecategoriseerd Bialetti
- Niet gecategoriseerd Bifinett
- Niet gecategoriseerd Bigben
- Niet gecategoriseerd Bikemate
- Niet gecategoriseerd Binatone
- Niet gecategoriseerd Bionaire
- Niet gecategoriseerd Bissell
- Niet gecategoriseerd Black Decker
- Niet gecategoriseerd Blade
- Niet gecategoriseerd Blaupunkt
- Niet gecategoriseerd Blaze
- Niet gecategoriseerd Blomberg
- Niet gecategoriseerd Blue
- Niet gecategoriseerd Bluebird
- Niet gecategoriseerd BlueBuilt
- Niet gecategoriseerd Bluesound
- Niet gecategoriseerd Blumfeldt
- Niet gecategoriseerd BMW
- Niet gecategoriseerd Bodum
- Niet gecategoriseerd Body Sculpture
- Niet gecategoriseerd Body Solid
- Niet gecategoriseerd BodyCraft
- Niet gecategoriseerd Bomann
- Niet gecategoriseerd Boneco
- Niet gecategoriseerd Bopita
- Niet gecategoriseerd Bora
- Niet gecategoriseerd Bose
- Niet gecategoriseerd Boso
- Niet gecategoriseerd Boss
- Niet gecategoriseerd Bowflex
- Niet gecategoriseerd Brabantia
- Niet gecategoriseerd Brandson
- Niet gecategoriseerd Brandt
- Niet gecategoriseerd Braun Phototechnik
- Niet gecategoriseerd Bravilor Bonamat
- Niet gecategoriseerd Brennenstuhl
- Niet gecategoriseerd Bresser
- Niet gecategoriseerd Brevi
- Niet gecategoriseerd Breville
- Niet gecategoriseerd BrightSign
- Niet gecategoriseerd Brigmton
- Niet gecategoriseerd Brinno
- Niet gecategoriseerd Brinsea
- Niet gecategoriseerd Brita
- Niet gecategoriseerd Britax
- Niet gecategoriseerd Britax-Romer
- Niet gecategoriseerd Brother
- Niet gecategoriseerd Bruder Mannesmann
- Niet gecategoriseerd Bruynzeel
- Niet gecategoriseerd Bryton
- Niet gecategoriseerd BT
- Niet gecategoriseerd Buffalo
- Niet gecategoriseerd Bugaboo
- Niet gecategoriseerd Bullet
- Niet gecategoriseerd Bunn
- Niet gecategoriseerd Burg-Wachter
- Niet gecategoriseerd Burley
- Niet gecategoriseerd Bushnell
- Niet gecategoriseerd Butler
- Niet gecategoriseerd BWT
- Niet gecategoriseerd Byron
- Niet gecategoriseerd D-Jix
- Niet gecategoriseerd D-Link
- Niet gecategoriseerd Daikin
- Niet gecategoriseerd Daitsu
- Niet gecategoriseerd Dali
- Niet gecategoriseerd Danfoss
- Niet gecategoriseerd DAP Audio
- Niet gecategoriseerd Datalogic
- Niet gecategoriseerd Davis
- Niet gecategoriseerd Definitive Technology
- Niet gecategoriseerd Defy
- Niet gecategoriseerd Dell
- Niet gecategoriseerd DeLock
- Niet gecategoriseerd Delta
- Niet gecategoriseerd Denon
- Niet gecategoriseerd Denver
- Niet gecategoriseerd Devialet
- Niet gecategoriseerd Devolo
- Niet gecategoriseerd Digi
- Niet gecategoriseerd Digitech
- Niet gecategoriseerd Digitus
- Niet gecategoriseerd Dimplex
- Niet gecategoriseerd DIO
- Niet gecategoriseerd Dirt Devil
- Niet gecategoriseerd DJI
- Niet gecategoriseerd Dnt
- Niet gecategoriseerd Dobar
- Niet gecategoriseerd DOD
- Niet gecategoriseerd Dolmar
- Niet gecategoriseerd Dometic
- Niet gecategoriseerd Domo
- Niet gecategoriseerd Domyos
- Niet gecategoriseerd Doro
- Niet gecategoriseerd Dorr
- Niet gecategoriseerd Draytek
- Niet gecategoriseerd Drayton
- Niet gecategoriseerd Dream
- Niet gecategoriseerd Dreamland
- Niet gecategoriseerd Dremel
- Niet gecategoriseerd Dual
- Niet gecategoriseerd Dualit
- Niet gecategoriseerd Dunlop
- Niet gecategoriseerd Duro
- Niet gecategoriseerd Duromax
- Niet gecategoriseerd Duronic
- Niet gecategoriseerd Duux
- Niet gecategoriseerd Dymo
- Niet gecategoriseerd Dymond
- Niet gecategoriseerd Dyson
- Niet gecategoriseerd Easy Home
- Niet gecategoriseerd Easymaxx
- Niet gecategoriseerd Easypix
- Niet gecategoriseerd Eaton
- Niet gecategoriseerd EBERLE
- Niet gecategoriseerd Eberspacher
- Niet gecategoriseerd Echo
- Niet gecategoriseerd Echowell
- Niet gecategoriseerd ECTIVE
- Niet gecategoriseerd Eden
- Niet gecategoriseerd Edesa
- Niet gecategoriseerd Edgestar
- Niet gecategoriseerd Edilkamin
- Niet gecategoriseerd Edimax
- Niet gecategoriseerd Edision
- Niet gecategoriseerd Ednet
- Niet gecategoriseerd Efbe-schott
- Niet gecategoriseerd Eheim
- Niet gecategoriseerd Einhell
- Niet gecategoriseerd Eizo
- Niet gecategoriseerd Elac
- Niet gecategoriseerd Elektrobock
- Niet gecategoriseerd Elgato
- Niet gecategoriseerd Elica
- Niet gecategoriseerd Elite
- Niet gecategoriseerd Elmo
- Niet gecategoriseerd Elro
- Niet gecategoriseerd Elta
- Niet gecategoriseerd Ematic
- Niet gecategoriseerd Emerio
- Niet gecategoriseerd Emerson
- Niet gecategoriseerd Emga
- Niet gecategoriseerd Eminent
- Niet gecategoriseerd Emmaljunga
- Niet gecategoriseerd Emporia
- Niet gecategoriseerd Emtec
- Niet gecategoriseerd Enders
- Niet gecategoriseerd Enduro
- Niet gecategoriseerd Energizer
- Niet gecategoriseerd Energy Sistem
- Niet gecategoriseerd Engel
- Niet gecategoriseerd Engenius
- Niet gecategoriseerd Entes
- Niet gecategoriseerd Envivo
- Niet gecategoriseerd Eonon
- Niet gecategoriseerd EQ-3
- Niet gecategoriseerd Ergobaby
- Niet gecategoriseerd Ernesto
- Niet gecategoriseerd Esperanza
- Niet gecategoriseerd ESX
- Niet gecategoriseerd ESYLUX
- Niet gecategoriseerd ETA
- Niet gecategoriseerd Eufab
- Niet gecategoriseerd Eufy
- Niet gecategoriseerd Eurochron
- Niet gecategoriseerd Eurom
- Niet gecategoriseerd EverFocus
- Niet gecategoriseerd Ewent
- Niet gecategoriseerd EWT
- Niet gecategoriseerd Excalibur
- Niet gecategoriseerd Exit Toys
- Niet gecategoriseerd Expobar
- Niet gecategoriseerd Exquisit
- Niet gecategoriseerd Extech
- Niet gecategoriseerd Ezviz
- Niet gecategoriseerd Faber
- Niet gecategoriseerd FABER CASTELL
- Niet gecategoriseerd Fagor
- Niet gecategoriseerd Fakir
- Niet gecategoriseerd FALLER
- Niet gecategoriseerd Falmec
- Niet gecategoriseerd Fantec
- Niet gecategoriseerd Farberware
- Niet gecategoriseerd Faytech
- Niet gecategoriseerd Fein
- Niet gecategoriseerd Fellowes
- Niet gecategoriseerd Fender
- Niet gecategoriseerd Ferguson
- Niet gecategoriseerd Ferm
- Niet gecategoriseerd Ferroli
- Niet gecategoriseerd Festool
- Niet gecategoriseerd Fiio
- Niet gecategoriseerd Fimer
- Niet gecategoriseerd Finder
- Niet gecategoriseerd Finnlo
- Niet gecategoriseerd FireAngel
- Niet gecategoriseerd Firefriend
- Niet gecategoriseerd FireKing
- Niet gecategoriseerd First Alert
- Niet gecategoriseerd Fischer
- Niet gecategoriseerd Fisher And Paykel
- Niet gecategoriseerd Fisher Paykel
- Niet gecategoriseerd Fisher Price
- Niet gecategoriseerd Fiskars
- Niet gecategoriseerd Fissler
- Niet gecategoriseerd Fitbit
- Niet gecategoriseerd Flamingo
- Niet gecategoriseerd Flex
- Niet gecategoriseerd Flir
- Niet gecategoriseerd Florabest
- Niet gecategoriseerd Fluke
- Niet gecategoriseerd Focal
- Niet gecategoriseerd Focusrite
- Niet gecategoriseerd FoodSaver
- Niet gecategoriseerd Foppapedretti
- Niet gecategoriseerd Formuler
- Niet gecategoriseerd Foscam
- Niet gecategoriseerd Franke
- Niet gecategoriseerd Franklin
- Niet gecategoriseerd Fresh N Rebel
- Niet gecategoriseerd Friedland
- Niet gecategoriseerd Frigidaire
- Niet gecategoriseerd Frilec
- Niet gecategoriseerd Fritel
- Niet gecategoriseerd Fuji
- Niet gecategoriseerd Fujifilm
- Niet gecategoriseerd Fujitsu
- Niet gecategoriseerd Furman
- Niet gecategoriseerd Furuno
- Niet gecategoriseerd Fusion
- Niet gecategoriseerd Fuxtec
- Niet gecategoriseerd G3 Ferrari
- Niet gecategoriseerd Gaggenau
- Niet gecategoriseerd Gaggia
- Niet gecategoriseerd Galanz
- Niet gecategoriseerd Gamma
- Niet gecategoriseerd Ganz
- Niet gecategoriseerd GAO
- Niet gecategoriseerd Garden Feelings
- Niet gecategoriseerd Garden Lights
- Niet gecategoriseerd Gardena
- Niet gecategoriseerd Gardenline
- Niet gecategoriseerd Gardol
- Niet gecategoriseerd Gastroback
- Niet gecategoriseerd Gastronoma
- Niet gecategoriseerd Gazelle
- Niet gecategoriseerd GBC
- Niet gecategoriseerd GE
- Niet gecategoriseerd Geemarc
- Niet gecategoriseerd Gembird
- Niet gecategoriseerd Gemini
- Niet gecategoriseerd Generac
- Niet gecategoriseerd Geneva
- Niet gecategoriseerd Genexis
- Niet gecategoriseerd Genius
- Niet gecategoriseerd Geomag
- Niet gecategoriseerd George Foreman
- Niet gecategoriseerd GeoVision
- Niet gecategoriseerd Germania
- Niet gecategoriseerd Geze
- Niet gecategoriseerd Giardino
- Niet gecategoriseerd Gigabyte
- Niet gecategoriseerd Giordani
- Niet gecategoriseerd Gioteck
- Niet gecategoriseerd Gira
- Niet gecategoriseerd Global
- Niet gecategoriseerd GlobalTronics
- Niet gecategoriseerd Globo
- Niet gecategoriseerd Gloria
- Niet gecategoriseerd Goclever
- Niet gecategoriseerd Godox
- Niet gecategoriseerd Goliath
- Niet gecategoriseerd Goobay
- Niet gecategoriseerd Google
- Niet gecategoriseerd GoPro
- Niet gecategoriseerd Gorenje
- Niet gecategoriseerd Gossen
- Niet gecategoriseerd Gossen Metrawatt
- Niet gecategoriseerd Gourmetmaxx
- Niet gecategoriseerd GP
- Niet gecategoriseerd GPO
- Niet gecategoriseerd GPX
- Niet gecategoriseerd Graco
- Niet gecategoriseerd Graef
- Niet gecategoriseerd Gram
- Niet gecategoriseerd Grandstream
- Niet gecategoriseerd Grasslin
- Niet gecategoriseerd GRE
- Niet gecategoriseerd Gree
- Niet gecategoriseerd Greenworks
- Niet gecategoriseerd Grixx
- Niet gecategoriseerd Grizzly
- Niet gecategoriseerd Grohe
- Niet gecategoriseerd Grothe
- Niet gecategoriseerd Ground Zero
- Niet gecategoriseerd Gude
- Niet gecategoriseerd Gutfels
- Niet gecategoriseerd Gymform
- Niet gecategoriseerd Gys
- Niet gecategoriseerd H.Koenig
- Niet gecategoriseerd Habitat
- Niet gecategoriseerd Hager
- Niet gecategoriseerd Haier
- Niet gecategoriseerd Hailo
- Niet gecategoriseerd Hama
- Niet gecategoriseerd Hammer
- Niet gecategoriseerd Hammond
- Niet gecategoriseerd Hamstra
- Niet gecategoriseerd Handicare
- Niet gecategoriseerd Hansa
- Niet gecategoriseerd Hanseatic
- Niet gecategoriseerd Hansgrohe
- Niet gecategoriseerd Hapro
- Niet gecategoriseerd Harman Kardon
- Niet gecategoriseerd Hartan
- Niet gecategoriseerd Hartke
- Niet gecategoriseerd Harvia
- Niet gecategoriseerd Hasbro
- Niet gecategoriseerd Hasselblad
- Niet gecategoriseerd Hauck
- Niet gecategoriseerd Hayward
- Niet gecategoriseerd Heidemann
- Niet gecategoriseerd Helios
- Niet gecategoriseerd Helix
- Niet gecategoriseerd Hendi
- Niet gecategoriseerd Hercules
- Niet gecategoriseerd Hertz
- Niet gecategoriseerd Hifonics
- Niet gecategoriseerd Hikoki
- Niet gecategoriseerd Hikvision
- Niet gecategoriseerd Hirschmann
- Niet gecategoriseerd Hisense
- Niet gecategoriseerd Hitachi
- Niet gecategoriseerd Hobby
- Niet gecategoriseerd Hohner
- Niet gecategoriseerd Holzmann
- Niet gecategoriseerd Home Easy
- Niet gecategoriseerd Homedics
- Niet gecategoriseerd Homelite
- Niet gecategoriseerd Honda
- Niet gecategoriseerd Honor
- Niet gecategoriseerd Horizon
- Niet gecategoriseerd Horizon Fitness
- Niet gecategoriseerd Hotpoint
- Niet gecategoriseerd Hotpoint-Ariston
- Niet gecategoriseerd Hozelock
- Niet gecategoriseerd HQ
- Niet gecategoriseerd HQ Power
- Niet gecategoriseerd HTC
- Niet gecategoriseerd Hugo Muller
- Niet gecategoriseerd Humax
- Niet gecategoriseerd Humminbird
- Niet gecategoriseerd Hunter
- Niet gecategoriseerd Husqvarna
- Niet gecategoriseerd Hyundai
- Niet gecategoriseerd I.safe Mobile
- Niet gecategoriseerd Ibico
- Niet gecategoriseerd Ibm
- Niet gecategoriseerd ICE Watch
- Niet gecategoriseerd Ices
- Niet gecategoriseerd Icom
- Niet gecategoriseerd Icon
- Niet gecategoriseerd ICU
- Niet gecategoriseerd Icy Box
- Niet gecategoriseerd ID-Tech
- Niet gecategoriseerd Ideal
- Niet gecategoriseerd Iget
- Niet gecategoriseerd Igloo
- Niet gecategoriseerd IHealth
- Niet gecategoriseerd IHome
- Niet gecategoriseerd Iiyama
- Niet gecategoriseerd ILive
- Niet gecategoriseerd Iluv
- Niet gecategoriseerd Ilve
- Niet gecategoriseerd Imperial
- Niet gecategoriseerd Infinity
- Niet gecategoriseerd InFocus
- Niet gecategoriseerd Inglesina
- Niet gecategoriseerd Innoliving
- Niet gecategoriseerd Innovaphone
- Niet gecategoriseerd Insignia
- Niet gecategoriseerd Inspire
- Niet gecategoriseerd Insta360
- Niet gecategoriseerd Intenso
- Niet gecategoriseerd Intergas
- Niet gecategoriseerd Interlogix
- Niet gecategoriseerd Intermatic
- Niet gecategoriseerd Intermec
- Niet gecategoriseerd Intex
- Niet gecategoriseerd Invacare
- Niet gecategoriseerd Inverto
- Niet gecategoriseerd Iomega
- Niet gecategoriseerd Ion
- Niet gecategoriseerd Ipevo
- Niet gecategoriseerd IQAir
- Niet gecategoriseerd IRIS
- Niet gecategoriseerd Irobot
- Niet gecategoriseerd Iseki
- Niet gecategoriseerd Itho
- Niet gecategoriseerd Itho-Daalderop
- Niet gecategoriseerd IVT
- Niet gecategoriseerd Kalorik
- Niet gecategoriseerd Kambrook
- Niet gecategoriseerd Kathrein
- Niet gecategoriseerd Kayser
- Niet gecategoriseerd KEF
- Niet gecategoriseerd Kelvinator
- Niet gecategoriseerd Kenko
- Niet gecategoriseerd Kenmore
- Niet gecategoriseerd Kensington
- Niet gecategoriseerd Kerbl
- Niet gecategoriseerd Kern
- Niet gecategoriseerd Keter
- Niet gecategoriseerd Ketron
- Niet gecategoriseerd Keurig
- Niet gecategoriseerd Kicker
- Niet gecategoriseerd Kisag
- Niet gecategoriseerd KitchenAid
- Niet gecategoriseerd Klarfit
- Niet gecategoriseerd Klarstein
- Niet gecategoriseerd KlikaanKlikuit
- Niet gecategoriseerd Klipsch
- Niet gecategoriseerd Knog
- Niet gecategoriseerd Kodak
- Niet gecategoriseerd Koenic
- Niet gecategoriseerd Koenig
- Niet gecategoriseerd Kogan
- Niet gecategoriseerd Kohler
- Niet gecategoriseerd KONFTEL
- Niet gecategoriseerd Konica Minolta
- Niet gecategoriseerd Konig
- Niet gecategoriseerd Kopp
- Niet gecategoriseerd Korg
- Niet gecategoriseerd Korona
- Niet gecategoriseerd Kress
- Niet gecategoriseerd Krontaler
- Niet gecategoriseerd Kruidvat
- Niet gecategoriseerd Kubota
- Niet gecategoriseerd Kupper
- Niet gecategoriseerd Kuppersbusch
- Niet gecategoriseerd Kyocera
- Niet gecategoriseerd LaCie
- Niet gecategoriseerd Lagrange
- Niet gecategoriseerd Laica
- Niet gecategoriseerd Lamax
- Niet gecategoriseerd Lanaform
- Niet gecategoriseerd Lancom
- Niet gecategoriseerd Landmann
- Niet gecategoriseerd Lanzar
- Niet gecategoriseerd Laser
- Niet gecategoriseerd Laserliner
- Niet gecategoriseerd Laurastar
- Niet gecategoriseerd Lava
- Niet gecategoriseerd LD Systems
- Niet gecategoriseerd Legamaster
- Niet gecategoriseerd Leica
- Niet gecategoriseerd Leifheit
- Niet gecategoriseerd Leitz
- Niet gecategoriseerd Lenco
- Niet gecategoriseerd Lenovo
- Niet gecategoriseerd Leotec
- Niet gecategoriseerd Lervia
- Niet gecategoriseerd LevelOne
- Niet gecategoriseerd Lexibook
- Niet gecategoriseerd Lexmark
- Niet gecategoriseerd Life Fitness
- Niet gecategoriseerd Lifespan
- Niet gecategoriseerd Liftmaster
- Niet gecategoriseerd LightZone
- Niet gecategoriseerd Line 6
- Niet gecategoriseerd Linksys
- Niet gecategoriseerd Little Tikes
- Niet gecategoriseerd Livarno
- Niet gecategoriseerd Livington
- Niet gecategoriseerd Livoo
- Niet gecategoriseerd Loewe
- Niet gecategoriseerd Lofrans
- Niet gecategoriseerd Logicom
- Niet gecategoriseerd Logik
- Niet gecategoriseerd Logilink
- Niet gecategoriseerd Logitech
- Niet gecategoriseerd Lorelli
- Niet gecategoriseerd Lorex
- Niet gecategoriseerd Lotus
- Niet gecategoriseerd Lowrance
- Niet gecategoriseerd Lumag
- Niet gecategoriseerd Lupilu
- Niet gecategoriseerd Luvion
- Niet gecategoriseerd Luxman
- Niet gecategoriseerd Luxor
- Niet gecategoriseerd Lynx
- Niet gecategoriseerd M-Audio
- Niet gecategoriseerd Mac Audio
- Niet gecategoriseerd Mackie
- Niet gecategoriseerd Maclaren
- Niet gecategoriseerd Macrom
- Niet gecategoriseerd Maestro
- Niet gecategoriseerd Magic Care
- Niet gecategoriseerd Magic Chef
- Niet gecategoriseerd Maginon
- Niet gecategoriseerd Magma
- Niet gecategoriseerd Magnat
- Niet gecategoriseerd Magnavox
- Niet gecategoriseerd Makita
- Niet gecategoriseerd Maktec
- Niet gecategoriseerd Mamiya
- Niet gecategoriseerd Manhattan
- Niet gecategoriseerd Manitowoc
- Niet gecategoriseerd Manta
- Niet gecategoriseerd Marantz
- Niet gecategoriseerd Marklin
- Niet gecategoriseerd Marmitek
- Niet gecategoriseerd Marquant
- Niet gecategoriseerd Marshall
- Niet gecategoriseerd Martin
- Niet gecategoriseerd Master
- Niet gecategoriseerd Master Lock
- Niet gecategoriseerd Mattel
- Niet gecategoriseerd Max
- Niet gecategoriseerd Maxcom
- Niet gecategoriseerd Maxdata
- Niet gecategoriseerd Maxell
- Niet gecategoriseerd Maxi-Cosi
- Niet gecategoriseerd Maxicool
- Niet gecategoriseerd Maximum
- Niet gecategoriseerd Maxview
- Niet gecategoriseerd Maxwell
- Niet gecategoriseerd Maxxmee
- Niet gecategoriseerd Maxxter
- Niet gecategoriseerd Maytag
- Niet gecategoriseerd MB Quart
- Niet gecategoriseerd McCulloch
- Niet gecategoriseerd Meade
- Niet gecategoriseerd Mebus
- Niet gecategoriseerd Medela
- Niet gecategoriseerd Medeli
- Niet gecategoriseerd Media-tech
- Niet gecategoriseerd Medisana
- Niet gecategoriseerd Mega
- Niet gecategoriseerd Megableu
- Niet gecategoriseerd Megasat
- Niet gecategoriseerd Megger
- Niet gecategoriseerd Meireles
- Niet gecategoriseerd Melinera
- Niet gecategoriseerd Melissa
- Niet gecategoriseerd Melitta
- Niet gecategoriseerd Meradiso
- Niet gecategoriseerd Mercury
- Niet gecategoriseerd Meridian
- Niet gecategoriseerd Merlin
- Niet gecategoriseerd Mesko
- Niet gecategoriseerd Mestic
- Niet gecategoriseerd Metabo
- Niet gecategoriseerd Metrel
- Niet gecategoriseerd Metrix
- Niet gecategoriseerd Metz
- Niet gecategoriseerd Michelin
- Niet gecategoriseerd Microlife
- Niet gecategoriseerd Microsoft
- Niet gecategoriseerd Midea
- Niet gecategoriseerd Midland
- Niet gecategoriseerd Mikrotik
- Niet gecategoriseerd Milwaukee
- Niet gecategoriseerd Minix
- Niet gecategoriseerd Minolta
- Niet gecategoriseerd Minox
- Niet gecategoriseerd Mio
- Niet gecategoriseerd Miomare
- Niet gecategoriseerd Mistral
- Niet gecategoriseerd Mitsubishi
- Niet gecategoriseerd MJX
- Niet gecategoriseerd Mobicool
- Niet gecategoriseerd Monacor
- Niet gecategoriseerd Monitor Audio
- Niet gecategoriseerd Mophie
- Niet gecategoriseerd Morphy Richards
- Niet gecategoriseerd Moulinex
- Niet gecategoriseerd MPM
- Niet gecategoriseerd Mr Coffee
- Niet gecategoriseerd Mr Gardener
- Niet gecategoriseerd Mr Handsfree
- Niet gecategoriseerd MSI
- Niet gecategoriseerd MSpa
- Niet gecategoriseerd MTD
- Niet gecategoriseerd Mtx Audio
- Niet gecategoriseerd Mulex
- Niet gecategoriseerd Muller
- Niet gecategoriseerd Muse
- Niet gecategoriseerd Mx Onda
- Niet gecategoriseerd Nabo
- Niet gecategoriseerd Nacon
- Niet gecategoriseerd NAD
- Niet gecategoriseerd Naim
- Niet gecategoriseerd Napoleon
- Niet gecategoriseerd National Geographic
- Niet gecategoriseerd Nautilus
- Niet gecategoriseerd Navionics
- Niet gecategoriseerd Navitel
- Niet gecategoriseerd Navman
- Niet gecategoriseerd Nebula
- Niet gecategoriseerd Nec
- Niet gecategoriseerd Nedis
- Niet gecategoriseerd Neewer
- Niet gecategoriseerd Neff
- Niet gecategoriseerd Nemef
- Niet gecategoriseerd Nero
- Niet gecategoriseerd Nest
- Niet gecategoriseerd Netgear
- Niet gecategoriseerd Netis
- Niet gecategoriseerd Nevadent
- Niet gecategoriseerd New Pol
- Niet gecategoriseerd Newstar
- Niet gecategoriseerd Nextbase
- Niet gecategoriseerd Nibe
- Niet gecategoriseerd Nikkei
- Niet gecategoriseerd Nilfisk
- Niet gecategoriseerd Ninja
- Niet gecategoriseerd Nintendo
- Niet gecategoriseerd Nivona
- Niet gecategoriseerd Njoy
- Niet gecategoriseerd Nobo
- Niet gecategoriseerd Noma
- Niet gecategoriseerd NordicTrack
- Niet gecategoriseerd Nostalgia
- Niet gecategoriseerd Novation
- Niet gecategoriseerd Novis
- Niet gecategoriseerd Novy
- Niet gecategoriseerd Noxon
- Niet gecategoriseerd Nuance
- Niet gecategoriseerd Nubert
- Niet gecategoriseerd Numatic
- Niet gecategoriseerd Nuna
- Niet gecategoriseerd NutriBullet
- Niet gecategoriseerd Nvidia
- Niet gecategoriseerd Pabobo
- Niet gecategoriseerd Paladin
- Niet gecategoriseerd Palm
- Niet gecategoriseerd Palson
- Niet gecategoriseerd Paradigm
- Niet gecategoriseerd Parkside
- Niet gecategoriseerd Parrot
- Niet gecategoriseerd Pattfield
- Niet gecategoriseerd Patton
- Niet gecategoriseerd PCE
- Niet gecategoriseerd PCE Instruments
- Niet gecategoriseerd Peavey
- Niet gecategoriseerd Peerless
- Niet gecategoriseerd Peg Perego
- Niet gecategoriseerd Pelgrim
- Niet gecategoriseerd Pentax
- Niet gecategoriseerd Perel
- Niet gecategoriseerd Petsafe
- Niet gecategoriseerd Peugeot
- Niet gecategoriseerd Pfaff
- Niet gecategoriseerd Philco
- Niet gecategoriseerd Phoenix
- Niet gecategoriseerd Phoenix Gold
- Niet gecategoriseerd Phonak
- Niet gecategoriseerd Pieps
- Niet gecategoriseerd Pinolino
- Niet gecategoriseerd PKM
- Niet gecategoriseerd Plantiflor
- Niet gecategoriseerd Plantronics
- Niet gecategoriseerd Platinet
- Niet gecategoriseerd Playmobil
- Niet gecategoriseerd Playtive
- Niet gecategoriseerd Plugwise
- Niet gecategoriseerd Plustek
- Niet gecategoriseerd Pointer
- Niet gecategoriseerd Polar
- Niet gecategoriseerd POLARIS
- Niet gecategoriseerd Polaroid
- Niet gecategoriseerd Polk
- Niet gecategoriseerd Polti
- Niet gecategoriseerd Power Dynamics
- Niet gecategoriseerd Powerfix
- Niet gecategoriseerd Powerplus
- Niet gecategoriseerd Praktica
- Niet gecategoriseerd Prem-i-air
- Niet gecategoriseerd Premier
- Niet gecategoriseerd Prenatal
- Niet gecategoriseerd President
- Niet gecategoriseerd Prestigio
- Niet gecategoriseerd Primera
- Niet gecategoriseerd Primo
- Niet gecategoriseerd Princess
- Niet gecategoriseerd Privileg
- Niet gecategoriseerd Pro-User
- Niet gecategoriseerd ProfiCook
- Niet gecategoriseerd Profile
- Niet gecategoriseerd Profizelt24
- Niet gecategoriseerd Profoon
- Niet gecategoriseerd Progress
- Niet gecategoriseerd Proline
- Niet gecategoriseerd Protector
- Niet gecategoriseerd Pulsar
- Niet gecategoriseerd Pure
- Niet gecategoriseerd Pyle
- Niet gecategoriseerd Python
- Niet gecategoriseerd Q Acoustics
- Niet gecategoriseerd QNAP
- Niet gecategoriseerd Quantum
- Niet gecategoriseerd Rademacher
- Niet gecategoriseerd Radiant
- Niet gecategoriseerd Rainbow
- Niet gecategoriseerd Ranex
- Niet gecategoriseerd Rangemaster
- Niet gecategoriseerd Ravelli
- Niet gecategoriseerd Raymarine
- Niet gecategoriseerd Razer
- Niet gecategoriseerd RCA
- Niet gecategoriseerd RCF
- Niet gecategoriseerd Realme
- Niet gecategoriseerd Recaro
- Niet gecategoriseerd Redmond
- Niet gecategoriseerd Reebok
- Niet gecategoriseerd Reer
- Niet gecategoriseerd Reflecta
- Niet gecategoriseerd Reflexion
- Niet gecategoriseerd Reich
- Niet gecategoriseerd REL Acoustics
- Niet gecategoriseerd Reloop
- Niet gecategoriseerd Remington
- Niet gecategoriseerd REMKO
- Niet gecategoriseerd Renegade
- Niet gecategoriseerd Renkforce
- Niet gecategoriseerd REVITIVE
- Niet gecategoriseerd Revlon
- Niet gecategoriseerd Revo
- Niet gecategoriseerd Revox
- Niet gecategoriseerd Ricoh
- Niet gecategoriseerd Riello
- Niet gecategoriseerd Ring
- Niet gecategoriseerd Rio
- Niet gecategoriseerd Rittal
- Niet gecategoriseerd Roadstar
- Niet gecategoriseerd Robust
- Niet gecategoriseerd Roccat
- Niet gecategoriseerd Rockford Fosgate
- Niet gecategoriseerd Rocktrail
- Niet gecategoriseerd Roland
- Niet gecategoriseerd Rollei
- Niet gecategoriseerd Rommelsbacher
- Niet gecategoriseerd Rosieres
- Niet gecategoriseerd Rossmax
- Niet gecategoriseerd Rotel
- Niet gecategoriseerd Rowenta
- Niet gecategoriseerd Roxio
- Niet gecategoriseerd Royal Sovereign
- Niet gecategoriseerd RugGear
- Niet gecategoriseerd Russell Hobbs
- Niet gecategoriseerd Ryobi
- Niet gecategoriseerd Sabo
- Niet gecategoriseerd Safety 1st
- Niet gecategoriseerd Sage
- Niet gecategoriseerd Sagem
- Niet gecategoriseerd Sagemcom
- Niet gecategoriseerd Saitek
- Niet gecategoriseerd Salora
- Niet gecategoriseerd Salta
- Niet gecategoriseerd Salter
- Niet gecategoriseerd Salton
- Niet gecategoriseerd Salus
- Niet gecategoriseerd Samlex
- Niet gecategoriseerd Samson
- Niet gecategoriseerd SanDisk
- Niet gecategoriseerd Sangean
- Niet gecategoriseerd Sanitas
- Niet gecategoriseerd Santos
- Niet gecategoriseerd Sanus Systems
- Niet gecategoriseerd Sanwa
- Niet gecategoriseerd Sanyo
- Niet gecategoriseerd Saramonic
- Niet gecategoriseerd Saro
- Niet gecategoriseerd Satel
- Niet gecategoriseerd Saturn
- Niet gecategoriseerd Sauber
- Niet gecategoriseerd Scala
- Niet gecategoriseerd Scancool
- Niet gecategoriseerd Scandomestic
- Niet gecategoriseerd Schaudt
- Niet gecategoriseerd Scheppach
- Niet gecategoriseerd Schneider
- Niet gecategoriseerd Schwinn
- Niet gecategoriseerd Scott
- Niet gecategoriseerd Seagate
- Niet gecategoriseerd SeaLife
- Niet gecategoriseerd SEB
- Niet gecategoriseerd Sebo
- Niet gecategoriseerd Seecode
- Niet gecategoriseerd Segway
- Niet gecategoriseerd Seiko
- Niet gecategoriseerd Sekonic
- Niet gecategoriseerd Selfsat
- Niet gecategoriseerd Sena
- Niet gecategoriseerd Sencor
- Niet gecategoriseerd Sencys
- Niet gecategoriseerd Sennheiser
- Niet gecategoriseerd Sensiplast
- Niet gecategoriseerd Severin
- Niet gecategoriseerd Shark
- Niet gecategoriseerd Sharkoon
- Niet gecategoriseerd Sharp
- Niet gecategoriseerd Sharper Image
- Niet gecategoriseerd Shimano
- Niet gecategoriseerd Shindaiwa
- Niet gecategoriseerd Shoprider
- Niet gecategoriseerd Showtec
- Niet gecategoriseerd Siedle
- Niet gecategoriseerd Sigma
- Niet gecategoriseerd Silkn
- Niet gecategoriseerd Silva
- Niet gecategoriseerd Silvercrest
- Niet gecategoriseerd Silverline
- Niet gecategoriseerd Simeo
- Niet gecategoriseerd Simpark
- Niet gecategoriseerd Simrad
- Niet gecategoriseerd Singer
- Niet gecategoriseerd Sirius
- Niet gecategoriseerd Sitecom
- Niet gecategoriseerd Skil
- Niet gecategoriseerd Skullcandy
- Niet gecategoriseerd Skymaster
- Niet gecategoriseerd SMA
- Niet gecategoriseerd Smart
- Niet gecategoriseerd Smartwares
- Niet gecategoriseerd SMC
- Niet gecategoriseerd Smeg
- Niet gecategoriseerd Snom
- Niet gecategoriseerd Sodastream
- Niet gecategoriseerd Soehnle
- Niet gecategoriseerd Sogo
- Niet gecategoriseerd Solac
- Niet gecategoriseerd Sole Fitness
- Niet gecategoriseerd Solis
- Niet gecategoriseerd Solo
- Niet gecategoriseerd Somfy
- Niet gecategoriseerd Sonos
- Niet gecategoriseerd Sonuus
- Niet gecategoriseerd Soundcraft
- Niet gecategoriseerd Soundmaster
- Niet gecategoriseerd Soundstream
- Niet gecategoriseerd Spektrum
- Niet gecategoriseerd SPT
- Niet gecategoriseerd Spypoint
- Niet gecategoriseerd Stabo
- Niet gecategoriseerd Stadler Form
- Niet gecategoriseerd Stamina
- Niet gecategoriseerd Standard Horizon
- Niet gecategoriseerd Stanley
- Niet gecategoriseerd Starlyf
- Niet gecategoriseerd Steba
- Niet gecategoriseerd Steelseries
- Niet gecategoriseerd Steinberg
- Niet gecategoriseerd Steinel
- Niet gecategoriseerd Stiebel Eltron
- Niet gecategoriseerd Stiga
- Niet gecategoriseerd Stihl
- Niet gecategoriseerd Stinger
- Niet gecategoriseerd Stirling
- Niet gecategoriseerd Stokke
- Niet gecategoriseerd Strong
- Niet gecategoriseerd Subaru
- Niet gecategoriseerd Suevia
- Niet gecategoriseerd Sunbeam
- Niet gecategoriseerd Sunny
- Niet gecategoriseerd Sunpentown
- Niet gecategoriseerd Sunstech
- Niet gecategoriseerd Suntec
- Niet gecategoriseerd Superrollo
- Niet gecategoriseerd SuperTooth
- Niet gecategoriseerd Suunto
- Niet gecategoriseerd Suzuki
- Niet gecategoriseerd Swan
- Niet gecategoriseerd Sweex
- Niet gecategoriseerd Swissvoice
- Niet gecategoriseerd Switel
- Niet gecategoriseerd SXT
- Niet gecategoriseerd Sylvania
- Niet gecategoriseerd Syma
- Niet gecategoriseerd Synology
- Niet gecategoriseerd TacTic
- Niet gecategoriseerd Tamiya
- Niet gecategoriseerd Tamron
- Niet gecategoriseerd Tanaka
- Niet gecategoriseerd Tanita
- Niet gecategoriseerd Tannoy
- Niet gecategoriseerd Targus
- Niet gecategoriseerd Tascam
- Niet gecategoriseerd Taurus
- Niet gecategoriseerd Taylor
- Niet gecategoriseerd TC Helicon
- Niet gecategoriseerd TCL
- Niet gecategoriseerd Teac
- Niet gecategoriseerd Team
- Niet gecategoriseerd Technaxx
- Niet gecategoriseerd Technicolor
- Niet gecategoriseerd Technics
- Niet gecategoriseerd Technika
- Niet gecategoriseerd Technisat
- Niet gecategoriseerd Techno Line
- Niet gecategoriseerd Technoline
- Niet gecategoriseerd Teka
- Niet gecategoriseerd Telefunken
- Niet gecategoriseerd Telestar
- Niet gecategoriseerd TELEX
- Niet gecategoriseerd Telstra
- Niet gecategoriseerd Teltonika
- Niet gecategoriseerd Tenda
- Niet gecategoriseerd Tepro
- Niet gecategoriseerd Termozeta
- Niet gecategoriseerd Terraillon
- Niet gecategoriseerd Terratec
- Niet gecategoriseerd Tesla
- Niet gecategoriseerd Teufel
- Niet gecategoriseerd Tevion
- Niet gecategoriseerd Texas
- Niet gecategoriseerd Texas Instruments
- Niet gecategoriseerd TFA
- Niet gecategoriseerd Theben
- Niet gecategoriseerd Thermador
- Niet gecategoriseerd Thermor
- Niet gecategoriseerd Thetford
- Niet gecategoriseerd Thinkware
- Niet gecategoriseerd Thomas
- Niet gecategoriseerd Thomson
- Niet gecategoriseerd Thorens
- Niet gecategoriseerd Thrustmaster
- Niet gecategoriseerd Thule
- Niet gecategoriseerd Tiger
- Niet gecategoriseerd Tiptel
- Niet gecategoriseerd Toa
- Niet gecategoriseerd Tommee Tippee
- Niet gecategoriseerd TomTom
- Niet gecategoriseerd Toolcraft
- Niet gecategoriseerd Toolland
- Niet gecategoriseerd Toorx
- Niet gecategoriseerd Topcraft
- Niet gecategoriseerd Tork
- Niet gecategoriseerd Tormatic
- Niet gecategoriseerd Toro
- Niet gecategoriseerd Tower
- Niet gecategoriseerd Toyotomi
- Niet gecategoriseerd TP Link
- Niet gecategoriseerd Transcend
- Niet gecategoriseerd TranzX
- Niet gecategoriseerd Trebs
- Niet gecategoriseerd Trekstor
- Niet gecategoriseerd Trendnet
- Niet gecategoriseerd Triax
- Niet gecategoriseerd Trigano
- Niet gecategoriseerd Tristar
- Niet gecategoriseerd Triton
- Niet gecategoriseerd Trixie
- Niet gecategoriseerd Tronic
- Niet gecategoriseerd Trotec
- Niet gecategoriseerd Troy-Bilt
- Niet gecategoriseerd Truelife
- Niet gecategoriseerd Truma
- Niet gecategoriseerd Trust
- Niet gecategoriseerd Tunturi
- Niet gecategoriseerd Turmix
- Niet gecategoriseerd Tusa
- Niet gecategoriseerd Twisper
- Niet gecategoriseerd Ufesa
- Niet gecategoriseerd Ultimate
- Niet gecategoriseerd Ultimate Speed
- Niet gecategoriseerd Uni-T
- Niet gecategoriseerd Uniden
- Niet gecategoriseerd Unify
- Niet gecategoriseerd United Office
- Niet gecategoriseerd Universal Remote Control
- Niet gecategoriseerd UPM
- Niet gecategoriseerd Upo
- Niet gecategoriseerd V-Tac
- Niet gecategoriseerd V-Zug
- Niet gecategoriseerd Valeo
- Niet gecategoriseerd Varta
- Niet gecategoriseerd VAX
- Niet gecategoriseerd VCM
- Niet gecategoriseerd Veho
- Niet gecategoriseerd Velbus
- Niet gecategoriseerd Velleman
- Niet gecategoriseerd Velux
- Niet gecategoriseerd Venta
- Niet gecategoriseerd Ventura
- Niet gecategoriseerd Ventus
- Niet gecategoriseerd Verbatim
- Niet gecategoriseerd Veritas
- Niet gecategoriseerd Verizon
- Niet gecategoriseerd Vermeiren
- Niet gecategoriseerd Vestel
- Niet gecategoriseerd Vestfrost
- Niet gecategoriseerd Viatek
- Niet gecategoriseerd Vicks
- Niet gecategoriseerd Victor
- Niet gecategoriseerd Viessmann
- Niet gecategoriseerd View Quest
- Niet gecategoriseerd Viewsonic
- Niet gecategoriseerd Viking
- Niet gecategoriseerd Vileda
- Niet gecategoriseerd Vinci
- Niet gecategoriseerd Viper
- Niet gecategoriseerd VirtuFit
- Niet gecategoriseerd Vitalmaxx
- Niet gecategoriseerd Vitamix
- Niet gecategoriseerd Vitek
- Niet gecategoriseerd Vivanco
- Niet gecategoriseerd Vivax
- Niet gecategoriseerd Vivitar
- Niet gecategoriseerd Vivo
- Niet gecategoriseerd Vivotek
- Niet gecategoriseerd Vizio
- Niet gecategoriseerd Vogels
- Niet gecategoriseerd Vogue
- Niet gecategoriseerd Voigtlander
- Niet gecategoriseerd Volkswagen
- Niet gecategoriseerd Voltcraft
- Niet gecategoriseerd Vonroc
- Niet gecategoriseerd Vonyx
- Niet gecategoriseerd Vornado
- Niet gecategoriseerd Vortex
- Niet gecategoriseerd Wachendorff
- Niet gecategoriseerd Wacom
- Niet gecategoriseerd Waeco
- Niet gecategoriseerd Wagner
- Niet gecategoriseerd Wallas
- Niet gecategoriseerd Wamsler
- Niet gecategoriseerd Wasco
- Niet gecategoriseerd Waterpik
- Niet gecategoriseerd Watson
- Niet gecategoriseerd Waves
- Niet gecategoriseerd Weasy
- Niet gecategoriseerd Weber
- Niet gecategoriseerd WEG
- Niet gecategoriseerd Wehkamp
- Niet gecategoriseerd Weishaupt
- Niet gecategoriseerd Weller
- Niet gecategoriseerd Welltech
- Niet gecategoriseerd Western Digital
- Niet gecategoriseerd Westfalia
- Niet gecategoriseerd Westinghouse
- Niet gecategoriseerd WHALE
- Niet gecategoriseerd Wharfedale
- Niet gecategoriseerd Wiha
- Niet gecategoriseerd WilTec
- Niet gecategoriseerd Winegard
- Niet gecategoriseerd Winix
- Niet gecategoriseerd Withings
- Niet gecategoriseerd Wmf
- Niet gecategoriseerd Wolf
- Niet gecategoriseerd Woods
- Niet gecategoriseerd Woood
- Niet gecategoriseerd Workzone
- Niet gecategoriseerd Worx
- Niet gecategoriseerd Wurth
- Niet gecategoriseerd X4 Life
- Niet gecategoriseerd X4-Tech
- Niet gecategoriseerd Xavax
- Niet gecategoriseerd XGIMI
- Niet gecategoriseerd Xlyne
- Niet gecategoriseerd Xoro
- Niet gecategoriseerd Xterra
- Niet gecategoriseerd Xtorm
- Niet gecategoriseerd Xunzel
- Niet gecategoriseerd Yaesu
- Niet gecategoriseerd Yale
- Niet gecategoriseerd Ygnis
- Niet gecategoriseerd Yongnuo
- Niet gecategoriseerd Yphix
- Niet gecategoriseerd Yukon
- Niet gecategoriseerd Zagg
- Niet gecategoriseerd Zalman
- Niet gecategoriseerd Zebra
- Niet gecategoriseerd Zehnder
- Niet gecategoriseerd Zelmer
- Niet gecategoriseerd Zenec
- Niet gecategoriseerd Zennio
- Niet gecategoriseerd Zepter
- Niet gecategoriseerd Ziggo
- Niet gecategoriseerd Zipper
- Niet gecategoriseerd Zodiac
- Niet gecategoriseerd Zoofari
- Niet gecategoriseerd Zoom
- Niet gecategoriseerd ZTE
- Niet gecategoriseerd ZyXEL
- Niet gecategoriseerd Jabra
- Niet gecategoriseerd Jamo
- Niet gecategoriseerd Jane
- Niet gecategoriseerd Jata
- Niet gecategoriseerd Jay-tech
- Niet gecategoriseerd Jensen
- Niet gecategoriseerd Jilong
- Niet gecategoriseerd JL Audio
- Niet gecategoriseerd JML
- Niet gecategoriseerd Jocca
- Niet gecategoriseerd Jocel
- Niet gecategoriseerd Joie
- Niet gecategoriseerd Joovy
- Niet gecategoriseerd Jotul
- Niet gecategoriseerd Joy-it
- Niet gecategoriseerd Juki
- Niet gecategoriseerd Jumbo
- Niet gecategoriseerd Jung
- Niet gecategoriseerd Jura
- Niet gecategoriseerd Juwel
- Niet gecategoriseerd Jysk
- Niet gecategoriseerd Oase
- Niet gecategoriseerd Oceanic
- Niet gecategoriseerd Oertli
- Niet gecategoriseerd OJ ELECTRONICS
- Niet gecategoriseerd OK
- Niet gecategoriseerd OKAY
- Niet gecategoriseerd Olimpia Splendid
- Niet gecategoriseerd Olivetti
- Niet gecategoriseerd Olympia
- Niet gecategoriseerd Omega
- Niet gecategoriseerd Omnitronic
- Niet gecategoriseerd Omron
- Niet gecategoriseerd One For All
- Niet gecategoriseerd OneConcept
- Niet gecategoriseerd OnePlus
- Niet gecategoriseerd OneTouch
- Niet gecategoriseerd Oppo
- Niet gecategoriseerd Optex
- Niet gecategoriseerd Optoma
- Niet gecategoriseerd Orange
- Niet gecategoriseerd Orbis
- Niet gecategoriseerd Orbit
- Niet gecategoriseerd Oregon Scientific
- Niet gecategoriseerd Orion
- Niet gecategoriseerd Osann
- Niet gecategoriseerd Osram
- Niet gecategoriseerd Oster
- Niet gecategoriseerd Otolift
- Niet gecategoriseerd Outdoorchef
- Niet gecategoriseerd Overmax
- Niet gecategoriseerd Ozito
- Niet gecategoriseerd SunPower
- Niet gecategoriseerd 3M
- Niet gecategoriseerd Anthem
- Niet gecategoriseerd Christopeit
- Niet gecategoriseerd Clas Ohlson
- Niet gecategoriseerd Concept2
- Niet gecategoriseerd Crivit
- Niet gecategoriseerd Cambridge
- Niet gecategoriseerd McIntosh
- Niet gecategoriseerd Vincent
- Niet gecategoriseerd Canicom
- Niet gecategoriseerd Valore
- Niet gecategoriseerd Trimble
- Niet gecategoriseerd Becken
- Niet gecategoriseerd Black And Decker
- Niet gecategoriseerd Camry
- Niet gecategoriseerd Caso
- Niet gecategoriseerd Clatronic
- Niet gecategoriseerd Concept
- Niet gecategoriseerd Continental Edison
- Niet gecategoriseerd Crofton
- Niet gecategoriseerd Cuisinart
- Niet gecategoriseerd ECG
- Niet gecategoriseerd Elba
- Niet gecategoriseerd First Austria
- Niet gecategoriseerd Guzzanti
- Niet gecategoriseerd Hamilton Beach
- Niet gecategoriseerd Heinner
- Niet gecategoriseerd Imetec
- Niet gecategoriseerd Izzy
- Niet gecategoriseerd Khind
- Niet gecategoriseerd Mellerware
- Niet gecategoriseerd OBH Nordica
- Niet gecategoriseerd Optimum
- Niet gecategoriseerd Orbegozo
- Niet gecategoriseerd Pitsos
- Niet gecategoriseerd Profilo
- Niet gecategoriseerd Scarlett
- Niet gecategoriseerd Sinbo
- Niet gecategoriseerd Trisa
- Niet gecategoriseerd Vox
- Niet gecategoriseerd Wilfa
- Niet gecategoriseerd Alpatronix
- Niet gecategoriseerd Audeze
- Niet gecategoriseerd B-Speech
- Niet gecategoriseerd Bang And Olufsen
- Niet gecategoriseerd Bowers And Wilkins
- Niet gecategoriseerd Caliber
- Niet gecategoriseerd Champion
- Niet gecategoriseerd Connect IT
- Niet gecategoriseerd Creative
- Niet gecategoriseerd CSL
- Niet gecategoriseerd Exibel
- Niet gecategoriseerd GoGEN
- Niet gecategoriseerd JLab
- Niet gecategoriseerd Krüger And Matz
- Niet gecategoriseerd Macally
- Niet gecategoriseerd Monoprice
- Niet gecategoriseerd Naxa
- Niet gecategoriseerd NGS
- Niet gecategoriseerd Niceboy
- Niet gecategoriseerd POGS
- Niet gecategoriseerd Proscan
- Niet gecategoriseerd Schwaiger
- Niet gecategoriseerd Shure
- Niet gecategoriseerd Steren
- Niet gecategoriseerd T'nB
- Niet gecategoriseerd Umidigi
- Niet gecategoriseerd Anslut
- Niet gecategoriseerd Barska
- Niet gecategoriseerd Carmen
- Niet gecategoriseerd Kayoba
- Niet gecategoriseerd Klein Tools
- Niet gecategoriseerd Lupine
- Niet gecategoriseerd Maglite
- Niet gecategoriseerd Nitecore
- Niet gecategoriseerd Olight
- Niet gecategoriseerd Pelican
- Niet gecategoriseerd Petzl
- Niet gecategoriseerd Princeton Tec
- Niet gecategoriseerd Urrea
- Niet gecategoriseerd Walther
- Niet gecategoriseerd Wetelux
- Niet gecategoriseerd Aicon
- Niet gecategoriseerd Cocraft
- Niet gecategoriseerd Draper
- Niet gecategoriseerd Meec Tools
- Niet gecategoriseerd Rapid
- Niet gecategoriseerd Senco
- Niet gecategoriseerd Best Fitness
- Niet gecategoriseerd Steelbody
- Niet gecategoriseerd True
- Niet gecategoriseerd Baninni
- Niet gecategoriseerd Lionelo
- Niet gecategoriseerd Kunft
- Niet gecategoriseerd Prince
- Niet gecategoriseerd Yamato
- Niet gecategoriseerd Playtive Junior
- Niet gecategoriseerd Zenit
- Niet gecategoriseerd R-Vent
- Niet gecategoriseerd Soler And Palau
- Niet gecategoriseerd Genesis
- Niet gecategoriseerd Leen Bakker
- Niet gecategoriseerd Parisot
- Niet gecategoriseerd Pericles
- Niet gecategoriseerd Tvilum
- Niet gecategoriseerd Svedbergs
- Niet gecategoriseerd Vantec
- Niet gecategoriseerd Crock-Pot
- Niet gecategoriseerd Instant
- Niet gecategoriseerd Nutrichef
- Niet gecategoriseerd Hilti
- Niet gecategoriseerd Autodesk
- Niet gecategoriseerd Bentley
- Niet gecategoriseerd Corel
- Niet gecategoriseerd DoorBird
- Niet gecategoriseerd Parallels
- Niet gecategoriseerd Safescan
- Niet gecategoriseerd Ubiquiti Networks
- Niet gecategoriseerd Ferplast
- Niet gecategoriseerd Fluval
- Niet gecategoriseerd Sicce
- Niet gecategoriseerd SuperFish
- Niet gecategoriseerd Tetra
- Niet gecategoriseerd Hamron
- Niet gecategoriseerd Kraftwerk
- Niet gecategoriseerd Clarion
- Niet gecategoriseerd Sissel
- Niet gecategoriseerd Cobra
- Niet gecategoriseerd Deutz
- Niet gecategoriseerd Perkins
- Niet gecategoriseerd Arthur Martin
- Niet gecategoriseerd Aspes
- Niet gecategoriseerd AYA
- Niet gecategoriseerd Bella
- Niet gecategoriseerd Blanco
- Niet gecategoriseerd Bush
- Niet gecategoriseerd Campomatic
- Niet gecategoriseerd Caple
- Niet gecategoriseerd CDA
- Niet gecategoriseerd Comfee
- Niet gecategoriseerd Constructa
- Niet gecategoriseerd Corberó
- Niet gecategoriseerd Crosley
- Niet gecategoriseerd Cylinda
- Niet gecategoriseerd Dacor
- Niet gecategoriseerd Danby
- Niet gecategoriseerd Elektron
- Niet gecategoriseerd Equator
- Niet gecategoriseerd Esatto
- Niet gecategoriseerd Euromaid
- Niet gecategoriseerd Flavel
- Niet gecategoriseerd GAM
- Niet gecategoriseerd EMOS
- Niet gecategoriseerd Hobart
- Niet gecategoriseerd Infiniton
- Niet gecategoriseerd Jenn-Air
- Niet gecategoriseerd Televés
- Niet gecategoriseerd Kaiser
- Niet gecategoriseerd Kernau
- Niet gecategoriseerd King
- Niet gecategoriseerd KKT Kolbe
- Niet gecategoriseerd Conceptronic
- Niet gecategoriseerd Monogram
- Niet gecategoriseerd Nevir
- Niet gecategoriseerd Orima
- Niet gecategoriseerd Sauter
- Niet gecategoriseerd Simpson
- Niet gecategoriseerd Summit
- Niet gecategoriseerd Svan
- Niet gecategoriseerd Thor
- Niet gecategoriseerd Aerotec
- Niet gecategoriseerd Cotech
- Niet gecategoriseerd Power Craft
- Niet gecategoriseerd Tacklife
- Niet gecategoriseerd Truper
- Niet gecategoriseerd DPA
- Niet gecategoriseerd IMG Stageline
- Niet gecategoriseerd MXL
- Niet gecategoriseerd Festo
- Niet gecategoriseerd Fieldmann
- Niet gecategoriseerd Mafell
- Niet gecategoriseerd Tracer
- Niet gecategoriseerd Bright Starts
- Niet gecategoriseerd Chicco
- Niet gecategoriseerd Celestron
- Niet gecategoriseerd Levenhuk
- Niet gecategoriseerd Cabasse
- Niet gecategoriseerd Aplic
- Niet gecategoriseerd Metapace
- Niet gecategoriseerd McGregor
- Niet gecategoriseerd Stannah
- Niet gecategoriseerd Blackburn
- Niet gecategoriseerd Topeak
- Niet gecategoriseerd Babybjörn
- Niet gecategoriseerd BabyDan
- Niet gecategoriseerd Century
- Niet gecategoriseerd Cosatto
- Niet gecategoriseerd Geuther
- Niet gecategoriseerd Ingenuity
- Niet gecategoriseerd Mamas & Papas
- Niet gecategoriseerd Paidi
- Niet gecategoriseerd Silver Cross
- Niet gecategoriseerd Vipack
- Niet gecategoriseerd KidKraft
- Niet gecategoriseerd MADE
- Niet gecategoriseerd Nolte
- Niet gecategoriseerd Samac
- Niet gecategoriseerd Wacker Neuson
- Niet gecategoriseerd Active Era
- Niet gecategoriseerd Ardes
- Niet gecategoriseerd Conair
- Niet gecategoriseerd Cresta
- Niet gecategoriseerd Eldom
- Niet gecategoriseerd Grunkel
- Niet gecategoriseerd Lümme
- Niet gecategoriseerd Miniland
- Niet gecategoriseerd Teesa
- Niet gecategoriseerd Heaven Fresh
- Niet gecategoriseerd Heylo
- Niet gecategoriseerd Oreck
- Niet gecategoriseerd Proficare
- Niet gecategoriseerd Coline
- Niet gecategoriseerd Haeger
- Niet gecategoriseerd Proctor Silex
- Niet gecategoriseerd Waring Commercial
- Niet gecategoriseerd Black Diamond
- Niet gecategoriseerd Coleman
- Niet gecategoriseerd Easy Camp
- Niet gecategoriseerd Kelty
- Niet gecategoriseerd Outwell
- Niet gecategoriseerd Raclet
- Niet gecategoriseerd Rusta
- Niet gecategoriseerd Vango
- Niet gecategoriseerd Vaude
- Niet gecategoriseerd Newline
- Niet gecategoriseerd Brondell
- Niet gecategoriseerd Duravit
- Niet gecategoriseerd Pressalit
- Niet gecategoriseerd Schütte
- Niet gecategoriseerd Arlo
- Niet gecategoriseerd Atlona
- Niet gecategoriseerd Avidsen
- Niet gecategoriseerd Hamlet
- Niet gecategoriseerd Hive
- Niet gecategoriseerd SereneLife
- Niet gecategoriseerd Davita
- Niet gecategoriseerd Cooler Master
- Niet gecategoriseerd NZXT
- Niet gecategoriseerd SilverStone
- Niet gecategoriseerd Thermaltake
- Niet gecategoriseerd Yeyian
- Niet gecategoriseerd Brentwood
- Niet gecategoriseerd Albert Heijn
- Niet gecategoriseerd Proxxon
- Niet gecategoriseerd Marvel
- Niet gecategoriseerd Artusi
- Niet gecategoriseerd Cadac
- Niet gecategoriseerd Campart
- Niet gecategoriseerd Char-Broil
- Niet gecategoriseerd Gasmate
- Niet gecategoriseerd Rösle
- Niet gecategoriseerd Kessler
- Niet gecategoriseerd Medel
- Niet gecategoriseerd DCG
- Niet gecategoriseerd Kubo
- Niet gecategoriseerd Pyrex
- Niet gecategoriseerd Vakoss
- Niet gecategoriseerd Witt
- Niet gecategoriseerd AdHoc
- Niet gecategoriseerd Aarke
- Niet gecategoriseerd Tescoma
- Niet gecategoriseerd Arkon
- Niet gecategoriseerd Biltema
- Niet gecategoriseerd Defender
- Niet gecategoriseerd Rocketfish
- Niet gecategoriseerd Topmove
- Niet gecategoriseerd AIC
- Niet gecategoriseerd Alba
- Niet gecategoriseerd Elbe
- Niet gecategoriseerd Majestic
- Niet gecategoriseerd Prologue
- Niet gecategoriseerd Trevi
- Niet gecategoriseerd Malmbergs
- Niet gecategoriseerd Porter-Cable
- Niet gecategoriseerd Sun Joe
- Niet gecategoriseerd Yard Force
- Niet gecategoriseerd Challenge
- Niet gecategoriseerd Cramer
- Niet gecategoriseerd EGO
- Niet gecategoriseerd Gtech
- Niet gecategoriseerd Hurricane
- Niet gecategoriseerd Maruyama
- Niet gecategoriseerd Spear & Jackson
- Niet gecategoriseerd BBB
- Niet gecategoriseerd Busch And Müller
- Niet gecategoriseerd Cateye
- Niet gecategoriseerd Goodram
- Niet gecategoriseerd Spanninga
- Niet gecategoriseerd Crunch
- Niet gecategoriseerd Trasman
- Niet gecategoriseerd Cilio
- Niet gecategoriseerd Royal Catering
- Niet gecategoriseerd Calor
- Niet gecategoriseerd Gima
- Niet gecategoriseerd LandRoller
- Niet gecategoriseerd Little Giant
- Niet gecategoriseerd Adesso
- Niet gecategoriseerd Rapoo
- Niet gecategoriseerd Vivolink
- Niet gecategoriseerd ADATA
- Niet gecategoriseerd Crucial
- Niet gecategoriseerd Intel
- Niet gecategoriseerd QOMO
- Niet gecategoriseerd Eurolite
- Niet gecategoriseerd BDI
- Niet gecategoriseerd Corsair
- Niet gecategoriseerd Cougar
- Niet gecategoriseerd Interstuhl
- Niet gecategoriseerd Primus
- Niet gecategoriseerd Techly
- Niet gecategoriseerd TOGU
- Niet gecategoriseerd Zuiver
- Niet gecategoriseerd Leatherman
- Niet gecategoriseerd OutNowTech
- Niet gecategoriseerd Contax
- Niet gecategoriseerd GFM
- Niet gecategoriseerd Phase One
- Niet gecategoriseerd Flexispot
- Niet gecategoriseerd Cello
- Niet gecategoriseerd Brydge
- Niet gecategoriseerd Cherry
- Niet gecategoriseerd Deltaco
- Niet gecategoriseerd KeepOut
- Niet gecategoriseerd Natec
- Niet gecategoriseerd Ozone
- Niet gecategoriseerd Penclic
- Niet gecategoriseerd Satechi
- Niet gecategoriseerd Savio
- Niet gecategoriseerd SIIG
- Niet gecategoriseerd Sven
- Niet gecategoriseerd Broan
- Niet gecategoriseerd Dedra
- Niet gecategoriseerd Graphite
- Niet gecategoriseerd Patriot
- Niet gecategoriseerd RIDGID
- Niet gecategoriseerd Tryton
- Niet gecategoriseerd DSC
- Niet gecategoriseerd GA.MA
- Niet gecategoriseerd Max Pro
- Niet gecategoriseerd Revamp
- Niet gecategoriseerd Visage
- Niet gecategoriseerd Piet Boon
- Niet gecategoriseerd Comelit
- Niet gecategoriseerd M-e
- Niet gecategoriseerd NuTone
- Niet gecategoriseerd REV
- Niet gecategoriseerd CMI
- Niet gecategoriseerd Hecht
- Niet gecategoriseerd Herkules
- Niet gecategoriseerd Könner & Söhnen
- Niet gecategoriseerd Avantree
- Niet gecategoriseerd CasaFan
- Niet gecategoriseerd KDK
- Niet gecategoriseerd Kichler
- Niet gecategoriseerd AXI
- Niet gecategoriseerd Quadro
- Niet gecategoriseerd Smoby
- Niet gecategoriseerd Lenoxx
- Niet gecategoriseerd Blow
- Niet gecategoriseerd Scosche
- Niet gecategoriseerd Sensei
- Niet gecategoriseerd Weil
- Niet gecategoriseerd Estella
- Niet gecategoriseerd Riviera And Bar
- Niet gecategoriseerd NUK
- Niet gecategoriseerd Oricom
- Niet gecategoriseerd Fisher
- Niet gecategoriseerd 4moms
- Niet gecategoriseerd Anex
- Niet gecategoriseerd BRIO
- Niet gecategoriseerd Cybex
- Niet gecategoriseerd Evenflo
- Niet gecategoriseerd Phil And Teds
- Niet gecategoriseerd Genie
- Niet gecategoriseerd ClearOne
- Niet gecategoriseerd Hudora
- Niet gecategoriseerd Forza
- Niet gecategoriseerd Evoc
- Niet gecategoriseerd Osprey
- Niet gecategoriseerd Salewa
- Niet gecategoriseerd Bimar
- Niet gecategoriseerd Crane
- Niet gecategoriseerd Goodway
- Niet gecategoriseerd Lasko
- Niet gecategoriseerd The Grainfather
- Niet gecategoriseerd Cata
- Niet gecategoriseerd U-Line
- Niet gecategoriseerd Zephyr
- Niet gecategoriseerd 4smarts
- Niet gecategoriseerd Duracell
- Niet gecategoriseerd C3
- Niet gecategoriseerd MiPow
- Niet gecategoriseerd Cosori
- Niet gecategoriseerd Tripp Lite
- Niet gecategoriseerd Veripart
- Niet gecategoriseerd Baby Brezza
- Niet gecategoriseerd Creda
- Niet gecategoriseerd James
- Niet gecategoriseerd Chacon
- Niet gecategoriseerd MSW
- Niet gecategoriseerd Ordex
- Niet gecategoriseerd Safco
- Niet gecategoriseerd Carpigiani
- Niet gecategoriseerd Hard Head
- Niet gecategoriseerd Unilux
- Niet gecategoriseerd Naish
- Niet gecategoriseerd Woonexpress
- Niet gecategoriseerd Caberg
- Niet gecategoriseerd Lazer
- Niet gecategoriseerd Schuberth
- Niet gecategoriseerd Dr. Browns
- Niet gecategoriseerd TRIUS
- Niet gecategoriseerd Lantus
- Niet gecategoriseerd Novo Nordisk
- Niet gecategoriseerd Sanofi
- Niet gecategoriseerd American DJ
- Niet gecategoriseerd Antari
- Niet gecategoriseerd Chauvet
- Niet gecategoriseerd Exagerate
- Niet gecategoriseerd Mr. Heater
- Niet gecategoriseerd SHX
- Niet gecategoriseerd Tesy
- Niet gecategoriseerd Foster
- Niet gecategoriseerd ACE
- Niet gecategoriseerd Nexa
- Niet gecategoriseerd Swann
- Niet gecategoriseerd Woox
- Niet gecategoriseerd Musical Fidelity
- Niet gecategoriseerd Nûby
- Niet gecategoriseerd Baby Trend
- Niet gecategoriseerd Lindam
- Niet gecategoriseerd Valcom
- Niet gecategoriseerd Capital Sports
- Niet gecategoriseerd Carnielli
- Niet gecategoriseerd Integra
- Niet gecategoriseerd Peloton
- Niet gecategoriseerd Craftsman
- Niet gecategoriseerd Rikon
- Niet gecategoriseerd Vroomshoop
- Niet gecategoriseerd Honey-Can-Do
- Niet gecategoriseerd Kwantum
- Niet gecategoriseerd Camec
- Niet gecategoriseerd Godrej
- Niet gecategoriseerd Tiny Love
- Niet gecategoriseerd Milectric
- Niet gecategoriseerd Morris
- Niet gecategoriseerd Orava
- Niet gecategoriseerd Rommer
- Niet gecategoriseerd Signature
- Niet gecategoriseerd Simplicity
- Niet gecategoriseerd Dash
- Niet gecategoriseerd ASSA ABLOY
- Niet gecategoriseerd Dorma
- Niet gecategoriseerd Dormakaba
- Niet gecategoriseerd Eurospec
- Niet gecategoriseerd Nilox
- Niet gecategoriseerd CaterChef
- Niet gecategoriseerd Approx
- Niet gecategoriseerd Billow
- Niet gecategoriseerd SPC
- Niet gecategoriseerd Sungale
- Niet gecategoriseerd Cecotec
- Niet gecategoriseerd Baxi
- Niet gecategoriseerd Beretta
- Niet gecategoriseerd Milan
- Niet gecategoriseerd Q-CONNECT
- Niet gecategoriseerd Best
- Niet gecategoriseerd Nodor
- Niet gecategoriseerd Thermex
- Niet gecategoriseerd Canyon
- Niet gecategoriseerd Cisco
- Niet gecategoriseerd Foreo
- Niet gecategoriseerd SureFlap
- Niet gecategoriseerd Schumacher
- Niet gecategoriseerd ARRI
- Niet gecategoriseerd Verto
- Niet gecategoriseerd Sanus
- Niet gecategoriseerd Hamax
- Niet gecategoriseerd Alphacool
- Niet gecategoriseerd AZZA
- Niet gecategoriseerd Enermax
- Niet gecategoriseerd Noctua
- Niet gecategoriseerd SainSmart
- Niet gecategoriseerd Seville Classics
- Niet gecategoriseerd Bauhn
- Niet gecategoriseerd Block
- Niet gecategoriseerd Pro-Ject
- Niet gecategoriseerd Rega
- Niet gecategoriseerd Moldex
- Niet gecategoriseerd Ledger
- Niet gecategoriseerd Contour
- Niet gecategoriseerd Cowon
- Niet gecategoriseerd EVOLVEO
- Niet gecategoriseerd Prixton
- Niet gecategoriseerd Whistler
- Niet gecategoriseerd JOBY
- Niet gecategoriseerd Vello
- Niet gecategoriseerd Snow Joe
- Niet gecategoriseerd Cruz
- Niet gecategoriseerd G3
- Niet gecategoriseerd Flama
- Niet gecategoriseerd Weston
- Niet gecategoriseerd Victron Energy
- Niet gecategoriseerd Carrier
- Niet gecategoriseerd Delta Dore
- Niet gecategoriseerd Fantini Cosmi
- Niet gecategoriseerd Vemer
- Niet gecategoriseerd Warmup
- Niet gecategoriseerd Nesco
- Niet gecategoriseerd RGV
- Niet gecategoriseerd Vision
- Niet gecategoriseerd LC-Power
- Niet gecategoriseerd ZOTAC
- Niet gecategoriseerd Matrox
- Niet gecategoriseerd MBM
- Niet gecategoriseerd True & Tidy
- Niet gecategoriseerd Vanish
- Niet gecategoriseerd Goldtouch
- Niet gecategoriseerd HyperX
- Niet gecategoriseerd Compex
- Niet gecategoriseerd Atomos
- Niet gecategoriseerd Natuzzi
- Niet gecategoriseerd Polisport
- Niet gecategoriseerd AMC
- Niet gecategoriseerd Citronic
- Niet gecategoriseerd Crown
- Niet gecategoriseerd Dynacord
- Niet gecategoriseerd Phonic
- Niet gecategoriseerd Yorkville
- Niet gecategoriseerd De Buyer
- Niet gecategoriseerd Catit
- Niet gecategoriseerd Lund
- Niet gecategoriseerd Apelson
- Niet gecategoriseerd Benavent
- Niet gecategoriseerd Eico
- Niet gecategoriseerd Furrion
- Niet gecategoriseerd Coby
- Niet gecategoriseerd Rinnai
- Niet gecategoriseerd MedFolio
- Niet gecategoriseerd Asustor
- Niet gecategoriseerd Infasecure
- Niet gecategoriseerd Sparco
- Niet gecategoriseerd Gefen
- Niet gecategoriseerd Deltronic
- Niet gecategoriseerd Ei Electronics
- Niet gecategoriseerd Fibaro
- Niet gecategoriseerd Fito
- Niet gecategoriseerd GEV
- Niet gecategoriseerd Kidde
- Niet gecategoriseerd Crosscall
- Niet gecategoriseerd Maze
- Niet gecategoriseerd Minn Kota
- Niet gecategoriseerd Plum
- Niet gecategoriseerd DMax
- Niet gecategoriseerd Jupiter
- Niet gecategoriseerd Peach
- Niet gecategoriseerd Rexel
- Niet gecategoriseerd CradlePoint
- Niet gecategoriseerd Juniper
- Niet gecategoriseerd Planet
- Niet gecategoriseerd Innr
- Niet gecategoriseerd Lucide
- Niet gecategoriseerd Massive
- Niet gecategoriseerd Maul
- Niet gecategoriseerd Paulmann
- Niet gecategoriseerd Bixolon
- Niet gecategoriseerd Brady
- Niet gecategoriseerd Datacard
- Niet gecategoriseerd GoDEX
- Niet gecategoriseerd WEN
- Niet gecategoriseerd Genelec
- Niet gecategoriseerd Cardiostrong
- Niet gecategoriseerd Barkan
- Niet gecategoriseerd Bretford
- Niet gecategoriseerd Chief
- Niet gecategoriseerd Doffler
- Niet gecategoriseerd Gabor
- Niet gecategoriseerd Marker
- Niet gecategoriseerd Debel
- Niet gecategoriseerd AcuRite
- Niet gecategoriseerd Etekcity
- Niet gecategoriseerd Dahle
- Niet gecategoriseerd Audix
- Niet gecategoriseerd Califone
- Niet gecategoriseerd Swingline
- Niet gecategoriseerd Chamberlain
- Niet gecategoriseerd Munchkin
- Niet gecategoriseerd Lescha
- Niet gecategoriseerd Tornado
- Niet gecategoriseerd Imperia
- Niet gecategoriseerd Steiner
- Niet gecategoriseerd Zeiss
- Niet gecategoriseerd Buzz Rack
- Niet gecategoriseerd Masterbuilt
- Niet gecategoriseerd Testo
- Niet gecategoriseerd WAGAN
- Niet gecategoriseerd Viridian
- Niet gecategoriseerd Respironics
- Niet gecategoriseerd Cressi
- Niet gecategoriseerd Burigotto
- Niet gecategoriseerd System Sensor
- Niet gecategoriseerd Exit
- Niet gecategoriseerd Springfree
- Niet gecategoriseerd Intellinet
- Niet gecategoriseerd Avocor
- Niet gecategoriseerd Eastron
- Niet gecategoriseerd Energenie
- Niet gecategoriseerd NUX
- Niet gecategoriseerd Thomann
- Niet gecategoriseerd Karma
- Niet gecategoriseerd HeartSine
- Niet gecategoriseerd Sunding
- Niet gecategoriseerd DoubleSight
- Niet gecategoriseerd Accucold
- Niet gecategoriseerd Acros
- Niet gecategoriseerd Husky
- Niet gecategoriseerd Lec
- Niet gecategoriseerd BabyOno
- Niet gecategoriseerd Lansinoh
- Niet gecategoriseerd Neno
- Niet gecategoriseerd Carson
- Niet gecategoriseerd FIMI
- Niet gecategoriseerd Monster
- Niet gecategoriseerd Artrom
- Niet gecategoriseerd ISi
- Niet gecategoriseerd Bron-Coucke
- Niet gecategoriseerd Dreambaby
- Niet gecategoriseerd Swift
- Niet gecategoriseerd Ansco
- Niet gecategoriseerd Cosina
- Niet gecategoriseerd Graflex
- Niet gecategoriseerd Ilford
- Niet gecategoriseerd Petri
- Niet gecategoriseerd Cleanmaxx
- Niet gecategoriseerd BCA
- Niet gecategoriseerd Mammut
- Niet gecategoriseerd FIAP
- Niet gecategoriseerd Pontec
- Niet gecategoriseerd Xblitz
- Niet gecategoriseerd West Elm
- Niet gecategoriseerd Hoshizaki
- Niet gecategoriseerd Clearblue
- Niet gecategoriseerd CyberPower
- Niet gecategoriseerd Coolaroo
- Niet gecategoriseerd Razor
- Niet gecategoriseerd Babylonia
- Niet gecategoriseerd Infantino
- Niet gecategoriseerd Kolcraft
- Niet gecategoriseerd Manduca
- Niet gecategoriseerd Havis
- Niet gecategoriseerd I-Tec
- Niet gecategoriseerd SEIKI
- Niet gecategoriseerd SunBriteTV
- Niet gecategoriseerd Magnus
- Niet gecategoriseerd Manfrotto
- Niet gecategoriseerd Sachtler
- Niet gecategoriseerd Sevenoak
- Niet gecategoriseerd Zhiyun
- Niet gecategoriseerd Beautifly
- Niet gecategoriseerd Holman
- Niet gecategoriseerd Stabila
- Niet gecategoriseerd Testboy
- Niet gecategoriseerd Alpha Tools
- Niet gecategoriseerd Hazet
- Niet gecategoriseerd 3B
- Niet gecategoriseerd ResMed
- Niet gecategoriseerd Supermicro
- Niet gecategoriseerd Bobrick
- Niet gecategoriseerd Purell
- Niet gecategoriseerd Harley Benton
- Niet gecategoriseerd Clage
- Niet gecategoriseerd Damixa
- Niet gecategoriseerd Elkay
- Niet gecategoriseerd Gustavsberg
- Niet gecategoriseerd Oras
- Niet gecategoriseerd TOTO
- Niet gecategoriseerd Sime
- Niet gecategoriseerd G-Technology
- Niet gecategoriseerd Platinum
- Niet gecategoriseerd CGV
- Niet gecategoriseerd Heitech
- Niet gecategoriseerd LTC
- Niet gecategoriseerd Full Boar
- Niet gecategoriseerd Yato
- Niet gecategoriseerd Cabstone
- Niet gecategoriseerd Cardo
- Niet gecategoriseerd Dreamgear
- Niet gecategoriseerd Interphone
- Niet gecategoriseerd Jonsered
- Niet gecategoriseerd Qualcast
- Niet gecategoriseerd Total
- Niet gecategoriseerd Singercon
- Niet gecategoriseerd Dynamic
- Niet gecategoriseerd Karibu
- Niet gecategoriseerd Reber
- Niet gecategoriseerd SKROSS
- Niet gecategoriseerd Aida
- Niet gecategoriseerd Ninebot
- Niet gecategoriseerd Cottons
- Niet gecategoriseerd Bestgreen
- Niet gecategoriseerd Gianni Ferrari
- Niet gecategoriseerd Hayter
- Niet gecategoriseerd Masport
- Niet gecategoriseerd Morrison
- Niet gecategoriseerd Livall
- Niet gecategoriseerd Proteca
- Niet gecategoriseerd Tripp
- Niet gecategoriseerd Ankarsrum
- Niet gecategoriseerd Galcon
- Niet gecategoriseerd Nelson
- Niet gecategoriseerd Barazza
- Niet gecategoriseerd Winia
- Niet gecategoriseerd Bravilor
- Niet gecategoriseerd ZAZU
- Niet gecategoriseerd Growatt
- Niet gecategoriseerd Lenmar
- Niet gecategoriseerd Exo-Terra
- Niet gecategoriseerd Lexar
- Niet gecategoriseerd Lindy
- Niet gecategoriseerd Nordea
- Niet gecategoriseerd Xcellon
- Niet gecategoriseerd Euro Cuisine
- Niet gecategoriseerd OSO
- Niet gecategoriseerd AVerMedia
- Niet gecategoriseerd Lumens
- Niet gecategoriseerd Jabsco
- Niet gecategoriseerd TensCare
- Niet gecategoriseerd Ovente
- Niet gecategoriseerd Ursus Trotter
- Niet gecategoriseerd Nanni
- Niet gecategoriseerd Herlag
- Niet gecategoriseerd Roba
- Niet gecategoriseerd MOZA
- Niet gecategoriseerd IOGEAR
- Niet gecategoriseerd Séura
- Niet gecategoriseerd Basbau
- Niet gecategoriseerd ELO
- Niet gecategoriseerd SVAT
- Niet gecategoriseerd Stalco
- Niet gecategoriseerd Petmate
- Niet gecategoriseerd Black Box
- Niet gecategoriseerd Auto Joe
- Niet gecategoriseerd Fortinet
- Niet gecategoriseerd Youin
- Niet gecategoriseerd Croozer
- Niet gecategoriseerd IFM
- Niet gecategoriseerd Perfecta
- Niet gecategoriseerd Cricut
- Niet gecategoriseerd Hähnel
- Niet gecategoriseerd DataVideo
- Niet gecategoriseerd Be Quiet!
- Niet gecategoriseerd Kindermann
- Niet gecategoriseerd Berg
- Niet gecategoriseerd Simplified MFG
- Niet gecategoriseerd GLP
- Niet gecategoriseerd Hombli
- Niet gecategoriseerd Powertec
- Niet gecategoriseerd ART
- Niet gecategoriseerd Valeton
- Niet gecategoriseerd Tiptop Audio
- Niet gecategoriseerd Summit Audio
- Niet gecategoriseerd SKS
- Niet gecategoriseerd Musway
- Niet gecategoriseerd Wago
- Niet gecategoriseerd Smith & Wesson
- Niet gecategoriseerd Avalon
- Niet gecategoriseerd Plant Craft
- Niet gecategoriseerd Dubatti
- Niet gecategoriseerd Baumr-AG
- Niet gecategoriseerd GW Instek
- Niet gecategoriseerd Totolink
- Niet gecategoriseerd Vaddio
- Niet gecategoriseerd La Crosse Technology
- Niet gecategoriseerd HK Audio
- Niet gecategoriseerd Bogen
- Niet gecategoriseerd Da-Lite
- Niet gecategoriseerd CaterCool
- Niet gecategoriseerd Allen & Heath
- Niet gecategoriseerd Ariston Thermo
- Niet gecategoriseerd Kyoritsu
- Niet gecategoriseerd Air King
- Niet gecategoriseerd SBS
- Niet gecategoriseerd KiddyGuard
- Niet gecategoriseerd AJA
- Niet gecategoriseerd Galaxy Audio
- Niet gecategoriseerd Adj
- Niet gecategoriseerd Ikan
- Niet gecategoriseerd Dahua Technology
- Niet gecategoriseerd AV:link
- Niet gecategoriseerd Neumann
- Niet gecategoriseerd Native Instruments
- Niet gecategoriseerd Walkstool
- Niet gecategoriseerd Apogee
- Niet gecategoriseerd Peerless-AV
- Niet gecategoriseerd Pyle Pro
- Niet gecategoriseerd PreSonus
- Niet gecategoriseerd NOCO
- Niet gecategoriseerd Inkbird
- Niet gecategoriseerd Electro-Voice
- Niet gecategoriseerd Mercusys
- Niet gecategoriseerd Weihrauch Sport
- Niet gecategoriseerd Martha Stewart
- Niet gecategoriseerd Reolink
- Niet gecategoriseerd Glem Gas
- Niet gecategoriseerd IK Multimedia
- Niet gecategoriseerd Elation
- Niet gecategoriseerd IDance
- Niet gecategoriseerd Rupert Neve Designs
- Niet gecategoriseerd Carel
- Niet gecategoriseerd BOHLT
- Niet gecategoriseerd Simplecom
- Niet gecategoriseerd Speed-Link
- Niet gecategoriseerd Endress
- Niet gecategoriseerd Millenium
- Niet gecategoriseerd Owon
- Niet gecategoriseerd Aqua Joe
- Niet gecategoriseerd Valueline
- Niet gecategoriseerd Chandler
- Niet gecategoriseerd RDL
- Niet gecategoriseerd Austrian Audio
- Niet gecategoriseerd Busch-Jaeger
- Niet gecategoriseerd Cellular Line
- Niet gecategoriseerd EVE
- Niet gecategoriseerd Countryman
- Niet gecategoriseerd Chord
- Niet gecategoriseerd Fredenstein
- Niet gecategoriseerd Aruba
- Niet gecategoriseerd Swissonic
- Niet gecategoriseerd Sound Machines
- Niet gecategoriseerd Aviom
- Niet gecategoriseerd QSC
- Niet gecategoriseerd Happy Plugs
- Niet gecategoriseerd BABY Born
- Niet gecategoriseerd Levoit
- Niet gecategoriseerd Traxxas
- Niet gecategoriseerd Audac
- Niet gecategoriseerd Eltako
- Niet gecategoriseerd Azden
- Niet gecategoriseerd Aerial
- Niet gecategoriseerd ESI
- Niet gecategoriseerd Grillmeister
- Niet gecategoriseerd For_Q
- Niet gecategoriseerd GVM
- Niet gecategoriseerd Coyote
- Niet gecategoriseerd Rain Bird
- Niet gecategoriseerd Irritrol
- Niet gecategoriseerd Kasda
- Niet gecategoriseerd Marshall Electronics
- Niet gecategoriseerd Shuttle
- Niet gecategoriseerd Puky
- Niet gecategoriseerd GFI System
- Niet gecategoriseerd Ctek
- Niet gecategoriseerd Swarovski Optik
- Niet gecategoriseerd Vacmaster
- Niet gecategoriseerd Golden Age Project
- Niet gecategoriseerd Spin Master
- Niet gecategoriseerd Huion
- Niet gecategoriseerd TC Electronic
- Niet gecategoriseerd BOYA
- Niet gecategoriseerd Rode
- Niet gecategoriseerd 4ms
- Niet gecategoriseerd Anchor Audio
- Niet gecategoriseerd Dantherm
- Niet gecategoriseerd Projecta
- Niet gecategoriseerd Lyman
- Niet gecategoriseerd Genaray
- Niet gecategoriseerd Cablexpert
- Niet gecategoriseerd Stelton
- Niet gecategoriseerd DAS Audio
- Niet gecategoriseerd Eventide
- Niet gecategoriseerd Radial Engineering
- Niet gecategoriseerd Blackmagic Design
- Niet gecategoriseerd Noveen
- Niet gecategoriseerd ATen
- Niet gecategoriseerd Cre8audio
- Niet gecategoriseerd Nanlite
- Niet gecategoriseerd BakkerElkhuizen
- Niet gecategoriseerd Boyo
- Niet gecategoriseerd IKRA
- Niet gecategoriseerd IOttie
- Niet gecategoriseerd Profoto
- Niet gecategoriseerd XPG
- Niet gecategoriseerd Namco Bandai Games
- Niet gecategoriseerd Trio Lighting
- Niet gecategoriseerd Valco Baby
- Niet gecategoriseerd Argoclima
- Niet gecategoriseerd Metra
- Niet gecategoriseerd Hestan
- Niet gecategoriseerd Cadel
- Niet gecategoriseerd ThinkFun
- Niet gecategoriseerd Miggo
- Niet gecategoriseerd Russound
- Niet gecategoriseerd ISDT
- Niet gecategoriseerd Abac
- Niet gecategoriseerd Slik
- Niet gecategoriseerd Celly
- Niet gecategoriseerd Skan Holz
- Niet gecategoriseerd Comica
- Niet gecategoriseerd CRUX
- Niet gecategoriseerd ZLine
- Niet gecategoriseerd Audient
- Niet gecategoriseerd Heller
- Niet gecategoriseerd Hegel
- Niet gecategoriseerd RGBlink
- Niet gecategoriseerd EMSA
- Niet gecategoriseerd Waldbeck
- Niet gecategoriseerd CTA Digital
- Niet gecategoriseerd Bazooka
- Niet gecategoriseerd K&K Sound
- Niet gecategoriseerd Dutchbone
- Niet gecategoriseerd MyPhone
- Niet gecategoriseerd Fanvil
- Niet gecategoriseerd Noise Engineering
- Niet gecategoriseerd PAC
- Niet gecategoriseerd Wentronic
- Niet gecategoriseerd Xtreme
- Niet gecategoriseerd RAVPower
- Niet gecategoriseerd Mooer
- Niet gecategoriseerd Hooker
- Niet gecategoriseerd Dynaudio
- Niet gecategoriseerd August
- Niet gecategoriseerd Adder
- Niet gecategoriseerd Gitzo
- Niet gecategoriseerd DBX
- Niet gecategoriseerd ECS
- Niet gecategoriseerd Selec
- Niet gecategoriseerd Aiphone
- Niet gecategoriseerd Tivoli Audio
- Niet gecategoriseerd Senal
- Niet gecategoriseerd JETI
- Niet gecategoriseerd EQ3
- Niet gecategoriseerd Karlik
- Niet gecategoriseerd Comark
- Niet gecategoriseerd Homematic IP
- Niet gecategoriseerd N8WERK
- Niet gecategoriseerd Calex
- Niet gecategoriseerd Clean Air Optima
- Niet gecategoriseerd Tovsto
- Niet gecategoriseerd Learning Resources
- Niet gecategoriseerd Xaoc
- Niet gecategoriseerd Qute
- Niet gecategoriseerd Victrola
- Niet gecategoriseerd Lanberg
- Niet gecategoriseerd Kopul
- Niet gecategoriseerd AENO
- Niet gecategoriseerd Proaim
- Niet gecategoriseerd Nexxt
- Niet gecategoriseerd Glock
- Niet gecategoriseerd Linn
- Niet gecategoriseerd Martin Logan
- Niet gecategoriseerd Vorago
- Niet gecategoriseerd Anton/Bauer
- Niet gecategoriseerd Extron
- Niet gecategoriseerd Ibiza Sound
- Niet gecategoriseerd Promethean
- Niet gecategoriseerd HyperIce
- Niet gecategoriseerd Basil
- Niet gecategoriseerd Chipolino
- Niet gecategoriseerd Nxg
- Niet gecategoriseerd AGM
- Niet gecategoriseerd Ambient Recording
- Niet gecategoriseerd Diana
- Niet gecategoriseerd Tandberg Data
- Niet gecategoriseerd Fostex
- Niet gecategoriseerd Prowise
- Niet gecategoriseerd Impact
- Niet gecategoriseerd Areca
- Niet gecategoriseerd Mousetrapper
- Niet gecategoriseerd TSC
- Niet gecategoriseerd Sikkens
- Niet gecategoriseerd DEXP
- Niet gecategoriseerd Burris
- Niet gecategoriseerd GolfBuddy
- Niet gecategoriseerd Proel
- Niet gecategoriseerd FBT
- Niet gecategoriseerd NodOn
- Niet gecategoriseerd Edge
- Niet gecategoriseerd Endorphin.es
- Niet gecategoriseerd MIPRO
- Niet gecategoriseerd Bracketron
- Niet gecategoriseerd Solid State Logic
- Niet gecategoriseerd XYZprinting
- Niet gecategoriseerd Computherm
- Niet gecategoriseerd MTM
- Niet gecategoriseerd X-Sense
- Niet gecategoriseerd IMC Toys
- Niet gecategoriseerd Neets
- Niet gecategoriseerd NAV-TV
- Niet gecategoriseerd Wooden Camera
- Niet gecategoriseerd AMX
- Niet gecategoriseerd SEH
- Niet gecategoriseerd AudioQuest
- Niet gecategoriseerd Powerblade
- Niet gecategoriseerd HiFi ROSE
- Niet gecategoriseerd OSD Audio
- Niet gecategoriseerd WMD
- Niet gecategoriseerd Andover
- Niet gecategoriseerd Moog
- Niet gecategoriseerd Arctic Cooling
- Niet gecategoriseerd Blackstar
- Niet gecategoriseerd Ergotron
- Niet gecategoriseerd Equip
- Niet gecategoriseerd Stairville
- Niet gecategoriseerd Crestron
- Niet gecategoriseerd RME
- Niet gecategoriseerd Black Lion Audio
- Niet gecategoriseerd Crayola
- Niet gecategoriseerd Avid
- Niet gecategoriseerd CTOUCH
- Niet gecategoriseerd Adastra
- Niet gecategoriseerd Konig & Meyer
- Niet gecategoriseerd Meister Craft
- Niet gecategoriseerd Yeastar
- Niet gecategoriseerd Laserworld
- Niet gecategoriseerd Chuango
- Niet gecategoriseerd Hori
- Niet gecategoriseerd Klavis
- Niet gecategoriseerd ORNO
- Niet gecategoriseerd ETiger
- Niet gecategoriseerd Bison
- Niet gecategoriseerd Foxconn
- Niet gecategoriseerd EMG
- Niet gecategoriseerd Icy Dock
- Niet gecategoriseerd Make Noise
- Niet gecategoriseerd TeachLogic
- Niet gecategoriseerd Maytronics
- Niet gecategoriseerd Charge Amps
- Niet gecategoriseerd Newland
- Niet gecategoriseerd Aeon Labs
- Niet gecategoriseerd Shokz
- Niet gecategoriseerd TEF
- Niet gecategoriseerd Dreame
- Niet gecategoriseerd Life Gear
- Niet gecategoriseerd SMART Technologies
- Niet gecategoriseerd ZYCOO
- Niet gecategoriseerd Kontakt Chemie
- Niet gecategoriseerd Riccar
- Niet gecategoriseerd Clean Paper
- Niet gecategoriseerd OpenVox
- Niet gecategoriseerd Electro Harmonix
- Niet gecategoriseerd Erica Synths
- Niet gecategoriseerd SkyRC
- Niet gecategoriseerd Atdec
- Niet gecategoriseerd Portech
- Niet gecategoriseerd Markbass
- Niet gecategoriseerd Kugoo
- Niet gecategoriseerd StarTech.com
- Niet gecategoriseerd Style Me Up
- Niet gecategoriseerd Flexson
- Niet gecategoriseerd Rossi
- Niet gecategoriseerd Nimble
- Niet gecategoriseerd Eissound
- Niet gecategoriseerd Everdure
- Niet gecategoriseerd TCM FX
- Niet gecategoriseerd Snakebyte
- Niet gecategoriseerd IBasso
- Niet gecategoriseerd Warm Audio
- Niet gecategoriseerd AudioControl
- Niet gecategoriseerd Purpleline
- Niet gecategoriseerd Nerf
- Niet gecategoriseerd Nature's Truth
- Niet gecategoriseerd Emeril Lagasse
- Niet gecategoriseerd 2hp
- Niet gecategoriseerd Kelkay
- Niet gecategoriseerd Baby Annabell
- Niet gecategoriseerd Crane Song
- Niet gecategoriseerd PureLink
- Niet gecategoriseerd HyperJuice
- Niet gecategoriseerd Ruger
- Niet gecategoriseerd Sonnet
- Niet gecategoriseerd UX
- Niet gecategoriseerd Gamdias
- Niet gecategoriseerd SPL
- Niet gecategoriseerd Multimetrix
- Niet gecategoriseerd Solid
- Niet gecategoriseerd Hubelino
- Niet gecategoriseerd Aputure
- Niet gecategoriseerd Gerni
- Niet gecategoriseerd Jupio
- Niet gecategoriseerd Infomir
- Niet gecategoriseerd Blaser
- Niet gecategoriseerd Heatit
- Niet gecategoriseerd Deaf Bonce
- Niet gecategoriseerd ProForm
- Niet gecategoriseerd UTEPO
- Niet gecategoriseerd Lindell Audio
- Niet gecategoriseerd Think Tank
- Niet gecategoriseerd Timbersled
- Niet gecategoriseerd After Later Audio
- Niet gecategoriseerd Twelve South
- Niet gecategoriseerd Koala
- Niet gecategoriseerd Drawmer
- Niet gecategoriseerd Blue Sky
- Niet gecategoriseerd ColorKey
- Niet gecategoriseerd Thronmax
- Niet gecategoriseerd PowerXL
- Niet gecategoriseerd IXS
- Niet gecategoriseerd Etymotic
- Niet gecategoriseerd AirTurn
- Niet gecategoriseerd Turbo Air
- Niet gecategoriseerd Zega
- Niet gecategoriseerd Morningstar
- Niet gecategoriseerd CreativeWorKs
- Niet gecategoriseerd Beghelli
- Niet gecategoriseerd Advantech
- Niet gecategoriseerd Moxa
- Niet gecategoriseerd Ultimate Support
- Niet gecategoriseerd Smart-AVI
- Niet gecategoriseerd Inter-Tech
- Niet gecategoriseerd Mesa Boogie
- Niet gecategoriseerd Bicker Elektronik
- Niet gecategoriseerd Iadea
- Niet gecategoriseerd Blizzard
- Niet gecategoriseerd Biohort
- Niet gecategoriseerd Reginox
- Niet gecategoriseerd BIOS Medical
- Niet gecategoriseerd Eero
- Niet gecategoriseerd PSSO
- Niet gecategoriseerd Wise
- Niet gecategoriseerd SIG Sauer
- Niet gecategoriseerd Merkel
- Niet gecategoriseerd Patching Panda
- Niet gecategoriseerd AudioThing
- Niet gecategoriseerd Cinderella
- Niet gecategoriseerd Crest Audio
- Niet gecategoriseerd Globe
- Niet gecategoriseerd XS Power
- Niet gecategoriseerd Beautiful
- Niet gecategoriseerd Anthro
- Niet gecategoriseerd Martin Audio
- Niet gecategoriseerd Grace Design
- Niet gecategoriseerd Contour Design
- Niet gecategoriseerd Heckler Design
- Niet gecategoriseerd Propellerhead
- Niet gecategoriseerd Nanuk
- Niet gecategoriseerd Digital Watchdog
- Niet gecategoriseerd Sonifex
- Niet gecategoriseerd EcoFlow
- Niet gecategoriseerd Kreiling
- Niet gecategoriseerd Xantech
- Niet gecategoriseerd Scanstrut
- Niet gecategoriseerd Roadinger
- Niet gecategoriseerd Boori
- Niet gecategoriseerd Oklahoma Sound
- Niet gecategoriseerd Brilliant
- Niet gecategoriseerd Philos
- Niet gecategoriseerd Thames & Kosmos
- Niet gecategoriseerd Kali Audio
- Niet gecategoriseerd Audioengine
- Niet gecategoriseerd Betso
- Niet gecategoriseerd Fortia
- Niet gecategoriseerd Moen
- Niet gecategoriseerd Kramer
- Niet gecategoriseerd IFi Audio
- Niet gecategoriseerd Babysense
- Niet gecategoriseerd VS Sassoon
- Niet gecategoriseerd Revel
- Niet gecategoriseerd Sealy
- Niet gecategoriseerd Wet Sounds
- Niet gecategoriseerd CRU
- Niet gecategoriseerd Mean Well
- Niet gecategoriseerd Avantone Pro
- Niet gecategoriseerd Sanitaire
- Niet gecategoriseerd Umarex
- Niet gecategoriseerd AbleNet
- Niet gecategoriseerd Exalux
- Niet gecategoriseerd Bolt
- Niet gecategoriseerd Leap Frog
- Niet gecategoriseerd Calligaris .com
- Niet gecategoriseerd Sightmark
- Niet gecategoriseerd Hughes & Kettner
- Niet gecategoriseerd Manley
- Niet gecategoriseerd Rothenberger
- Niet gecategoriseerd Micro Matic
- Niet gecategoriseerd Motu
- Niet gecategoriseerd Creamsource
- Niet gecategoriseerd MEE Audio
- Niet gecategoriseerd Thermomate
- Niet gecategoriseerd Kingston
- Niet gecategoriseerd Noris
- Niet gecategoriseerd Acard
- Niet gecategoriseerd Gamewright
- Niet gecategoriseerd Hameg
- Niet gecategoriseerd HammerSmith
- Niet gecategoriseerd Jordan
- Niet gecategoriseerd King Craft
- Niet gecategoriseerd Panta
- Niet gecategoriseerd Physa
- Niet gecategoriseerd Roidmi
- Niet gecategoriseerd Sonel
- Niet gecategoriseerd Ugreen
- Niet gecategoriseerd Ulsonix
- Niet gecategoriseerd Uniprodo
- Niet gecategoriseerd Vixen
- Niet gecategoriseerd Xplora
- Niet gecategoriseerd Norton Clipper
- Niet gecategoriseerd KanexPro
- Niet gecategoriseerd Blustream
- Niet gecategoriseerd Avocent
- Niet gecategoriseerd SVS
- Niet gecategoriseerd YSI
- Niet gecategoriseerd RTS
- Niet gecategoriseerd Ontech
- Niet gecategoriseerd Koss
- Niet gecategoriseerd Kwikset
- Niet gecategoriseerd RaySafe
- Niet gecategoriseerd Di4
- Niet gecategoriseerd Ashly
- Niet gecategoriseerd Sanli
- Niet gecategoriseerd Shelly
- Niet gecategoriseerd Siemon
- Niet gecategoriseerd Block & Block
- Niet gecategoriseerd Four Hands
- Niet gecategoriseerd Oben
- Niet gecategoriseerd ASA
- Niet gecategoriseerd Botex
- Niet gecategoriseerd Maxsa
- Niet gecategoriseerd Park Tool
- Niet gecategoriseerd Dangerous Music
- Niet gecategoriseerd ModeCom
- Niet gecategoriseerd Fine Dine
- Niet gecategoriseerd Essenza
- Niet gecategoriseerd Rugged Geek
- Niet gecategoriseerd Dave Smith
- Niet gecategoriseerd PATLITE
- Niet gecategoriseerd Lian Li
- Niet gecategoriseerd Match
- Niet gecategoriseerd Vocopro
- Niet gecategoriseerd TFA Dostmann
- Niet gecategoriseerd Werma
- Niet gecategoriseerd Walrus Audio
- Niet gecategoriseerd Durable
- Niet gecategoriseerd Zenza Bronica
- Niet gecategoriseerd Greisinger
- Niet gecategoriseerd Suprema
- Niet gecategoriseerd Ziehl
- Niet gecategoriseerd VAIS
- Niet gecategoriseerd Glide Gear
- Niet gecategoriseerd Perma
- Niet gecategoriseerd Scandes
- Niet gecategoriseerd Testec
- Niet gecategoriseerd Enovate
- Niet gecategoriseerd Pigtronix
- Niet gecategoriseerd ProTeam
- Niet gecategoriseerd Wagner SprayTech
- Niet gecategoriseerd Libec
- Niet gecategoriseerd Pardini
- Niet gecategoriseerd Ledlenser
- Niet gecategoriseerd KWC
- Niet gecategoriseerd Soul
- Niet gecategoriseerd Laney
- Niet gecategoriseerd BirdDog
- Niet gecategoriseerd Theragun
- Niet gecategoriseerd LAS
- Niet gecategoriseerd Rosseto
- Niet gecategoriseerd Redrock Micro
- Niet gecategoriseerd Kata
- Niet gecategoriseerd AVer
- Niet gecategoriseerd EarthQuaker Devices
- Niet gecategoriseerd Briggs & Stratton
- Niet gecategoriseerd USAopoly
- Niet gecategoriseerd Gami
- Niet gecategoriseerd Igloohome
- Niet gecategoriseerd Elinchrom
- Niet gecategoriseerd Universal Audio
- Niet gecategoriseerd CamRanger
- Niet gecategoriseerd Madrix
- Niet gecategoriseerd Spacedec
- Niet gecategoriseerd Auray
- Niet gecategoriseerd Bontempi
- Niet gecategoriseerd Summer Infant
- Niet gecategoriseerd Cooper & Quint
- Niet gecategoriseerd Deltex
- Niet gecategoriseerd Adax
- Niet gecategoriseerd Crimson
- Niet gecategoriseerd OXO Good Grips
- Niet gecategoriseerd Helios Preisser
- Niet gecategoriseerd Nitek
- Niet gecategoriseerd Snoes
- Niet gecategoriseerd Posiflex
- Niet gecategoriseerd Labelmate
- Niet gecategoriseerd Schertler
- Niet gecategoriseerd Teradek
- Niet gecategoriseerd Kunath
- Niet gecategoriseerd Hikmicro
- Niet gecategoriseerd Vimar
- Niet gecategoriseerd SolarEdge
- Niet gecategoriseerd GOgroove
- Niet gecategoriseerd ViewCast
- Niet gecategoriseerd Wolfcraft
- Niet gecategoriseerd Tennsco
- Niet gecategoriseerd RAM Mounts
- Niet gecategoriseerd Ocean Matrix
- Niet gecategoriseerd Novus
- Niet gecategoriseerd Getac
- Niet gecategoriseerd Arebos
- Niet gecategoriseerd Kreg
- Niet gecategoriseerd Speco Technologies
- Niet gecategoriseerd Backyard Discovery
- Niet gecategoriseerd Minuteman
- Niet gecategoriseerd Ortofon
- Niet gecategoriseerd Cameo
- Niet gecategoriseerd RéVive
- Niet gecategoriseerd NovaStar
- Niet gecategoriseerd ZKTeco
- Niet gecategoriseerd Merax
- Niet gecategoriseerd Star Micronics
- Niet gecategoriseerd Kemo
- Niet gecategoriseerd Woodland Scenics
- Niet gecategoriseerd Chapin
- Niet gecategoriseerd Morel
- Niet gecategoriseerd J. Rockett Audio Designs
- Niet gecategoriseerd Pancontrol
- Niet gecategoriseerd SRS
- Niet gecategoriseerd Satisfyer
- Niet gecategoriseerd Hämmerli
- Niet gecategoriseerd Soma
- Niet gecategoriseerd Point 65
- Niet gecategoriseerd ReTrak
- Niet gecategoriseerd Akuvox
- Niet gecategoriseerd LYYT
- Niet gecategoriseerd Old Blood Noise
- Niet gecategoriseerd Vulcan
- Niet gecategoriseerd Rovo Kids
- Niet gecategoriseerd Catalyst
- Niet gecategoriseerd Dension
- Niet gecategoriseerd Antelope Audio
- Niet gecategoriseerd Venom
- Niet gecategoriseerd H-Tronic
- Niet gecategoriseerd CE Labs
- Niet gecategoriseerd Legrand
- Niet gecategoriseerd Ebro
- Niet gecategoriseerd Z CAM
- Niet gecategoriseerd Digium
- Niet gecategoriseerd Bluetti
- Niet gecategoriseerd Panduit
- Niet gecategoriseerd Socomec
- Niet gecategoriseerd San Jamar
- Niet gecategoriseerd IPort
- Niet gecategoriseerd X-Rite
- Niet gecategoriseerd Talkaphone
- Niet gecategoriseerd GermGuardian
- Niet gecategoriseerd R-Go Tools
- Niet gecategoriseerd Urbanista
- Niet gecategoriseerd SLV
- Niet gecategoriseerd Sagitter
- Niet gecategoriseerd Gagato
- Niet gecategoriseerd Traeger
- Niet gecategoriseerd General
- Niet gecategoriseerd Ooni
- Niet gecategoriseerd Special-T
- Niet gecategoriseerd Tzumi
- Niet gecategoriseerd BERTSCHAT
- Niet gecategoriseerd Michael Todd Beauty
- Niet gecategoriseerd Cygnett
- Niet gecategoriseerd Victorio
- Niet gecategoriseerd JAYS
- Niet gecategoriseerd Intertechno
- Niet gecategoriseerd Parklands
- Niet gecategoriseerd Consul
- Niet gecategoriseerd EKO
- Niet gecategoriseerd BIG
- Niet gecategoriseerd SureFire
- Niet gecategoriseerd Kenton
- Niet gecategoriseerd DAB
- Niet gecategoriseerd Cypress
- Niet gecategoriseerd Foliatec
- Niet gecategoriseerd Röhm
- Niet gecategoriseerd Mauser
- Niet gecategoriseerd Silhouette
- Niet gecategoriseerd South Shore
- Niet gecategoriseerd Discovery
- Niet gecategoriseerd T4E
- Niet gecategoriseerd Speck
- Niet gecategoriseerd Tineco
- Niet gecategoriseerd Generation
- Niet gecategoriseerd 8BitDo
- Niet gecategoriseerd Dawn House
- Niet gecategoriseerd Ecler
- Niet gecategoriseerd Turbosound
- Niet gecategoriseerd Ulanzi
- Niet gecategoriseerd Anova
- Niet gecategoriseerd Viscount
- Niet gecategoriseerd JennAir
- Niet gecategoriseerd Pawa
- Niet gecategoriseerd LERAN
- Niet gecategoriseerd Majella
- Niet gecategoriseerd GMB Audio
- Niet gecategoriseerd Ashdown Engineering
- Niet gecategoriseerd Unger
- Niet gecategoriseerd Esotec
- Niet gecategoriseerd Petkit
- Niet gecategoriseerd Peltor
- Niet gecategoriseerd Pit Boss
- Niet gecategoriseerd Fuzzix
- Niet gecategoriseerd Kitchen Brains
- Niet gecategoriseerd Challenge Xtreme
- Niet gecategoriseerd Flycam
- Niet gecategoriseerd NetAlly
- Niet gecategoriseerd JAR Systems
- Niet gecategoriseerd Moleskine
- Niet gecategoriseerd Bytecc
- Niet gecategoriseerd Strex
- Niet gecategoriseerd Premier Mounts
- Niet gecategoriseerd One Stop Systems
- Niet gecategoriseerd Cool Maker
- Niet gecategoriseerd PeakTech
- Niet gecategoriseerd Neo
- Niet gecategoriseerd EVOline
- Niet gecategoriseerd T.I.P.
- Niet gecategoriseerd DoughXpress
- Niet gecategoriseerd Gravity
- Niet gecategoriseerd Aquatic AV
- Niet gecategoriseerd Parasound
- Niet gecategoriseerd MSR
- Niet gecategoriseerd DB Technologies
- Niet gecategoriseerd Promate
- Niet gecategoriseerd Berger & Schröter
- Niet gecategoriseerd Tru Components
- Niet gecategoriseerd Step2
- Niet gecategoriseerd Crystal Quest
- Niet gecategoriseerd Emko
- Niet gecategoriseerd Needit
- Niet gecategoriseerd GoldenEar Technology
- Niet gecategoriseerd Colt
- Niet gecategoriseerd Elite Screens
- Niet gecategoriseerd Sungrow
- Niet gecategoriseerd Ultron
- Niet gecategoriseerd Choice
- Niet gecategoriseerd Roswell
- Niet gecategoriseerd FOX ESS
- Niet gecategoriseerd Airman
- Niet gecategoriseerd Cascade Audio Engineering
- Niet gecategoriseerd Grosfillex
- Niet gecategoriseerd Solplanet
- Niet gecategoriseerd Beemoo
- Niet gecategoriseerd Hollyland
- Niet gecategoriseerd Versare
- Niet gecategoriseerd Enphase
- Niet gecategoriseerd Tractive
- Niet gecategoriseerd SpeakerCraft
- Niet gecategoriseerd Celexon
- Niet gecategoriseerd Epcom
- Niet gecategoriseerd Kanto
- Niet gecategoriseerd ZeeVee
- Niet gecategoriseerd Siku
- Niet gecategoriseerd ADDAC System
- Niet gecategoriseerd Doomoo
- Niet gecategoriseerd MBZ
- Niet gecategoriseerd Davey
- Niet gecategoriseerd Mettler
- Niet gecategoriseerd Metalux
- Niet gecategoriseerd Potenza
- Niet gecategoriseerd LOQED
- Niet gecategoriseerd Hatco
- Niet gecategoriseerd Bugera
- Niet gecategoriseerd Fulgor Milano
- Niet gecategoriseerd Mitsai
- Niet gecategoriseerd Leef
- Niet gecategoriseerd Hovicon
- Niet gecategoriseerd RCBS
- Niet gecategoriseerd American BioTech Supply
- Niet gecategoriseerd JANDY
- Niet gecategoriseerd KS Tools
- Niet gecategoriseerd Schmidt & Bender
- Niet gecategoriseerd Improv
- Niet gecategoriseerd InLine
- Niet gecategoriseerd Wegman
- Niet gecategoriseerd Lockncharge
- Niet gecategoriseerd V7
- Niet gecategoriseerd Goal Zero
- Niet gecategoriseerd HealthPostures
- Niet gecategoriseerd Dreadbox
- Niet gecategoriseerd Joranalogue
- Niet gecategoriseerd CYP
- Niet gecategoriseerd Lutec
- Niet gecategoriseerd Champion Sports
- Niet gecategoriseerd Molotow
- Niet gecategoriseerd Dux
- Niet gecategoriseerd Miditech
- Niet gecategoriseerd SE Electronics
- Niet gecategoriseerd TTM
- Niet gecategoriseerd Paw Patrol
- Niet gecategoriseerd LELO
- Niet gecategoriseerd Apricorn
- Niet gecategoriseerd Mermade
- Niet gecategoriseerd MXR
- Niet gecategoriseerd SKLZ
- Niet gecategoriseerd Herma
- Niet gecategoriseerd Cyrus
- Niet gecategoriseerd Syrp
- Niet gecategoriseerd Losi
- Niet gecategoriseerd Ugolini
- Niet gecategoriseerd Heckler & Koch
- Niet gecategoriseerd Palmer
- Niet gecategoriseerd J5create
- Niet gecategoriseerd Hushmat
- Niet gecategoriseerd Tema
- Niet gecategoriseerd Xigmatek
- Niet gecategoriseerd Intellijel
- Niet gecategoriseerd ALM
- Niet gecategoriseerd Topaz
- Niet gecategoriseerd Toddy
- Niet gecategoriseerd Astell&Kern
- Niet gecategoriseerd Doepfer
- Niet gecategoriseerd Fun Generation
- Niet gecategoriseerd Xvive
- Niet gecategoriseerd TV One
- Niet gecategoriseerd Empress Effects
- Niet gecategoriseerd Elcom
- Niet gecategoriseerd DataComm
- Niet gecategoriseerd Powercube
- Niet gecategoriseerd Kasp
- Niet gecategoriseerd Dimavery
- Niet gecategoriseerd Hanwha
- Niet gecategoriseerd WestBend
- Niet gecategoriseerd Sherlock
- Niet gecategoriseerd SEA-PRO
- Niet gecategoriseerd Livarno Lux
- Niet gecategoriseerd Omiindustriies
- Niet gecategoriseerd Weltevree
- Niet gecategoriseerd Phoenix Contact
- Niet gecategoriseerd AMS Neve
- Niet gecategoriseerd LVSUN
- Niet gecategoriseerd Aston Microphones
- Niet gecategoriseerd Netsys
- Niet gecategoriseerd Alfi
- Niet gecategoriseerd Polarlite
- Niet gecategoriseerd Companion
- Niet gecategoriseerd Mr. Beams
- Niet gecategoriseerd Morphor
- Niet gecategoriseerd Lapp
- Niet gecategoriseerd XO
- Niet gecategoriseerd PcDuino
- Niet gecategoriseerd LECO
- Niet gecategoriseerd Maretron
- Niet gecategoriseerd Hortus
- Niet gecategoriseerd Razorri
- Niet gecategoriseerd Fetch
- Niet gecategoriseerd Zoetis
- Niet gecategoriseerd NWS
- Niet gecategoriseerd Scale Computing
- Niet gecategoriseerd Broil King
- Niet gecategoriseerd Naturn Living
- Niet gecategoriseerd Aeotec
- Niet gecategoriseerd Catlink
- Niet gecategoriseerd FitterFirst
- Niet gecategoriseerd Raveland
- Niet gecategoriseerd Trumeter
- Niet gecategoriseerd Seidio
- Niet gecategoriseerd Sincreative
- Niet gecategoriseerd JDC
- Niet gecategoriseerd Hidrate
- Niet gecategoriseerd Sonicware
- Niet gecategoriseerd Nexibo
- Niet gecategoriseerd Jolin
- Niet gecategoriseerd MoTip
- Niet gecategoriseerd Stenda
- Niet gecategoriseerd Pro-Lift
- Niet gecategoriseerd HIOAZO
- Niet gecategoriseerd Malstrom
- Niet gecategoriseerd Laserluchs
- Niet gecategoriseerd Powersoft
- Niet gecategoriseerd Casetastic
- Niet gecategoriseerd UClear
- Niet gecategoriseerd BikeLogger
- Niet gecategoriseerd Tor Rey
- Niet gecategoriseerd Momo Design
- Niet gecategoriseerd Flavour Blaster
- Niet gecategoriseerd Esdec
- Niet gecategoriseerd TDK-Lambda
- Niet gecategoriseerd Ruark Audio
- Niet gecategoriseerd AJH Synth
- Niet gecategoriseerd LifeStraw
- Niet gecategoriseerd Lincoln Electric
- Niet gecategoriseerd Toolit
- Niet gecategoriseerd Egnater
- Niet gecategoriseerd DutchOne
- Niet gecategoriseerd Feitian
- Niet gecategoriseerd Cranborne Audio
- Niet gecategoriseerd Ergie
- Niet gecategoriseerd Reltech
- Niet gecategoriseerd Armcross
- Niet gecategoriseerd Focus Electrics
- Niet gecategoriseerd Huntleigh
- Niet gecategoriseerd Beeletix
- Niet gecategoriseerd Gehmann
- Niet gecategoriseerd Batronix
- Niet gecategoriseerd Franzis
- Niet gecategoriseerd Gridbyt
- Niet gecategoriseerd LONQ
- Niet gecategoriseerd Em-Trak
- Niet gecategoriseerd Wonky Monkey
- Niet gecategoriseerd Dresden Elektronik
- Niet gecategoriseerd Atmel
- Niet gecategoriseerd Esoteric
- Niet gecategoriseerd SmartAVI
- Niet gecategoriseerd EPH Elektronik
- Niet gecategoriseerd InfiRay
- Niet gecategoriseerd Best Service
- Niet gecategoriseerd IMG Stage Line
- Niet gecategoriseerd IMAC
- Niet gecategoriseerd Metz Connect
- Niet gecategoriseerd MGL Avionics
- Niet gecategoriseerd Eikon
- Niet gecategoriseerd Casablanca
- Niet gecategoriseerd Nemco
- Niet gecategoriseerd Wireless Solution
- Niet gecategoriseerd Beverage-Air
- Niet gecategoriseerd Barber Tech
- Niet gecategoriseerd EarFun
- Niet gecategoriseerd Oehlbach
- Niet gecategoriseerd Minkels
- Niet gecategoriseerd Kipor
- Niet gecategoriseerd HMS Premium
- Niet gecategoriseerd Arduino
- Niet gecategoriseerd Ave Six
- Niet gecategoriseerd Bestar
- Niet gecategoriseerd Pelco
- Niet gecategoriseerd Gardigo
- Niet gecategoriseerd Highpoint
- Niet gecategoriseerd Netter Vibration
- Niet gecategoriseerd Puls Dimension
- Niet gecategoriseerd Studiologic
- Niet gecategoriseerd Fischer Amps
- Niet gecategoriseerd CHINT
- Niet gecategoriseerd Rigol
- Niet gecategoriseerd Sirus
- Niet gecategoriseerd Leviton
- Niet gecategoriseerd Chauvin Arnoux
- Niet gecategoriseerd Gretsch
- Niet gecategoriseerd Pentacon
- Niet gecategoriseerd Atlas Sound
- Niet gecategoriseerd Bolsey
- Niet gecategoriseerd Louis Tellier
- Niet gecategoriseerd EtiamPro
- Niet gecategoriseerd Baracuda
- Niet gecategoriseerd Kstar
- Niet gecategoriseerd Neutrik
- Niet gecategoriseerd Aim TTi
- Niet gecategoriseerd Air Guard
- Niet gecategoriseerd MediaMatrix
- Niet gecategoriseerd Anywhere Cart
- Niet gecategoriseerd Tuur
- Niet gecategoriseerd ONE Smart Control
- Niet gecategoriseerd Edelkrone
- Niet gecategoriseerd OBSBOT
- Niet gecategoriseerd DEHN
- Niet gecategoriseerd InSinkErator
- Niet gecategoriseerd AREXX
- Niet gecategoriseerd Omnires
- Niet gecategoriseerd Piko
- Niet gecategoriseerd Elite Force
- Niet gecategoriseerd JK Audio
- Niet gecategoriseerd Lifan
- Niet gecategoriseerd Jomox
- Niet gecategoriseerd Pentatech
- Niet gecategoriseerd Lexicon
- Niet gecategoriseerd Icarus Blue
- Niet gecategoriseerd Command
- Niet gecategoriseerd Starburst
- Niet gecategoriseerd Futurelight
- Niet gecategoriseerd AVPro Edge
- Niet gecategoriseerd Fluance
- Niet gecategoriseerd Garden Place
- Niet gecategoriseerd Cudy
- Niet gecategoriseerd MaximaVida
- Niet gecategoriseerd KRK
- Niet gecategoriseerd Robinhood
- Niet gecategoriseerd Bliss Outdoors
- Niet gecategoriseerd Fontiso
- Niet gecategoriseerd Varytec
- Niet gecategoriseerd Altra
- Niet gecategoriseerd Omnilux
- Niet gecategoriseerd Belena
- Niet gecategoriseerd Socket Mobile
- Niet gecategoriseerd Quartet
- Niet gecategoriseerd Heitronic
- Niet gecategoriseerd Shadow
- Niet gecategoriseerd IP-COM
- Niet gecategoriseerd Kiev
- Niet gecategoriseerd Comtek
- Niet gecategoriseerd Fishman
- Niet gecategoriseerd Tams Elektronik
- Niet gecategoriseerd Digital Juice
- Niet gecategoriseerd Eschenbach
- Niet gecategoriseerd Neumärker
- Niet gecategoriseerd ASM
- Niet gecategoriseerd Ltech
- Niet gecategoriseerd RetroSound
- Niet gecategoriseerd PowerBass
- Niet gecategoriseerd Caroline
- Niet gecategoriseerd Zomo
- Niet gecategoriseerd VAIS Technology
- Niet gecategoriseerd NEO Tools
- Niet gecategoriseerd Synco
- Niet gecategoriseerd Buchla & TipTop Audio
- Niet gecategoriseerd Kiloview
- Niet gecategoriseerd Pyramid
- Niet gecategoriseerd Maico
- Niet gecategoriseerd On-Q
- Niet gecategoriseerd Govee
- Niet gecategoriseerd SetonixSynth
- Niet gecategoriseerd Horex
- Niet gecategoriseerd Inno-Hit
- Niet gecategoriseerd AvaValley
- Niet gecategoriseerd INTIMINA
- Niet gecategoriseerd Monzana
- Niet gecategoriseerd FCC BBQ
- Niet gecategoriseerd Auto XS
- Niet gecategoriseerd Toomax
- Niet gecategoriseerd Aqua Marina
- Niet gecategoriseerd Greemotion
- Niet gecategoriseerd Winter Modular
- Niet gecategoriseerd Jonard Tools
- Niet gecategoriseerd FED
- Niet gecategoriseerd Platinum Tools
- Niet gecategoriseerd Synamodec
- Niet gecategoriseerd Grotime
- Niet gecategoriseerd Pico Macom
- Niet gecategoriseerd RadonTec
- Niet gecategoriseerd Katrin
- Niet gecategoriseerd TDE Instruments
- Niet gecategoriseerd Kendau
- Niet gecategoriseerd Coxreels
- Niet gecategoriseerd Morley
- Niet gecategoriseerd Overade
- Niet gecategoriseerd Liemke
- Niet gecategoriseerd Copco
- Niet gecategoriseerd Vanson
- Niet gecategoriseerd Carcomm
- Niet gecategoriseerd Swedish Posture
- Niet gecategoriseerd GoldAir
- Niet gecategoriseerd JIMMY
- Niet gecategoriseerd Melnor
- Niet gecategoriseerd CDVI
- Niet gecategoriseerd Sôlt
- Niet gecategoriseerd HomePilot
- Niet gecategoriseerd Leaptel
- Niet gecategoriseerd Lifenaxx
- Niet gecategoriseerd Waterbird
- Niet gecategoriseerd WindFall
- Niet gecategoriseerd Angler
- Niet gecategoriseerd Akrobat
- Niet gecategoriseerd Casaria
- Niet gecategoriseerd Selleys
- Niet gecategoriseerd Ameristep
- Niet gecategoriseerd KM-fit
- Niet gecategoriseerd X Rocker
- Niet gecategoriseerd Mircom
- Niet gecategoriseerd ESUN
- Niet gecategoriseerd Durex
- Niet gecategoriseerd Ravanson
- Niet gecategoriseerd AeroCool
- Niet gecategoriseerd QUIO
- Niet gecategoriseerd Vantage Point
- Niet gecategoriseerd Jokari
- Niet gecategoriseerd BeeSecure
- Niet gecategoriseerd MantelMount
- Niet gecategoriseerd Unicol
- Niet gecategoriseerd Lasita Maja
- Niet gecategoriseerd Meccano
- Niet gecategoriseerd Oatey
- Niet gecategoriseerd Gretsch Guitars
- Niet gecategoriseerd Banoch
- Niet gecategoriseerd XP-PEN
- Niet gecategoriseerd Atmotube
- Niet gecategoriseerd Sun Pumps
- Niet gecategoriseerd Electrify
- Niet gecategoriseerd Leatt
- Niet gecategoriseerd Bleep Labs
- Niet gecategoriseerd FontaFit
- Niet gecategoriseerd Gossmann
- Niet gecategoriseerd Comatec
- Niet gecategoriseerd Beringer
- Niet gecategoriseerd Atech Flash Technology
- Niet gecategoriseerd AutoParkTime
- Niet gecategoriseerd Ernitec
- Niet gecategoriseerd Facal
- Niet gecategoriseerd Planet Audio
- Niet gecategoriseerd Datacolor
- Niet gecategoriseerd Silicon Power
- Niet gecategoriseerd Sabrent
- Niet gecategoriseerd JAXY
- Niet gecategoriseerd WARN
- Niet gecategoriseerd TikkTokk
- Niet gecategoriseerd Roco
- Niet gecategoriseerd Wibrain
- Niet gecategoriseerd Rolly Toys
- Niet gecategoriseerd Deditec
- Niet gecategoriseerd Level Mount
- Niet gecategoriseerd Teenage Engineering
- Niet gecategoriseerd Elipson
- Niet gecategoriseerd Create
- Niet gecategoriseerd STANDIVARIUS
- Niet gecategoriseerd CommScope
- Niet gecategoriseerd Extralife Instruments
- Niet gecategoriseerd Genki Instruments
- Niet gecategoriseerd Industrial Music Electronics
- Niet gecategoriseerd Mauser Sitzkultur
- Niet gecategoriseerd Accezz
- Niet gecategoriseerd A4 Tech
- Niet gecategoriseerd Zedar
- Niet gecategoriseerd Yli Electronic
- Niet gecategoriseerd Dals
- Niet gecategoriseerd Bulman
- Niet gecategoriseerd TOOLMATE
- Niet gecategoriseerd SleepPro
- Niet gecategoriseerd Muama
- Niet gecategoriseerd Lepu Medical
- Niet gecategoriseerd Michigan
- Niet gecategoriseerd Waterdrop
- Niet gecategoriseerd ZCover
- Niet gecategoriseerd Vasagle
- Niet gecategoriseerd Lewitt
- Niet gecategoriseerd Aquatica
- Niet gecategoriseerd Girmi
- Niet gecategoriseerd Goaliath
- Niet gecategoriseerd 909 Outdoor
- Niet gecategoriseerd Viomi
- Niet gecategoriseerd Grimm Audio
- Niet gecategoriseerd Kahayan
- Niet gecategoriseerd Better Life
- Niet gecategoriseerd TK Audio
- Niet gecategoriseerd Dayclocks
- Niet gecategoriseerd Phidgets
- Niet gecategoriseerd Postium
- Niet gecategoriseerd Hawk-Woods
- Niet gecategoriseerd Novo
- Niet gecategoriseerd Commercial Chef
- Niet gecategoriseerd Dexibell
- Niet gecategoriseerd IsoAcoustics
- Niet gecategoriseerd Memphis
- Niet gecategoriseerd Clifford
- Niet gecategoriseerd AVMATRIX
- Niet gecategoriseerd Cambo
- Niet gecategoriseerd Hedbox
- Niet gecategoriseerd Adviti
- Niet gecategoriseerd Maclean
- Niet gecategoriseerd 9.solutions
- Niet gecategoriseerd Grundfos
- Niet gecategoriseerd Hotone
- Niet gecategoriseerd Trace Elliot
- Niet gecategoriseerd Lockwood
- Niet gecategoriseerd Kospel
- Niet gecategoriseerd Nexera
- Niet gecategoriseerd BlueDri
- Niet gecategoriseerd Seenergy
- Niet gecategoriseerd Meinl
- Niet gecategoriseerd Analogis
- Niet gecategoriseerd BBQ Premium
- Niet gecategoriseerd Stäubli
- Niet gecategoriseerd RAB
- Niet gecategoriseerd Schabus
- Niet gecategoriseerd Eoslift
- Niet gecategoriseerd Steelton
- Niet gecategoriseerd FeinTech
- Niet gecategoriseerd BioChef
- Niet gecategoriseerd T-Rex
- Niet gecategoriseerd Waterco
- Niet gecategoriseerd Koolatron
- Niet gecategoriseerd Kindercraft
- Niet gecategoriseerd Tot Tutors
- Niet gecategoriseerd Tonar
- Niet gecategoriseerd Peterson
- Niet gecategoriseerd CFH
- Niet gecategoriseerd BOB Gear
- Niet gecategoriseerd Emeril Everyday
- Niet gecategoriseerd Rockboard
- Niet gecategoriseerd Goodis
- Niet gecategoriseerd Nivian
- Niet gecategoriseerd L.R.Baggs
- Niet gecategoriseerd Millennia
- Niet gecategoriseerd Vermona Modular
- Niet gecategoriseerd Adventure Kings
- Niet gecategoriseerd Drive Medical
- Niet gecategoriseerd Hitron
- Niet gecategoriseerd Bliss Hammocks
- Niet gecategoriseerd Singular Sound
- Niet gecategoriseerd Maneco Labs
- Niet gecategoriseerd BISWIND
- Niet gecategoriseerd ABE Arnhold
- Niet gecategoriseerd Mermade Hair
- Niet gecategoriseerd Hover-1
- Niet gecategoriseerd Auer Signal
- Niet gecategoriseerd HELGI
- Niet gecategoriseerd Forge Adour
- Niet gecategoriseerd Eliminator Lighting
- Niet gecategoriseerd Darkglass
- Niet gecategoriseerd Paasche
- Niet gecategoriseerd Vistus
- Niet gecategoriseerd GMW
- Niet gecategoriseerd AER
- Niet gecategoriseerd Dynavox
- Niet gecategoriseerd Columbus
- Niet gecategoriseerd IWH
- Niet gecategoriseerd Code Mercenaries
- Niet gecategoriseerd SoundMagic
- Niet gecategoriseerd Diamex
- Niet gecategoriseerd Sunset
- Niet gecategoriseerd IPEGA
- Niet gecategoriseerd Avital
- Niet gecategoriseerd Ondis24
- Niet gecategoriseerd D'Addario
- Niet gecategoriseerd BBE
- Niet gecategoriseerd Lemair
- Niet gecategoriseerd Warwick
- Niet gecategoriseerd MyAVR
- Niet gecategoriseerd EBS
- Niet gecategoriseerd WEICON
- Niet gecategoriseerd Rotronic
- Niet gecategoriseerd Edsyn
- Niet gecategoriseerd Urban Glide
- Niet gecategoriseerd EISL
- Niet gecategoriseerd RCS
- Niet gecategoriseerd ARC
- Niet gecategoriseerd Nicai Systems
- Niet gecategoriseerd IDENTsmart
- Niet gecategoriseerd Altrad
- Niet gecategoriseerd Revier Manager
- Niet gecategoriseerd Homak
- Niet gecategoriseerd Statron
- Niet gecategoriseerd Tycon Systems
- Niet gecategoriseerd Selve
- Niet gecategoriseerd Lumel
- Niet gecategoriseerd Paingone
- Niet gecategoriseerd Howard Leight
- Niet gecategoriseerd Martens
- Niet gecategoriseerd Palmako
- Niet gecategoriseerd Desview
- Niet gecategoriseerd ActiveJet
- Niet gecategoriseerd Global Water
- Niet gecategoriseerd Allsee
- Niet gecategoriseerd Softing
- Niet gecategoriseerd Pulse ShowerSpas
- Niet gecategoriseerd Alogic
- Niet gecategoriseerd GFB
- Niet gecategoriseerd Sonicsmith
- Niet gecategoriseerd Toraiz
- Niet gecategoriseerd Ergodyne
- Niet gecategoriseerd Maturmeat
- Niet gecategoriseerd Orbsmart
- Niet gecategoriseerd Eowave
- Niet gecategoriseerd Nature2
- Niet gecategoriseerd AMERRY
- Niet gecategoriseerd ShelterLogic
- Niet gecategoriseerd Varad
- Niet gecategoriseerd UDG Gear
- Niet gecategoriseerd KMA Machines
- Niet gecategoriseerd CEDAR
- Niet gecategoriseerd Klark Teknik
- Niet gecategoriseerd Source Audio
- Niet gecategoriseerd AtomoSynth
- Niet gecategoriseerd Benidub
- Niet gecategoriseerd Winston
- Niet gecategoriseerd Solidsteel
- Niet gecategoriseerd Lectrosonics
- Niet gecategoriseerd Dracast
- Niet gecategoriseerd Malouf
- Niet gecategoriseerd PureTools
- Niet gecategoriseerd SiriusXM
- Niet gecategoriseerd Earthwise
- Niet gecategoriseerd Raya
- Niet gecategoriseerd NANO Modules
- Niet gecategoriseerd Artex
- Niet gecategoriseerd Verbos Electronics
- Niet gecategoriseerd Ark
- Niet gecategoriseerd DLO
- Niet gecategoriseerd ENS
- Niet gecategoriseerd Listen
- Niet gecategoriseerd Pentair
- Niet gecategoriseerd Oscium
- Niet gecategoriseerd Benchmark USA
- Niet gecategoriseerd Littelfuse
- Niet gecategoriseerd Game Factor
- Niet gecategoriseerd NComputing
- Niet gecategoriseerd Aguilar
- Niet gecategoriseerd Brändi
- Niet gecategoriseerd Mode Machines
- Niet gecategoriseerd Legends
- Niet gecategoriseerd AS Synthesizers
- Niet gecategoriseerd Itechworld
- Niet gecategoriseerd Nexcom
- Niet gecategoriseerd Janitza
- Niet gecategoriseerd SatKing
- Niet gecategoriseerd Fulltone
- Niet gecategoriseerd Advantix
- Niet gecategoriseerd Wampler
- Niet gecategoriseerd Hosa
- Niet gecategoriseerd VAEMI
- Niet gecategoriseerd Narva
- Niet gecategoriseerd DOK
- Niet gecategoriseerd OzCharge
- Niet gecategoriseerd MIYO
- Niet gecategoriseerd Cioks
- Niet gecategoriseerd Neopower
- Niet gecategoriseerd AvMap
- Niet gecategoriseerd Arlec
- Niet gecategoriseerd REDARC
- Niet gecategoriseerd Guardian
- Niet gecategoriseerd Radio Flyer
- Niet gecategoriseerd Gaslock
- Niet gecategoriseerd Gaffgun
- Niet gecategoriseerd AquaMAX
- Niet gecategoriseerd DigitSole
- Niet gecategoriseerd Portsmith
- Niet gecategoriseerd Flame
- Niet gecategoriseerd Rome
- Niet gecategoriseerd DW
- Niet gecategoriseerd BEA
- Niet gecategoriseerd Disty
- Niet gecategoriseerd OXI Instruments
- Niet gecategoriseerd AvaTime
- Niet gecategoriseerd Xhose
- Niet gecategoriseerd MYVU
- Niet gecategoriseerd Kopykake
- Niet gecategoriseerd Konstant Lab
- Niet gecategoriseerd Turbo Scrub
- Niet gecategoriseerd Tenderfoot Electronics
- Niet gecategoriseerd Kask
- Niet gecategoriseerd Callpod
- Niet gecategoriseerd Dorman
- Niet gecategoriseerd 2box
- Niet gecategoriseerd Enlight
- Niet gecategoriseerd Franken
- Niet gecategoriseerd RUBI
- Niet gecategoriseerd Europa Leisure
- Niet gecategoriseerd GAMO
- Niet gecategoriseerd Musser
- Niet gecategoriseerd Edge Products
- Niet gecategoriseerd IClever
- Niet gecategoriseerd HN-Power
- Niet gecategoriseerd BIONIK
- Niet gecategoriseerd King Canopy
- Niet gecategoriseerd HeadRush
- Niet gecategoriseerd ChamSys
- Niet gecategoriseerd Milestone Systems
- Niet gecategoriseerd Flover
- Niet gecategoriseerd Micsig
- Niet gecategoriseerd Dodow
- Niet gecategoriseerd Spring
- Niet gecategoriseerd Red Panda
- Niet gecategoriseerd Aquasure
- Niet gecategoriseerd Banana Pi
- Niet gecategoriseerd American International
- Niet gecategoriseerd Crazy Tube Circuits
- Niet gecategoriseerd J.P. Instruments
- Niet gecategoriseerd GMB Gaming
- Niet gecategoriseerd Proclip
- Niet gecategoriseerd Kaona
- Niet gecategoriseerd Baja Mobility
- Niet gecategoriseerd DPW Design
- Niet gecategoriseerd SinuPulse
- Niet gecategoriseerd The T.bone
- Niet gecategoriseerd DIEZEL
- Niet gecategoriseerd VMB
- Niet gecategoriseerd Z.Vex
- Niet gecategoriseerd Seymour Duncan
- Niet gecategoriseerd BluGuitar
- Niet gecategoriseerd Lehle
- Niet gecategoriseerd Bricasti Design
- Niet gecategoriseerd T.akustik
- Niet gecategoriseerd Dwarf Connection
- Niet gecategoriseerd JL Cooper
- Niet gecategoriseerd StrikeMaster
- Niet gecategoriseerd ProUser
- Niet gecategoriseerd Bēm Wireless
- Niet gecategoriseerd Aqua-Vu
- Niet gecategoriseerd Millecroquettes
- Niet gecategoriseerd GR Bass
- Niet gecategoriseerd Sure-Fi
- Niet gecategoriseerd Gumdrop
- Niet gecategoriseerd Copernicus
- Niet gecategoriseerd Tellur
- Niet gecategoriseerd Gallien-Krueger
- Niet gecategoriseerd Jetway
- Niet gecategoriseerd Texsport
- Niet gecategoriseerd SSV Works
- Niet gecategoriseerd Terre
- Niet gecategoriseerd Sanitec
- Niet gecategoriseerd Pangea Audio
- Niet gecategoriseerd Hogue
- Niet gecategoriseerd Pfannenberg
- Niet gecategoriseerd Scytek
- Niet gecategoriseerd MotorScrubber
- Niet gecategoriseerd Krone
- Niet gecategoriseerd Kraftmax
- Niet gecategoriseerd Steelplay
- Niet gecategoriseerd PCTV Systems
- Niet gecategoriseerd Cooper Lighting
- Niet gecategoriseerd Sound Devices
- Niet gecategoriseerd Code Corporation
- Niet gecategoriseerd Now TV
- Niet gecategoriseerd Promise Technology
- Niet gecategoriseerd Voodoo Lab
- Niet gecategoriseerd Strymon
- Niet gecategoriseerd Insect Lore
- Niet gecategoriseerd FSR
- Niet gecategoriseerd Chrome-Q
- Niet gecategoriseerd Kitronik
- Niet gecategoriseerd SumUp
- Niet gecategoriseerd Microlab
- Niet gecategoriseerd Rotolight
- Niet gecategoriseerd Lumu
- Niet gecategoriseerd Salicru
- Niet gecategoriseerd Vankyo
- Niet gecategoriseerd WAYDOO
- Niet gecategoriseerd ASIWO
- Niet gecategoriseerd OWC
- Niet gecategoriseerd Vent-Axia
- Niet gecategoriseerd Firefield
- Niet gecategoriseerd E-Power
- Niet gecategoriseerd RectorSeal
- Niet gecategoriseerd Red Digital Cinema
- Niet gecategoriseerd Marathon
- Niet gecategoriseerd Kaiser Nienhaus
- Niet gecategoriseerd Freeplay
- Niet gecategoriseerd Roller Grill
- Niet gecategoriseerd DCS
- Niet gecategoriseerd Zaor
- Niet gecategoriseerd Glorious
- Niet gecategoriseerd Cleco
- Niet gecategoriseerd Dataflex
- Niet gecategoriseerd Handy Lux
- Niet gecategoriseerd Rossum Electro-Music
- Niet gecategoriseerd Pentel
- Niet gecategoriseerd MagnaPool
- Niet gecategoriseerd Aquadon
- Niet gecategoriseerd Raidsonic
- Niet gecategoriseerd Gamesir
- Niet gecategoriseerd Neunaber
- Niet gecategoriseerd ENDORFY
- Niet gecategoriseerd DPM
- Niet gecategoriseerd VOREL
- Niet gecategoriseerd Ciarra
- Niet gecategoriseerd Ocean Way Audio
- Niet gecategoriseerd DayStar Filters
- Niet gecategoriseerd OP/TECH
- Niet gecategoriseerd Alfatron
- Niet gecategoriseerd ETC
- Niet gecategoriseerd Vertex
- Niet gecategoriseerd Nuki
- Niet gecategoriseerd SWIT
- Niet gecategoriseerd EOTech
- Niet gecategoriseerd Key Digital
- Niet gecategoriseerd TVLogic
- Niet gecategoriseerd CAD Audio
- Niet gecategoriseerd Feelworld
- Niet gecategoriseerd Frequency Central
- Niet gecategoriseerd Sacrament
- Niet gecategoriseerd The Box
- Niet gecategoriseerd Cambium Networks
- Niet gecategoriseerd Trident
- Niet gecategoriseerd Schoeps
- Niet gecategoriseerd Tilta
- Niet gecategoriseerd HPI Racing
- Niet gecategoriseerd COLBOR
- Niet gecategoriseerd Trijicon
- Niet gecategoriseerd Favini
- Niet gecategoriseerd Dnipro
- Niet gecategoriseerd Dot Line
- Niet gecategoriseerd KJB Security Products
- Niet gecategoriseerd Polsen
- Niet gecategoriseerd Whirlwind
- Niet gecategoriseerd IFootage
- Niet gecategoriseerd Gen Energy
- Niet gecategoriseerd Saint Algue
- Niet gecategoriseerd Cactus
- Niet gecategoriseerd Oecolux
- Niet gecategoriseerd Core SWX
- Niet gecategoriseerd Multibrackets
- Niet gecategoriseerd SoundLAB
- Niet gecategoriseerd ACL
- Niet gecategoriseerd SurgeX
- Niet gecategoriseerd Einhell Bavaria
- Niet gecategoriseerd Mars Gaming
- Niet gecategoriseerd G.Skill
- Niet gecategoriseerd Edbak
- Niet gecategoriseerd Integral LED
- Niet gecategoriseerd Integral
- Niet gecategoriseerd Roline
- Niet gecategoriseerd Virax
- Niet gecategoriseerd SAVS
- Niet gecategoriseerd Mount-It!
- Niet gecategoriseerd Uniropa
- Niet gecategoriseerd Proviel
- Niet gecategoriseerd Amaran
- Niet gecategoriseerd Gill
- Niet gecategoriseerd Triangle
- Niet gecategoriseerd Tumbleweed
- Niet gecategoriseerd Alutruss
- Niet gecategoriseerd Omega Altise
- Niet gecategoriseerd PVI
- Niet gecategoriseerd Avenview
- Niet gecategoriseerd Grendel
- Niet gecategoriseerd Coravin
- Niet gecategoriseerd Weidmüller
- Niet gecategoriseerd BSS Audio
- Niet gecategoriseerd O&O Software
- Niet gecategoriseerd Wasp
- Niet gecategoriseerd Chef's Choice
- Niet gecategoriseerd Ciclo
- Niet gecategoriseerd Brastemp
- Niet gecategoriseerd Wavtech
- Niet gecategoriseerd Satco
- Niet gecategoriseerd AMT
- Niet gecategoriseerd Sabco
- Niet gecategoriseerd MAK
- Niet gecategoriseerd Flo
- Niet gecategoriseerd CLIMAQUA
- Niet gecategoriseerd Lowell
- Niet gecategoriseerd Adonit
- Niet gecategoriseerd Point Source Audio
- Niet gecategoriseerd ANDYCINE
- Niet gecategoriseerd AmpliVox
- Niet gecategoriseerd Moomin
- Niet gecategoriseerd Pippi
- Niet gecategoriseerd Memphis Audio
- Niet gecategoriseerd Casalux
- Niet gecategoriseerd CyberData Systems
- Niet gecategoriseerd Omnitron Systems
- Niet gecategoriseerd Stewart Systems
- Niet gecategoriseerd SwitchBot
- Niet gecategoriseerd Qubino
- Niet gecategoriseerd Eurosound
- Niet gecategoriseerd BZBGear
- Niet gecategoriseerd Rolls
- Niet gecategoriseerd WyreStorm
- Niet gecategoriseerd K&M
- Niet gecategoriseerd Williams Sound
- Niet gecategoriseerd Magewell
- Niet gecategoriseerd Rocstor
- Niet gecategoriseerd Globalo
- Niet gecategoriseerd Adam Hall
- Niet gecategoriseerd SoundTube
- Niet gecategoriseerd Flaem
- Niet gecategoriseerd Therabody
- Niet gecategoriseerd Infortrend
- Niet gecategoriseerd STI
- Niet gecategoriseerd Rug Doctor
- Niet gecategoriseerd Mad Dog
- Niet gecategoriseerd Raspberry Pi
- Niet gecategoriseerd Bals
- Niet gecategoriseerd Balt
- Niet gecategoriseerd Perixx
- Niet gecategoriseerd AJ.BA
- Niet gecategoriseerd ESKA
- Niet gecategoriseerd Lascar Electronics
- Niet gecategoriseerd EWON
- Niet gecategoriseerd Sport-Tronic
- Niet gecategoriseerd Alga
- Niet gecategoriseerd WesAudio
- Niet gecategoriseerd Heritage Audio
- Niet gecategoriseerd Quik Lok
- Niet gecategoriseerd Tsakalis AudioWorks
- Niet gecategoriseerd Venus
- Niet gecategoriseerd MagTek
- Niet gecategoriseerd SmallRig
- Niet gecategoriseerd Drake
- Niet gecategoriseerd Sony Optiarc
- Niet gecategoriseerd Colortone
- Niet gecategoriseerd Anybus
- Niet gecategoriseerd Super Rod
- Niet gecategoriseerd Luminex
- Niet gecategoriseerd Epiphan
- Niet gecategoriseerd HiLook
- Niet gecategoriseerd Deltaco Gaming
- Niet gecategoriseerd P3 International
- Niet gecategoriseerd Idec
- Niet gecategoriseerd Beckmann & Egle
- Niet gecategoriseerd Seek Thermal
- Niet gecategoriseerd VintageView
- Niet gecategoriseerd Alfresco
- Niet gecategoriseerd Bintec-elmeg
- Niet gecategoriseerd W'eau
- Niet gecategoriseerd Ixxat
- Niet gecategoriseerd Fanox
- Niet gecategoriseerd Crouzet
- Niet gecategoriseerd Megarevo
- Niet gecategoriseerd Tech 21
- Niet gecategoriseerd BlendMount
- Niet gecategoriseerd Perlick
- Niet gecategoriseerd Sedona
- Niet gecategoriseerd Tecnoinox
- Niet gecategoriseerd CaterRacks
- Niet gecategoriseerd Besco
- Niet gecategoriseerd Scotsman
- Niet gecategoriseerd Atosa
- Niet gecategoriseerd Nanoleaf
- Niet gecategoriseerd Mach Power
- Niet gecategoriseerd Soltection
- Niet gecategoriseerd Kool-It
- Niet gecategoriseerd Cool Head
- Niet gecategoriseerd LawnMaster
- Niet gecategoriseerd Eligent
- Niet gecategoriseerd Meris
- Niet gecategoriseerd Procare
- Niet gecategoriseerd AmerBox
- Niet gecategoriseerd Qu-Bit
- Niet gecategoriseerd Blue Lantern
- Niet gecategoriseerd DivKid
- Niet gecategoriseerd Uniross
- Niet gecategoriseerd Panamax
- Niet gecategoriseerd FaseLunare
- Niet gecategoriseerd Götze & Jensen
- Niet gecategoriseerd (Recovery)
- Niet gecategoriseerd Twinkly
- Niet gecategoriseerd Squarp Instruments
- Niet gecategoriseerd EtherWAN
- Niet gecategoriseerd Econ Connect
- Niet gecategoriseerd META
- Niet gecategoriseerd Shimbol
- Niet gecategoriseerd GC Audio
- Niet gecategoriseerd Motrona
- Niet gecategoriseerd Thalheimer
- Niet gecategoriseerd AkYtec
- Niet gecategoriseerd Ergotools Pattfield
- Niet gecategoriseerd Lynx Technik
- Niet gecategoriseerd FeiYu-Tech
- Niet gecategoriseerd Apantac
- Niet gecategoriseerd Ambient Weather
- Niet gecategoriseerd VisionTek
- Niet gecategoriseerd MuxLab
- Niet gecategoriseerd EMeet
- Niet gecategoriseerd Accsoon
- Niet gecategoriseerd FeiyuTech
- Niet gecategoriseerd Bessey
- Niet gecategoriseerd Ledvance
- Niet gecategoriseerd Serge
- Niet gecategoriseerd Gladiator
- Niet gecategoriseerd Nyko
- Niet gecategoriseerd Mobli
- Niet gecategoriseerd StarIink
- Niet gecategoriseerd Sonoff
- Niet gecategoriseerd Caroma
- Niet gecategoriseerd Befaco
- Niet gecategoriseerd Waltec
- Niet gecategoriseerd Eartec
- Niet gecategoriseerd Elvid
- Niet gecategoriseerd ORCA
- Niet gecategoriseerd Portkeys
- Niet gecategoriseerd Freewell
- Niet gecategoriseerd Westcott
- Niet gecategoriseerd Sky-Watcher
- Niet gecategoriseerd Tempo
- Niet gecategoriseerd Evolis
- Niet gecategoriseerd Digiquest
- Niet gecategoriseerd EXSYS
- Niet gecategoriseerd Gewiss
- Niet gecategoriseerd Hagor
- Niet gecategoriseerd Glyph
- Niet gecategoriseerd Envitec
- Niet gecategoriseerd Murr Elektronik
- Niet gecategoriseerd Camille Bauer
- Niet gecategoriseerd Seco-Larm
- Niet gecategoriseerd Massoth
- Niet gecategoriseerd Cropico
- Niet gecategoriseerd Mimo Monitors
- Niet gecategoriseerd Alula
- Niet gecategoriseerd Blebox
- Niet gecategoriseerd Redsbaby
- Niet gecategoriseerd Seaward
- Niet gecategoriseerd Bright Spark
- Niet gecategoriseerd Algo
- Niet gecategoriseerd Gentrax
- Niet gecategoriseerd ICC
- Niet gecategoriseerd Gamber-Johnson
- Niet gecategoriseerd Insteon
- Niet gecategoriseerd Brocade
- Niet gecategoriseerd Altronix
- Niet gecategoriseerd Amer
- Niet gecategoriseerd Longvie
- Niet gecategoriseerd Coca-Cola
- Niet gecategoriseerd Warner Bros
- Niet gecategoriseerd Vinotemp
- Niet gecategoriseerd Silent Knight
- Niet gecategoriseerd Mosconi
- Niet gecategoriseerd Ditek
- Niet gecategoriseerd Stelzner
- Niet gecategoriseerd Axxess
- Niet gecategoriseerd Wilson
- Niet gecategoriseerd Kingston Technology
- Niet gecategoriseerd Goki
- Niet gecategoriseerd My Arcade
- Niet gecategoriseerd Enttec
- Niet gecategoriseerd RF Elements
- Niet gecategoriseerd ALC
- Niet gecategoriseerd Triumph Sports
- Niet gecategoriseerd Holland Electronics
- Niet gecategoriseerd Arista
- Niet gecategoriseerd Chenbro Micom
- Niet gecategoriseerd Crelando
- Niet gecategoriseerd DeepCool
- Niet gecategoriseerd TechLogix Networx
- Niet gecategoriseerd Thermalright
- Niet gecategoriseerd EchoMaster
- Niet gecategoriseerd PS Audio
- Niet gecategoriseerd Meross
- Niet gecategoriseerd Lively
- Niet gecategoriseerd Bxterra
- Niet gecategoriseerd Bea-fon
- Niet gecategoriseerd Renogy
- Niet gecategoriseerd Ordo
- Niet gecategoriseerd Biostar
- Niet gecategoriseerd Asetek
- Niet gecategoriseerd Audibax
- Niet gecategoriseerd TechN
- Niet gecategoriseerd Eversolo
- Niet gecategoriseerd Giga Copper
- Niet gecategoriseerd Elsner
- Niet gecategoriseerd Cube Controls
- Niet gecategoriseerd Donexon
- Niet gecategoriseerd Eve Audio
- Niet gecategoriseerd Axagon
- Niet gecategoriseerd Linq
- Niet gecategoriseerd Wortmann AG
- Niet gecategoriseerd DiGiGrid
- Niet gecategoriseerd Mitzu
- Niet gecategoriseerd Avteq
- Niet gecategoriseerd Fizzics
- Niet gecategoriseerd XFX
- Niet gecategoriseerd Leynew
- Niet gecategoriseerd Lauten Audio
- Niet gecategoriseerd Sunwoda
- Niet gecategoriseerd Schleich
- Niet gecategoriseerd Unitech
- Niet gecategoriseerd FXLab
- Niet gecategoriseerd Middle Atlantic
- Niet gecategoriseerd Kincrome
- Niet gecategoriseerd BC Acoustique
- Niet gecategoriseerd Brockhaus HEUER
- Niet gecategoriseerd Reishunger
- Niet gecategoriseerd Ergotec
- Niet gecategoriseerd Dupla
- Niet gecategoriseerd APSystems
- Niet gecategoriseerd IODD
- Niet gecategoriseerd BYD
- Niet gecategoriseerd Tektronix
- Niet gecategoriseerd Aqua Medic
- Niet gecategoriseerd Gold Note
- Niet gecategoriseerd Pylontech
- Niet gecategoriseerd Fire Sense
- Niet gecategoriseerd Grüniq
- Niet gecategoriseerd Goodwe
- Niet gecategoriseerd Moki
- Niet gecategoriseerd Enertex
- Niet gecategoriseerd IOTAVX
- Niet gecategoriseerd Creality
- Niet gecategoriseerd OM SYSTEM
- Niet gecategoriseerd Ovation
- Niet gecategoriseerd InAlto
- Niet gecategoriseerd MDT
- Niet gecategoriseerd Enviroswim
- Niet gecategoriseerd Vevor
- Niet gecategoriseerd PowerColor
- Niet gecategoriseerd ISpring
- Niet gecategoriseerd WeFix
- Niet gecategoriseerd Serpent
- Niet gecategoriseerd Saki
- Niet gecategoriseerd Smart365
- Niet gecategoriseerd Fosi Audio
- Niet gecategoriseerd ChargeHub
- Niet gecategoriseerd PUR
- Niet gecategoriseerd Eldat
- Niet gecategoriseerd NEP
- Niet gecategoriseerd SoundSwitch
- Niet gecategoriseerd Sera
- Niet gecategoriseerd Dostmann Electronic
- Niet gecategoriseerd A-NeuVideo
- Niet gecategoriseerd Murideo
- Niet gecategoriseerd ToughTested
- Niet gecategoriseerd JBC
- Niet gecategoriseerd DV Mark
- Niet gecategoriseerd MOON
- Niet gecategoriseerd Cuggl
- Niet gecategoriseerd HABAU
- Niet gecategoriseerd CVW
- Niet gecategoriseerd Majority
- Niet gecategoriseerd Earbreeze
- Niet gecategoriseerd S.M.S.L
- Niet gecategoriseerd Möhlenhoff
- Niet gecategoriseerd Taqua
- Niet gecategoriseerd NightStick
- Niet gecategoriseerd IBEAM
- Niet gecategoriseerd ChyTV
- Niet gecategoriseerd Brainstorm
- Niet gecategoriseerd Colonial Elegance
- Niet gecategoriseerd Overtone Labs
- Niet gecategoriseerd Bühnen
- Niet gecategoriseerd Blukac
- Niet gecategoriseerd BendixKing
- Niet gecategoriseerd Tube-Tech
- Niet gecategoriseerd TCW Technologies
- Niet gecategoriseerd UNITEK
- Niet gecategoriseerd CoolerMaster
- Niet gecategoriseerd Rexing
- Niet gecategoriseerd NuPrime
- Niet gecategoriseerd The T.mix
- Niet gecategoriseerd Regula-Werk King
- Niet gecategoriseerd Inter-M
- Niet gecategoriseerd MIDI Solutions
- Niet gecategoriseerd Positive Grid
- Niet gecategoriseerd Amgrow
- Niet gecategoriseerd Xaphoon
- Niet gecategoriseerd Winchester
- Niet gecategoriseerd Lampa
- Niet gecategoriseerd Sinus Live
- Niet gecategoriseerd Sureguard
- Niet gecategoriseerd Dobot
- Niet gecategoriseerd QuickCool
- Niet gecategoriseerd Smit Visual
- Niet gecategoriseerd Oro-Med
- Niet gecategoriseerd NZR
- Niet gecategoriseerd Toparc
- Niet gecategoriseerd Hex
- Niet gecategoriseerd Baby Cakes
- Niet gecategoriseerd Deflecto
- Niet gecategoriseerd ELMEKO
- Niet gecategoriseerd Tesseract Modular
- Niet gecategoriseerd Sport Dog
- Niet gecategoriseerd Nowsonic
- Niet gecategoriseerd On Air
- Niet gecategoriseerd E-ast
- Niet gecategoriseerd Hubble Connected
- Niet gecategoriseerd ELTA Music
- Niet gecategoriseerd Oliveri
- Niet gecategoriseerd Dragonshock
- Niet gecategoriseerd We-Vibe
- Niet gecategoriseerd Envertech
- Niet gecategoriseerd Budda
- Niet gecategoriseerd Electronics International
- Niet gecategoriseerd Lamar
- Niet gecategoriseerd Atlantis Land
- Niet gecategoriseerd White Lightning
- Niet gecategoriseerd Hoymiles
- Niet gecategoriseerd Deye
- Niet gecategoriseerd My Wall
- Niet gecategoriseerd Frient
- Niet gecategoriseerd Kaiser Fototechnik
- Niet gecategoriseerd Vishay
- Niet gecategoriseerd Sonorous
- Niet gecategoriseerd Rooboost
- Niet gecategoriseerd Bitspower
- Niet gecategoriseerd JMAZ Lighting
- Niet gecategoriseerd EAT
- Niet gecategoriseerd Comar
- Niet gecategoriseerd Freedor
- Niet gecategoriseerd Start International
- Niet gecategoriseerd C2G
- Niet gecategoriseerd AXITEC
- Niet gecategoriseerd Lingg & Janke
- Niet gecategoriseerd Auralex
- Niet gecategoriseerd Innovative
- Niet gecategoriseerd Yuede
- Niet gecategoriseerd ClimeMET
- Niet gecategoriseerd Pliant Technologies
- Niet gecategoriseerd Prompter People
- Niet gecategoriseerd Astropet
- Niet gecategoriseerd Busch + Müller
- Niet gecategoriseerd Canopia
- Niet gecategoriseerd Wabeco
- Niet gecategoriseerd Swingline GBC
- Niet gecategoriseerd Spelsberg
- Niet gecategoriseerd Staudte-Hirsch
- Niet gecategoriseerd Soundsphere
- Niet gecategoriseerd Lantronix
- Niet gecategoriseerd Kino Flo
- Niet gecategoriseerd Aqua Computer
- Niet gecategoriseerd HEDD
- Niet gecategoriseerd Vinpower Digital
- Niet gecategoriseerd Magivaac
- Niet gecategoriseerd Lindemann
- Niet gecategoriseerd Silent Angel
- Niet gecategoriseerd Bavaria By Einhell
- Niet gecategoriseerd Healthy Choice
- Niet gecategoriseerd IOptron
- Niet gecategoriseerd ZWO
- Niet gecategoriseerd Bbf
- Niet gecategoriseerd Club 3D
- Niet gecategoriseerd Sprolink
- Niet gecategoriseerd Thermionic Culture
- Niet gecategoriseerd BMB
- Niet gecategoriseerd Watercool
- Niet gecategoriseerd Moultrie
- Niet gecategoriseerd Skaarhoj
- Niet gecategoriseerd Microboards
- Niet gecategoriseerd Whitestone
- Niet gecategoriseerd Advance
- Niet gecategoriseerd Arylic
- Niet gecategoriseerd Gem Toys
- Niet gecategoriseerd Cloud
- Niet gecategoriseerd Sandia Aerospace
- Niet gecategoriseerd EK Water Blocks
- Niet gecategoriseerd Lamptron
- Niet gecategoriseerd Gudsen
- Niet gecategoriseerd Café
- Niet gecategoriseerd Zendure
- Niet gecategoriseerd Phanteks
- Niet gecategoriseerd Prism Sound
- Niet gecategoriseerd MoFi
- Niet gecategoriseerd Gosund
- Niet gecategoriseerd Artecta
- Niet gecategoriseerd DMT
- Niet gecategoriseerd FSP/Fortron
- Niet gecategoriseerd IDIS
- Niet gecategoriseerd CM Storm
- Niet gecategoriseerd MARTOR
- Niet gecategoriseerd Lumantek
- Niet gecategoriseerd Transparent
- Niet gecategoriseerd Audiotec Fischer
- Niet gecategoriseerd SEADA
- Niet gecategoriseerd Deity
- Niet gecategoriseerd Taga Harmony
- Niet gecategoriseerd B.E.G.
- Niet gecategoriseerd Fixpoint
- Niet gecategoriseerd Enerdrive
- Niet gecategoriseerd TESLA Electronics
- Niet gecategoriseerd Intesis
- Niet gecategoriseerd Nethix
- Niet gecategoriseerd Pluto
- Niet gecategoriseerd Laine
- Niet gecategoriseerd 3Doodler
- Niet gecategoriseerd Soundskins
- Niet gecategoriseerd Middle Atlantic Products
- Niet gecategoriseerd Doepke
- Niet gecategoriseerd Loctite
- Niet gecategoriseerd Datapath
- Niet gecategoriseerd Antelope
- Niet gecategoriseerd Astera
- Niet gecategoriseerd Vertiv
- Niet gecategoriseerd Polyend
- Niet gecategoriseerd BASSBOSS
- Niet gecategoriseerd Sensative
- Niet gecategoriseerd Plasma Cloud
- Niet gecategoriseerd Sheeran Looper
- Niet gecategoriseerd Applico
- Niet gecategoriseerd Jungle Gym
- Niet gecategoriseerd Smart Media
- Niet gecategoriseerd BLUEPALM
- Niet gecategoriseerd Hacienda
- Niet gecategoriseerd Christmaxx
- Niet gecategoriseerd IStarUSA
- Niet gecategoriseerd Code
- Niet gecategoriseerd Mivar
- Niet gecategoriseerd SolaX Power
- Niet gecategoriseerd IPGARD
- Niet gecategoriseerd EZ Dupe
- Niet gecategoriseerd AURALiC
- Niet gecategoriseerd Qian
- Niet gecategoriseerd Revic
- Niet gecategoriseerd Absco
- Niet gecategoriseerd Schatten Design
- Niet gecategoriseerd LEDs-ON
- Niet gecategoriseerd WiiM
- Niet gecategoriseerd MyPOS
- Niet gecategoriseerd Truetone
- Niet gecategoriseerd Stages
- Niet gecategoriseerd Starlink
- Niet gecategoriseerd HDFury
- Niet gecategoriseerd Favero
- Niet gecategoriseerd Durvet
- Niet gecategoriseerd MAAS
- Niet gecategoriseerd KNEKT
- Niet gecategoriseerd Gator Frameworks
- Niet gecategoriseerd Storm
- Niet gecategoriseerd Teia
- Niet gecategoriseerd The Joy Factory
- Niet gecategoriseerd API Audio
- Niet gecategoriseerd Axor
- Niet gecategoriseerd Yuer
- Niet gecategoriseerd OSEE
- Niet gecategoriseerd OLLO
- Niet gecategoriseerd Gustard
- Niet gecategoriseerd Enhance
- Niet gecategoriseerd MEPROLIGHT
- Niet gecategoriseerd Tactical Fiber Systems
- Niet gecategoriseerd GVision
- Niet gecategoriseerd Veber
- Niet gecategoriseerd PurAthletics
- Niet gecategoriseerd SMS
- Niet gecategoriseerd Carlo Gavazzi
- Niet gecategoriseerd Richgro
- Niet gecategoriseerd Varaluz
- Niet gecategoriseerd Milesight
- Niet gecategoriseerd Dehner
- Niet gecategoriseerd Edwards
- Niet gecategoriseerd Cotek
- Niet gecategoriseerd Victor Technology
- Niet gecategoriseerd Lastolite
- Niet gecategoriseerd Lowepro
- Niet gecategoriseerd MIOPS
- Niet gecategoriseerd Grand Effects
- Niet gecategoriseerd EA Elektro Automatik
- Niet gecategoriseerd Hensel
- Niet gecategoriseerd Westland
- Niet gecategoriseerd Bahr
- Niet gecategoriseerd Black Line
- Niet gecategoriseerd Sodapop
- Niet gecategoriseerd Enbrighten
- Niet gecategoriseerd Vicoustic
- Niet gecategoriseerd TAURUS Titanium
- Niet gecategoriseerd Magliner
- Niet gecategoriseerd Magmatic
- Niet gecategoriseerd PulseAudio
- Niet gecategoriseerd Cayin
- Niet gecategoriseerd Comfortisse
- Niet gecategoriseerd Videotel Digital
- Niet gecategoriseerd Zylight
- Niet gecategoriseerd Smith-Victor
- Niet gecategoriseerd HuddleCamHD
- Niet gecategoriseerd Technical Pro
- Niet gecategoriseerd MooreCo
- Niet gecategoriseerd BIOS Living
- Niet gecategoriseerd Connection
- Niet gecategoriseerd Blind Spot
- Niet gecategoriseerd Badiona
- Niet gecategoriseerd VMV
- Niet gecategoriseerd Digigram
- Niet gecategoriseerd Mutec
- Niet gecategoriseerd Black Hydra
- Niet gecategoriseerd Expressive E
- Niet gecategoriseerd Merging
- Niet gecategoriseerd Bellari
- Niet gecategoriseerd FoxFury
- Niet gecategoriseerd Altman
- Niet gecategoriseerd EXO
- Niet gecategoriseerd Hawke
- Niet gecategoriseerd Betty Bossi
- Niet gecategoriseerd Eller
- Niet gecategoriseerd Rotatrim
- Niet gecategoriseerd Claypaky
- Niet gecategoriseerd Peak Design
- Niet gecategoriseerd Eura
- Niet gecategoriseerd ESE
- Niet gecategoriseerd Casa Deco
- Niet gecategoriseerd Hecate
- Niet gecategoriseerd Jinbei
- Niet gecategoriseerd Christmas Time
- Niet gecategoriseerd Comprehensive
- Niet gecategoriseerd Nearity
- Niet gecategoriseerd Easyrig
- Niet gecategoriseerd Digitalinx
- Niet gecategoriseerd Gra-Vue
- Niet gecategoriseerd WHD
- Niet gecategoriseerd On-Stage
- Niet gecategoriseerd Sumiko
- Niet gecategoriseerd TechBite
- Niet gecategoriseerd Inverx
- Niet gecategoriseerd Primewire
- Niet gecategoriseerd XCell
- Niet gecategoriseerd Yellow Garden Line
- Niet gecategoriseerd Titanwolf
- Niet gecategoriseerd Uplink
- Niet gecategoriseerd Mybeo
- Niet gecategoriseerd Medicinalis
- Niet gecategoriseerd Bearware
- Niet gecategoriseerd Liam&Daan
- Niet gecategoriseerd Traco Power
- Niet gecategoriseerd Microair
- Niet gecategoriseerd Perfect Christmas
- Niet gecategoriseerd Bebob
- Niet gecategoriseerd Fiilex
- Niet gecategoriseerd Analog Way
- Niet gecategoriseerd PTZ Optics
- Niet gecategoriseerd Sescom
- Niet gecategoriseerd Robus
- Niet gecategoriseerd DEERSYNC
- Niet gecategoriseerd CAME-TV
- Niet gecategoriseerd Rosco
- Niet gecategoriseerd Wimberley
- Niet gecategoriseerd Nureva
- Niet gecategoriseerd Telmax
- Niet gecategoriseerd Apollo Design
- Niet gecategoriseerd JoeCo
- Niet gecategoriseerd Holosun
- Niet gecategoriseerd Aconatic
- Niet gecategoriseerd Kluge
- Niet gecategoriseerd Arovec
- Niet gecategoriseerd SecureSafe
- Niet gecategoriseerd CubuSynth
- Niet gecategoriseerd Exelpet
- Niet gecategoriseerd Imarflex
- Niet gecategoriseerd Tempmate
- Niet gecategoriseerd Carlsbro
- Niet gecategoriseerd Ventev
- Niet gecategoriseerd Mobotix
- Niet gecategoriseerd UNYKAch
- Niet gecategoriseerd VAVA
- Niet gecategoriseerd Modbap Modular
- Niet gecategoriseerd Bluestork
- Niet gecategoriseerd INOGENI
- Niet gecategoriseerd Carry-on
- Niet gecategoriseerd AddLiving
- Niet gecategoriseerd IOIO
- Niet gecategoriseerd Nimbus
- Niet gecategoriseerd LiveU
- Niet gecategoriseerd City Theatrical
- Niet gecategoriseerd Redback Technologies
- Niet gecategoriseerd Vent-A-Hood
- Niet gecategoriseerd GoXtreme
- Niet gecategoriseerd Bome
- Niet gecategoriseerd One Control
- Niet gecategoriseerd EQ Acoustics
- Niet gecategoriseerd AV Tool
- Niet gecategoriseerd Aquael
- Niet gecategoriseerd NEXTO DI
- Niet gecategoriseerd Thermarest
- Niet gecategoriseerd Fortinge
- Niet gecategoriseerd RF-Links
- Niet gecategoriseerd Y-brush
- Niet gecategoriseerd Austral
- Niet gecategoriseerd Luxul
- Niet gecategoriseerd Brizo
- Niet gecategoriseerd Cherub
- Niet gecategoriseerd Huslog
- Niet gecategoriseerd ProLights
- Niet gecategoriseerd Xinfrared
- Niet gecategoriseerd I-PRO
- Niet gecategoriseerd Europalms
- Niet gecategoriseerd DuroStar
- Niet gecategoriseerd Waterstone
- Niet gecategoriseerd Mr Steam
- Niet gecategoriseerd WarmlyYours
- Niet gecategoriseerd DVDO
- Niet gecategoriseerd A-Designs
- Niet gecategoriseerd Henry Engineering
- Niet gecategoriseerd Primacoustic
- Niet gecategoriseerd HomeCraft
- Niet gecategoriseerd Heusinkveld
- Niet gecategoriseerd EnOcean
- Niet gecategoriseerd Storcube
- Niet gecategoriseerd Robern
- Niet gecategoriseerd Noyafa
- Niet gecategoriseerd Gurari
- Niet gecategoriseerd Varia
- Niet gecategoriseerd Fezz
- Niet gecategoriseerd ASI
- Niet gecategoriseerd Lexivon
- Niet gecategoriseerd Swiss Eye
- Niet gecategoriseerd Cane Creek
- Niet gecategoriseerd EPEVER
- Niet gecategoriseerd KED
- Niet gecategoriseerd Exped
- Niet gecategoriseerd Lawn Star
- Niet gecategoriseerd Edouard Rousseau
- Niet gecategoriseerd GameDay
- Niet gecategoriseerd Sparkle
- Niet gecategoriseerd Söll
- Niet gecategoriseerd X-Lite
- Niet gecategoriseerd AXESS
- Niet gecategoriseerd Glemm
- Niet gecategoriseerd Ridem
- Niet gecategoriseerd Røde
- Niet gecategoriseerd Envertec
- Niet gecategoriseerd Volcano
- Niet gecategoriseerd Nordic Winter
- Niet gecategoriseerd Wire Technologies
- Niet gecategoriseerd Taco Tuesday
- Niet gecategoriseerd CEEM
- Niet gecategoriseerd IMM Photonics
- Niet gecategoriseerd Field Optics
- Niet gecategoriseerd Signature Hardware
- Niet gecategoriseerd UAvionix
- Niet gecategoriseerd Roesle
- Niet gecategoriseerd GRAUGEAR
- Niet gecategoriseerd Sure Petcare
- Niet gecategoriseerd Sortimo
- Niet gecategoriseerd Beaphar
- Niet gecategoriseerd Mebby
- Niet gecategoriseerd TONI&GUY
- Niet gecategoriseerd Balam Rush
- Niet gecategoriseerd Oreg
- Niet gecategoriseerd Karran
- Niet gecategoriseerd OOONO
- Niet gecategoriseerd CaviLock
- Niet gecategoriseerd Origin Storage
- Niet gecategoriseerd Kostal
- Niet gecategoriseerd Stamos
- Niet gecategoriseerd Stamony
- Niet gecategoriseerd Yamazen
- Niet gecategoriseerd Sharkbite
- Niet gecategoriseerd Pivo
- Niet gecategoriseerd YA-MAN
- Niet gecategoriseerd Taiji
- Niet gecategoriseerd LightKeeper Pro
- Niet gecategoriseerd Belulu
- Niet gecategoriseerd Hellberg
- Niet gecategoriseerd CRAFT + MAIN
- Niet gecategoriseerd V-Tone
- Niet gecategoriseerd Symmons
- Niet gecategoriseerd LARQ
- Niet gecategoriseerd Corona
- Niet gecategoriseerd Uvex
- Niet gecategoriseerd Dynon Avionics
- Niet gecategoriseerd Coors Light
- Niet gecategoriseerd KoolScapes
- Niet gecategoriseerd Arco
- Niet gecategoriseerd Venicci
- Niet gecategoriseerd Noordi
- Niet gecategoriseerd Jedo
- Niet gecategoriseerd Dinstar
- Niet gecategoriseerd Bayco
- Niet gecategoriseerd Matterport
- Niet gecategoriseerd Nicols
- Niet gecategoriseerd Vitec
- Niet gecategoriseerd Das Keyboard
- Niet gecategoriseerd Schaffner
- Niet gecategoriseerd Platypus
- Niet gecategoriseerd Royale
- Niet gecategoriseerd Gerber
- Niet gecategoriseerd NeoMounts
- Niet gecategoriseerd Klauke
- Niet gecategoriseerd Bulgin
- Niet gecategoriseerd Pure 100
- Niet gecategoriseerd STANDARD
- Niet gecategoriseerd RC Allen
- Niet gecategoriseerd Triplett
- Niet gecategoriseerd Wiesenfield
- Niet gecategoriseerd Plastkon
- Niet gecategoriseerd BigBlue
- Niet gecategoriseerd Tele Vue
- Niet gecategoriseerd Icron
- Niet gecategoriseerd AstrHori
- Niet gecategoriseerd Studio Titan
- Niet gecategoriseerd Petite Chérie
- Niet gecategoriseerd Sifflus
- Niet gecategoriseerd HPRC
- Niet gecategoriseerd Crystal Video
- Niet gecategoriseerd Blonder Tongue
- Niet gecategoriseerd Luxli
- Niet gecategoriseerd Ferrofish
- Niet gecategoriseerd Really Right Stuff
- Niet gecategoriseerd PAG
- Niet gecategoriseerd ButtKicker
- Niet gecategoriseerd Decimator
- Niet gecategoriseerd Chimera
- Niet gecategoriseerd Trezor
- Niet gecategoriseerd ProFlo
- Niet gecategoriseerd Western Co.
- Niet gecategoriseerd Senseca
- Niet gecategoriseerd Ruggard
- Niet gecategoriseerd Moman
- Niet gecategoriseerd Aalberg Audio
- Niet gecategoriseerd Violectric
- Niet gecategoriseerd DiversiTech
- Niet gecategoriseerd Evooch
- Niet gecategoriseerd Total Chef
- Niet gecategoriseerd Bolin Technology
- Niet gecategoriseerd PoLabs
- Niet gecategoriseerd Digi-Pas
- Niet gecategoriseerd Fellow
- Niet gecategoriseerd Pfister
- Niet gecategoriseerd Axler
- Niet gecategoriseerd ARNOLD Lichttechnik
- Niet gecategoriseerd BMAX
- Niet gecategoriseerd CatSynth
- Niet gecategoriseerd Ember
- Niet gecategoriseerd ACOPower
- Niet gecategoriseerd SafeMi
- Niet gecategoriseerd Cosi Home
- Niet gecategoriseerd GeoBox
- Niet gecategoriseerd Telycam
- Niet gecategoriseerd URC
- Niet gecategoriseerd Advanced Network Devices
- Niet gecategoriseerd JLCooper
- Niet gecategoriseerd DQ
- Niet gecategoriseerd Rock N Roller
- Niet gecategoriseerd XTRARM
- Niet gecategoriseerd Twisted Electrons
- Niet gecategoriseerd ZZ-2
- Niet gecategoriseerd OptiTrack
- Niet gecategoriseerd Doona
- Niet gecategoriseerd USL
- Niet gecategoriseerd Induction Dynamics
- Niet gecategoriseerd SolidDrive
- Niet gecategoriseerd SKB
- Niet gecategoriseerd Cyber Acoustics
- Niet gecategoriseerd MSolutions
- Niet gecategoriseerd QZ
- Niet gecategoriseerd Helight
- Niet gecategoriseerd Boehringer Ingelheim
- Niet gecategoriseerd Singularity Computers
- Niet gecategoriseerd DARTS
- Niet gecategoriseerd Xuma
- Niet gecategoriseerd Go-eCharger
- Niet gecategoriseerd Autoscript
- Niet gecategoriseerd Digital Forecast
- Niet gecategoriseerd Sesame Street
- Niet gecategoriseerd InvisibleShield
- Niet gecategoriseerd SmartGyro
- Niet gecategoriseerd Gator
- Niet gecategoriseerd XD-Design
- Niet gecategoriseerd Star Belly
- Niet gecategoriseerd CkeyiN
- Niet gecategoriseerd Phase Technology
- Niet gecategoriseerd Hypnos
- Niet gecategoriseerd Casr
- Niet gecategoriseerd Louroe Electronics
- Niet gecategoriseerd Kaorka
- Niet gecategoriseerd Zaahn
- Niet gecategoriseerd Orbitrek
- Niet gecategoriseerd BlaknBlu
- Niet gecategoriseerd Crem
- Niet gecategoriseerd MOOOV
- Niet gecategoriseerd Sportime
- Niet gecategoriseerd Tece
- Niet gecategoriseerd Zeapon
- Niet gecategoriseerd Quasar Science
- Niet gecategoriseerd Beltronics
Nieuwste handleidingen voor Niet gecategoriseerd

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025

17 Maart 2025