Making a "permanent" hardware device

So I'm taking on my first big Arduino project, and I'd like to build a custom alarm clock for my wife that has weather, news, and number of unread email messages on a small LCD screen. Ideally I'd like to find a way to "easily" mount the project in a nice-looking box (I was thinking a cube of some sort).

My question is: if I want to make the connections between the screen and the Arduino sturdy (e.g. not connected with jumper wires to a breadboard), whats the best way to go about it? I want the screen to be connected to the Arduino by wires, so it can move around inside the box and I can reposition it if need be. I also was thinking that the screen should be easily swappable, so I don't want to solder the screen directly to the wires.

So here's what I was thinking, please tell me if this makes sense:

  1. Get a standard PCB
  2. Solder some wires to it
  3. Solder some female headers to it
  4. Connect my TFT screen (which has male header pins already soldered to it) into the female header pins
  5. Solder the wires to some sort of prototyping shield that then connects via male pins into the female Arduino slots

Does this make sense? Is there a better way to make a "permanent" Arduino project? I'm very new to micro-electronics and circuitry.


  1. There's almost always a 'better' way.
  2. For a one off project don't worry about finding a better way - think of a way that will work for you and do what you want to do then do it. You'll think of a dozen better ways in the process. Use one of them on the next project.

Understood. Thank you!

Does the solution I outlined make sense? Will that work? I just want to try and wrap my head around the concepts of soldering wires to PCB's, making semi-temporary connections using header pins/sockets, etc....

There are many ways to go in the setup.

If you are using an Uno, one approach is to get a prototype shield that mounts on the Uno. You can either solder wires to the prototype shield directly, or use a mini-breadboard, which fits inside the header pins. You would just remove the whole shield and your Uno is back to its original form. I believe the Leonardo/Mega/Due can use Uno shields, and I've seen prototype shields for those other processors.

I've seen several different designs for these shields, and the one that I like the layout of is the Omega ProtoPro-B shield (note, I've bought one, but I haven't assembled it yet as I still tend to not do to well at soldering), because you can put in the normal headers, and there is a second row to solder the fixed parts to, and there is a longer row of parallel pins:

Speaking of shields, another thing is the various sensor shields out there, that break out the pins into specific layouts so that you can connect sensors/servos with 3 element cables (with data, ground, power) or 4 element cables (for i2c with scl, sda, power, ground):

There are different versions of the sensor shield, the Sainsmart V5 shield for instance has explicit layouts for LCDs:

You can build your own custom cables with male or female ends as needed using crimp connectors you can get at Pololu: So for example, you might solder a row of male headers on a perf-board and make a custom cable for your LCD with just the right number of pins.

Alternatively, there are several different forms of custom headers (molex headers being one example) that interlock. You would solder one to the board, and the other end to the device, and you could remove the device when needed. One such set is the wafer headers I got from dipmicro:

I don't like to use my bulky/expensive Arduino in a permanent project. I bought a stack of bare Atmega328 chips for that sort of thing (about $2/ea in quantity!) , and use my actual Arduino board for development only.

If you don't want to be dealing with bare Atmega chips and the things that go along with it (power supply, filtering, TTL Serial adapter / ICSP programming, etc), you can just use a nice and compact Arduino Nano in your permanent project. The Nano can be soldered right onto perf- / proto-board and is good to go with USB programming, power supply, reset button, and status LEDs already on board.

Some more ideas here: