Hi mariush.
Thanks for the links.
I think I've pretty much found all the parts that will be used in the production version: Regarding performance, size and cost they fit the bill.
You're right, my LCD has 1x16 pins (using 4-bit communication and no backlight, so only 10 pins connected). Earlier prototypes used the 2x8 pin arrangement but for the reasons given above briefly I've settled on using a particular 1x16 from Winstar:
http://www.rapidonline.com/electronic-components/16x2-lcd-display-reflective-57-2224I agree, though, it would be a very useful safeguard in production to be able to employ LCDs with different pin-arrangements just in case the supply of one sort dries up.
So far as I understand, switching from 4-bit to I2C would require a software re-write and at this point I've little inclination to do this since that part of the design has already been accomplished and works as planned.
When I carried out an extensive search for buttons last year I discovered that, as you say, there are many tall examples to be had in the 15-20mm range, but these are usually through-hole devices: My design is premised on using SMD parts wherever possible and keeping all components and soldering on one side of the board. By this means I hope to minimise human intervention.
15 - 20mm SMD tact switches are pretty hard to find at reasonable prices. Last year or the year before, I corresponded with a supplier who could get 20mm SMD tact switches, but he required a minimum order of about 1000 pieces, which was then impractical.
Eventually I got some suitable tact switches from Wurth which are about 13mm tall and that makes them the highest point on the circuit board in this prototype. My original SMD design had the LCD on spacers, as you mentioned, standing over other components. But this required much taller switches. It had the advantage of a smaller footprint so the FR4 circuit board cost would be lower per unit.
So, as things stand now, the only part of the project that seems to require hand soldering would be the connection of the header pins to the LCD module, or would that be automated too?
Resistoid.