badger-hardware

Configure GPIO, I2C, and SPI for external hardware on Badger 2350.

8|1|Updated Oct 30, 2025
One-click install
npx skills add https://github.com/johnlindquist/badger-2350-plugin --skill badger-hardware
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: badger-hardware
Source: https://github.com/johnlindquist/badger-2350-plugin/tree/main/badger-2350-dev/skills/badger-hardware
Command: npx skills add https://github.com/johnlindquist/badger-2350-plugin --skill badger-hardware

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires micropython-bme280, micropython-apds9960, micropython-vl53l0x, micropython-neopixel, micropython-sdcard.

What problem does it solve?

Interfacing external components like sensors, LEDs, and motors with an embedded device can be daunting due to complex pin configurations and communication protocols. This skill simplifies hardware integration, providing clear examples for GPIO, I2C, and SPI.

Core Features & Use Cases

  • GPIO Control: Configure pins for input/output, PWM, and interrupts to control LEDs, read buttons, or drive motors.
  • I2C & SPI Communication: Connect and read data from common sensors (BME280, APDS9960, VL53L0X) and devices like SD card readers.
  • Specialized Components: Control NeoPixel LEDs and servo motors with dedicated code examples.
  • Use Case: Integrate a temperature sensor (BME280) via I2C to display environmental data on the badge, or add a gesture sensor (APDS9960) to control app navigation.

Quick Start

To toggle an LED on Pin 25, use from machine import Pin; led = Pin(25, Pin.OUT); led.toggle().

Frequently Asked Questions about badger-hardware

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control GPIO pins and toggle LEDs on a Badger 2350?

GPIO control on Badger 2350 involves configuring pins as input or output using the machine module. To toggle an LED on Pin 25, import Pin from machine, create a Pin object with Pin.OUT mode, and call toggle(). The Skill provides PWM and interrupt support for advanced pin operations like motor control and button monitoring.

Can I read sensor data via I2C on the Badger 2350?

Yes, I2C communication on Badger 2350 enables direct sensor integration. The Skill supports common sensors including BME280 (temperature/humidity), APDS9960 (gesture/light), and VL53L0X (distance). It handles protocol setup, data parsing, and provides code examples for environmental monitoring and gesture-based app control.

What's the best way to integrate NeoPixel LEDs and servo motors with Badger 2350?

NeoPixel and servo integration on Badger 2350 uses specialized code examples provided by the Skill. NeoPixel control manages addressable RGB LEDs via GPIO, while servo control uses PWM signals for precise motor positioning. Both are handled through straightforward pin configuration without manual protocol implementation.

Do I need external libraries to interface with Badger 2350 hardware sensors?

The Skill bundles micropython drivers for common sensors: micropython-bme280, micropython-apds9960, micropython-vl53l0x, micropython-neopixel, and micropython-sdcard. These dependencies eliminate manual protocol coding and provide ready-to-use sensor communication for I2C and SPI devices.

How do I set up SPI communication for SD card readers on Badger 2350?

SPI communication on Badger 2350 integrates external storage and device control. The Skill configures SPI pins, handles protocol timing, and includes SD card reader examples via the micropython-sdcard dependency. Configuration covers clock speed, chip select, and data transfer for reliable device communication.

What hardware protocols does Badger 2350 support for sensor and device integration?

Badger 2350 supports GPIO, I2C, and SPI protocols for hardware integration. GPIO handles direct pin control for LEDs and buttons; I2C connects sensors like BME280 and APDS9960; SPI manages SD cards and high-speed devices. The Skill provides configuration and examples for all three protocols.