Skip navigation

community

1 2 3 ... 5 Previous Next

The PDP-7 Technician's Handbook

63 Posts
2

Howdy -

 

With Maker Faire Bay Area coming up next week, I'm changing gears from my hrmshield project.  The past several Maker Faires I've been to I had a sponsor badge on which I was able to write my name and Twitter handle (@pdp7).  I'll be a regular attendee this year, so I was trying to think of a way to identify myself in order to easily connect with folks I know from Twitter, IRC, etc.

 

At Chicago Northside Mini Maker Faire last month, I got a great deal on 16x8 LED matrix kit from 2D Kits for $15.  It's powered by a PIC and the source code is on their website.  I was thinking that I could reprogram it with my info and use it as a badge:

20120501_001905 (1).jpg

However, after assembling I realized that the matrix pins don't make very solid contact because they go into header rather than the board itself and the matrix pins are rather thin.  I was eventually able to get all the LEDs working by inserting it just right.  It works ok sitting on a desk, but I doubt it would when bouncing at the end of lanyard.  In the future I might build another one with the matrixes soldered directly onto the PCB.  It is real nice looking and they were very quick and helpful with my support questions via email.  Plus, it can easily be powered via Li-ion battery USB charger as it chews through coincells.

 

I started looking around for other ideas and saw a "Hello! My Name is" badge kit from Maker Shed:

MKAM1-2T.jpg

I thought it was a pretty clever idea, but unfortunately it was out of stock.

 

Then I started thinking why not just design my own badge.  I would learn more, and it would be more in the maker spirit.  I started looking at LED matrixes but realized, that since not enough time for batch PCB service, it would involved a lot of wiring on a perf board.  My primary goal is to display "pdp7", and I realized that luckily this fits on 7 segment displays as "PdP7".  I'd seen some nice looking 4-digit 7-segment displays on a recent Adafruit "Ask An Engineer" episode:

766_MED.jpg

So I placed an order for a couple different colors along with Adafruit's lovely half-sized Perma-Proto boards (a genius product!):

permaprotohalf_MED.jpg

I was planning that I could fit a small pin count AVR on the perma-proto next the 7-segment module.  I would then use PWM output to switch a transistor connected to the power of the 7-segments.  This would allow me to make a nice fade in, fade out effect. 

 

Then the following day I realized that the 7-segment module from Adafruit is multiplexed.  My plan was to hardwire each 7-segment digit to my static "PdP7" message.  I really didn't want to have to deal with the wiring involved with multiplexing, so I started looking for single digit 7-segment displays.  This led me to some nice looking blue 7-segments from SparkFun:

 

09191-5.jpg

However, these modules are much bigger and 4 would take up the whole width of the half-size perma-proto leaving me no place to put an AVR.  Thankfully, the perma-protos actually came in a 3-pack so I figured I could make a double decker designer with headers - secured with screws or zip ties through the mounting holes.  With this in mind, I ordered the 7-segments from SparkFun. 

 

A couple days later I was thinking I should try to power it with LiPo so I went to MicroCenter to pick up a SparkFun charger & battery combo pack (got to love SparkFun in retail store!).  While I was there, I noticed the adorable little SparkFun Arduino Pro Mini which operates at 3.3V and 8 MHz and decided to pick it up along with a 3.3V FTDI board to program it.  Now I feel a little guilty going with this solution as it is much more costly and overkill compared to something like an ATtiny2313 (which I have several of along with ISP programmer).  However, there's not much time to complete this project and I'm not quite as experienced with "plain" AVR C programming.  I'd like to re-implement this project in the future with just an ATtiny but for now I'm going with Arduino.

20120506_235529.jpg

I hooked up the 7-segment displays on a breadboard powered by 3.7V LiPo battery.  After calculations and measurements, I found 100 Ohm resistor to each display's common anonde pin limited current per their datasheet rating and provided enough maximum brightness:

20120506_174210.jpg

I then wanted to control the 7-segments with the Arduino.  For each, a transistor connects Vcc to its common anode through a resistor.  A separate PWM pin is connected to the based of each transistor through a resistor.  This allows me to then have the Arduino sketch control the brightness of each digit individually.  Here are some simple patterns I've programmed so far:

 

 

