Introduction to C programming

What will I cover (for sure)?

C – Kernighan & Ritchie style.  Starting with variables (ch 1 K & R) and ending with functions (ch 4 K & R).  We will also cover “printf” formatting (ch 7 K & R) ’cause you’ll need that.

What should you bring?

Good: You don’t need noth’n but paper and pen to take notes.
Better: You could bring a PC w/enough installed to create / run Arduino programs.
Best: You could bring a Linux PC with “vim”&”gcc” installed ready to write, compile and run example programs.

What might be covered (extra stuff)?

Depends on you.  We could spend a few minutes to talk about basic computer hardware – before talking about C programming.  We could spend a few minutes to talk about C++ – after talking about C programming.

Where will you use this?

Probably when you write stuff for your Arduino.  But keep in mind C programming is found all over the place.  Especially in Unix machines. That covers everything from an Apple/Mac computer to a Sony TIVO PVR. And learning C is a great way to get acquainted with other programming languages like C++ or Java.  And, if you are going off to college, it’s probably the programming language of choice in that CS101 course you’ll need to take.


Audible Donation Box

Our local library recently asked us to help them out with their summer reading program, which is raising funds to support the Willowbrook Wildlife Center.

Here’s what I came up with:Glen Ellyn Public Library Token Box


When a patron turns in a book they’ve read for the summer reading program, they get a token to drop into the box.  Since the Willowbrook Wildlife Center rehabilitates native animals that have been injured, I thought that playing local native animal sounds would help create a connection between the program and the organization it is supporting.

Here’s what the box looks like inside.

Glen Ellyn Public Library Token Box Electrionics


The speakers are driven by an Adafruit Music Maker Shield run off of an Arduino Uno, using the Adafruit VS1053 library.  The token detection mechanism uses a high-intensity LED and a voltage divider, consisting of an 180 ohm resistor and a CdS photocell, to create an optical detector.  The voltage across the small resistor is checked with an analogRead() in a tight loop to detect a token falling through the slot.  Volume control is done through software on the VS1053, so I just hooked the sweeper on a 10K linear potentiometer up to a second analog input.  When a token is detected, I play a random sound from the SD card in the background while continuing to check the volume control.

Here’s the schematic and a breadboard layout.  I’ve just shown the control circuitry, as the Music Maker shield should be pretty easy to hook up.Coindrop SchematicCoindrop_Breadboard

All of the code, these schematics, and a Fritzing file are available on Github. Pay particular attention to the pin assignments at the top of the sketch if you’re using the Adafruit Music Maker board.  They are hard-wired on the shield, but Adafruit’s tutorial is based on their breakout board, which you have to wire to an Arduino yourself.

One thing I had to consider with this build was power.  I initially powered the box off of 4 AA batteries, and it looked like it worked great.  After a few days of testing, it started to act a bit flaky.  After being on for about 10 minutes, the speakers would just play static.  After some testing, I found that the supply voltage was too low, so I swapped in a USB power supply for the batteries, and it worked much better.  Since this has to run all day long for a couple months, USB is a better solution anyway.

We’re teaching a couple audio classes this summer, make sure to check back for scheduling details if you’re interested in doing something like this project yourself!



Revamping Workshop 88

Spring is in the air, flowers are emerging, and Glen Ellyn is slowly climbing out of what has been an incredibly trying winter.

The new season has inspired us to take a new look at Workshop 88 and revamp our main room. While it’s a homey basement that holds many fond memories, members have been encouraging me to come up with some new ways to change the space around to be welcoming to new members. I wanted to post some photos of the current layout so that we can work on rearranging some things.

Workshop 88 members spend so much time working on their projects and discussing new ideas that they don’t pay much attention to the space around them; but space is important. Space communicates what we value, inspires our creativity, and develops our sense of belonging. Therefore, it is really important that we spend time recreating Workshop some in order to make our space more inviting.

What do you think we should do to revamp Workshop 88? Maybe some color? Reorganizing the layout? Please comment with your ideas!

photo 1 photo 2 photo 5


THOTCON 0x5 Badge Revealed


photo1 (3)

THOTCON  is the annual, small venue, hacking conference based in Chicago IL, USA. THOTCON is a non-profit, non-commercial event looking to provide the best conference possible on a very limited budget.

For the past 2 years Workshop 88 has been honored to design and produce the electronic attendee badges for the conference as a service to the local community.  The badge crew this year consisted of: Paul Reich, Bill Paulson, Karl Knutson, Zach Cassity, Russell Lankenau, and Rudy Ristich

This year’s badge was inspired by portable gaming systems from the past and featured  102 x 64 pixel graphic LCD screen and a push button interface. Once again, the badge features an Atmel AVR based microcontroller. The badge used nearly every byte of the 32k available SRAM on its Atmega32u4 chip.  The software consisted of a Break-out style game which participants could play to passtime, a complete schedule of talks and labs for the day long conference,  and the ability to patch into arcade panels hosted in the Hacker Village, and a few surprises for discovering inside.

photo1 (2) photo3

Just like the THOTCON 0x4 Badge, the 0x5 Badge is compatible with the Arduino open hardware programming environment and can accept standard Arduino shields. This means the badge can be easily reused and repurposed to power any sort of project. An improvement from last year’s badge is that no additional parts need to be added; conference goers can simply plug the badge into their laptop once burning a bootloader to reprogram it, encouraging easier exploration and badge hacking.


The badge is designed to be completely open hardware and software.  Workshop 88 would like to thank the open source hardware and software community especially: Arduino, Oliver Kraus and other contributors to the U8glib graphics library, Dean Camera for the LUFA Project, and last, but far from least: Twisted Traces, our local assembly partner in Elk Grove, IL.

