Intro

Last year around this time I started a new project to challenge my abilities in hardware design and software programming.  Truth be told, I have been thinking about the project for a number of years, but never really had the time to work on it.

The idea was to outfit a Faller Power Tower ride with LEDs lining the tower.  There are a number of videos on YouTube with something similar, but none of the videos really show the mechanisms up close or provide any details on how they accomplished it.  I’ve always been fascinated with the shear number of LEDs on some of the videos and prospect of controlling them.  So, I set out researching the control mechanism, mounting techniques, and assembly ideas.

I guess I should forewarn anyone who might read this, I had not fully thought through size and scope of the project.  Nor the slippery slope I was about to slide down.  In the end, the first phase of the project yielded approximately 1000 LEDs lining the sides of the power tower, and Phase 2 led to approximately 219 more LEDs for the mast, and Phase 3 will lead to another 219 for a main sign.

At this point any sane person might think I’m crazy or simply bored.  Neither.  Just the average maker looking for a challenge.

So, on with the description, pictures, and maybe a video or two.

Planning

To drive a lot of LEDs, you need a lot of output pins and a lot of current.  It is simply not feasible to control each (normal) LED individually.  Building a circuit with over 700 outputs would be very problematic, not to mention wiring 700+ wires would be, well, crazy.  Likewise, controlling the intensity of each LED with any level of granularity leads to all sorts of other complications.

I knew multiplexing would be in the future, so researched all the popular mechanisms and prototyped the more popular ones: Matrix Multiplexing and Charlieplexing.  Then I investigated ways to control the intensity, which included Pulse Width Modulation (PWM), Binary Code Modulation (BCM), and a couple other techniques.

Multiplexing and controlling many LEDs with as few pins as possible is well plowed ground.    The Internet is full of ideas, circuits, and code.  After much, much research, I decided a traditional matrix was the best solution.

“Requirements”

The power tower is approximately 25 inches tall.  I felt it would look very odd with only one side lit so I decided I wanted to have LEDs on all 4 sides.  I also determined a single strip of LEDs per side would look very odd.  So I settled on a column of LEDs on each corner of the tower, working out to 8 strips of LEDs, approximately 25″ long.

I designed and manufactured some LED strips for my research with multiplexing (shown below).  The strips are each 3.625″ long, with 6 groups of 3 LEDs each, totaling 18 LEDs per strip.  That means 6 outputs per strip and a common anthode.

LED Strip Schematic v1.0

LED Strip Schematic v1.0

LED Strip PCB v1.0

LED Strip PCB v1.0

Here’s where the real world enters and I start doing the math.  25″/3.625″ = 6.89 strips; I’ll round down and make it 6.  8 columns x 6 strips/column = 48 strips.  18 LEDs/strip = 864 LEDs.  Holy crap.

Ok, so despite the Internet being full of a lot of useful information, nothing I came across led to a matrix of 864 LEDs. Further complicating the situation, my LEDs were grouped in 3’s and powered by 12 volts instead of the more “traditional” 5 volts.  I’ll get to why that’s important later.

I determined none of the “out of the box” solutions would work for me.  I needed more drivers than the solutions provided, or I required more current than the solution offered.

In Part 2, we will discuss the design and the build.

I’ve been having this reoccurring dream.  All the details are different but the emotions are the same.

I’m there.  With my mom.  She is alive.

Then she is dead.

I cry.  A lot.

Not the little blathering along because you stubbed your toe.

But real, cry.  Outright, full on mental breakdown cry.

Shivering. Convulsing. Stomach wrenching crying.

I’ve had this dream more than once.  More than twice.

I do miss her and I wonder what message she is sending me.

I regret not seeing her that one last time.

But what difference would it of made?  She would still be dead and I would still be alive.  For now.

Maybe I would of gotten a little closure.  A little more closure anyway.

I think of all the conversations we never had.  All the memories that died with her.  All the experiences that will never be conveyed.

I think in some small way that has changed me. I hope that in some way that has changed me.

It is fall and the season of missing people is upon us.

