Saturday, August 16, 2014

SteamDex: PCB (Printed Circuit Board)

This post will chronicle the PCB drafting, prototyping, and testing.  I will add to it as things get done (probably synchronized with the progress updates).


Saturday August 16th, 2014

Today, I finished the initial PCB draft.  This required deciding what pins on the microcontroller would be used for which hardware interfaces.  The PCB is designed to be mounted on the back of the LCD unit.  There are 10 pins in the interface between the two, and I figured that they would be sufficient to handle the weight of the PCB with the other components.  The mounting holes for the hardware are on the LCD unit.  In theory, if the LCD is mounted to the enclosure, the PCB will not need any explicit mounting because it is firmly attached to the back of the LCD via the 10 pins and the associated solder joints.  The two pieces will be connected with a set of header pins.

Also, I was able to arrange the components on the board close enough together to reduce the board foot print.  This is great, because it will reduce the cost of the boards.  It also means that the device will fit in smaller enclosures.  The hardest part of this was routing all of the traces without any vias (it was not mandatory, but I kind of took it as a challenge).  At first, I had the LCD module backwards, and the routing was really easy, but once I realized my mistake and flipped it, it became an awful mess.  I am so glad I can do this on a two sided board!  (The boards I drafted for classes were only one sided.)

Here are some screenshots of my work:

Electrical Schematic

PCB Draft

Notice all of that empty space on the left side of the PCB draft?  That is about 1/5th of the width I originally allocated to the board (that could amount to a substantial cost savings).  Of course, I will be eliminating that wasted space before sending this to a commercial PCB maker.  I am also considering adding a ground plane to at least one side of the board.  You might notice that some of the silk screen (the text and outlines) stuff overlaps a lot.  This will make no difference as far as functionality goes, but I also plan on doing something about it before sending it to a commercial PCB maker.  (I'll probably reduce the font sizes first and then move the BATT text to the top of the battery module and the U0 text to the bottom of the voltage regulator module (LD33V).

(In case you didn't already know, all of these files will be released under an open source license at the conclusion of the project.  Also, in case you were about to ask, I did all of this in KiCad.  KiCad is an open source PCB drafting suite.  I don't know how it compares to commercial software like Eagle, except that free is way cheaper, especially for commercial use.)



Here is my todo list on the PCB.  As items on the list get done, they will be removed and I will add anything interesting to the above section.
  • Order prototyping parts (photosensitive board, developer solution, and etchant; this is waiting for Kickstarter funding)
  • Create rough homemade board prototype
  • Make any necessary revisions (and maybe re-prototype)
  • Send out revised design to be prototyped by a commercial PCB maker
  • Make any necessary revisions (and maybe re-prototype)
  • Get estimated for mass production of boards from a medium scale PCB maker

Wednesday, August 13, 2014

SteamDex: Introduction

Link to the Kickstarter: https://www.kickstarter.com/projects/297892314/steamdex

Table of Contents:


The SteamDex is a simple electronic Steampunk device.  It works similarly to a rolodex, but it can display nearly any textual data the user desires, so long as it is in chunks that will fit on the screen.  It may be able to display small images, however, this will depend on available resources.  In short, it will be a small, hand held, Steampunk device that can do something useful.

The SteamDex does not yet exist as a physical device.  It is currently a figment of my imagination.  Of course, I already have most of the parts necessary to construct one, and I have the required knowledge to program the device to do the things stated above.  The only thing I am missing is time and a little bit of money for the few parts I do not already have.

SteamDex is a Kickstarter project that will be launched sometime within the next week.  The project goal of $10,000 will provide enough funding to pay for the rewards, some extra parts to make up what I am missing, and the time required to create the software and design the hardware necessary to build a working SteamDex device.

How far along is the project currently?  Well, I already have substantial experience with the MSP430 microcontroller that will be the heart of the device.  I also have some experience interfacing the MSP430 with an LCD screen very similar to the one used by the project.  Perhaps most importantly (because it is so time consuming), I have already coded a simple 8x8 ASCII font (extended ASCII range included) to use with the device.

What is left to complete the project?  The first thing I will have to do is write a driver for the LCD screen.  I have done this before, for a very similar screen, and I already have some sample code for the initialization phase.  In other words, this will be fairly easy.  The second part will be creating a user interface.  This will include arranging the visuals and figuring out how the buttons (there will be six of them) will interact with them.  The third part will be writing a driver for communicating with the microSD card, where the data set will be stored.  Somewhere in there I will also have to design a printed circuit board for the device (this will be trivial).  Once these are finished, if enough funding is raised to give me the time, I will add an image loader that will be able to display small images on the screen.  This will allow images to be added to the data (you could even make a data set that turns the device into a Pokedex).

What is the point?  Did I mention that the SteamDex is a fully functional, useful Steampunk device?  I have done a lot of research involving looking at pictures and descriptions of Steampunk devices.  There are some really awesome Steampunk things out there.  A few of them even do what they look like they should do.  Most, however, are just non-functional props and art objects.  While this is probably acceptable for most Steampunk weapons, I want to see more Steampunk devices that have real value outside of conventions and other Steampunk gatherings.  The SteamDex is my first offering of Steampunk devices that actually work.  The SteamDex will be a fusion of art and function that you might just want to use in real life.

What is in it for backers?  Well, first and foremost, backers get the good feeling you get when you contribute to an open source project that could benefit millions of people.  For backers that contribute more than a few dollars, there are plenty of other rewards.  The rewards include a preprogrammed MSP430 microcontroller that can be used to build your own SteamDex (or you can just use it as a conversation piece for bragging rights), a printed circuit board that can be used in constructing a SteamDex, an entire kit for constructing a SteamDex, a partially constructed SteamDex device, and a fully constructed SteamDex device.  Also, all backers will receive the source code for the software and the design documents for the hardware for the SteamDex, as well as assembly instructions.

Is there some way I can help other than contributing money?  Oh yes there is!  Do you have friends that might be interested in contributing money?  Maybe you subscribe to a popular Steampunk blog, magazine, or other publication.  If you can find contact information for anyone that publishes anything about Steampunk stuff, please tell them about the Kickstarter.  If you have followers on Twitter or friends on Facebook, post links to here and to the Kickstarter project once it launches.  Even if you cannot provide funding, you can help by spreading awareness, and you can even still benefit because the project is open source and its success will benefit anyone who wants to take advantage of the information.

Once it has launched, the SteamDex Kickstarter will last only 30 days.  At minimum funding, the project will probably be finished January or February 2015, with the last rewards shipping April 2015.  With higher funding, some parts of the project can go much faster (I can cut my hours at my current job if the funding provides enough to pay the difference).  I cannot predict exactly how fast the project will get done for a specific amount of funding above the goal, but I can say that some parts, for instance the LCD screen driver, could be finished in less than half the allotted time if I can spend even a few more hours a week on them.  (Programming is funny that way.  If there are fewer distractions and you can spend longer runs of time on it, you can increase productivity by far more than the proportion of time added.)

I sincerely hope this project is well funded, because any leftover funding at the end will give me time to work on other Technium Adeptus projects.  While I am very excited about this project, I have other projects for Technium Adeptus that will do far more for helping its goals than this project will.  When this project is completed, I hope to be able to put another Technium Adeptus project on Kickstarter and another after that, all with the goal of making modern technology more accessible to normal people and of increasing the rate of technological progress by supporting and producing open source software and hardware.