The code is in a Github repo: https://github.com/pdp7/pdp7badge

 

I've since realized that the transistors are really not needed as the current is small enough to be driven by the Arduino's pins directly.  I've now switched to this configuration.  I'm going to do some more research before soldering to perma-proto board though as I'm still a bit confused about the per pin current ratings in the ATMega328 datasheet.  I think I'm well below the ratings especially given that it's PWM driven and not steady state.  I'll post a schematic, measurements and calculations in a future post.

 

 

Cheers,

Drew

2

Smooth (heart) beats

Posted by Drew Fustini May 6, 2012

Howdy,

 

Thanks to a comment by YT2095 on my last post, I started thinking that I need to do more averaging to achieve a smoother graph.  It turns out that this is very simple to do as the Arduino sketch writes 30 BPM samples per line to the text file on the SD card.  I created a new script named parse-avg.pl to take the average of every 30 sample set.  This created a graph with less fluctuation:

bpm-parse-avg.png

This new averaged data is feed into filter.pl, and a much smoother graph is generated:

bpm-filter.png

Here is a comparison with both on a the same plot:

bpm-combined.png

So I think the plot of the filtered data now is much easier to interpret.  However, I need to verify that the data is actually still accurate.  I have basic Polar wrist watch receiver which I can use to benchmark.  It doesn't log BPM readings, so I will have to write down the reading 30 sec for a short test run (say 10 minutes).  Then I can graph the written-down wristwatch readings versus the hrmshield filtered data.

 

Cheers,

Drew

2

I wrote a quick overview of how the hrmshield sketch works in my last post, so in this post I'd like explain what I do with the data it produces.  All the code along with sample data are in the hrmshield github repo.

 

Parse

After doing a test run with the hrmshield recording, the SD card contains a text file with timestamped BPM readings.  I have one script, parse.pl, which reads the text file (HRM23.CSV for example) and reformats it so that there is one BPM reading per line along with timestamp.  This makes the data easier to then filter and graph.

 

Filter

Filtering is needed to toss out invalid BPM readings.  Eric Boyd uses Asymptote to filter and graph HeartSpark data (see his Heart Plot repo).  However, the Asymptote script expects data to come in a different format than my hrmshield.  The HeartSpark logs data to EEPROM and then depends on a Processing sketch to download the data from it via the serial port. 

 

I initially tried to adapt the Asymptote script but ran into difficulty.  I decided to just go with my old standby Perl and copy the filtering logic from Eric's Asymptote script.  This is resulted in filter.pl in the hrmshield repo.  It is run with the output of parse.pl. 

 

Graph

The output of parse.pl and filter.pl are both joined into one file so that raw versus filtered BPM data can be graphed.  This is done by graph.sh which runs end-to-end needing only the raw CSV filename as a parameter to produce an image of the graph.  For example, running ./graph.sh data/HRM23.CSV creates ./graph/hrm.png.

 

I use gnuplot for graphing with two different configuration files: hrmshield-png.plot & hrmshield.plot.  The first is utilized by graph.sh, as describe above, to generate a PNG of the graph:

hrm.png

The second is opened in a GUI frontend to gnuplot called qgfe.  qgfe is very useful for exploring data as I can freely zoom in on any area of the graph:

qgfe.png

So that is a brief run through of how I filter and graph the data from the hrmshield.  Looking forward, I want to further explore how I can improve the filter script to better normalize the BPM data so that the graph doesn't fluctuate as much.

 

 

Cheers,

Drew

0

Closer to the heart

Posted by Drew Fustini Apr 27, 2012

Howdy,

 

After being consumed with Raspberry Pi WiFi adapter testing the last two weeks, I'm turning my attention back to finishing my Arduino heart rate data logger project (which I've termed the hrmshield).  I'm really glad that I finally moved the project to a github repo before I was sucked into the Raspberry vortex.  It's much easier to recall what I was up too by looking through the commit log and also not having to look around my hard disk for the "current" version.  Here's the project repo:

 

https://github.com/pdp7/hrmshield

 