I miss her. More than I think I should. Less than perhaps I should.

I hope some day we can meet again and we can talk about this.  For real.

You never really have the relationship with your parents that you do with other people.

That is unfortunate.  Truly.

Every time I dream that dream I wake with the same feeling – like I could of done more.

Yet I always wonder “do more” about “what”.

It’s been a crazy year or two. I feel like I’m better but I always wonder what she would think. If she would provide guidance or only that funny stern look that only a disapproving parent can give.  I wonder.

I wonder.

I hope some day everyone will know how things have changed and how thing have stayed the same.

How all the difference and the same has changed everything. How good it is. And bad it could be.

But for now we wait.  We wait for the truth and the light.  The light that I know doubt exists.

I wait.  Wait for you. Wait to see her again.  Wait to see them again.

I miss them both.  But most of all I miss that you won’t and will not know them.  That he won’t know them.  That I miss most of all.

Tonight was one of the longest and shortest nights ever.

It was emotionally draining.

It offered no closure.

No new beginnings.

No end.

It only offered pain, anger, fear, doubt, and loathing.

I don’t feel guilty.  I don’t have anger.  I don’t have joy.  I don’t have happiness.

What I have is sadness.  Profound and lasting sadness.

I learned tonight that I rely on others to maintain connections to the people I care about.  This is true.

I learned tonight I have no friends to share my profound sadness with.

I have no place to go.  I have many places to hide, but no places to seek refuge.  No quite solace.  No safe harbor.

What I have is a lover and a friend.  A deeply caring person who is my only confidant.

Because we are lovers I question our friendship.  There is no doubt we are friends.  We are mutually supportive and sometimes brutally honest.

But we are sometimes not honest.  Or friendly.

We cover up the inconvenient true to remain lovers without spat.

I am not truly alone in this world, but I am one person away from being alone.  Singular. And that is a pretty lonely place to be.

I know there is no easy way to end things, but I now know I could of done a better job.

I needed to communicate more and be more honest and open.  But my friendship and my relationship with my lover kept me from doing that.

For that I have regret.  I don’t know the regret is surmountable, but it will fade.  It always does.

I know there are 100 things I could of tried that I didn’t.  Because I have a friend and a lover.

For that I have regret. I don’t know if that regret will fade.  But it always does.

Would I do it differently?  Yes.

Would it end differently? Perhaps.

It is not over.  Not yet.  But my sadness about my own situation sheds light on that for which little light has been shed.

My sadness is about separation from my son; about being alone; about hurting someone who cares for me.

Not for leaving; Sadness for not caring that I’m leaving.

That is the profound sadness I feel.  I am internally and inextricably saddened that my sadness is not for the end of marriage, but for lack of sadness because the marriage has ended.

It has not ended, but the end is near.  It is as near and as far as I want it to be.

As I’m riding home, alone, after dropping her off at a friends house the following song start playing and I pause.  Deep long breaths.

You are the one for me I don’t think you know it yet
You are the one for me though we’ve never even met
I can tell by the way you looked at me the other night
Something tells me I’m the only

It has always been one of my most favorite songs of all time.  The words have always resonated with me.

And now I wonder what the universe is trying to tell me.

Who is my one and only?  Damn you universe, who?

Fuck you God and creator of all mankind, what the fuck are you trying to say?

And am at this moment at a complete and total loss for any reasonable thought.

The feeling of profound and utter sadness lasted for exactly 15 minutes.  Then I returned to the ultimate question: is this the right thing to do?

Should I let the feeling of sadness let me make a decision to carry on status quo?  Should I let the sadness force me to try harder and every way possible until I have no ability to try any longer.

I believe the only way to try any harder is to tell my one and only friend, my lover, that our relationship is over.  Completely and utterly over.  No question.

No emails, no text messages, no phones. No contact.  No relationship. No anything.

Part of me believes doing that is the only way to know for sure.

Part of me believes doing that will only lead to complete isolation.

I need perspective and objectivity.  Honesty and truth. I need an unbiased viewpoint from which no side would benefit.

