BADASS Display: It's alive! It's alive! - Embedded.com

BADASS Display: It’s alive! It’s alive!

Do you want to see a really cool video — one in which something works first time? Well in that case it's “Happy Dance” time because I'll show you one in just a moment, but first let me set the scene…

Note: If you're planning on attending ESC Boston, which will take place May 6-7, 2015, then I'll be happy to chat about my BADASS Display in excruciating detail to anyone who doesn't manage to get out of the way fast enough (LOL).

First of all, do you recall my recent article on the IoT4EE (Internet of Things for Everyone and Everything)? This featured something called the Simblee, which encompasses a whole bunch of “stuff,” including the Simblee Cloud, the Simblee Ecosystem, and Simblee Modules.

Well, as I discussed in that column, the thought of using Bluetooth Low Energy (BLE) Simblee Modules in conjunction with Simblee apps running on my iPad to control my various hobby projects is very exciting. The first such project that sprang to mind was my Bodacious Acoustic Diagnostic Astoundingly Superior Spectromatic (BADASS) Display (Click Here to see details about all of my on-going projects, including the BADASS Display).

This prompted me to leap into action to finish the display, which — now I come to think about it — was instigated during my trip to ESC Silicon Valley almost a year ago as I pen these words. The image below shows the little scamp standing in the drive outside our house just after I'd finished mounting all of the brass washers and Fresnel lenses on the main display panel (the reason it's in the drive is that I was working in the garage at the time).

The small control panel at the bottom was originally intended to provide a simple menu system that will allow me to select between various lighting effects. The red button will cause us to enter the menu system; the four black buttons will allow us to navigate through the system; and the green button will lock in the current selection and return us to the main display. I'm still going to implement this, of course (there's no point having a bunch of buttons if you can't make something interesting happen when you press them), but I'm also going to use a Simblee BLE Module and a Simblee app to allow me to replicate this functionality on my iPad, thereby allowing me to control the little beauty from the comfort of my armchair.

In the case of the main display panel, we have an array of 16 rows and 16 columns, which equals 256 elements. (This didn't seem like a particularly large number when I started — I had contemplated using a lot more — but having to do everything 256 times almost brought me to my knees.) Each of these elements is powered by a tri-colored pixel presented in the form of NeoPixel Strips from Adafruit.

So, as I say, this past weekend I leapt into action to get this little scamp up and running. The image below shows the inside of the cabinet just after I'd completed the wiring. Actually, I took a whole bunch of photos and videos documenting this part of the construction process, but the memory card in my camera messed up and I lost them all (sad face).

The vertical columns are formed from 16 NeoPixel Strips, each containing 16 NeoPixels. Attaching these made me realize that my hot glue gun really is one of my best friends. In the bottom left-hand corner of the cabinet we see a 5V power supply that can deliver up to 24A. Each NeoPixel can consume up to 60mA (20mA each for the red, green, and blue sub-pixels), so when all 256 of the little rascals are full on, we can be burning ~15.5A. This explains my “Power Bus” — the chunky 10 gauge red and green wires running left-to-right along the bottom of the cabinet with tap points for the individual strips as illustrated below.

A slightly more detailed view of the insides of the cabinet is shown below. My Arduino Mega is on the bottom, with a Uno-sized prototyping board sitting on the top. On the one hand I'm quite proud of my wiring harness; on the other hand I know that the folks who create such harnesses professionally will be rolling around on the floor laughing hysterically at my pathetic attempt (feel free to post a comment telling me this is not so).

In fact, the Uno-sized prototyping board is just acting as a place-holder for the purposes of creating the wiring harness. My chum Duane Benson is currently in the process of taking the original breadboard prototype of my audio spectrum analyzer and creating a custom Arduino Shield. This will be open source, of course, plus Duane will be offering them for sale to anyone who wants one.

The image below shows the current state of this design as it arrived in my email just a few minutes ago at the time of this writing. The red indicated traces on top of the board; the blue indicates copper (traces and ground plane) on the bottom of the board. We decided to use the large ground plane to provide as much shielding as possible from noise.

Duane even managed to squeeze in a small prototyping area on the left-hand side of the shield. I've just performed a LVS (layout versus schematic) check by eyeballing everything, so as soon as Duane has performed a final DRC (design rules check), he will be sending this little ragamuffin of to the board shop. I can’t wait!

One final point of interest before we look at the video is that my Arduino Mega has been modified to run off the same 5V power supply as the NeoPixels, because I prefer to have just one power supply and to not have to consider potential power sequencing issues (click here for details as to how to perform these modifications).

Now, as I said earlier, I took a bunch of videos of the display sitting on the kitchen table when I first powered it up, just after I'd finished creating the wiring harness, but my silly camera lost them. Thus, this video was actually taken yesterday evening in our spare bedroom (where I'm storing it out of the way when I'm not working on it), but it's a true recreation of the way things went down.

Normally, when I power one of my projects up for the first time, if I'm lucky… nothing happens (if I'm unlucky, there may be sparks and smoke and strange sounds). In this case, I expected things to mostly work, but I also fully anticipated a few glitches along the way, like one or more columns of NeoPixels failing to light up or individual pixels not working as well as expected.

