Woo Hoo! Logic16 is finally released. It has been a long time coming. The main bottleneck was the new 1.1.x software, and making that rock solid, but it was also plenty tricky on its own – in particular the analog front end. Analog 101 all over again, plenty of spice simulation, at least 5 or 6 board revs, a fairly high end Agilent scope and $1000 active probe. There’s things we could have done to make it a lot easier in retrospect, but part of the goal was to learn how we could design front ends for much higher end stuff. We now at least know what the right questions are, and I’m confident that we’ll be able to pull off some really nice stuff for the 3rd/4th products.
We started out looking to build something considerably more advanced than Logic16, but I think that ultimately Logic16 was a nice 2nd product. I’m confident that we understand the analog part of it, it’s a fair price point, and it’s a nice step up from Logic. I won’t release anything that’s more advanced than what we really solidly understand. That said I’m super excited for what we might be able to do in the future.
We ultimately built a dedicated PCB for testing Logic16 – it uses a CPLD, DAC, and logic level translator to generate a number of variations of conditions which can then be examined in detail for signal integrity. It worked out well because we can use the same board to test each and every Logic16. We’re certainly going to be doing this sort of thing going forward. There’s all sorts of test setups I’d like to get going, especially in conjunction with automated software tests. Speaking of which, we intend to have 100% test coverage of the Logic software entirely automated. Pretty much something you could run around the clock until something breaks – including real data sources, device connection and reconnection, etc. We’re a ways away from that right now, and it frankly is a bit of a tall order.
Latest Software – Manchester and MP Mode
I’m super excited to have a solid Manchester solution out the door. It’s had me worried for some time – that there would be so many variations of Manchester that there just wouldn’t be a good way to pull it off. MP Mode is also finally done, although that of course is comparatively trivial. Quite a few people sent us their Manchester data, which was very helpful when we finally got around to getting that done.
We’ve known since the beginning that Logic was priced at kind of a weird point. It was – and is – really important to me that students and hobbyists have access to something that it really good – but at the same time it offers an unprecedented bang for the buck (a little absurd, really) for professional engineers. And as the software gets better, its value/dollar keeps going up as well. The point is that there was a lot of money left on the table, and given the market size, it’s not an especially sustainable price point. The idea all along was to follow it up with some more capable hardware versions that would be an attractive option for less price sensitive business customers. Getting product 2 and 3 out there right away really should have been the order of the day: product first, features second. In any event, things are the way they are, and we’re in a pretty decent spot looking forward.
I’m kind proud of the tabs in the latest software. I spent way too long on it, but it turned out pretty well. They are built from scratch, more or less. Most people will probably never notice, but you can reorder them, and they animate when they move around. Good stuff.
Cross platform build script
Right up until 1.1.5 we were literally maintaining different projects on each of the 4 platforms we build on – Eclipse for 32 and 64-bit Linux (on different machines), XCode on Mac and Visual Studio on Windows. While this setup is not too bad for debugging platform-specific issues, as you might imagine it’s a major pain in the butt to release a build. So for 1.1.5 I took the plunge and built up a build system that’s pretty workable. To do this we wrote a C# application that builds up a folder structure of all the required files for each build target. It also creates extensive scripts for building each target on the end machine, as well as collecting up all the results and packaging it in a way that’s fairly close to releasable. It dumps all this into a shared folder. Then you mount the folder from the other machines, and start a script that copies all the contents to a local build folder and it starts cranking away. To keep things consistent we do the same thing on Windows. There’s quite a few things that could be improved in the system, but so far its working remarkably well. It’s very “fire and forget.” Linux is built on two different dedicated laptops (one runs Ubuntu 32-bit, and the other Ubuntu 64-bit), and Mac gets built on the Mac mini. The mac build is pretty slow since it’s building for ppc as well as x86, but overall it’s quite a workable system. Day to day development is on Visual Studio, which works well.
Finally! I’ve wanted some nice packaging we could be proud of for a very long time – and finally we have it. Well, we will at the end of this month anyway. We met a packaging company at a manufacturing trade show in Anaheim, and they’ve been a real pleasure to work with. Logic has always come in a nice carry case, but now I think people will really enjoy unboxing their Logics. (after spending a couple hours at the show we went to Disneyland)
We’ve had a little “business card” insert that shows how to plug in the wire harness and where to go to get the software pretty much sense the beginning. But it kindof sucks, in that it’s just not all that nice, and I’ve been wanting to replace it with something better for a while. We’ll now we’ve got a nice glossy insert which I think people will like better. I think the unboxing experience is a key part of the overall user experience. It’s kind of a sacred thing, really.
John took a much deserved 2 week vacation which just ended last week, so I got a chance to rediscover the joys of taping boxes and printing labels. Actually, I really do like it.
Quick recommendation for prototype PCBs: www.pcb-pool.com. I’ve had really good luck with these guys, and I very much appreciate that they come with free stencils. By the way, this might be obvious, but take the solder paste out of the fridge and let it warm up to room temperature before applying it. I’m not sure why I had not learned this lesson earlier. If you don’t, as the paste warms up it slumps down and shorts with any paste near it, and you end up with kindof a mess. I also am happy to report that using a cheap toaster oven, and just watching the PCB for when the paste melts, seems to work rather well, and better than using a hot air soldering iron. The more uniform the heating, the less likely any 0402 parts are going to stick up, or pop of the board.
Arrow, Avnet, Future, Digi-key, Mouser, et al.
We’ve been looking into sourcing parts in the US, and doing PCB assembly here too, to get some better control on quality and lead time. The semiconductor sales model is an interesting beast, to say the least. I’ve learned all about how pricing gets negotiated, and how parts negotiated for a particular customer at really good pricing can find their way to CMs who technically shouldn’t be getting those prices. The system is messy, and in my view there’s not a lot of incentive to buy parts exclusively from any one vendor. We did a fully kitted run of Logic PCBs locally about a month or so ago, getting the parts exclusively from Digi-key and Mouser. (Digi-reels are awesome!). We used Advanced Circuits for the panelized boards, which worked well. The CM lead time is really the issue as far as fast turnaround goes (unless there’s a part that’s not in stock). Honestly, I’d really love to be vertically integrated when we get big enough – have our own PCB line, wire harness assembly, etc. I know that doesn’t make a ton of sense – but it is an awfully attractive proposition when you’re sitting around out of stock for weeks on end. Cash flow is mainly the culprit there, however, and choosing suppliers that offer terms certainly helps. A strong desire for vertical integration is probably just a symptom of not taking the time to get the right CMs. Still, it sure does seem cool. Especially now that I know that SpaceX is something like 95% vertically integrated – with all sorts of awesome machining centers and manufacturing capability on site.
Finances, cash flow projections, and loans
One of Mark’s jobs over the next few months is to build an incredible, up-to-the minute ERP solution. Cash flow projections, how much tax we owe, sales and sales trends, inventory and cost of goods sold. It’s going to be integrated with a updated ordering system, a new (largely behind the scenes that is) website, and either QuickBooks (via it’s api) or something much better if that’s possible (Xero looks pretty cool).
We’re going to apply for an SBA backed loan to hopefully remove inventory cash flow gaps from the list of problems over here. In order to do that we need cash flow projections, and what do you know, putting that together by hand is a rather enlightening activity. Speaking of financing, I’m been thinking of all sorts of creative ways we might be able to finance some serious growth. I’m especially intrigued by the kickstarter.com model. That is just flat out a game changer in many ways. I could have used that right out of school to fund a project I had back then that need 25K to fund injection molding. What we need to fund is talent-hours, not manufacturing, so kickstarter is not as ideal for us. Still, it’s a really interesting model.
Website and IT
The new website will be hosted on Azure and be written in C# ASP.NET MVC. We’ll be migrating the current blog and community site (which is currently WordPress and a fairly modified Drupal installation) over to a new .NET based CMS framework, which I have high hopes for. Despite its excessively humble functionality, the forum is well trafficked and fairly lively as these things go. And I think it’ll get better and better to the extent we can improve the user experience for people on it.
We’ve been having great luck using OneNote to manage the company – we have folders for each major functional area, and different sheets for more detail, like ideas and “the current plan”. It’s synced up to the cloud so it’s always up to date, and we can even look at it on our iPhones.
We’re taking a 3 months hiatus from engineering, starting this week, to focus on growing sales and ultimately the company. We will fix any mission critical bugs that come up, but will not be adding features. With luck, we can improve sales to the point where we can hire a full time software genius to continually crank away at the software. The software is about half way to where it needs to be, and there are some huge, fantastic feature sets that are still to be added. But we’ve got to figure out a way to accelerate the rate at which we can develop, or this thing doesn’t make a whole ton of sense. You should start seeing the results of these efforts pretty soon. I’m excited about it.
We need more space. It was a bit of a disaster trying to ship from here the last couple weeks, climbing over boxes everywhere. So we’re going to hopefully find another space in the same facility that’s double the size. We’re going to take that opportunity to reorganize everything so that everything has a place and we can start being proud of where we work. We’re going to get those nice Craftsman tool drawers, new desks and lots and lots of labeled bins. Speaking of labeling things, I’ve finally got a functional filing system going that I actually like to use, after reading Getting Things Done. That book is a bit all over the place, but I think it’s a great way to organize projects and ultimately your life. I’ve also been reading The Innovator’s Dilemma, Rework, and Smarter Faster Cheaper. (books on tape, that is)
Starting as soon as possible after we move, we’re going to be hosting a monthly open house. Come one, come all, and see what we’re up to. Delicious refreshments will be provided.
My brother Mark has been out here working full time for the last semester, flying back and forth to Phoenix every so often to take care of school stuff. Despite putting very little time into it, he and his team for Senior Design built, proved out, and flew their solar powered airplane, and it has the hardware to in principle be autonomous. His team won the Senior Design prize, woo hoo! And, he’s now graduated with a shiny new degree in Electrical Engineering. Hooray!
The latest Logic16 tester PCB
Active probe. Yes, it even has LED 'headlights'
And the new inserts...
The panels for the local Logic PCBA build
Latest n' greatest
The official Saleae office plant
On a whim, a few months ago we rigged up a Arduino-controlled Lego robotic arm, controlled via a game controller through the PC.
Speaking of robots, here's the one my brother and I built for his 8th grade science project. Mark actually had functioning GPS way-point software in VB6, but my custom motor controllers blew up and tragically it just sat there on demo day. The idea was to pull kids around in a wagon or something.