makeIRLPCB engineering field guide

Modules & development boards

Arduino MKR WiFi 1010 integration: PCB layout and release checks

Design a reliable Arduino MKR WiFi 1010 carrier with real Microchip SAMD21G18A plus u-blox NINA-W102 power, pinout, footprint, layout, sourcing, and MakeIRL.

Practical PCB integration · KiCad 9 · Manufacturing gate

Start with the actual Arduino MKR WiFi 1010, not a generic footprint

A dependable carrier for the Arduino MKR WiFi 1010 starts by treating it as a specific development board, not as an interchangeable member of the Arduino 3.3 V family. This version is built around Microchip SAMD21G18A plus u-blox NINA-W102, uses 32-bit microcontroller, and occupies 61.5 × 25 mm. Its physical implementation is MKR two-row 2.54 mm headers. Those details determine the land pattern, carrier outline, programming access, antenna or connector clearance, and which signals are genuinely available after the module maker has used its own pins.

MKR WiFi 1010 combines a 3.3 V SAMD21 with NINA radio, secure element, and LiPo charger in the narrower MKR ecosystem.

Typical reasons to choose it include battery cloud sensors and MKR-format secure wireless products. The useful comparison is therefore not merely processor speed: it is whether the exact memory, radio, connector, power path, exposed I/O, and mechanical envelope match the product that will be built. The row below is the integration baseline that should agree with the schematic, footprint, BOM, assembly drawing, and firmware target.

PartArduino MKR WiFi 1010
ControllerMicrochip SAMD21G18A plus u-blox NINA-W102
Architecture32-bit microcontroller
FormatMKR two-row 2.54 mm headers; 61.5 × 25 mm
Power inputUSB, VIN, or LiPo with onboard charging and 3.3 V regulation
I/O domain3.3 V GPIO; pins are not generally 5 V tolerant
Memory256 KB SAMD21 flash plus radio firmware
Radio2.4 GHz Wi-Fi and Bluetooth through NINA-W102
InterfacesSPI, I²C, UART, ADC, PWM, USB
Critical pinsMKR headers, NINA SPI/control, ECC508 crypto, battery charger, antenna and SWD

Power, placement, and signal planning

The carrier power tree must satisfy USB, VIN, or LiPo with onboard charging and 3.3 V regulation while every external signal respects 3.3 V GPIO; pins are not generally 5 V tolerant. These are separate checks. A board can accept USB or VIN at one connector while its GPIO remains strictly 3.3 V, and an onboard regulator can be safe at idle yet lose regulation during a radio, display, motor, or memory-current burst. Document which source owns each rail, what happens when USB and carrier power are both present, and where bulk and high-frequency decoupling close the current loop.

Keep the ceramic antenna area, battery connector, and Micro-USB clear, and treat all shield signals as 3.3 V despite Arduino branding.

  • Match the exact Nano or MKR header geometry and board outline. Reserve the antenna region on wireless boards and leave USB, reset, battery, and debug access clear.
  • Treat 5 V or VIN as power inputs only where documented; all ordinary signals remain in the 3.3 V domain. Check whether onboard chargers or secure/radio coprocessors reserve pins.

Route from a verified pin table rather than a reseller graphic. In particular, treat MKR headers, NINA SPI/control, ECC508 crypto, battery charger, antenna and SWDas design constraints that must survive schematic capture, footprint numbering, layout, production programming, and enclosure assembly. Mark orientation on copper or silkscreen, retain recovery/debug access, and make every antenna, cable, card, switch, or connector operable after the carrier is fully populated—not only while it is open on a bench.

What the manufacturing gate should check for Arduino MKR WiFi 1010

A generic DRC run cannot know that a technically connected pin is the wrong boot strap, that a development-board header was mirrored, or that copper under an antenna will ruin range. The useful release check combines KiCad connectivity and fabrication rules with the product-specific conditions below. Each item should be supported by the selected module datasheet, hardware guide, board schematic, or mechanical drawing—not by a footprint name alone.

  1. Check header geometry, pin aliases, USB and battery overhang, antenna keepout, and the exact board revision.
  2. Check 3.3 V logic, 5 V power direction, I²C pull-up voltage, battery-charger wiring, and any radio or coprocessor-reserved signals.
  3. Check reset and SWD or bootloader access and ensure the carrier does not obscure the radio antenna or production test points.
  4. For Arduino MKR WiFi 1010, check NINA-reserved pins, 3.3 V logic, battery polarity/charger, crypto device, antenna keepout, and MKR header orientation.

After those checks, refill every copper zone, run ERC and DRC from the same revision used to generate fabrication data, and inspect the actual Gerbers, drill file, BOM, and placement output. Confirm that the module ordering code in the BOM matches the memory and radio assumptions in firmware. A carrier is not release-ready when its prototype happens to boot; it is ready when the exact build configuration can be reproduced and inspected.

Common integration failures and sourcing reality

These failures recur because family names conceal physical and electrical differences. For this particular integration, watch for the following concrete mistakes:

  • Plugging in a 5 V Uno-oriented circuit without level shifting can damage the SAMD21 or NINA interface.
  • Treating a Nano-shaped 3.3 V board as an electrical substitute for a 5 V Nano because the two header rows fit.
  • Adding external pull-ups to 5 V on an I²C bus already pulled to 3.3 V by the board or a sensor breakout.

Sourcing note. Use the exact ABX00023 board and NINA firmware baseline; other MKR boards share mechanics but not radio or reserved pins. Record the complete manufacturer code, approved alternates, module or board revision, antenna and cable when applicable, memory population, and the firmware build that was tested. If a substitute changes any of those facts, reopen the footprint, power, pinout, radio, and production-programming review instead of treating it as a purchasing-only change.

From module choice to review-ready board

Use Arduino MKR WiFi 1010 as the starting point for a generated carrier you can inspect in KiCad.

Generate a carrier board