I don’t know where to find that.  And if I were to find it I don’t know what I would do with the answers to my question.

What I know is emotions and desire have continue to influence my life and existence for far too long.

What I think I know is anything that lasts this long must surely be for “real”.  That it will last.

Perhaps.  Nothing is certain.  Ever.

I what I, and only I, need to decide is am I willy to venture into the vast unknown and take a chance, even if that chance may not pan out?

I am inherently a risk adverser person, this much we know.

I don’t know that I can take the leap.  I really don’t know.

I really thought I was prepared, but as the stare over the ledge all I can think is “what if”.

Please, God, creator of all mankind, tell me the answers to “what if”.

I don’t know what to say other than “Something tells me I’m the only” one that can answer those questions…

Ok, I have to admit, I may be an evil genius – or just plain sadistic; I’m not sure which.

On my Christmas vacation I decided to work on a project that I have had in the queue for about 2+ years.  When I had my last model railroad, I had a carnival on one side of the layout.  The main attraction of the carnival, besides the massive Ferris Wheel, was a ride called “Top Spin“.  It was a complicated ride to build and the build-out was even more complicated due to one of the main parts being broken when I received the kit.  Of course I didn’t know the part was broken until I was 50% complete with the kit – too far to send it back.

After fixing the broken part and finishing the kit, I added it to the layout and tested it out.  I didn’t work very well and seemed to only partially work right.  More fiddling and more fixing lead to a kit that mostly worked. Here’s a picture of the ride shortly after placing it on the layout:

Top Spin

I’ve never been completely happy with the results and have always wanted to dig into why the kit didn’t seem to work quite right. Well, after 2+ years of waiting, today was they day.  Well, it actually started yesterday, but I finished today. I took a deep dive into the mechanics of the Top Spin and built a new controller to completely figure out what the problems were. Well, not really. The new controller seemed to work much better than the stock controller, so I can only speculate on the problems.

I used a SN754410 half H driver coupled to an Arduino to control the motors on the Top Spin. After figuring out how to set up the pulse width modulation (PWM) capabilities of the Arduino, I set out to control the Top Spin.

My initial attempts actually went very well, but the motors moved fairly slowly – much more slow than what I remembered. I’m pretty sure the motors are 5V DC, and I was using the 5V from the Arduino, but things didn’t move as quickly as I remembered with the stock controller. A little investigation lead to the 1.1V-1.5V drop across the H-bridge circuitry. That means the highest voltage that can be applied to the motors tops out at about 3.5-4 volts rather than 5. Hmpfh.

A little digging into my spare parts led to a variable voltage regulator and a 12V DC power supply.  I quickly whipped up a variable voltage regulator using a surface mount version of a LM317.  The new power supplied fixed the speed problem and yielded a full 5 volts across the motor.  With that problem solved I set out to fully build out the code to drive the animations.

I needed to control 2 motors, read 2 reed switches, and output to two status LEDs.  The LEDs are optional, but helps debugging.  To adequately control the animations I will need to read the status of the reed switches while keeping the motors going.  That requires continuously reading the inputs while changing the outputs. Seems like I’ll need to read the inputs in the “background” using interrupts while driving the motors in the main loop.

Pulsing the motors is easy with the built-in capabilities of the Atmel part used in the Arduino; however, it wasn’t entirely clear which timers where used to control the PWM and which were available to use for other purposes. A little spelunking into the ATMEGA328P data sheet identified Timer 2 as an appropriate timer for interrupts.

To simplify my code, I used a timer library called FlexiTimer2 from the Arduino website. I’ve used it in the past and it has worked well.  Loading the code into my project was easy and the timer worked the first time, so I was off to the races.  I started with a simple sequence of spinning around with the main arm and then rotating the chair where the people will sit.  After some time playing around I quickly realized I need to ensure the animations start from the same place every time or the timing will be off – the arm and chair will end up in different place each time.