In the event, everything worked first time. As we see in the above video, all I've done thus far is to run a really simple test that lights each pixel in turn and switches between different colors. Now the fun stuff starts on the programming side. Watch this space for future updates…


Join over 2,000 technical professionals and embedded systems hardware, software, and firmware developers at ESC Boston May 6-7, 2015, and learn about the latest techniques and tips for reducing time, cost, and complexity in the development process.

Passes for the ESC Boston 2015 Technical Conference are available at the conference's official site, with discounted advance pricing until May 1, 2015. Make sure to follow updates about ESC Boston's talks, programs, and announcements via the Destination ESC blog on Embedded.com and social media accounts Twitter, Facebook, LinkedIn, and Google+.

The Embedded Systems Conference, EE Times, and Embedded.com are owned by UBM Canon.

27 thoughts on “BADASS Display: It’s alive! It’s alive!

  1. “@max: BRAVO! I know that feeling; as Hannibal (from A-Team, not Carthage nor Lecter) used to say, “I love it when a plan comes together!””

    Log in to Reply
  2. “Thansk Mark — I must admit I was high-fiving myself when all of the LEDs lit up the first time I applied power. The usual scenario when I first power up a new project is for nothing whatsoever to happen at all LOL”

    Log in to Reply
  3. “MaxnLooking good! The display is controlled a column at a time in the video- would there be a control that would allow you to turn all the LEDs on at once (hopefully without putting the power supply into overload)?nnMore than slightly off topic- I see

    Log in to Reply
  4. “Hi Aubrey. As you say, I can only write a column out at a time — but in this video I'm also adding a 50ms (1/20s) delay between writing each pixel and each column. If I remove these delays — plus I write entire columns at a time — I think the final re

    Log in to Reply
  5. “With regard to the wash stand — that came from Gina's grandmother. Gina has the spare room looking really pretty — it's a constant source of annoyance to her when she looks in the room and finds one of my “creations” staring her in the face LOL”

    Log in to Reply
  6. “You know, I might just try that — I also thought of doing a “fireworks” type effect with a white rocket trail going up then a star-burst of color — and a “raindrop” effect with white dots randomly falling from the top and splashing when they reach t

    Log in to Reply
  7. “Hi Max, I use the same pixels in my hallway lighting and I also use the Adafruit Neo-Pixel library. I can preload all the pixels then execute the pixel.show routing and simultaneously update all pixels at once. Are you not able to do this with your displa

    Log in to Reply
  8. “Hi Steve — thanks for the kind words. I've actually got 16 separate strings — each driven by its own Arduino pin — so I'll have to do 16 .show() commands — but apart from that everything is as you say — pre-load the values in the array stored in the

    Log in to Reply
  9. “Max: I am impressed. nThe thought comes to mind could the image of you “Max” I managed to squash into my 128 *64 pixel OLED display be squashed even further? Alas I think at this pixel resolution it would be a BADASS to far. I look forward to seeing so

    Log in to Reply
  10. “If the truth be told, I'm beginning to wish I had daisy-chained them — I was sort of thinking about maybe swapping over to a pair of Teensy 3.1s at some stage in the future — each of which can drive 8 channels simultaneously — but there are so many oth

    Log in to Reply
  11. “That's the great thing about this sort of display — you are limited only by your own imagination (and your programming skills — that's my downfall :-)”

    Log in to Reply
  12. “Interestingly I just tried one and that wasn't recognised either. The ChipKIT Uno 32 was recognised so I'll just have to use that until my Nano arrives.”

    Log in to Reply
  13. “Hi Crusty — I'm flattered you would choose my image to present on your OLED display — but wouldn't Mrs Crusty have preferred it to be an image of her?”

    Log in to Reply
  14. “That's what I was planning on doing — right at the beginning I had contemplated having a CRT-type display for the modes — then I thought, hang on — I can use the main display area, D'oh!”

    Log in to Reply
  15. “As far as the power bus wiring, If it was mine, I would have had heat shrink on all the solder joints. Unfortunately, it's a bit late for that since the heat shrink needs to be added as you go…nnI would recommend that you insulate the joints somehow t

    Log in to Reply
  16. “You are 100% correct — I should have done that — but I didn't have any heat shrink that was wide enough and I am an inpatient man — so I went ahead without it (I hang my head in shame)”

    Log in to Reply
  17. “Very fun project! Was wondering if you ever added the Simblee control to your BADASS display? I'd love to find more info on how useful you found the Simblee to be and how you might connect the Simblee and Mega to interact.”

    Log in to Reply
  18. “Awesome, thanks!! I will check out your articles and keep a look out for any coming blogs!! nnBTW, I just got a Simblee yesterday and am looking to add it to control several FastLED-based existing projects, so I am anticipating using your dual-processor

    Log in to Reply
  19. “Nice work Max – the back looks as good as the front! Your last pic gave me an idea for another “mode”. Use oranges, reds and yellows and simulate a fire. With 15.5 A from the power supply, it would probably provide a bit of heat as well!”

    Log in to Reply
  20. “Well, once you depart from pure spectrum analyzer type display, the world's your oyster. You could have it doing a weather station display, with the sun with rays emanating from it, or your raindrops as above, or clouds scudding across…you've got enoug

    Log in to Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.