Rapid prototyping for production parts
Just wanted to quickly document a neat little project we did recently that seems to be working out. Logic16 uses an off the shelf light pipe. Creating a custom light pipe requires an injection molded part, as well as someone who knows what they are doing (and optics modeling software) to design it. It’s something we want to do later on with fancier products but for Logic16 an off the shelf part made sense.
We did have this issue however where light from the light pipe would shine out the front slot of the device, where you plug in the wire bundles. You might think this would be cool, but in practice it was quite inelegant, and so we had been using little rubber tubes cut to a given length to shroud the light pipe. However, this was not a very elegant solution and the eventual plan was to figure out a way to manufacture something custom.
It turns out that rapid prototyping a big grid of such a custom part is actually pretty cost effective. The first material we tried isn’t ideal because it’s surprising transparent, although it does look pretty decent as seen from the front slot now, and we’ll probably be able to get this in a more opaque material. $200 for 400 parts (the array below is 20x20 although there are sure to be more cost effective sizes) beats whatever injection molding would cost, at least in the short term. And you can’t beat the lead time. Plus if you screw up, it’s not a big deal.
Counterfeit parts are a big headache.
It's been a long day. This morning we picked up about 1000 PCBs for Logic and Logic16 and got to work doing the final assembly for the first 200 units so we could ship our back-order tomorrow (Thursday, August 11th). I hate being out of stock, it's such a huge pain for our customers.
We noticed that many more boards than normal were failing the functional test (on the order of 10+%) but we pressed on using the good boards, not seeing anything wrong with the assembly (which is super clean and precise). Once we had the previously mentioned 200 Logics/Logic16s completed, we took a closer look at what could be accounting for all the failures. We soon noticed that the USB chip was running hot. In fact, it was running hot on the good boards as well as the bad ones! We measured the current of the boards, and double checked what it was supposed to be from a couple of boards we had from the last batch. Much higher. Note that this is the exact same PCB in both cases, and we are seeing this same current issue with both the Logic and Logic16 boards.
We had sourced these USB IC parts from Asia as we have for some time, and we immediately started to wonder if these parts were really what they seemed. I had always imagined that counterfeit parts were complete duds - basically no silicon die. I reasoned that there's no way that it would be worth it to actually reverse engineer an ASIC and reproduce it in a functioning form. There was little or no information online about this part, but I did uncover some random snippet that said the part was flagged for possible counterfeit activity just two months prior. Not a good sign. Searching around further, we learned that a huge category of counterfeit parts are what's called "reclaimed" parts, where discarded electronics are stripped of any high value components and then resold in fake packaging as new. This includes cleaning up the part and relabeling it in some cases with a new part number / batch number. Apparently this is a staggeringly large illicit business. http://www.hq.nasa.gov/office/codeq/trismac/apr08/day2/hughitt_NASA_HQ.pdf
We suspected that this might be what was going on - that the part in fact was a reclaimed (used) instance of a really old revision of the part we use - with a different part number -- and one that used far more current - explaining the run-hot behavior and high current measurements. We dug into the various datasheets for this part and its prior revisions / part numbers, and found that there was a hard coded "REVID" register which in a roundabout way reported what revision of the part it was. We rigged up some firmware to pull this register and pull it over to the PC. Sure enough, every last part was an old revision corresponding to a different (obsolete) part number - the parts had been relabeled with a modern part number.
Since we are out of stock and people have been waiting anxiously, we did briefly consider shipping the high-current, but otherwise working boards. But clearly would not be the right thing to do. We have no idea what reliability to expect and what differences it might cause in the firmware in edge cases - plus it runs hot and usesconsiderably much more current that are specification indicate.
The timing of this is terrible, in that we're desperate to get high quality product to our waiting customers - and now we need to rework almost 1000 boards. It's also going to be pretty costly, and not just for the rework. We don't have any idea if we can get any compensation from the supplier for these parts - in part because it's so damn hard to prove that they are counterfeit, you kind of need to be an engineer who knows a lot about this part to even tell. In addition we'll need to order replacement parts to the tune of $10K. Not cool. But I don't care about the cost nearly as much as I do about missing a ship date and upsetting our customers.
We're going to do rework over the weekend on this and hope to be able to ship existing orders on Tuesday. Distributors with open POs are going to have to wait a little longer I'm afraid, but hopefully only a few extra days.
We're refunding everyone's shipping and I'll be sending out an email to eveyone shortly. We're also offering to upgrade the shipping speed of anyone who asks. We very much realize this does not make everything okay, but hopefully it will help a tiny bit.
Back to it.
Doesn't look counterfeit does it?

