Sparky Jr. (Programmable RGB LED HID) with Eugene Andruszczenko

Preview:

DESCRIPTION

Sparky Jr. is a programmable RGB LED mod companion light-up activation controller for arcade pushbuttons. 2 parts software, 1 part hardware, the Sparky Jr. is a unique interface and an extendable platform with a unique combination of Arduino, Processing and RGB LEDs. Eugene Andruszczenko (32teeth) walks us through the ideation, creation and realization of leveraging OpenSource Hardware and Software through to product development. Presented at FITC Toronto 2014 on April 27-29, 2014 More info at www.FITC.ca

Citation preview

May 6, 2014

2:12:36 PM

hi!

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

hi, my name is: eugene yevhen andruszczenko

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

i am the: executive director, technology

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

i am : tinkerer, hacker, technology enthusiast

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

i am also a: rapid prototype developer

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

i advocate: ethical disruption through showcasing ideas

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

i am here today to introduce: today's discussion

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. RGB LED Controller

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. RGB LED Controller

what is the SparkyJr.

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

what is the SparkyJr. the backstory

a few years ago…

i joined a fightclub

i got myself a fightstick

i got myself a fightstick i met some people with ideas

the birth of an open source product

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. a programmable RGB LED mod companion light up activation controller for arcade pushbuttons on gaming fightsticks

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

SparkyJr. built on an open source microcontroller standard.

interlude

a challenge has entered the ring

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

challenge. low barriers to participation keep costs low (under $25) core hardware only shift registers LED driver IC simple interface for non tech savvy folk open source FTW!

cont(str)ain yourself

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

limits. atmega328[p][au][nd] only has 20 I/O 6 of which are PWM common arcade controllers have 8 face buttons 8 RGB LEDs = 24 lines (1 common, 1 per color) that’s 32 lines 12 more than we have [facepalm] this was our "'oh sh1t" moment this was our "awwwwwww sh111111111t" moment

work with what you have

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

approach. 8 I/O for button inputs multiplex the rest

8 I/O for LED common line (anode/cathode) 3 I/O for colors (red, green, blue) row column scanning… …really really fast (no flicker)

port manipulation faster than digitalWrite hello timers aka TCCR (Timer/Counter Control Register)

TCCR0B = TCCR0B & 0b1111000 | 0x01; millis() and delay() TCCR1B = TCCR1B & 0b1111000 | 0x01; TCCR2B = TCCR2B & 0b1111000 | 0x01;

PORTD = B1010010  

SparkyJr. RGB LED Controller The i

32teeth eugeneyevhen 32teeth.github.io in/32teeth

results. can be measured by what the eye can see.

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

interlude

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

+

interfacing with hardware

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

challenge. round 2. low barriers to participation keep costs low (free) plugins drivers simple interface for non tech savvy folk open source FTW!

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

+ +

the birth of the 'configurator'

an interface created by a software engineer

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

an interface created by a web developer

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

an interface created by a web based software engineer

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

milestones

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

official Launch. the first commercial version was pre programmed to the users specified configuration using the purchase order form Made to order!

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

stay open. the first commercial version had an FTDI pinout for advanced users to reset, reprogram, hack. Great Results!

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

round 2. the second generation introduced a downloadable configurator, built in Processing, exported as a Java application.

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

shared. the second generation spawned a collaborative project with two web stores dedicated to fighting game hardware and parts

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

round 3. the third generation release was a collaboration with the web stores, under license to manufacture and distribute under their brands

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

help desk. end user support became a full time job (almost)

a long hiatus

a brief hiatus

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

silence is broken. in november of twenty thirteen, i joined createInTO and met rick mason

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

round 4. the quietly release fourth generation was showcased incorporated with the third generation configurator

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

reboot. taking the hardware back to the arduino uno r3 no gimmicks

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

rebuild. both the core SparkyJr. software and configurator where revisited from received feedback, rebuilt, and optimized

demo time!

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

click me

what's next

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

+ + +

ambitious

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

+ +

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

=

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

+

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

web enabled. adding web based capabilities tore down any remaining barriers to participation

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

extended. adding web based capabilities tore down any remaining barriers to participation

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

api. chrome extensions add capabilities to connect to devices using the usb and serial libraries

what's next for sparky

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

the final frontier ps360+ ready ws2811 chainable ready same configurator everything compatible

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

github. you know what it is you know how it works github.com/32teeth

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

a kick at the can. it's not a kicker-beg it's about involvement max pledge $0.99 github.com/32teeth

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

open heart. enrolled into the 'at heart' program official support

other projects

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

arduino in your pocket

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

lcd/tft ready touch ready

and finally

for 25 consecutive seasons beatings

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

for having me here today for my 15 minutes of fame! for listening to the beta testers thank you.

and most of all

SparkyJr. RGB LED Controller 32teeth eugeneyevhen 32teeth.github.io in/32teeth

thank you.

Recommended