The main attraction is the Arduino sketch, hrmshield.pde, which melds together code from HeartSpark, OpenHeart and Adafruit Logger shield.  Following Eric Boyd's lead in his HeartSpark code, I try to only do the minimal amount of processing on the Arduino before logging to text file on the SD card

 

Here's the rough method I'm currently using to attach the hrmshield to my arm for test runs:

20120406_192536.jpg

Since the data is "raw", I have been working on a set of Perl scripts that parse and filter the heart rate samples to generate accurate graphs.  These are in the repo as well, but I'm still working on improving the filtering scripts.  Also, I've been using an interactive GUI frontend to gnuplot called qgfe which while very handy for analyzing test data, but I need to write scripts with automate the process of running gnuplot.  I'll do post on this topic soon.

 

Also, once I've wrangled the filtering and graphing process, I really need to make a nice laser cut or 3d printed enclosure at my hackerspace.  For now, here's a video of my crude version in action:

 

 

 

Cheers,

Drew

2

Chicago Mini Maker Faire

Posted by Drew Fustini Apr 23, 2012

Howdy,

 

On Saturday, I attended the first ever Maker Faire to happen in Chicago:

 

http://makerfairechicagonorthside.com/

chicago-wordpress-banner-7707.png

I was very impressed by the number of makers and attendees.  It was also wonderful to see a Chicago Public School be the venue.  What a cool prinicple!

20120421_122218.jpg

