PCB Rev 2 is working quite well.
I have written the “drivers” (I guess thats the term!) for the Graphical LCD, barcode, Keyboard, RFID and Wifi. All said modules are working (though not in any way cohesively) however mechanically the LCD alignment needs moving down about 2-3mm to fit in the case window.
Mechanics (like optics in the previous project) is basically a bitch, it is the part of your project everyone see first and makes their initial decisions. In this project the challenges have been well outside my normal fields of experience but I think its a good first stab. so overall heres the lowdown of where it stands as of Rev2
- The alignment of the keypad overlay must be exact, without even the slightest error otherwise it does not lie flat and you get a really annoying keypress experience. Annoyingly some of the overlays are up to 0.5mm too wide or too narrow, the narrow ones are fine as you can live with a tiny gap, the too wide ones don’t stick proper unless cut down
- The adhesive on the overlay doesn’t seem to be as good as I’d hoped, some are slightly coming away. This may be down to not applying them to a clean enough surface or at the right temperature, some experimentation is required.
- The cable from the keypad overlay is too long and needs doubling up which puts pressure on the underside of it in some cases causing it to press out.
- Screw posts for attaching the PCB to the front of the case need to be about 1.5mm lower for the LCD to be flush with case and to give more headroom for the barcode scanner (it fits, just, but butts too far up against the bottom of the case and needs a little push to fit)
- (Most annoyingly) The acrylic window for the terminal is exactly 90 degrees to the barcode scanner, causing internal reflection and very degraded reading when the window is on the case, the barcode manual says it should be at an angle, I may need another re-design to get this optimal (optics again arghhh!)
- Again with the acrylic window you can see the insides and we really only want to show the barcode scanner.
- MT700 barcode takes forever to go into power down mode
- WiFi232-S does not go into power down mode (hoping for no more surprises here!)
- The 8Mhz oscillator choice is bad for 115200 baud (wifi default speed) I have to use the PLL to clock it to 20Mhz or change the XTAL down to 3.5Mhz. I think I will do the latter as there is really no requirement for speed anywhere in the current system
- Programming port requires case off. For the final unit this wont be an issue as we will update over the air, but for development its a pain in the arse. Probably should have put a USB and bootloader like in the first version.
- Will probably take about 10 to 15 mins to assemble each unit.
- Looks quite good (until you look at it through the acrylic window – see above)
- Not too expensive, compared to a proper injection moulded case the whole bill of materials reaches the sub- $100 price point.
- Max power consumption is around 200mA with everything on and no power management of anything so even if I did nothing I would get a days work out of a unit, from previous experience it should be possible to extend the battery life to a week or more with normal use
- During the design Microchip released a new PIC32 with double the memory (now 256K Flash/64K Ram) for just 20c more, $3.80 instead of $3.60. Not planned and not required but I certainly have no excuses now for constrained resources, I could even move to a non-serial wifi module as I could easily fit the TCP stack in if required. (Now if the bastards would only release a RN-131 for about 50% of the price I would be a very happy camper!)
- The GLCD is very readable in all conditions, much, much better than the original TFT though I have had to use a 8×16 font to achieve this and this gives me 16 chars x 8 lines of text to play with
- I have a client that definitely wants one of these terminals for each of its operators (about 40-50 units) the fact they are willing to go down this road with an untested unit/concept and absolutely no sales pressure from me is proof enough the is demand out there when the price is right. another new client has made contact and is keen but wants 13Mhz RFID not the 125Khz EM4100 I dont see any issues with that.
Of course non of this is tested real life yet, when the rubber meets the road I am expecting other challenges to appear.
In the next few days I will upload the totally unfinished firmware for the PIC32 to my github (with appropriate dodgy pre-alpha warnings) as it at least shows other how to get all the bits talking.
New board Rev 3 which
- fixes the LCD window alignment
- Add MOSFETs to switch power off to WiFi and barcode modules. Both take sub-second to boot so I dont think this will be an issue
- 3.579545Mhz crystal
- Remove barcode buzzer out to mosfet (its a level not a squarewave!)
- Remove barcode decode (just use serial in to trigger good response)
- Remove WiFi reload (if you really need to do this just short the pin to gnd)
- Remove LCD ~CS (maybe), not really required as nothing else on SPI bus
- Change RFID MOD and add 2 x 10K pull-ups for barcode data/clk
- move a few IO around for better PCB design
- Move RFID to daughter board to allow change between 13.5Mhz and 125Khz formats and allow more simple/secure coil mounting
- Start writing the software – A big job, but finally something I’m quite good at 🙂
The (not too) distant future
The next version on from this will need a much more professional case, I think 3D printing one would be good as I can mould it around the board a bit better and get the barcode scanner correctly positioned.
I have some contacts now for small/medium volume enclosure designs and manufacturing (Hi Emily at SZOMK and Shelly at ezpcb) a visit with a final prototype may prove fruitful
I will revisit my original designs to see what lessons can be learnt.