pyrocket - PyGTK control of Striker II and Dream Cheeky USB Missile
pyrocket is used to operate USB foam dart launchers. It supports many
models, and for some, has considerably more functionality than the
drivers provided by the manufacturer. One may find it useful as a
starting point for controlling other USB devices, or just for waging
pyrocket automatically detects the launcher(s) and a joystick. For a
webcam-enabled device, a video window is provided.
pyrocket has been thoroughly tested on these devices:
· The Yellow/Red USB Circus Cannon sold by Dream Cheeky.
· The "original" Green/Black USB Missile Launcher sold by Dream Cheeky.
· The "webcam" Blue/Black USB MSN Missile Launcher sold by Dream
· The Striker II USB Laser Guided Missile Launcher sold by Ninja Gizmos
All hardware features are supported on these devices, including the
Striker II laser control and sensors for position extrema on the Dream
Spontaneous movement on startup
With a joystick connected, the launcher spontaneously starts moving
on startup. It does this every time the program is run after
plugging in the joystick, until any one of the joystick buttons
(including D-pad) is pressed (this can be done at any time after
connecting). This is probably a bug in PyGame.
Workaround: Press any button on the joystick after connecting it to
Stuck limit switch
The "right" limit-switch has been observed to stick in the "on"
position. It remains so even after unplugging/replugging the
launcher device. This may be a mechanical issue.
Workaround: Enable the "Override" feature, then move to the right-
most extreme and back again.
Video doesn’t work
At the time of this writing, the USB webcam packaged with the Dream
Cheeky MSN Missile Launcher does not work. The vendor/product ID as
shown with ‘lsusb’ is reported as 0ac8:307b (Z-Star Microelectronics
Corp. USB 1.1 WebCam). This is a problem with the kernel driver.
Hopefully this will be fixed soon.
Workaround: Use a different webcam, possibly attached with rubber
bands. Be creative.
My gray rocket launcher doesn’t work
The predecessor to the Striker II launcher has the same VID/PID, but
uses different USB commands. There is a program out there called
"pymissile" that supposedly supports this launcher. The original
Striker launcher accepts batteries and lacks a laser.
pyrocket was written by Karl Ostmo <firstname.lastname@example.org>.
Reverse engineering of the USB control messages for each rocket
launcher was accomplished with SnoopyPro:
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in ‘/usr/share/common-licenses/GPL’.