photo4photo2 (2)

Workshop 88 will be holding a badge hacking contest throughout the month of May.  Judging will consist of a panel from Workshop 88 and the THOTCON crew.  Interested contestants can register on the badge website:

Full details on the badge specifications and firmware will be released on May 1st in conjunction with the opening of the badge hacking contest.


3D printing demos with our Cupcake

We’ve been getting more and more requests for 3D printer demos lately.  Inspired by not wanting to disappoint kids who didn’t even have their first iPad back in the days when it W88LogoRWB1348was magic to be able to 3D print anything – like when our Makerbot Cupcake was hot stuff – Jim has been trying to get the old printer working again.  This W88 logo is one of the latest results.  Not bad for an old 1-color printer!  (Thanks to Bill for the color change tips.)

Its output is no match for current “appliance” 3D printers, but it’s still fine to show the basics in a nice noisy demo.  Details of Jim’s adventures with the printer are captured here.


IOLab: The Pocket Physics Lab

The University of Illinois has developed a new device called IOLab which allows students to explore physical principles and concepts in one all-in-one unit which can easily fit in a pocket. Andrew, a physics professor at Joliet Junior College, has high hopes for the device in the classroom and beyond. IOLab features a variety of sensors, many of which can be found in a physics lab, in a portable and affordable form. Built-in wheels record the displacement of the unit, measuring acceleration and velocity. It also features a force sensor, a barometer to measure air pressure, as well as a light, magnetic, temperature, and sound sensor.

IMG_2742Andrew is excited about IOLab because he hopes that the device will work in a way that engages our particular population of students today. It’s a great kinesthetic learning tool, encouraging creative exploration of physics in a non-threatening way. He mentioned that an additional benefit is that it has expansion capabilities to discover other yet to be determined inputs and outputs. Due to the utility flexibility of the device, it can be used in a variety of settings and serve a plethora of purposes. Andrew has a lot of imaginative ideas of how to use the device in his classes; one thought he has is to take some data, give it to the students and tell them to recreate the graph and figure out the experiment.


Tesla Coil Parts Built at W88

I thought I’d start posting some photos of Tesla Coil parts I have built with the help of some of the great resources available at Workshop 88

Primary Coil

Completed primary coil, built at Workshop 88

Tesla Coil Capacitor Bank, built at Workshop 88

Tesla Coil Capacitor Bank, built at Workshop 88

tesla spark gap

My simple static spark gap – built at Workshop 88

tesla table

This what I like to refer to as my “Tesla Table.”

I have more photos, showing some of the details. I might add them if there is any interest.

I hope to have a demo of at the space sometime this summer.


Bart Dring talks LinuxCNC and BeagleBone Black

Bart's Delta Router - Probably not going to be there on Saturday, but look at how awesome it is!

Bart’s Delta Router – Not going to be there on Saturday, but look at how awesome it is!

Bart Dring of MakerSlide fame is going to be out at Workshop 88 on Saturday, March 1 demonstrating CNC concepts and giving a brief talk about how he has constructed several CNC builds.  This talk immediately follows Arduino 301: Controlling The World, so come out for both! He has designed and built many great tools, such as a laser cutter, several types of 3D printers, including delta style printers. One of his most recent creations is a delta-style CNC router. Very cool! We look forward to having Bart out at Workshop 88 to share his expertise.

This event is FREE and OPEN to everyone! Please come out and bring a friend.



Upcycled LCD Entertainment Center… and Paper Elephants

This past Thursday night gathering at the Workshop, Rick Stuart showed up all smiles- though I’m not sure if this was due to his enthusiasm to show off his new gadget or in anticipation of Rachel’s shortbread which had been announced earlier via email.


Rick with his entertainment center

Rick has built a personal entertainment center which has the capacity to display high-defintion videos and music through an upcycled touch-screen LCD. Rick had recovered some of these screens from his previous workplace and had decided to put them to use in a new project. He has created a running loop for the system to operate: he utilized a Raspberry Pi running OpenELEC in order to run XBMC (a media center) and connected an HMDI cord to a LVDS adapter board. The adapter runs to the LCD, which is connected by USB to the Raspberry Pi. For sound, the system will be attached to speakers. Files are stored on an SD card inserted into the Raspberry Pi, and streamed files are accessible through connecting an ethernet cord.

By using HDMI instead of the normal video output connection, Rick was able to make his display high-definition. Rick said that a great advantage about his system is that he was able to essentially create his own media center out of materials he already had on hand plus the low cost of a Raspberry Pi.

Meanwhile, Zach showed me how to create very intricate origami elephants using printer paper. While there’s no hope of me recreating one on my own, I thought it was important to highlight how awesome they turned out.

Processed with VSCOcam with f2 preset


Arduino 301 – Controlling the outside world – March 2014

Workshop 88 is offering a continuation of the Arduino classes featuring a concentration on interfacing the arduino with external devices.  solid state relays, H-bridges and other ways of controlling high voltages sources and motors.

If you already have an arduino, you have all the materials you’ll need for this class.  Otherwise, you can order a kit and we’ll have it for you when you come to the class.

What you need to bring to the class: a laptop with the arduino environment already installed, your arduino, and your breadboard. What you’ll get from the class: an understanding of how to work with the arduino to control higher current and higher voltage DC devices, 110-volt AC devices, and various servos, steppers and motors.

The class was originally scheduled for 2/15/14, but is being rescheduled.  Watch this space!