Sunday, April 20, 2014

Bit more soldering

Soldered three more pillars yesterday, and did another eight tonight. On average it takes around 11 minutes to solder one pillar. Not bad. Only 2 mistakes in the last batch: one LED was inserted into the jig incorrectly (or I marked the wrong lead) and one bad solder joint.

Here's the result of my labor so far:
24 done, 40 more to go.

Thursday, April 17, 2014

Stackable!

Received a bunch of spacers today (HTS-310) and they fit the cathode boards perfectly.
The whole construction feels pretty solid, very little flex. That's a good thing, since putting in the cables requires quite a bit of force. Speaking of cables, that's one more extra time consuming job...

Not much time spent on the cube lately. I'll probably be able to find a couple of free hours this weekend (yay for second Easter day). I did spend some time on some other stuf.

Thursday, April 03, 2014

Cathode board works!

And we have a video!
Pretty neat! I found a bug in my bit angle modulation code which caused some weird things. After I fixed that everything worked like a charm.
My setup is like this:
  • An Arduino Nano on the left side of the breadboard, this microcontroller has a bit of animation code and it streams the resulting led states (on or off for each LED) to the cathode board. It does this roughly 12.000 times per second, creating a very smooth image. It's important to note that it is streaming the data for a full 8x8x8 RGB cube, but only one row of the top level is is shown (since that's the last byte that is streamed). On other words, the same smoothness can be achieved when the complete cube is connected. It's also interesting to note that this code is capable of streaming 100 "frames" per second and has loads of cpu power left.
  • The Arduino is connected to my cathode control board using a ribbon cable. Each of the five wires in the cable is connected directly to one of the pins of the shift register on the cathode board for full control. There's a three wire power cable as well; one wire for logic power supply, one for logic ground and a separate one for LED ground. Finally there's an eight wire ribbon cable connected to the cathodes of the LEDs on the breadboard.
  • The 8 LEDs on the right side of the breadboard have their anodes connected directly to 5V. The green cathodes go to the cathode control board which contains a series resistor for each LED. The other end of each resistor is connected to the collector of a transistor. The emitter of each transistor is connected to the LED ground pin on the board, and the base goes through a series resistor to an output pin of the shift register. If the output pin goes high, then current can flow through the transistor and the LED goes on. If the output pin is low then current is blocked and the LED goes off.
Next up: two more boards for full RGB control :)

Testing the cathode board

Quick update, more will follow.
I've been a bit busy with some other stuff lately, I had to make 35 buzzer games (like this one) for a group of kids, so I spent most of my free time last week putting a bunch of leds, resistors, battery holders and piezo buzzers together. The rest of my time went to miscellaneous stuff like housekeeping and filling in my tax forms. Last night I finally had some time to get back to the cube...

I need some way to test if my cathode boards work after I solder all parts on them, so I populated a breadboard with 8 LEDs and wired them to the cathode board and an Arduino. The Arduino runs pretty much the same code as the cube will eventually in terms of refresh rate and how the cathode board is controlled. It took some time before I had everything working somewhat correctly, always double check your connections and don't mix up the MOSI and MISO pins...

But in the end, it works! One LED didn't light up, I didn't solder the transistor for that one correctly, easy fix. I'm still tweaking the code a bit, there's a bug somewhere that stops the brightness from functioning properly. I don't have any photos or videos at the moment, I'll shoot them after I fix that bug.

One thing that I overlooked is how bright a 0603 LED can be. I have a small power indicator LED on the board and that thing is just blindingly bright. I've already replaced the 150 Ohm series resistor with a 1K Ohm, but it's still too bright. I'll try a 10K tonight; all it needs to do is provide a visual indication, not light up the living room...

Sunday, March 23, 2014

Soldering tiny things

Some people make soldering look so easy. It's not. Not for me. I made a bit of a mess of my practice board, but at least it helped me get the hang of it a bit. 0805 sized components are pretty small, 0603 is just tiny! It's pretty difficult to get them straight on the board. SOT-23 is just as awful. SO-16 was doable fortunately, I'd hate to have that one messed up. But I'm going to stay away from TQFP for now, I made a terrible mess out of those.

The first board I finished turned out okay, nothing to be terribly proud of. 

Also did a bit of practicing with my new cable crimp tool, the first couple of cables are pretty horrible, but the last few went pretty well. 

Saturday, March 22, 2014

Cathode boards arrived!

Today I received the cathode boards that I had ordered from OSH Park about two weeks ago. That's a lot faster then I thought it would be. Nice!
They came in a matching purple bubble envelope, the people at OSH Park seem to be really fond of purple :) They even threw in a sticker, awesome! I'll put it somewhere on the base of the cube I think, probably on the inside next to the boards ;)

The boards themselves look pretty much like how I thought they would be. The gold finish looks really nice. But I also noticed that the silkscreen isn't positioned as accurate as I thought it would be.
Here's the worst one, you can clearly see the silkscreen around the mounting holes being off center. At some points the silkscreen has been printed on the pads. Not that it matters that much, the biggest mistake is on my account. I have via's running through a bunch of pads. That's not going to make soldering any easier. I'm going to fix that before I order any more boards. I'm also going to have to do something about the component references, they're pretty much impossible to read for the smaller components because they either overlap with the footprint, or are clipped by the pads.
This one turned out really nice! I still have to trim the tabs; nothing a side cutter and a file can't fix. And I must say, it's really cool to hold something in your hands you designed yourself :)

I've also received a smd soldering practice board this week. I'll give that one a go before I start populating these boards :)

Thursday, March 20, 2014

That's more like it!

So I'm done with bending leads on those LEDs, in multiple ways... I've done about 500 now and am calling it quits. I'll bend the rest when I need them.

It's finally soldering time again! Six done tonight in a bit over an hour. Average soldering time for one pillar is now about twelve minutes instead of twenty. Not having to bend those leads before putting them in the jig really makes it go a lot smoother. Anyway, 13 down, 51 more to go...

Soldering also seems to go faster, I think I'm getting the hang of it :)