Display Board Revisions...
In the last update, I mentioned that I was thinking about revising the connector on the Display Add-on, and I've gone and done that. The prototype had two separate connector areas, and I've consolidated that into one 11 pin header that will run along the base of the board. The intent will be to solder in a right-angled male pin array so that the board can be mounted vertically on either your Education Shield directly, or on a separate breadboard. The pinout is matched with the Arduino UNO R3 arrangement and will make use of the following...
- 5V - provides power for the display
- GND - provides ground reference for the display
- SCL - I2C Serial Clock line (Analog 0)
- SDA - I2C Serial Data line (Analog 1)
- SPK - signalling pin for the piezo speaker (Analog 4)
- CTL - control pin for selecting between the clock delimiting colon and the top red LED row (Analog 5)
The remaining pins are not connected to traces on the Display and are only used for mechanical stability.
The Display prototype had a bug that I needed to correct as well. The basic control method for the bar graph is, "enable the cathode for this row (let electricity flow to ground), and then supply current to the LEDs I specify". You specify the LED by sending the control chip a byte of data: Bxxxxxxxx. Eight LEDs in each of the four rows at the top of the board, eight bits of data in that byte. If the bit is a "1" the LED in that position is turned on, if it's a "0" it's turned off. this worked flawlessly in the prototype except for one thing: the Most Significant Bit (the bit at the far left) actually controlled the LED at the far right. This isn't anything that couldn't be dealt with in code, but it's much cleaner from a thinking-through-it perspective to have the bits aligned with the LED positions exactly. So I re-routed all those traces.
Finally, I revised the part selection for the board to reflect the Common Parts Library, as I did with the Education Shield.
My next step is to make the definitive list of parts and submit it to Small Batch Assembly. Bob at SBA and I will see where we can overlap between parts he already has on reels (cost for parts charged at the 1000-quantity rate) and which parts I would need to supply (cost for parts closer to the single quantity rate). I find parts selection to be the single most challenging aspect of designing circuit boards, because you have to balance a wide variety of factors against each other to achieve a compromise that still meets your engineering objectives. Does the part do what I need? Is the part available? Is the part available in the quantities I need? Is the price reasonable at single quantities? Is the part that satisfies 85% of the objectives in return for a cost savings of 50% sufficient to cover the design requirement? Is the part available from multiple sources in case one sells out? Those factors weigh in on the selection of nearly every major component in every piece of electronics that you have sitting around you right now. Sometimes it can be pretty daunting :)
In project news, I wanted to mention briefly another Kickstarter that is in the home stretch of funding (55 hours to go). It's a documentary on Kevin MacLeod, a man who I imagine you've never heard of, but who's music you have run across thousands of times. In fact, the video for my Kickstarter features Kevin's music in the background. He has written many pieces and released all of it royalty free with the only stipulation that he be given credit (which I do at the bottom of my project page). Consequently, he appears millions of times across YouTube and any other place someone needs free soundtrack music. Check it out here:
That's it for now! As always, feel free to send me any questions you have!