I built the gnu tool chain from source. The right monitor has my vi editing session, OpenOCD, and a telnet to OpenOCD. …and yes! that is a model M keyboard the second best keyboard ever made. The left monitor is a little more interesting, the box in the left hand side of my desk is a BitScope, this is a decent Oscilloscope, Spectrum analyzer, and logic probe all in one box. The Linux software works well out of the box. Also there is a Flyswatter II and an Olmex USB programmer (I like the Olmex better), these were a bit difficult to get set-up with OpenOCD but have gotten easier as OpenOCD has matured. I’ve used things like AVROne, and PIC Kit 2, but OpenOCD is far better as remote gdb works well. Say what you will about the learning curve for gdb but it’s the best debugger.
My lab bench is a bit messy at the moment. Okay, here I spent a few bucks (the microscope) but I share lab space with an engineer from another department. This engineer has low vision (legally blind). He has forgotten more about analogue then I’ll ever know. I hoped, if I spent some bucks and got a good microscope, he’d use it too and he does so it was a good deal.
I admit it, not only do I use vi (vim), but I use the terminal version. Here’s is screen shot of some Braille Buzz source, notice I use clang complete (Intelligent code completion), and tagbar for navigation. Please don’t get too hung up on the code remember this was hacked together as a proof of concept, the production code will still be C but not so messy.
In order for our department to function we had to get out from under the main company’s security policy, in order to do that we need our own infrastructure. Our security policy (I wrote it) basically says you (we are all developers in this department) are your own system administrator (part of the job description). You are responsible for whatever your workstation does on our network network, if I have to pull your plug and you can’t do your job that’s on you, not me. Sounds harsh but in practice not so much.
We took a disused electrical service room, Facilities brought me more air-conditioning that I could have wished for, and Maintenance gave me an old equipment rack. The two Dell boxes down on the bottom are nothing to get excited about but the SuperMicro on top, I built from scratch (about half the price of a comparable Dell and yes I counted my labor). Now, I have no illusions that this server room is going to win any beauty contests but these three machines run our Firewall, phones(Asterisk), file servers (SMB and NFS), backups, and Android builds. If something breaks, I have parts–you try getting more than an appeasement engineer in the four hour response time here in Louisville Kentucky. The only downtime we’ve had in about a year is when a fan failed on one of those old Dells, we lost an hour of Internet. Oh, those two things on the right are interesting they are Braille printers (embossers).
This project involves a lot of teaching an old company some new tricks, but there are a million things that could go wrong with this stunt! My goal was to keep costs low as we flush out a new process for doing things. Toaster Oven re-flow is just what it sounds like. Instead to spending $10K on a re-flow oven I did some reading and convinced my boss, Larry Skutchan, that we should at least try this. My yield stands at about 80%. We have prototyped this whole product in-house, the only thing we sent out were the board spins.
Here is the prototype fresh off the 3D printer! It was a real pleasure to work with Industrial Designer / Modeler Andrew Dakin and Industrial Engineer / 3D printer guru Andrew Moulton, they took some very primitive ideas and turned them into something awesome! It’s hard to see but the 26 keys across the top have the Braille letters of the alphabet on them.
This is the second board spin. I designed this board and product from scratch. I started with the data-sheets for the ST Micro chip, took some tips form the Olmex boards that featured a similar chip, crossed my fingers and it worked! I have used Eagle (very popular), and Altium (very complicated), and I even tried PCB (too primitive) but my favorite is kiCad (just right). I suspect Verilog can be used for PCB layout, it’s really for “programming” logic gates, but I have my suspicions that it could be a good choice for really complex PCBs.