-    # If your package is a single module, use this instead of 'packages':
-    py_modules=['bitbangio', 'board', 'busio', 'digitalio', 'micropython', 'neopixel_write'],
-    install_requires=['Adafruit-GPIO', "rpi_ws281x>=4.0.0; platform_machine=='armv7l'"],
+    # py_modules lists top-level single file packages to include.
+    # find_packages only finds packages in directories with __init__.py files.
+    py_modules=['bitbangio', 'board', 'busio', 'digitalio', 'micropython', 'pulseio', 'neopixel_write'],
+    package_data={'adafruit_blinka.microcontroller.bcm283x.pulseio': ['libgpiod_pulsein']},
+    install_requires=[
+        "Adafruit-PlatformDetect",
+        "Adafruit-PureIO",
+        "RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l'",
+        "rpi_ws281x>=4.0.0; platform_machine=='armv7l' or platform_machine=='armv6l'",
+        "spidev; sys_platform=='linux'",
+        "sysv_ipc; platform_system != 'Windows'"
+    ],