In addition to free admission to all public school students, I thought it was great to see how many students were involved in staffing the faire.  From working the registration tables to directing traffic in the hallways (it's a big school!).  Many of the Maker exhibits were also done by students including composting and gardening exhibit which you can kinda seen in the distance in the photo above.

20120421_144457.jpg

A high school cafeteria can bring back some negative memories, but anyone can sit at the cool kids table at this Maker Faire (and learn how locks work with TOOOL).  This was by far the coolest cafeteria I've ever seen with the bulk of the exhibits spread throughout.  The exhibits and activities were quite diverse as this snippet from the faire's website highlights:

And thank you to everyone who attended, planted a flower, pet a chicken, blasted a nerd, shot a basketball, participated in a circus, picked a lock, built your own Chicago, built a blinkie, constructed a catapult, designed recycled jewelry, composed a song, learned about glass-blowing, created  a T-shirt scarf, painted your own knife wound, braided Renaissance style hair, joined a hackerspace, worked a 3D printer, operated a robot, rode a DIY segway, completed an electrical circuit, chilled with the Wandering States, and MADE something!

 

When I first walked in, these creepy creations by a FX artist caught my eye:

20120421_145419.jpg

Turning around, I gazed upon on upon amazing scale paper models of Chicago landmarks:

20120421_123438.jpg

The clever part is that the pieces are cut out of postcards that you can mail!

 

DIY 3D printer company, MakerBot Industries, was doing 3D portraits of attendees.  Simply sit in a swivel chair and turn while a Kinect captures your profile.  The 3D model of your head is then sent to the MakerBot Thing-O-Matic 3D printer which prints out a little copy of your head!

 

20120421_145221.jpg

Right across from MakerBot's table, there was a DIY Arduino-powered segway being shown off:

20120421_124509.jpg

Suburban Chicago hackerspace, Workshop 88, brought their awesome Educubes from the element14 Great Global Hackerspace Challenge last year:

20120421_131501.jpg

And Dwayne and Dale from 2D Kits brought a heap of soldering irons, tons of different kits to choose from, and plenty of patience to help people make them right there.

20120421_133345.jpg

I really dug that the objective for FIRST robotics this year was a basketball-style game - and the kids did, too!

 

 

And finally it's hard to go to a Maker Faire without coming home with a bunch of cool stuff!

20120421_184027.jpg

All the photos I took are in a Picasa gallery.  And, if you're in the area, there is also a Maker Faire being planned in Evanston in August!  Details are still being worked out but should be Friday evening, August 4, and all Saturday, August 5.

 

Cheers,

Drew

 

P.S. I'll be heading out to Maker Faire Bay Area next month, anyone else?  I can't wait!

0

Howdy,

 

I've finally placed the Polar chest strap receiver chip and Open Heart LED matrix on the Adafruit data logger shield:

20120214_012708.jpg

Quick video while I'm sitting at rest:

 

 

The Adafruit shield has a SD card accessible via SPI and a DS1307 RTC via I2C.  I'm working on the code write now to log the heart rate data to the SD card and hope to have it done in a day or two.  I'll post it here then.  After that I'll try using gnuplot on a computer to make graphs of the data.

 

Here's a couple more shots of the shield.  I used female headers for the Open Heart and Polar chip as I wanted to be able to remove easily if needed.  The crystal for the Polar chip is actually soldered underneath the shield as I was at first thinking I would lay the Polar chip flat on the prototyping area:

 

20120214_012733.jpg

20120214_012628.jpg20120214_013735.jpg

 

Cheers,

Drew

5

Howdy,

 

This year I decided to make my own version of the HeartSpark which I gave my girlfriend last year for Valentine's Day:

 

http://www.element14.com/community/blogs/pdp7/2011/02/14/heart-spark-an-open-source-valentine-3

 

I posted last week about the Open Heart LED display that I assembled:

 

http://www.element14.com/community/message/43638

 

I've now connected it and a Polar chest strap receiver chip to an Arduino:

12 - 1.jpg

By combining source code from the Heartspark and Open Heart, a heart beat animation is played each time a pulse is received:

 

 

The receiver chip is a Polar RMCM-01:

 

http://www.sparkfun.com/datasheets/Wireless/General/RMCM01.pdf

 

It is the same chip as used in the HeartSpark and works with the Polar WearLink 31 chest strap:

 

http://www.amazon.com/Wearlink-31-Transmitter-by-Polar/dp/B001J8W5N2

 

The receiver chip simply outputs a 3V 1ms pulse for each heart beat detected.  My scope shows a pulse about every 1,000 ms when sitting which translates to about 60 bpm:

420476_3280915790156_1485404420_3225342_579671549_n.jpg

After doing some push-ups, the time between pulses cuts in half which indicates my heart rate has nearly doubled:

404584_3280939910759_1485404420_3225348_347419062_n.jpg

The Arduino code prints out the BPM and microseconds since previous pulse, and I found it matches what I observed on the scope.   Although I think the code still needs some tweaking, especially for edge cases.  I've attached the current version to this blog post.

 

My plans now are to assemble the Adafruit data logging shield:

 

http://www.adafruit.com/products/243

 

I will use it to log the BPM data with a timestamp to a SD card.  The data can then be plotted later on a computer.

 

I'll use the prototyping area on the data logging shield to solder on Polar receiver & components along with a header for the Open Heart.  My goal is place the Arduino, shield & Open Heart along with a USB power source (like a Duracell cellphone charger) into an enclosure which my girlfriend can take to yoga and set it near her mat.  I'll probably have to add switch to disable the Open Heart animation when needed so it doesn't annoy others.

 

 

Cheers,

Drew

0

Merry Birthday to You

Posted by Drew Fustini Jan 24, 2012

Howdy,

 

I had a great time making SMD LED Christmas cards (which double as tree ornaments) back in December:

SMD LED Xmas Card

However, I only managed to make 3 out of 13 in time after parts and PCBs finally arrived.  My mom's birthday is today so a couple of weeks ago I decided I'd repurpose one of the remaining PCBs to make a musical Birthday card:

20120121_141638.jpg

I found this card at Walgreens, and it seemed pretty fitting.  The speaker was scavenged from a different electronic Hallmark card.  I originally tried a couple piezo speakers I had in my parts bin, but it sounded much better.  The speaker leads are connected to the pads for one of the LEDs.  The board is designed with a series resistor connected to each LED.  I only had 390 ohms SMD resistors, and speaker was softer than I wanted with that resistance.  So I removed the SMD resistor, shorted that pads with solder, and then soldered a through-hole resistor between one speaker lead and LED pad.  I wish I would have taken a picture of the other side of the board as I'm having trouble remembering the value, but I believe it was 82 ohm.

 

I also soldered 4 LEDs onto the board to give a visual effect beneath the illustrated phone on the front of the card:

20120121_141545.jpg

The LEDs and speaker are all controlled by the same AVR pin, so the LEDs blink in rhythm with the melody.  Unfortunately, only the yellow LED was bright enough to be seen through the card.  The tactile switch on the board is positioned under the bottom of the illustrated phone's keypad.  The Happy Birthday melody will play once when that switch is pressed, and then the chip will go to sleep until pressed again.

 

I used this source code from Nerd Kits as the basis for playing Happy Birthday:

 

http://www.nerdkits.com/videos/musicbox1/

 

However, I had to make some changes as it was written for an AVR ATtiny26 while my board uses a ATtiny13.  The challenge was to determine which delay value on the ATtiny13 generated an A5 note which is 880Hz.  I set the fuses so that that ATiny13 runs as 9.6MHz on internal RC with no clock divider.  If not already set, the fuses can be set via avrdude (note that I am using an Adafruit USBtinyISP programmer):

 

avrdude -c usbtiny -p attiny13 -i 5 -U hfuse:w:0xFF:m -U lfuse:w:0x7A:m

 

And, for reference, this is how I would compile the source code and program the AVR:

 

avr-gcc -mmcu=attiny13 -Os -o happycard.out happycard.c
avr-objcopy -O ihex -R .eeprom happycard.out happycard.hex
sudo avrdude -c usbtiny -p attiny13 -U flash:w:happycard.hex

 

The Nerdkits code uses the standard AVR libc delay functions to handle the timing of playing notes.  However, when attempting to use them in my ATtiny13 program, I ran into cryptic avr-gcc errors.  After some searching, I discovered this was an indication that I had run out of Flash memory to store the program code after linking that library.   I was surprised but the ATtiny13 is a minimalist part with only 1K flash memory and 64 bytes internal SRAM.

 

Thus, I decided would construct my own simple microsecond delay loop.  Unfortunately, I couldn't get the duration of my microsecond delay function below 1.23 microseconds (which I observed with my scope, the Rigol DS1052E).  While I may have been able to optimize it, I decided I would just modify the note definitions from the Nerd Kit source code to compensate.  I did so by copying the #define statements for the notes into a separate text file, processed with this perl one-liner and then copied the adjusted #define's back into the source code:

 

cat notes.txt | perl -ne 'chomp; ($a, $b, $c) = split(/ /); print "$a $b " . int(($c/.81)) . "\n";'

 

I then modified the source code to output just a single note, A5, and check the frequency with my scope (a DMM with a Hz function would also work).  I was within a few Hz of 880, so I was satisfied.

 

After adding all the notes back from the Nerd Kits code, I noticed the melody didn't sound quite right.  I looked up the sheet music for a happy birthday from a couple sources online and decided to adjust the duration of a couple notes accordingly.  I also added a brief break in between playing each note.  With these changes, the melody sounded much more accurate.

 

 

I've attached the source code, happycard.c, to this blog post.

 

 

Cheers,

Drew

http://twitter.com/pdp7

 

 

 

0

Howdy,

 

After I finished making surface mount LED Christmas cards, I returned to my Arduino mod of the Velleman 3-D Christmas tree kit.  I discovered an Adafruit DC Boarduino, which is an ATMega328 Arduino clone, in my stash and decided to switch to it as I wouldn't gain much more compactness by soldering the whole Breaduino circuit onto a perfboard.

20120106_015108.jpg

I hot glued a perf board to the base of the tree and soldered wires to the transistors bases and also the battery connectors.  This reduced a lot of the bulk of the mini-hook jumpers I had been using.  I also fully removed the unused resistors (R5, R7, R6, R8) and capacitors (C1, C2, C3, C4).  This is the simplified schematic:

xmas3d_schem_crop.gif

On the perf board, I soldered a male 1x4 header for the 2 signal wires (T1/T2 & T3/T4), VCC (9VDC), GND.  I then created a cable to connect the header to the Boarduino:

20120106_013813.jpg

Next holiday season, I think I may try to "dress" it up a bit.  Maybe put the Boarduino inside a small gift box and cover up the perf board under the tree with fake snow.  But, for now, it's time to think up some new projects for 2012!

 

 

Cheers,

Drew

http://twitter.com/pdp7

0

Howdy,

 

I've assembled several Velleman (http://www.vellemanusa.com) holiday kits over the last few years to give as gifts:

http://www.vellemanusa.com/images/products/0/xmas2005.gif

I'm glad they make such kits, and the prices are reasonable.  However, in the age of cheap microcontrollers, the fixed blinking LED patterns are a bit of let down after soldering a gob of LEDs.  In almost all the kits, transistors switch on and off strings of LEDs based on the RC time constant of the components.  Thus, I got the idea to hook up one of the kits to a microcontroller to add more pleasing variations.

 

I decided to give this a try with the Velleman 3-D Christmas tree:

 

http://www.vellemanusa.com/products/view/?id=351133

http://www.vellemanusa.com/images/products/0/small/mk130.jpg

Thanks to RadioShack's recent DIY blitz, this kit is stocked in all 3 RadioShacks I've visited in Chicago recently.  This mod could have been done with any number of popular microcontrollers, but I thought I'd shoot for an Arduino-compatible setup given many folks are familiar with it (and I was bit tired of fiddling with registers after a recent pure AVR project).  I had an unused Breaduino kit (http://www.appliedplatonics.com/breaduino/) which is a breadboard-able ATMega328 Arduino clone I'd bought at Noisebridge (San Fransico's hackerspace).  I decided to use this as my goal is to solder all the components on a small protoboard to mount under the tree.  For now I've just setup the circuit on a breadboard with jumpers connected to the 3-D tree PCB:

AhQSEJECEAIs7R3.jpg

The Arduino fades the LED segments in and out at different randomly-selected rates using PWM via the easy analogWrite() functions.  I found it quite pleasing to watch, especially in dim light.

 

 

Here's the schematic of the 3-D tree kit from the instructions:

 

http://www.vellemanusa.com/downloads/0/minikits/manuals/manual_mk130.pdf

3dtree.jpg

I cut the positive lead on each capacitor and then connected a jumper to the "capacitor-side" of the 82k or 100k resistor for each of the 4 segments (for one segment I clamped on the negative lead of the capacitor as corresponding the resistor lead was too tight of a fit for the mini-hook jumper):

478521929-fc89f40971f7f8b6306263d9c7e6e81b.4ef3b670-scaled.jpg

 

Those jumpers then are connected to pins on the AVR via 1K resistors.  Finally the 9V battery connector springs on the PCB are connected to the 9V rails on my breadboard (where a 9V battery is strapped on).  I will make a proper schematic when I get ready to solder components onto a protoboard, but, for now, here's my messy breadboard:

478521578.jpg

The 2nd breadboard really isn't needed, but I started off by breadboarding all the components which are now soldered onto the 3-D tree PCBs.  The Breaduino doesn't have a USB interface like an official Arduino board, so I used a FTDI USB-to-serial cable to program it.

 

Here is the sketch I wrote which is based on the PWM LED Fade example which is included with the Arduino installation:

 

// Arduino-mod for the Velleman 3-D Christmas tree kit
// This code is in the public domain (based on the Arduino.cc Fade example).

int fadeAmount = 0;
int fadeMax = 0;
int fadeMin = 0;
int fadeDelay = 0;

void setup()  { 
  //serial output isn't required, but useful when experiementing
  Serial.begin(9600);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  randomSeed(analogRead(0));
} 

void loop()  { 

  // generate random setting to keep patterns interesting
  // bounds were determined by experiementation, so you
  // you may want to tweak to your own liking
  fadeMin = random(1,100);
  fadeMax = 255;
  fadeAmount = random(1,10);  
  fadeDelay = random(5,15);    

  // this loop controls the duration for each random pattern
  // note, the faster the fading, the sooner the pattern will end
  // maybe this could be improved by refactoring the program to be 
  // driven by a timer interrupt so each patttern gets equal duration
  for(int i=0; i<20; i++) {

    Serial.print(i);
    Serial.print("\t");       
    Serial.print(fadeMin);
    Serial.print("\t");       
    Serial.print(fadeMax);
    Serial.print("\t");       
    Serial.print(fadeAmount);
    Serial.print("\t");        
    Serial.println(fadeDelay);  

    // fade from minium to maximum brightness
    for(int fadeValue = fadeMin ; fadeValue <= fadeMax; fadeValue += fadeAmount) { 
      analogWrite(11, fadeValue);
      //invert the current brightness so that LED segments visually "oppose" each other
      analogWrite(10, fadeMax-fadeValue);
      delay(fadeDelay);   
    } 

    // fade from maximum to minimum brightness
    for(int fadeValue = fadeMax ; fadeValue >= fadeMin; fadeValue -= fadeAmount) { 
      analogWrite(11, fadeValue);          
      analogWrite(10, fadeMax-fadeValue);              
      delay(fadeDelay);                            
    } 

  }

}

 

Now that I have a working prototype, I look forward to permanently placing the components on a board attached to the base of the tree to make an attractive holiday decoration.

 

I'd love to hear about what other holiday-themed electronics projects folks have been working.  Please post in the comments if you've got anything to share.

 

 

Happy Holidays!

Drew

http://twitter.com/pdp7

1

Tux or Treat!

Posted by Drew Fustini Oct 31, 2011

Boo!

 

I hope everyone out there is enjoying a frightfully fun Halloween.  I always try to sweeten the open source value proposition in the office:

 

392068_2599425353321_1485404420_2939445_119865714_n.jpg

The LED pumpkin is a Vellemen kit:

 

http://www.vellemanusa.com/products/view/?country=us&lang=enu&id=351279

 

It provides for some easy through-hole soldering fun.  A couple transistors switch the LED brightness between a few levels to give a rough candle flickering effect.  However, it is really not that realistic compared to those LED candles you can get everywhere nowadays.  Rather than using RC time constants, it would be nice to throw a low-end microcontroller in there to give a nice, psuedo-random flicker via PWM.  I think I'll have to try modding it next year.  Anyways, for $12, I'd recommend the kit for beginners:

 

http://www.ramseyelectronics.com/cgi-bin/commerce.exe?preadd=action&key=MK145

 

 

 

296474_10150365663989437_650094436_7827358_194775726_n.jpg

However, I really liked Velleman's Animated Ghost kit (above):

 

http://www.vellemanusa.com/products/view/?id=522176

 

It senses noise with a built-in mic and then does random activities like play sound effects, glow its LED eyes or spin around using its small motor.  It's about $10 more than the pumpkin:

 

http://www.ramseyelectronics.com/cgi-bin/commerce.exe?preadd=action&key=MK166

 

 

 

file-3.jpg

(image source: http://s1137.photobucket.com/albums/n506/IdeaPDish/)

 

A more advanced kit which will provide more of challenge is Ramsey's Tri-Field Meter (above):

 

http://www.ramseyelectronics.com/cgi-bin/commerce.exe?preadd=action&key=TFM3C

 

You can detect supernatural phenomenon in electrical, magnetic and RF fields.  It definitely provided plenty of fun at our hackerspace party (Pumping Station: One in Chicago).

 

 

 

128px-Feed-icon.svg.pngzombie1.jpg

(image source: http://www.flickr.com/photos/felix42/453311029/)

 

It's always nice to have something to listen to while soldering.  I love engineering and open source related podcast, so the Zombie Tech podcast is spot on for today:

 

http://www.zombietech.tv/

 

It's engineers versus zombies with interviews of Joe Grand (Prototype This!), Dave Jones (eevblog), Chris Gammell (The Amp Hour), Jeremy Blum (element14's own Arduino expert) and more!  The premise of a zombie apocalypse provides the platform to discuss sustainable technology and open source engineering.

 

 

 

http://farm1.static.flickr.com/110/283388408_36ebf69f72.jpg

And, finally, here are a few fun Halloweens project from the always awesome Evil Mad Scientist Labs:

 

http://www.evilmadscientist.com/article.php/HalloweenProjects

 

 

Cheers,

Drew

http://twitter.com/pdp7

3

Ken_n_dennis.jpg

               Ken Thompson and Dennis Ritchie (source: Wikipedia)

 

I was very sad to read a post from Jon "Maddog" Hall yesterday evening revealing the news that Dennis Ritchie has passed away at the age of 70.  Ritchie created the C programming language and was the co-creator of Unix with Ken Thompson at Bell Labs.  The influence of the technologies he created is so widespread that it is difficult to communicate the magnitude.

 

kd14.jpg

Ken Thompson (seated) and Dennis Ritchie (standing) at a PDP-11 in 1972. (source: The Art of Unix Programming)

 

My first exposure to Ritchie was when my father (who spent his whole career at Bell Labs) brought home the famous K&R C book for me when I was in 8th grade.  Over the previous couple years, HyperCard on my Mac had piqued my interest in programming, and I was ready to move onto something more mature.  I've always enjoyed using C ever since, and some of my favorite programming experiences have been with C: learning the Win16 API (when I was young), the POSIX API (when I grew wiser), trying to write Linux kernel modules (didn't really pan out), and tinkering with embedded systems (which I try to make time for every night).

 

K&R_C.jpg

(source: Wikipedia)

 

 

Rob Pike, long-time Bell Labs researcher and colleague, has made some poignant posts to Google+ including one highlighting the most important email he received from Ritchie (aka dmr).  I've been reading through various coverage and found Fred Gallagher of Ars Technica really captured the importance of Ritchie's work in his Wired article:

 

By creating C, Ritchie gave birth to the concept of open systems. C was developed so they could port Unix to any computer, and so that programs written on one platform (and the skills used to develop them) could be easily transferred to another.

In that way, Ritchie has shaped our world in much more fundamental ways than Steve Jobs or Bill Gates have. What sets him apart from them is that he did it all not in a quest for wealth or fame, but just out of intellectual curiosity. Unix and C were the product of pure research - research that started as a side-project using equipment bought based on a promise that Ritchie and Thompson would develop a word processor.

Imagine what the world would be like if they had just stuck to that promise.

 

800px-Medal_lg.jpeg

Thompson (left) and Ritchie (center) receiving the National Medal of Technology from President Clinton. (source: Wikipedia)

 

 

Finally, I just came across this golden clip of Ritchie and Thompson talking about Unix in what looks to be the 70s - fascinating!  Doug McIlroy makes an appearance, too (he invented pipes!):

 


 

Code in Peace, Dr. Ritchie.

 

Sincerely,

Drew Fustini

http://twitter.com/pdp7

0

Howdy,

 

Here's yet another reason to join a hackerspace that has a laser cutter - you can etch a QR code to help ensure your lost keys are returned safely:

 

A QR Code That Returns Your Keys

http://pumpingstationone.org/wp-content/uploads/2011/10/IMAG1513.jpg

Once the code was generated, I etched the acrylic on our laser cutter, going over the etching twice for extra depth, and filled the recessed areas with polymer clay [you can use fimo, sculpey, etc.], put it in the oven to set and covered with a clear layer of nail polish for added protection.

 

http://pumpingstationone.org/wp-content/uploads/2011/10/QR_Scanned.png

 

Cheers,

Drew

http://twitter.com/pdp7

Once the code was generated, I etched the acrylic on our laser cutter, going over the etching twice for extra depth, and filled the recessed areas with polymer clay [you can use fimo, sculpey, etc.], put it in the oven to set and covered with a clear layer of nail polish for added protection.
0

In a new post from Evil Mad Scientist Laboratories, the clever idea of visual diffs for schematics and board layouts is explored:

 

GitHub now automatically supports visual diffs for image files included in commits. What this means is that if you (as a designer) generate and include an up-to-date PNG version of your schematic and layout in every version and commit there, you will also automatically generate a matching visual-diff history of the project. This is potentially huge -- if the open source hardware community will step up to the plate and take advantage of it.

 

http://www.evilmadscientist.com/article.php/visdiff

 

http://farm7.static.flickr.com/6171/6192852292_b21e587f46.jpg

 

Cheers,

Drew

http://twitter.com/pdp7

0

Here's photo set of the red carpet at the Open Hardware Summit:

 

http://www.flickr.com/photos/open_hardware_summit/sets/72157627583343095/

 

http://farm7.static.flickr.com/6159/6162526051_5fc61d7db6.jpg


I think it's really cool that they did that this year.  Engineers are glamorous!

 

 

Cheers,

Drew

http://twitter.com/pdp7

1 2 3 ... 5 Previous Next