News and Blogs

A look at recent events and member projects

Stephen in the news

Member Stephen Chavez has been making waves again — following his presentation with an SSD member at Defcon 24, he travelled to China and won an award at the GeekPwn 2016 hacking contest.  And now, just after his graduation from Metro State University in Denver, he has been featured on Denver’s 9News.

Stephen and friends have been hacking his electric wheelchair with the goal to make it semi-autonomous.  Unable to talk, he uses a computer keyboard to communicate; a task that cannot be done while controlling the chair’s joystick. As a result, he cannot “talk” and “walk” at the same time.  With a semi-autonomous chair, he can set it to follow a friend or drive on a path while avoiding obstacles — freeing his hands to type and communicate.

Stephen’s wheel chair is a product of PGDT.  The chair utilizes a proprietary protocol that runs over the same CAN interface found in all late model cars and trucks.  PGDT calls the protocol R-net.  R-net is deployed on the wheelchair to allow the various devices and interfaces on the vehicle to communicate with each other.  There are no public documents about the R-net protocol.  Stephen worked with a team of hackers to reverse-engineer this protocol and take control of the wheelchair’s internal network.  “We’ve learned that power wheelchair hacking is also closely related to car hacking”

Stephen Chavez. Photo by Sara Hertwig

Stephen Chavez.
Photo by Sara Hertwig

ElectroPumpkins for Halloween

An Arduino, a bit of ws2812 LED strip, and some sanded acrylic tube make the perfect light for a jack-o-lantern.  If you’ve ever wanted to play with the intelligent LEDs like the ws2812, I highly recommend using FastLED to drive them.  The library has a good set of examples bundled with it, one of which is the Fire2012 example.  You can see that in action in the embedded video below.  For these two pumpkins, I used some very simple code that cycles them through the HSV color wheel at 100% saturation and 100% value.  See the code at the end of the post.

20161030_224005   20161030_235938   20161031_204650

 

And now for the code:

 

#include "FastLED.h"
#define NUM_LEDS 20
#define LED_PIN 5

// Define the array of leds
CRGB leds[NUM_LEDS];

void setup() { 
   FastLED.addLeds<WS2812, LED_PIN, BGR>(leds, NUM_LEDS);
}

#define HUE_DELTA 1
#define TIMEOUT 200

void loop() {
   static uint8_t hue = 0;
   // Turn the LED on, then pause
   for( int idx = 0; idx < NUM_LEDS; idx++)
   {
      leds[idx].setHSV( hue, 0xff, 0xff);
   }
   FastLED.show();
   delay(TIMEOUT);
   hue += HUE_DELTA;
}

 

CNC Drawing class

Thursday night’s CNC Basics class went well, and will likely be a recurring class.  Be sure to keep looking on our Meetup page for the next one if you missed it.

 

10/27/2016 - CNC Basics, Phase 1: drawing

10/27/2016 – CNC Basics, Phase 1: drawing