Using the reed switches and some fine tuning, I was able to return the chair to the “home” position reliably every time.  From there I continued to randomly build animation sequences without a lot of regard to timing or position of the chair. Without a lot of thought, I ended up with a pretty scary ride. A lot of upside down, backward spinning. After watching it run a few times, I have to say, if I was on that ride, I’d be scared sh*tless. I am an evil genius 🙂

Here’s a short video of the setup and the ride.

You’ll notice the Arduino on the far right and the breadboard with the motor controller and voltage regulator next to it. The ride was connected to the controller with spring clips and jumpers I had laying around.

I noticed after some playing around the voltage regulator seems to drop out if I run both motors at the same time. I’m guessing it’s because the SMD part does not have any sort of heat sink. Hopefully that will be fixed when the whole thing is soldered together.

You can also see in the video where the arms hit the sides and cause the gears to grind a bit. That’s what all the tape is for – to try and hold the sides completely vertical. I know once it’s cemented into place it will work fine (experience speaking), but on my desk it’s a little more difficult to pull off.

So after 16 or so hours fiddling around, I have to say I’m quite pleased with the outcome and the ease of getting everything to behave like I wanted. I guess the next step is to whip up some schematics and a PCB to act as a shield for the Arduino.

It will be a quite some time until I can get the next MRR up and running, but I now know I have a solid HW and SW platform to build from in the future.

My Father has been dead for over 12 years.  My mother for about 2 years.

I would say I have had a dream about my mother at least once a month since she died.

The dreams always end in the same way – me crying uncontrollably.  Some times because I miss her, sometimes because she’s gone.   Always because I’ll never see her again.  Always.

Does this mean I have not made my piece with her? That I regret not seeing her one last time before she died?

I don’t know.  But I do know I’ve had about 2 or 3 dreams about my father each year since his death and they never end in tears or emotional distress.

I don’t know what it means, but I’m sure it means something.

I have no point of this post other than I wanted to get it off my chest.  It’s been bothering me for a while, as a pattern as emerged.  A pattern of sorts.  I see her more often than not.  She never answers my questions, or brings resolution to my open torment, but I always feel as if she is there.  For real.  Close.  But not close enough.

Every couple weeks I walk around wanting to talk to her.  That internal clock strikes and I want to call.  No calls.  No talks.  Just silence.

I do miss her.  I don’t really know why.  We weren’t really that close, but I feel I’m missing something that grounds me.  Maybe it’s the holidays creeping up on me or something, but I’m drawn to wonder why. Why she keeps landing in my dreams.  Turning fantasy into reality.  Turning night into day. I’m wondering.

I don’t know.  But I wonder.

As my life changes and different things become a priority, I’m left wondering if she would have insight.  I would never talk to her about it – she couldn’t keep a secret, but I wonder.

I wonder.

I love you Mom.  And Dad.  I miss you both. A lot. I’m too young to be this old.  I’m too young to be completely alone.  Without support.  Without parents.  I’m not the only one, but some times it feels like it.

I’m not alone.  But I am.  Isolated.

Some day things will change and perhaps I’ll be less alone.  But you will still be gone.  Dead.

And that I can not change.  Ever.

I miss you.

It’s been a while.  I guess I only write these when I have some thing to say; which is usually some point in my life where I’m experiencing some sort of emotional difficulty or exuberance.

This is neither.  I’m feeling like I need to write, but I am at neither a high or a low.  I’m at the middle.  The safe middle.

Honestly, I’m tired of being in the middle.  I know what it’s like to be at a high.  I’ve recently reacquainted myself with the highs of life.

That lead to the lows; and the highs; and the lows.

Now I’m in the middle again.

The highs have faded and the lows are just around the corner.  Closer with every passing day.  I quickly go from middle to low, with little relief from the highs.

I remember fondly what it was like not caring about anything but the highs.  A very special high.   A way of being high without any action on my part.  Just a friendly smile, a touch, a “hi”.

Now I care.  I wonder if the high will lead to guilt, or worse – nothing. I wonder if all the wishing will be for not.

I wonder.

I’m tired of wondering.  I’m tired of wishing.