Mark’s Senior Design project at ASU
Here's a few pics from Mark's Senior Design project, for which apparently they won first place. Maybe Mark will get around to adding a few words here but until then here are some pics:
Flight controller PCB

Ready for solder paste

Paste applied, ready for parts!

Assembly under way...

Fully assembled.

Professor takes the controls...

Cameron crashes (like you never have...)

This appears to either be a shameless plug, or a refreshing example of eating ones own dog-food.

The final plane, before solar panels

Demo day

Poster (full resolution PDF)

Long awaited 2nd product released into the wild
Logic16
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.
Logic16 Testing
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.
Pricing
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.
Tabs
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.
New packaging
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)
New inserts
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.
Vacation
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.
Prototype PCBs
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.
OneNote
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.
What’s next
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.
Moving
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)
Open House
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.
Graduation
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'

New packaging!

And the new inserts...

The panels for the local Logic PCBA build

Digi-Reels!

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.

An abbreviated pause for reflection.
Ideally when you write a blog post about your baby, in this case Saleae, you really need to be excited and proud of her. The last few days I haven't felt one way long enough to get anything down :)
In one, very real sense its kind of our moment of triumph - Woo Hoo! Cross Platform Software is Released! And yet you find yourself sometimes seriously wondering if the last two years of your life might have been much better served by staying pure Windows and releasing a flurry of awesome new products instead. Maybe it's the sort of thing you do after you're already successful and you can put an engineering team on it. Good question. But anyway here we are! And while we’re much farther away from having an awesome lineup of products than I’d like to be, when we do get there, our cross-platform position places a nice wide trench of sweat and tears between us and any competitor who wants to be cross-platform too.
I love that Logic runs on Mac now. I love Apple, and it’s great to finally be able to able to put up a picture of Logic running great on Mac. The software doesn’t look as good as I’d like yet, and lacks some key integration with OS X (it’s coming), but it would be difficult to argue that it’s not a really solid first step.
And now we’ve got a great offering for all the Linux shops out there. Woo hoo! Looks like embedded tools are increasingly going cross-platform (Xilinx comes to mind) and it’ll be great to be able to serve those guys now.
Another thing that’s cool is that I think it’s fairly safe to say that I’m unequivocally a Sr. software engineer now. This was not a walk in the park by any stretch. And I’m not sure that even now it would be very easy for me to do again. There’s a certain level of complexity at which you absolutely have to have a full-time, dedicated team with separation of concerns or it’s just not going to happen.
Private Beta
We’ve had the software in private beta for… I think ~1.5 years. Yah, that’s ridiculous. There were so many false starts and wrong paths... “Oh crap, if we do it this way we’ll just have to redo it again to support product X”. We had an initial version working and then decided that we had to switch to another cross-platform framework. Our initial revisions of the data pipeline (which were quite fast) had to be scrapped because they would have only worked with data in the format Logic currently provides. And being lead developer, and at the same time also the guy responsible for everything else that could possibly go wrong on the good ship Saleae wasn't helpful either.
Minh
My friend Minh, who helped me on the weekends for at least a year (and for a pretty meager pay rate too) – was absolutely instrumental in making this happen. He knows a lot more about hard core c++ than I did at the time. And also how to compile on different platforms, about binary comparability, and all that fun stuff. That’s the thing about c++ -- past a certain amount of complexity, you really better know how it works under the hood. I guess that’s true about .NET too, although it seems like you don’t hit that wall nearly as quickly.
Quick shout out to Stack Overflow – that site is hands down awesome, it saved my butt a lot. I have yet to post my own question, although recently I’ve been meaning to ask something about gcc.
Mark
By brother Mark spent his last summer in college (BSEE) out here with me hammering out code. He now knows more about c++, boost, stdc++, etc than I did 2 years ago. As usual, we figured we could finish it up (to the point it’s at now, basically) and launch our 2nd product by the end of the summer, with time at the end to go to Hawaii. Well needless to say that didn’t happen. =) But I think by the end of the year we’ll be about at that point. I’m really excited about the possibility that he might come out here most of next semester, as he only has one class. We kick some engineering ass working together.
The software needs more polish and bug fixes before it’s really solid, and I can’t wait for it to be really solid – meaning it doesn’t ever crash (or very rarely) – and doesn’t do anything stupid. Getting good crash reports back from the application in native code is not yet an art I have fully mastered, so that’s on the list as well. The code is littered with asserts, but some of the remaining issues are dreaded segmentation faults. But we do have enough log data give us a good shot at reproducing the issues.
I counted the other day, and the active code base consists of 236 files, half of which are headers. I don’t know how many lines of code, I looked briefly for something that could compute that (i.e. take out comments, lines with only brackets, empty lines, etc) but didn’t find much.
1.0.33
Over the past two years we haven’t made much progress on the Windows version (ol’ 1.0.33) of the software. Just a few odds and ends. In my mind, it didn’t make sense to continue working on a codebase that we we’re going to replace. (Not that it was - or is - clear that that's what we should have been doing). I think it’s a testament to the original software that despite not doing much with it, Logic continued to sell well enough to keep the lights on, and right up until this release continued to get praise from users. Not to say that all users we’re happy to be told that “we’re working on it” and “feature X will be incorporated after the launch of our cross-platform software”. And so that’s certainly one of the prices that was paid. We certainly listened, and I personally felt a bit sick inside every time I had to tell someone that x, y, or z isn’t something that Logic can do, but that “it’s on our list”. It’s a very long, very good list =)
John
Another key to this story has been John Montey. John steadfastly handles all the shipping and most of the non-technical customer issues, and anything else that comes up, which is plenty. He’s in Massachusetts now, which is why we’re shipping from there now. John’s set up an office out there and we moved out of the 2nd office we had over here. If John wasn’t with us, we would not be launching the software, no question. His ability to keep issues off my plate is the only possible way that this code is as far as it is now.
Turning 30
I turned 30 in March. I was supposed to have made it by now. What can you do be keep working on it. It’ll happen as long as we can produce great products that customers love. You might ask, in that case, why logic analyzers? -- to which I would answer, touché.
Scream Machine
Oh, I was really excited about this at the time – so as the code base got larger and larger, compile times were getting unmanageably long. First of all, it was a happy day when I discovered there’s a special command switch – not in the settings -- you can give VS2008 to have it compile files simultaneously if you have more than one core. (VS2010 may do this by default, I don’t know). This doubled our compile speeds, but still was not acceptable. At the beginning of the summer I put together a new workstation with parts from Newegg, the first computer I actually put together since college days. i7, 2.8GHz with hyper threading; 4 physical cores, 8 presented to the OS; and I think, anecdotally, that hyper threading is actually really beneficial for simultaneously compiling. And an 80GB Intel SSD. It’s a scream machine. I can rebuild the entire project in a couple minutes now. Recently I noticed that it wasn’t all that expensive for a 2-processor mobo – now that would really be awesome.
Logic gets a new design
Logic has a new form factor now. It’s milled out of a single piece of aluminum, so there’s no more seams. I’ve finally pinned down some metal finishing vendors who are reliable and do the finish I want (there are seriously only 2 or 3 in the US that have this process – and it was not at all easy to figure out what that process even was) so the Logics going out today have an unprecedented level of fit and finish.
The bottom of the device is an over molded, injection-molded part with our logo inlayed. I’m not entirely happy with it but it’s pretty good – and you never see it anyway. It needs to be grippier, mainly. But to do that we’d have make another tool (to increase the adhesion with a different junction design), and with our current cash flow that’s not high on the list.
There were a couple of reasons for the redesign. Mainly, I wanted to make the thing in the US, because we were having all sorts of issues getting these things made by our current vendor, and my efforts to quote it elsewhere in China, even with vendors I already knew and trusted, ultimately didn’t work out -- mainly (in retrospect) because I didn’t really know how to specify the surface finish. (it would be much easier now) But anyway, I also wanted more control over the surface finish, so that meant doing that in the states too. Also, the old design was a major pain to assemble. You don’t think about how many seconds something takes until you’ve actually had to do some operation 500 times on a deadline. And, lastly, I needed to try and reduce the machining costs if this thing was going to be made in the states. So I talked with our machine shop (American Prototype) and ultimately I designed the cost down to something that was reasonable. Much more than the price before, but the reliability and quality are impeccable. Total machine time per part is about 9.5 minutes over 4 different setups and 7 different tools. The majority of the operation runs at 75in/minute; 8500 RPM using a 0.375in diameter solid carbide end mill. Sound cool? That’s because it is.
It's pretty cool that the new Apple TV looks like a scaled up Logic :)
We also have a new carry-case for Logic, pretty much the same but has our logo on it – I really like it. Actually we’ve had this for a long time, just haven’t mentioned it before.
Space X
I followed, with much jubilation, as SpaceX put their Falcon 9 rocket into orbit on the first try. The sure willpower, and genius, and against-all-odds determination that Elon and co. exhibit are just stunning – and a real inspiration.
Well, that’s about it for now. I’ll have another update when we release the next product. Shouldn’t be too long! (famous last words…)
Thanks everyone!
Cross-platform? Check.
Horray! Stay tuned for a long-overdue post very soon. Meanwhile check it out http://www.saleae.com
seasickness
I remember a few years back an entrepreneur I knew mentioned that in running a startup one minute you’ll be ecstatic over how awesome something is or will be, and the next you’ll be ready to jump out your high-rise office window. At the time I didn’t at all appreciate this, but wow, that’s exactly how it is. All the time. One upset email from a customer, or some other reminder about how something is late, or not working, or whatever, and you’re like oh my god, we’re going to fail, and everyone hates us. Other times (late last night comes to mind) you make a breakthrough on something that had you stumped for a year, and all is good and right in the world. Then this morning, more bad news. Another day at a startup! Frankly, I feel a little seasick.
Right now I’m extremely frustrated/scared about 1) cross platform software isn’t done and has a ways yet to go 2) SparkFun has no inventory and won’t until Thursday this week and there’s nothing I can do to expedite it. I really don’t want to get on those guy’s nerves. 3) We’ve got a manufacturing issue with a new enclosure design (plastics related) and there’s nothing can do but wait for the next samples. 4) After being out of stock for a month or so, our cash flow is particularly vulnerable, and we won’t be out of the woods for at least another month 5) A number of other issues.
At the same time, sales are decent, and generally speaking customers are happy. Some certainly aren’t, and for reasons I empathize with (otherwise it wouldn’t upset me), but by and large people seem to understand we’re a small shop, we make mistakes, and we’re doing the best we possibly can. In fact one thing that makes me feel a sign of relief sometimes is that we do seem to have some decent amount of goodwill in the community, and that’s just priceless. Hopefully we can live up to that!
Some other good news: My friend Minh is taking a month off his day job to come help with the cross-platform software, so with any luck we’ll be able to push that to beta under his watch. The schedule (we use www.liquidplanner.com) certainly seems to indicate we can. We’ve got a ton of people on the “let me know when OSX/Linux support is available list” that haven’t heard anything because they signed up after the “alpha is out” email, and I’m desperate to get them an email announcing the beta is ready.
My brother is flying out a few times over the semester to head up some side projects that otherwise wouldn’t get done. That should be pretty cool. One thing I really want is a project blog, and so we should see that coming out soon with any luck.
First rule of sales is “sell what you have” so I can’t really go into anything else (product-wise) we’re working on, other than to say that I’m excited about it and I think it’ll be a nice offering. We’ll see how it goes. We’re not replacing Logic with anything more cool, so not to worry if you got it recently. And, I should mention that it won’t be coming out until AFTER the cross-platform software is out.
Oh, if you want to play with the cross-platform alpha version, just send me an email for the details. support at saleae.com
Back to it!
Random Updates
Had a nice, abbreviated Christmas in Arizona. I got a model rocket that I intend to do something cool with, like integrate a sparkfun module or something. Speaking of Sparkfun, how crazy is this Free Day thing? I’m excited to see how that all goes!
For various reasons related to the out-of-stock problem I got to do my own laser etching on Logic for the first time in a long while. And this is by far the most I had ever done, so it needed to be done right (I did have an entire 2.5 hour window at Techshop, but experience has shown that things never go smoothly with the laser). I did a bunch of prep work in illustrator creating all the artwork. I had to design up a little cardboard (only thing I had around the office that would work) jig. Overall it worked great, although it did smell strongly of burned cardboard.
My brother is out here over the winter break and we are hammering out the software 80hrs/week. The reason for the latest delay – with the analyzers – is that I realized about a month ago the entire data architecture would have to have a very significant overhaul in order to be future proof, and EVERYTHING depended on this path and what we had better do it now rather than later. This is largely completed, and now we’re more or less porting everything over to use the new data layer. It is necessarily complex, and we iterated quite a few times to come up with something that didn’t explode in complexity and edge cases once you tried to implement it. I think we have something really solid now, and most of the scary (i.e. I don’t know if this problem has a realistic solution) and mission-critical problems have been solved. Frankly the fact that this is really hard stuff, some of it, certainly keeps it interesting. I readily admit that on the surface a Logic Analyzer does appear very simple. It is simple, to a point. But if you want to do really cool stuff, and do it really fast, it stops being simple fairly quickly. Take drawing to the screen as the obvious example. On the one had this couldn’t be easier. Is the input high? Draw a line at the top, and so on. But what if you have 100M samples on the screen at once? Now every pixel represents on the order of 500K samples. You need to know if all these samples are one, or zero, or something else. That’s not necessarily easy to do quickly, particularly in the worst cases. That’s pretty much why the current Logic Software (windows only) can really only handle about 200M or so samples before it starts to chug badly when zoomed way out. It does some fancy stuff to make this much better than it would be otherwise, but ultimately we want it to be lightning fast at all zoom levels.
I’m liking Windows 7. OS X needs to deliver something really nice in the next release, we’ll see what they pull off. The iPhone however appears to really have a nearly unbeatable position, thanks largely to the apps. I recommend it hands down to everyone, if you can stomach the monthly payments. My brother has the Pre, which is pretty awesome. I haven’t played much with Android. I’ll bet Apple is steamed about everyone mentioning how the iPhone can’t multitask. It’s almost the only area where they are venerable, and it’s one of those things that most people don’t even know what it means, but that doesn’t mean it’s not hurting sales. If I were them I’d give in and do some sort of compromise – allow memory and processor constrained “mini processes” or something like that. There are some cool things you can do with that – such as make a pedometer app, or a GPS logging app. But they do have a legitimate concern, keeping high performance on a phone isn’t easy to do when managing a ton of virtual memory, etc.
Little milestone over here – UPS has a sales guy that now comes by and makes sure we’re happy and provides some pretty good discounts, over and above the ones you get just by having a daily pickup. I keep pestering those guys to get me some UPS posters for the office, and it paid off, now I have a little UPS cast iron truck model. I really like UPS, (and container boats) because they literally represent ‘shipping’ a product, which is kind of what it’s all about if you like entrepreneurship. By the way, if you’re really interested in entrepreneurship, there’s some really good talks by entrepreneurs on iTunesU, largely associated with Stanford. It’s a little bit hit or miss, but there are some serious gems in there.
One of my personal heroes is Elon Musk (I’m getting a Tesla Roadster to celebrate ‘making it’ when that ultimately happens) and SpaceX is just about ready to launch their big Falcon 9 rocket for the first time. I think they’re a little behind, and for sure the pressure is on. Talk about stress, and a hard core problem. Makes me less stressed about the comparatively minor fires that are constantly being put out over here.
We pulled all our inventory back in-house, and that’s where it’s going to stay. It’s too messy to try to maintain separate inventory at your assembler’s location. To the extent we need assembly help, we’re going to just kit it from now on. We also got another office/space at Activspace, so no I have a fridge (with ice, and iced tea, soda, etc) a microwave, and tons of these cool storage shelves filled with inventory.
Speaking of inventory, we continue to have some issues there. This was mostly caused by the Logic Aluminum case debacle, which has ripple effects. But here’s my new and improved philosophy, which is somewhat contradictory.
1. Finished goods inventory is king.
2. It doesn’t make sense to have uneven quantities of parts inventory because parts that can’t be assembled into finished goods inventory is just tied up cash.
3. It makes sense to have tons of inventory of the inexpensive components because this 1) doesn’t require substantial cash outlay, and 2) reduces to a handful the number of parts you have to actively and carefully manage.
USPS is bleeding money, I wonder what they’re going to do to fix that. Not exactly an easy problem... I don’t really like USPS (understatement), but still they are tolerable and for cheap international shipping they are the only option. That said, I hope to be offering UPS as well, internationally, very soon (just takes some IT work), as our costs for that are coming down due to volume discounts and it’s really the only way to get something oversees quickly, and I think some of our customers (typically businesses) would rather do that than risk the open ended customs delay.
All for now, back to coding!
American Prototype saves the day
Yet again Saleae stumbles in the inventory department. One of our suppliers (not the one in the title of this post) who makes the Logic aluminum cases failed to deliver despite massive lead time. Ultimately I'm the one at the helm of this thing so it's my fault. And certainly my problem! Here's some takeaways:
1. If a supplier has historically been late and otherwise problematic, that's not going to change with time. (maybe it will, but hoping is not a good strategy)
2. Order product from your backup suppler before it becomes obvious that you're going to go out of stock. (duuh, I know)
So I called up our first supplier (well, the first one who did serious quantities) and luckily for us they were happy to help us out. It costs much more of course but at least we have parts coming in now. Meanwhile we're quoting/sampling with another, lower cost supplier that I trust from the other stuff they've done for us. AP knows this.
Check this out. The bar stock at the left is what Logic is made of. It's extruded 6061 aluminum. The shiny machined piece is a LOGIC-TOP part, completely machined on one side. It's not sitting on a square piece of aluminum, it's all one piece. This gets turned over and the back side is machined. Then the part is "tumble de-burred" to clean it up and give it a smooth texture. Then they go off to the anodizer, and last they are laser etched.

