Browsed by
Category: Arduino Projects

My Arduino Projects

Driving a WS2811 RGB LED Strip with an Arduino

Driving a WS2811 RGB LED Strip with an Arduino

I recently purchased a WS2811 RGB LED strip for PC case modding purposes. I will be making an ATMega-based controller for it, so I decided to use an Arduino for testing and prototyping.

I found two libraries capable of driving this strip:

Plus many great links regarding the WS2811 at the Noisebridge Wiki.

I recommend trying out funkboxing’s FastSPI2 effects as great examples of using the FastSPI2 library. You will need to use the line LEDS.addLeds<WS2812, 13, GRB>(leds, NUM_LEDS); to properly initialize the code.

EExtractor: An (EE)PROM-Extracting Arduino Shield (Beta)

EExtractor: An (EE)PROM-Extracting Arduino Shield (Beta)

Purpose: EExtractor is an Arduino-compatible Shield that allows a user to dump (or download) the contents of a ROM chip (ROM, PROM, EPROM, EEPROM, etc). 

Hardware Method: The EExtractor uses two SOIC MCP23S17 ICs to control the 31 (32 minus ground) pins of the ZIF Socket. This (ideally) allows the user to address any size or pinout of PROM IC up to, and including, 32 pins. Headers are broken out to allow for direct powering of PROM pins from the Arduino’s +5V port (if needed).

Software Method: The Arduino (or compatible) software will correctly configure pins (inputs/outputs, Hi-Z, pull-ups, etc) to allow for proper reading of the IC’s data. The software will then proceed sequentially through each byte of the PROM, outputting it along with a verification or checksum.

(The code is still under construction at this time.)

Availability: PCBs will be available once testing is complete.


EExtractor was made using the Open-Source gEDA suite of tools, including gschem, pcb, etc, and, as always, a little symbol and footprint help from gedasymbols.org.

All materials, schematics (.sch), PCB Layout (.pcb), and related derivatives such as PCB renderings, schematic renderings, .ps, .pdf, .gbr and .cnc files, or other Gerber-format files and PCB boards produced with them, collectively known as v1.0 Beta 1, are released under the CC BY-SA 2.5 Canada license.

*EExtractor is not sponsored or otherwise supported by Arduino. The Arduino name used only to signify compatibility.

QuahogCon 2010: My Freeduino (From AlphaOne)

QuahogCon 2010: My Freeduino (From AlphaOne)

This is my new Freeduino, which I purchased as a kit from the fine folks at the AlphaOne Hackerspace table at QuahogCon 2010.

I assembled the kit together at the Hardware Hacking Lounge with some super-sweet soldering irons, then spent the next hour and a half trying to figure out why it wouldn’t work. Turns out that it needed a jumper on the USB/External power selector. Thanks to Mr. Jimmie Rodgers for the eagle-eye lack-of-jumper spotting.

I already have an Arduino (the original); however, it doesn’t have a pin for the reset line or 3.3V line on the headers, so I guess it will just be relegated to different tasks.

I had planned to submit an entry into the Alpha One Labs Hackerspace’s Arduino Hacking Contest, though I ended up spending every waking moment trying to hack the Humans vs Zombies game. Apparently, I was not the only one with not enough time; there were unfortunately no entries into the contest 🙁 I ended up receiving honorable mention (consisting of a T-shirt) for constructing my Freeduino.

Hopefully, there will be an Arduino Hacking contest next year… Start building those Arduino projects!

Sparkfun.com Stuff: Arduino Shield, Breadboarding Supplies, etc

Sparkfun.com Stuff: Arduino Shield, Breadboarding Supplies, etc

My latest Sparkfun.com order.

For PIC programming:
BOB-00193 (1): Adapter board for Microchip ICD and ICD2

For (hopefully) adding some IR functionality to my QuahogCon badge:
COM-09349 (4): Infrared LED – 950nm

For parts:
DEV-00348 (2): Olimex Carrier Board for OKI ML67Q5003

For prototyping on the Arduino (and otherwise generic prototyping):
DEV-07914 (1): Arduino ProtoShield Kit
PRT-07915 (1): Breadboard Mini Self-Adhesive (For Protoshield Kit)
PRT-09567 (1) : Breadboard Clear Self-Adhesive (For other breadboarding)
PRT-00124 (1): Jumper Wire Kit
PRT-08430 (1): Jumper Wires Premium 6″ F/F Pack of 10
PRT-08431 (1): Jumper Wires Premium 6″ M/M Pack of 10
PRT-09140 (1): Jumper Wires Premium 6″ M/F Pack of 10

Arduino: Barcode Scanner (Work In Progress)

Arduino: Barcode Scanner (Work In Progress)

Ok, here I have a Symbol LT-1780 handheld barcode scanner. It has an RJ-45 cable with a 9-pin end (Not RS-232). I took an old RS-232 plug and put that on the end of the cable, and used that to wire it up to the Arduino.

Pics Soon.

Pins (from Female Serial side):
Ground (7)
+5V (9)
Barcode (2)

// Input
int barCode = 7; // Digitized Bar Pattern, connected to digital pin 7

int duration1 = 0;
int duration2 = 0;

void setup()
{
pinMode(barCode, INPUT);
Serial.begin(9600); // …set up the serial ouput on 0004 style
}

// Main program
void loop()
{
duration1 = pulseIn(barCode, HIGH);
duration2 = pulseIn(barCode, LOW);

Serial.print(duration1);
Serial.print(” “);
Serial.println(duration2);
}