I want to make it happen.  One way or another.  I want to know.  I want to act.

So I have started the ball rolling; I don’t know where it will lead, but I know it’s heading somewhere.

The ball doesn’t move fast enough for some, and just the fact the ball is rolling is a departure from status quo for some.

Oddly, I’m neither happy or sad about this.  I’m “OK”.  I want something to change so I can know if the “something” is good or bad.

I need to know.  I need to know if now is OK, or if now is over.  I need to know if everything I wish is OK, or just a wish.

I’m betting I’ll never know for sure.  But what I will know is something has changed, and I will adapt to change.

We all know I love change.  I love to watch it, I love to admire it, I love the thought of it.  But it is never for for me.

Until now.

It’s not quite tomorrow, but today already feels like yesterday. One of those days that was so great, so fulfilling… that in a week, a month, I will wonder why it feels like yesterday.  But for tonight, it was today, and tomorrow it will be yesterday.

It hurts, you know.  That today can’t be everyday.  Because it was a GOOD DAY.  Today is what every Saturday should be.

I cried on my way home… not because I left sad, but because a song came on the radio.  Its timing was impeccable.

I heard that you're settled down
That you found a girl and you're married now.
I heard that your dreams came true.
Guess she gave you things I didn't give to you.

Old friend, why are you so shy?
Ain't like you to hold back or hide from the lie.

I hate to turn up out of the blue uninvited
But I couldn't stay away, I couldn't fight it.
I had hoped you'd see my face and that you'd be reminded
That for me it isn't over

Never mind, I'll find someone like you
I wish nothing but the best for you too
Don't forget me, I beg
I remember you said,
"Sometimes it lasts in love but sometimes it hurts instead."
Sometimes it lasts in love but sometimes it hurts instead,
Yeah.

You know how the time flies
Only yesterday it was the time of our lives
We were born and raised
In a summer haze
Bound by the surprise of our glory days

I hate to turn up out of the blue uninvited
But I couldn't stay away, I couldn't fight it.
I had hoped you'd see my face and that you'd be reminded
That for me it isn't over, yeah.

Never mind, I'll find someone like you
I wish nothing but the best for you too
Don't forget me, I beg
I remember you said,
"Sometimes it lasts in love but sometimes it hurts instead."

Nothing compares
No worries or cares
Regrets and mistakes
They are memories made.
Who would have known how bittersweet this would taste?

Never mind, I'll find someone like you
I wish nothing but the best for you too
Don't forget me, I beg
I remember you said,
"Sometimes it lasts in love
But sometimes it hurts instead."

Never mind, I'll find someone like you
I wish nothing but the best for you too
Don't forget me, I beg
I remember you said,
"Sometimes it lasts in love but sometimes it hurts instead."
Sometimes it lasts in love but sometimes it hurts instead.

I’m going to go ahead and say it… I hope someone like you is you. I hope that today is everyday.

Someday. Maybe.

On the eve of the 10th anniversary of 9/11 I’m sitting here wondering if we are any safer? I’ve spent 9 of the last 10 years working for the mechanism that is supposed to make us safe. Provide the peace of mind that we, as Americans, are safe from tyranny, terror, and senseless harm.

I’m not usually bothered by such things, and I generally don’t concern myself with it, but this year seems to be different. Perhaps because I’m working in one of the buildings affected by the terrorist attack. Perhaps because it has been 10 years and although I have watched all forms of patriotism, unity of action, and heroic behaviors, I still see senseless infighting, childish behavior, and empire building.

The current situation of politics is a great example of how far we have come and how far from unification we can be. Our leaders are idiots. The Republicans are pointing at the White House, blaming the President for the current financial woes. Funny, huh? It was the republican president that started 2 wars, ramped up the deficit, and fucked America in the process. Perhaps Congress needs a mirror, or perhaps a history lesson reminding them they voted for every budget increase in the last 10 years. Yeah, that’s right you fucker Boehner. You mother fucker.