When I was down at American Prototype I shot this video. You can't see much, but you get the idea. It was extreemly cool to see in person. I really like the automatic tool changes in particular.
Cross platform Logic software released; Linux and OS X users rejoice; Deep sigh of relief had by owner
Yesterday we launched the alpha version of the cross-platform software. (private beta) I wore my new Ubuntu t-shirt. It went fairly smoothly. On Tuesday night we sent out an email about 10% of the signups, and uncovered and resolved one mission critical bug on OSX. Since then it seems to be working alright for people. The release was very feature sparse. In fact other than collect and display data, and give parameters like width & frequency, it doesn’t do a whole lot. But not to worry. The hard part is out of the way now (I’m SO happy about that let me tell you, holy crap). The beta version (1+ month out?) will have all the features that the current windows-only version has. And then we at Saleae can sit back and just let the money roll in. Not really =) Making some solid software that both works well and looks good cross platform is not particularly a walk in the park in my experience. Actually, knowing what I know now it’s not all that bad. But if it’s the first time… ouch. I think that the result so far is pretty solid as these things go. The beta version will be top notch. Sr. software engineer quality on the inside.
If you haven’t noticed, we’re now up and running in the EU, selling directly to our customers over there. This actually has gone really well, with minimal issues. The IT stuff is pretty ironed out, just a few more things would make it a bit better. Order fulfillment automation is really effective for the first 95% of things you want it to do. Actually automating the last 5% in my view would take x2 as much effort as the first 95%.
Inventory is okay, although we’re cutting it pretty close right now. We’ll be building a massive number of these things within the next month.
My brother came out for about 3 weeks and in addition to putting in 80hrs a week into the company we also managed to get our certification for Basic Keelboat, woo! The school is OCSC at the Berkeley Marina. Highly recommended. It goes Basic Keelboat, then Basic Cruising, the Bareboat Cruising. The latter of which means you can go to the Bahamas and charter yourself a nice 50ft catamaran if you’re so inclined.
We managed to scrap together enough loose change to afford an intern, John. He’s still in school but will be giving us a hand with some odds and ends. Some good stuff is in the pipeline! No new product, but we should be doing some cool stuff with the website in the not too distant future.
A few weeks ago we got another suite here (these suites are tiny, btw) and it’s dedicated to shipping. I can package up a Logic in 15 seconds. =) Actually I haven’t timed it.
I can’t believe it’s already towards the end of August. At some point your hopes and dreams get dragged back a bit by reality. But not to worry, I haven’t lost the spark =)
Thank you to all the heroes out there for trusting Logic with your debugging problem! As always, drop a line if you have a suggestion.
What weights 25lbs and costs significantly more than my car? Why, this box of Logic PCBs ;)

Tool of the trade.







