This is a remarkable Millennium Falcon build, thanks so much to forums user scottferg for sending this in – check out lots more photos here!
Those SMD LEDs to simulate control panel lights are too cute!
I’m using an Adafruit Feather 32u4 Bluefruit LE and a DC Motor + Stepper FeatherWing to drive a stepper motor to turn the rectenna dish on my Millennium Falcon model.
I’m also controlling the Falcon’s ramp DC motor and using TONS of Neopixels to add lighting to the model. Pics of my project can be seen in my gallery album:
I’m really loving how cool this is turning out, and fairly easy to accomplish with Adafruit products!!
I became concerned with performance driving the stepper and discovered (through empirical measurements) that the step frequency was becoming limited by time spent in the stepper code. The major bottleneck seems to be in I2C communications to the Wing. I didn’t delve into the WIRE code for verification, but I suspect this code is actually synchronously waiting for data to transmit before returning. In any case, caching the ‘latch’ and ‘PWM’ values and sending them only when changed yields a fairly significant performance increase of about a 25%. This is because the latch pins often change only one or two at a time, and often not for several cycles, and the PWM values don’t change at all when not using microstepping. [I also found the ‘onestep’ routine to be quite overly complex/long and was able to improve it significantly, while also incorporating both 8- and 16-step microstepping without the need for a build switch.]
I’m also using the AccelStepper library and was curious that my empirical speeds were not satisfyingly close to the speeds reported by the library. On a whim I changed it to use microseconds rather than milliseconds for its timing calculations (a trivial change) and found the results thereafter to be quite satisfying.
As I believe the changes I’ve made to be of value to all users, it would be good to have the owners of these libraries have a look at them for incorporation into future versions. I don’t have experience using github, but if desired am willing to explore that process to help improve the libraries.
Thanks, and best wished to all!!
Featured Adafruit Products!
Adafruit Feather 32u4 Bluefruit LE: This is the Adafruit Feather 32u4 Bluefruit – our take on an ‘all-in-one’ Arduino-compatible + Bluetooth Low Energy with built in USB and battery charging. Its an Adafruit Feather 32u4 with a BTLE module, ready to rock! We have other boards in the Feather family, check’em out here. Read more.
DC Motor + Stepper FeatherWing Add-on For All Feather Boards: A Feather board without ambition is a Feather board without FeatherWings! This is the DC Motor + Stepper FeatherWing which will let you use 2 x bi-polar stepper motors or 4 x brushed DC motors (or 1 stepper and 2 DC motors). Using our Feather Stacking Headers or Feather Female Headers you can connect a FeatherWing on top or bottom of your Feather board and let the board take flight! Read more.