And we have the Democrats. Pathetic. They roll over at every turn and continue to compromise our future because they are dickless and have no will to do what is right. They let the Tea Party fuck America, my future, and my son’s future. A small fringe group of sociopaths that have their heads stuck so far up their asses they can’t begin to understand what America really needs.

As Congress and President fight with each other, good people continue to die. Not just Americans, but people of all nationalities, races, and background.

I watched and listened to the Secretary of Defense yesterday. His words tried to express the pain and fear we felt 10 years ago. His words tried to inspire us for what lays ahead of us. Mr. Panetta was proud to be part of the recent killing of bad guy #1, but reminded us there are still people out there who want to kill us. Do us harm.

And yet we have our moronic leaders showing a lack of leadership. Senseless fighting. Politics at its worst.

We spend billions of dollars a year to keep America and our allies safe. We compromise our integrity. We do the unthinkable. We sink to their level. There are ugly people in the world that do ugly things and we have to defend against them. And so we do.

Is what we do worth it? I like to think so. Is it a slippery slope? Yes.

Are we safer? Yes. Is it worth the cost? Well, I guess that is a matter of opinion.

Weekends are the worst. Nothing but time.

Time I would rather spend with someone else.

Time I could fill with things. Good things. Meaningful things.

Yes, the weekend provides Family time, but it doesn’t feel right.

I’m pining away for something else. Someone else.

Weekends. No work, but it’s all work.

Or from Fairfax. Which ever makes more sense.

At Midnight the cap goes on. Moratorium. The great silence.

I’m not ready for it. I don’t want it. But it is necessary.

We will see each other when we do. We will speak when we must, not when we want.

We will have our inner thoughts to ourselves. And that must be our solace.

That is OK. That also sucks.

So, I have a list in my head. A list of things that must get better and must be great to move on.

I’m hoping the list of the ways you do it better won’t cloud my judgment.

I made dinner this evening. The entire time all I could think how I want to make dinner for you. How I want to meet your parents. How “J” can be used for Jack or Julian. Coincidence? I think not.

You are MMM, she is SSS. Do not fear. M comes before S 😉

Many times I write to write. I write with you in mind, but not to you per se.

This one is to you. The last one to you.

I am the CTO. I will be the CTO. I know this because you told me so. I will miss that the most.

The positive reinforcement of all that I do. The point counter-point discussions. The reason. The rational. The rationale.

Overall I will miss you. But I’m hear to say something; remind you of something.

You are strong. You are beautiful. You are sexy. You are hot. You are intelligent. You are smart.

Take a deep breath before sending every email. Think, what if I were to receive that email? What would I do or feel? Then delete that email. Start over.

I will do the same.

I’m sitting here listening to Neil Diamond’s Greatest Hits. Yes, that’s right, I strapped on my vagina tonight.

Why? It’s my Mom’s favorite singer, and I miss her. I wish my Mom and my Dad could be here for encouragement. Lacking that I will fill the void the best I can. With thoughts of you. The many thoughts of you.

We both need to be alone for a while – I really want to believe that. I really want to believe that if we are ever together it’s for the right reasons. Because we can and should, not because we want it.

We must want it. We must always want it. I don’t want to be 20 more years down the road and not want it. If I could bottle everything I felt a year ago and take a nip from it every day I would. I was intoxicating. Was.

So it’s like a sprint versus a marathon. I dashed into the fire and now I need to jog through the heat. I will – I don’t know where I will exit, but I know where I want to right now. I’m going to keep my head up and look straight. I will press on and I pray the planets align.

Align the way I want them to.

You must know all this – my behavior – my capitulating – my spinelessness – is to make sure. I no longer know what “sure” means but I must follow my own path.

Our paths are different, that much we know.

Our timelines are different – that much we know, but do not accept. We need to accept it.

You need to accept it.

I’ll pull to the left if you pull to the right.

I make no promises other than I will tell you the truth always.

And I must say it once and for all. I love you. I do.

I just need to know that is enough.

I miss you. Now and always.

See you on the other side.

« Previous PageNext Page »