3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Digital Window Sticker (Arduino Controlled)

Step 5Build the circuit

Build the circuit
«
  • Schematic.png
  • P1030479.JPG
  • P1030480.JPG
  • P1030491.JPG
  • P1030494.JPG
  • P1030496.JPG
  • P1030501.JPG
  • P1030503.JPG
  • P1030505.JPG
  • P1030507.JPG
  • P1030510.JPG
  • P1030511.JPG
  • P1030514.JPG
  • P1030517.JPG
  • P1030520.JPG
  • P1030526.JPG
  • P1030527.JPG
  • P1030530.JPG
  • P1030551.JPG
  • P1030542.JPG
  • last photo ←
»
Use the schematic below as a reference as you build the circuit.  An Eagle schematic file is attached as well as a the image file Schematic.png. Use the photos below for hints. Remember that if you find it more convenient, you can use any of the gates on the 74HC4050. Just reference the datasheet.

About the Circuit:
The 74HC4050 is used to convert 5-volt signals sent from the Arduino to the 3.3 volts required by the SD card.  There are 6 buffers on the 74HC4050, only three are used by this circuit.  All inputs come from the Arduino, and the outputs go to the SD card.  The forth SPI connection runs directly from DO on the SD card to Arduino digital pin 12.  (The Arduino can read the lower voltage signals just fine.)

Some Arduino projects that use SD cards use a resistor network to drop the 5-volt signal to 3.3 volts. For me this didn't work well.  I found one SD card that worked and several that did not.  As soon as I hooked up the 74HC4050 all of my SD cards worked.

The SD card has an SPI mode.  We connect it to the Arduino SPI pins 10, 11, 12, and 13 through the 74HC4050.

The LM3940IT is a "1A Low Dropout Regulator for 5v to 3.3v Conversion".  It takes the 5-volt input from the BBB Arduino board and produces a steady 3.3v that powers both the 74HC4050 and the SD card.  Before starting I recommend marking the input pin on the LM3940 to distinguish it from the output pin while building the circuit.  The ground pin is in the middle.

The other "component" on the board is the shrouded box header used to connect the LED Display Matrices to the Arduino.  The 5-volt power from the BBB Arduino needs to be connected to the displays and to the input on the LM3940.  As you will see below, we use the power rail on the circuit board to carry ground on one side, and 3.3 volts on the other.  We will directly connect the BBB's 5 volt pin to the LM3940 and the shrouded box header for the LED displays.

Prepration:
Start by laying out the components on the circuit board.  If you intend to use the enclosure I've used, in the way I've used it, try to follow the layout in the photos below.  It doesn't have to be exact as long as all of the right connections are made, and nothing is connected that shouldn't be.  Be careful in planning where the DC jack and the header pins for the USB-BUB on the BBB, as well as the SD card socket will be physically located.  This will be important when you place it in the case.  If you use the same holes in the PCB that I used, you can get the same match, but beware that it took a fair amount of grinding and cutting to get it to work with the plastic enclosure.  Again, it works great, but clearly demonstrates that I am new to the Dremel.

After placing the parts on the printed circuit board, use a thin point Sharpie to mark the pin numbers/labels for the BBB connection and the pin numbers for the shrouded box header.  If you don't know where pin 1 is on the box header, attach a ribbon cable into the box header and a solid wire into the other end of the ribbon cable where the red wire lines up and use your meter to test for continuity.  You may also want to plug the ribbon cable into the LED display and check continuity between what you think is pin 1 on the box header, and what you think is pin 2, pin 15, and pin 16.  Then mark it on the PCB.  On top of the LED display are the pins from the shrouded box header soldered to it, one on each side.  This makes it very easy to match up your box header pins to those on the display.

One important note:  The shrouded box header I used has right angle connectors.  The printed circuit board doesn't have a way of allowing connections to each pin, because on each side of the board the pads are connected like they would be on a breadboard.  To solve I bent the pins of the right-angle box header so that one row pins would fit on each side of the breadboard gap on the board.  A photo below shows the bent pins.  The header sits on the board at angle, but it works great.  Be careful not to use too much force inserting it into the PCB -- don't use insertion force to get a better fit, or you run the risk of snapping the PCB in half (voice of experience).

Solder the Components:
Once you have things laid out on the board and have marked pin numbers it is time to solder each of the main components.  I recommend the following order:
  • The 16-pin DIP socket for the 74HC4050
  • The LM3940IT
  • The capacitors need for the 3.3 volt regulator (see next section below)
  • The SD card breakout board
  • The shrouded box header
  • The header pin receptacles for connecting the BBB
3.3 Volt Regulator Capacitors:
I elected to keep the capacitors for the 3.3 volt regulator as near as possible to the LM3940.  I use two 33µF capacitors between the ground pin and the output pin.  One is tantalum capacitor, the other is electrolytic.  To save cost, the tantalum capacitor does not require a high voltage rating.  6-volts is just under twice what should ever come out of the regulator and should suffice.  REMEMBER that both the electrolytic and the tantalum capacitors are polarized!  The long pin needs go into a pad connected to the output of the LM3940, and the short pin into a pad connected to the ground (middle pin) of the LM3940.  The leads are small enough that you can fit both in a single hole for each pin.

A .47µF tantalum capacitor goes between the ground pin (middle pin) on the LM3940 and its input pin.  This capacitor is also polarized.  Be sure the short pin goes into a pad connected to ground and the long pin into a pad connected to the +5v input pin.

The voltage regulator part of the circuit is now ready to be tied to power rails.

Placing the Wires:
Now comes the tedious part: running all of the wires.  The more colors of wire you have the easier this will be.  Try to keep the wires as direct and short as possible, and flat against the board to avoid clutter and enhance visual traceability.

Power rails:
Start by wiring all of the power connections.  I selected the rail behind the LM3940 for the 3.3-volt power line, and the rail on the other side of the board as ground.  Run one wire from the output pin of the LM3940 to the rail behind it.  Run another wire from the ground pin (middle pin) to the rail on the opposite side of the board.

Next connect the +5v input of the LM3940 to a pad connected to pin 12, 14, or 16 of the box header, and from another pad connected to that line of the box header, run a wire to the +5v line that will come from the BBB Arduino.  Pin 16 on the box header is used for +5v in the photos below. This will complete the voltage regulator portion of the circuit.

Now connect a black wire from pin 11, 13, or 15 of the box header to the ground rail.  Also connect the ground pin from the BBB to the ground rail.  Pin 15 of the box header is used for GND in the photos below.  This will complete the power connections for the LED displays and the sources from the BBB circuit.

Connect pin 15 of the box header to the COM pin on the SD-MMC card breakout board, and then connect the COM pin of the breakout board to pin 8 on the 16-pin DIP socket.  Also connect the GND pin of the SD-MMC card breakout board to the COM pin of the breakout board.  All connections to ground should now be complete.

To complete the power rails, connect pin 1 of the 16-pin DIP for the 74HC4050 to the 3.3 volt power rail.  Also connect the Vcc pin of the SD-MMC breakout board to the 3.3 volt power rail.

Wire-up the LED Displays to the Arduino:
Connect the following box header pins to Arduino (BBB) pins:
  • Pin 2 of the box header (CS2) to Digital Pin 5 on the Arduino BBB receptacle
  • Pin 1 of the box header (CS1) to Digital Pin 4 on the Arduino BBB receptacle
  • Pin 5 of the box header (WR) to Digital Pin 6 on the Arduino BBB receptacle
  • Pin 7 of the box header (DATA) to Digital Pin 7 on the Arduino BBB receptacle
The photos below show each connection.

Wire-up the SD-MMC card to the 74HC4050 and the Arduino:
First the easy one...  Connect the DO pin of the SD-MMC breakout board to Digital Pin 12 on the Arduino.

Next connect Pin 7 of the 16-pin DIP for the 74HC4050 (3A) to Digital Pin 13 on the Arduino BBB receptacle.  Then connect pin 6 of the 74HC4050 (3Y) to the CLK pin on the SD-MMC card.

Now connect Pin 9 of the 16-pin DIP for the 74HC4050 (4A) to Digital Pin 11 on the Arduino BBB receptacle.  Then connect pin 10 of the 74HC4050 (4Y) to the DI pin on the SD-MMC card.

Finally, connect Pin 11 of the 16-pin DIP for the 74HC4050 (5A) to Digital Pin 10 on the Arduino BBB receptacle.  Then connect pin 12 of the 74HC4050 (5Y) to the CS pin on the SD-MMC card.

Don't forget to insert the 74HC4050 into the DIP socket as shown in the photo below.

This completes the wiring needed to read files from the SD Card.

Hookup the Card Detect:
In order to be able to tell if a card is present in the SD socket, connect the CD pin on the SD-MMC breakout board to Arduino Digital Pin 2.

Connect the BBB to the header receptacle:
To finish the circuit connect the BBB to the header receptacle.  Be sure to align the pins so that they match the labels on our circuit board!  After the enclosure is properly prepared we will connect the ribbon cable from the LED displays, completing the circuit!

« Previous StepDownload PDFView All StepsNext Step »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
10
Followers
2
Author:als_liahona(Andrew L. Sandoval)
I've been writing software since I was in the 6th grade. In recent years I've developed for Blue Coat Systems, what I believe is the most advanced code injection and API hooking engine for Windows ev...
more »