Not your average LED control
This post is more about the boat project than the company, but like any good project here at Saleae, there is always some quality overlap :)
A few months back we bought up a few LED strips from AliExpress for the boat. Joe and I have some grand plans of lighting it up like Times Square, and we wanted to make sure we did a really good job. This of course calls for individually addressable RGB LEDs with a high refresh rate. We found just the ones, 5 meter strips with 30 LEDs per meter using the WS2811 module. We bought 5 strips, totaling 25 meters and 750 LEDs. (We're going back for more later)
Now there are a lot of different LED strips out there, with a handful of different interface solutions. SPI controlled LED strips are probably the most popular right now. However, these weren't. Instead, these LED strips have the controller integrated into the LED die, and use a custom control protocol. It's simple, but it can't be accelerated with your typical microcontroller peripheral.
What I wanted was an easy way to control a boat-load of LEDs with a minimum framerate of 30Hz. Once I finally found the poorly translated datasheet for the WS2811 module, I was happy to learn that the modules had a high speed mode that could drive 1024 LEDs at 30fps or 512 at 60fps – good enough for me! (We've designed the LED layout of the boat to avoid single strings over 512 LEDs)
The control problem
I think everyone playing with a lot of RGB LEDs does the math on this pretty early on. If every LED takes 3 bytes per color, I want to update then at 30Hz, and I have 750 of them, that's a whopping 67KB/s! (More when we add more LEDs) Oh, and since these LEDs use a specialized protocol, we can't use a hardware peripheral* like SPI, which means any microcontroller would have to bit-bang this protocol continuously.
*I'll wager you could use serial to drive these LEDs, if you were clever about it.
Let's take a moment to think about a few possible solutions.
Microcontroller with tight C/assembly loop. Ouch. If the CPU is writing to the output the whole time, who updates the animation? Not to mention there is barely enough RAM for a few frames at the most.
CPLD – well, we still need to get the pattern from somewhere. We could generate it from the HDL, but that's pretty close to the exact opposite of fun. Turns out streaming the animation over serial from the PC worked out great. This is the solution we're using now.
Use another handy USB attached output device. If only we had one… Oh wait! Logic supports output mode! That's right, in case you didn't already know; we have output mode support for Logic in our device SDK, with a C++ and a C# interface. Within 10 minutes of working on this, I had LEDs blinking, and within an hour, I had hacked together a sweet animation controller. Unfortunately, we dropped this solution as the netbook we wanted to use (and my laptop) have some serious performance limitations.
So, what did we do? We spun a PCB of course! We decided to go with a FTDI+CPLD solution.
Here are the specs. Overboard a little? (get it? overboard?)
- Drives 6 LED chains, 512 LEDs each, 30Hz. All individually controlled from the PC. That's a 3000 LED capability!
- Coolrunner II CPLD from Xilinx – 16MHz clock, 256 macro cell.
- FTDI basic clocked at 3m baud.
- Level shifter to take output pins from 1.8 volts to 5 volts.
- RJ-11 jacks for LED strips.
I wrote the VHDL and the C# desktop software. Once we proved out the design with a dev kit we had lying around, Joe designed and ordered the PCB, which James assembled. The VHDL took an entire night, not surprisingly. Everything else was pretty easy.
We power the LEDs with a 60 amp DC-DC switching power supply from the boat battery bank, which is a 48 volt lithium iron phosphate pack that's just under 2 KWh. The voltage drop across the strip is pretty bad, but OK for now.
We're going to run LEDs all the way around the perimeter of the boat, and then from the bow to the top of the mast to the stern. We're also going to run them inside for interior lighting.
Stay tuned for Joe's post about the electric propulsion conversion! We just got the motor spinning today, and test fit the assembly in the boat. It's getting pretty close!
Oh, and I fully intend to post all of the source code and board designs. I'll also post more photos and video once we have this on the boat too.
Also, we will be featuring these boat lights and the electric propulsion system at our open house this Thursday! If you're in the bay area, check it out:
Hello world, this is Nate. Last week, Mark and I attended the UC Davis career fair in search of Employee 6, a rockstar software developer. UC Davis is big. And flat. And this is probably why everyone seems to bikes everywhere – in fact, when we first arrived, I thought we were passing a biking club. Nope. Turns out that’s just UC Davis. It’s known as California’s Amsterdam. Known to me, that is, because that’s a phrase I just made up.
The UC Davis career fair was a lot of fun. We hooked up the boat lights around our booth and talked with some awesome students about the company, their interests/passions, and the meaning of life. We got our hands on about 60 resumes and we’ll be reviewing them over the next few days. They have some impressive students.
After the career fair, we met with Dr. Kent Wilken and some of his students. Dr. Wilken is a professor of the Electrical and Computer Engineering department and he’ll be using Logic this quarter for his embedded systems class lab. They are presently using Logic in their first lab to capture and analyze IR remote transmission patterns. The idea is for each student to have a Logic on loan throughout the quarter to use for their labs. He also told us it’ll be nice to have something the students can take with them everywhere.
We’ll be back up at UC Davis soon, talking with some professors, students, or maybe just riding bikes to feel like college students again.
For a holiday celebration, the Saleae team descended to Disneyland to ride some rides and experience the winter wonderland first hand. We started the day by riding It’s a Small World, the musical boat ride that’s a staple of the Disney experience. This would be the tamest of the rides for the day.
Next we went on a series of roller coasters like Space Mountain and California Screamin’. Personally, this was my first experience, and I have to admit I was a little anxious
Next, we hit up Splash Mountain, which was an interesting experience. Note to anyone going to Disneyland: opt for the back seats, unless you want drenched pants for the rest of your day. Not much more to say on that.
As nighttime came around, we topped of the rides with a trip to the Tower of Terror. Here we can see (from left to right) Joe, entertained but unimpressed, Allison not entertained or impressed, Nate pretending to enjoy the experience, Mark experimenting with free-fall and Jonathan looking on in awe.
After a nice dinner and some games, we were able to catch the color show and headed back to the Bay. Happy (Belated) Holidays to everyone!
Hi everyone, this is Nate checking in. I am the newest member of the Saleae team. This weekend, Mark, Jonathan and I had a chance to check out the Stanford Solar Car Project down in Palo Alto. Saleae provided the team with a few Logic16s for their car and they’ve made good use of them debugging SPI communication with some of their chips. The project is completely student-run and competes biannually in the World Solar Challenge, a solar-power car race in Australia. Right now, the team is gearing up for next year’s race in the summer of 2013. Code Team Lead (and driver) Rachel graciously showed us around. For more info on the cool stuff they’re doing, check out their website. Good luck in Australia next summer, guys!
Just a few parking spots away is one of Stanford’s autonomous cars. How long until these two projects converge into one?
On our way back we stopped at the Tesla Motors location down the street to see some electric cars on the market. Perhaps, in the future, Telsa will be making a solar-powered car on a consumer level.
We have 23 weeks before a theoretical April 1 launch date. So how are things going?
Unfortunately, just about everything is behind in one way or another. I know, who could have seen that coming. However, with that said, things are moving along and we couldn't be more excited.
Our new CSE/EE employee Jonathan started last week, and has been an extremely welcome addition to the team. You can meet him at our next open house. Jonathan is working on the EE test plan, simulation, automated implementation of the test plan in simulation, and GPIB based automated test. Right now he’s hacking the LTSpice .raw results file.
We’ve also hired a great guy named Nate to take over sales & marketing. Nate will start in about 2 weeks. We’re really happy with this hire, as we are with Jonathan.
Right at this moment Mark is at the UC Berkeley Startup Fair (http://ucbstartupfair.com/) with our humble booth filled with circuit boards – to try and lure engineers away from those all those lame web startups :)
We’ve been having tons of meetings with Avnet & various FAEs and sales reps. I have to say the entire semiconductor sales world is a bit of a jungle. It’s a game, like the rest of business and life I suppose.
Mark’s got must of his proof-of-concept type software tasks out of the way so he’ll be doing firmware development for the next 2-3 months. After that it’s pretty much pure software. Mean while Nate (different Nate) is bringing up the HDL.
We now have 3 different EE consultants looking at our stuff and I think we’ve got something that’s close. I think a lot of cost could ultimately be taken out but that’s a job for version 2.0. Meanwhile the amount of testing and rigor in this design is many times what we’ve done before. It’s a daunting amount of work but at least I think we’re doing it right and will be able to be fairly confident that we have something that’s good when we’re done.
The custom cable I’m getting built has been quite a challenge but that’s looking up as well. I have several different paths that could get us there now, including designing soldering fixtures ourselves (actually there are firms that do nothing but this, typically for PCB applications) and only having the cable manufacturer do the injection molding, packaging and test. What I really want is to pay for the review and design of the assembly procedure & tooling, independent of the selection of the end CMs. We recently met with a firm that appears willing to do just that, and has the engineering staff to do a good job.
Next for me is the actual enclosure design of the product, which I haven’t done much with to date. I’m not really sure what we’re going to end up with but I’ll do my best to make it as awesome as possible.
In addition I’m designing new carrying cases for Logic/Logic16. There are several reasons for this – we’re not especially happy with the current vendor for starters, and we also would like to design the case to lower our cost of international shipping (and pass along that savings). We also want to establish a good vendor we could use for the future product's carry case.
Our business plan is getting progressively more out of date, but I did very recently revamp the plan, and in addition our budget has been and continues to be super up to date. It’s all about who can we hire, what can we outsource, and how long can we do that before running out of cash. It’s a race between launching the product and running out of cash. Running fast increases the speed at which we can get to cash flow positive, but increases the burn rate, decreases the runway and increases the spectacularity of potential failure. The budget is a pretty powerful tool since it takes into account all sorts of things, such as loan paydown rates, interest payments, tax liabilities and payments, sales/COGS/overhead projections, as well as planned salaries and all the planned project expenses. I do very strongly believe that it is critical to maintain urgency day to day. Now, I’m not sure that large financial risk is the best way to establish that, but frankly it’s not a terrible one.
Mark mentioned we got a boat, it’s a 1982 Catalina 30 sailboat with a Universal Atomic 4 gasoline inboard engine. In case you’re wondering this is not an expensive boat. We got a comprehensive survey from a great surveyor and have a long list of things to fix/replace, etc. I'm tracking all those items Excel – it’s a fun side project. Once everything is all fixed then it’s on to the real fun, and I’ve got all sorts of crazy plans. The main thing is to convert it to inboard electric. This would probably 48V 4kWh system. In addition to propulsion, it’ll also have an inverter for 120V @ 30A. Solar power for charging too of course, probably 200W or 400W -- the idea is to make it totally off-grid. We’re thinking of using Ethernet and raspberry pi’s for everything, although that could change. I like the idea of spinning a CAN solution too. Mostly it would be off the shelf however, there's no time in the day to be designing solar peak-power chargers and 200A brushless motor controllers. More on all this later.
Well, back to it!
Hi everyone, this is Mark. I guess this is a guest blog post of sorts. A ton of stuff has been going on lately, and so I thought I might take a moment to share it. Really though I've been planning on writing this thing for weeks, but I never got around to it – now Joe’s making me :)
(skip down if you're just here for the margaritas)
First release from the new build system! 1.1.16 beta
Let’s start with the new beta release. I released the 1.1.16 beta (round 2) on August 30th. The new beta is much like the old one, but with about a dozen bug fixes, 4 new analyzers, and – most importantly – it was built with our entirely new build system! Steve is the hero of that story. Head over to our downloads page, hit the link for the beta, and sign in or create an account if you haven't already. All the info, release notes and side notes are there. I would love to write up a whole blog on the new build system, but so many blog-worthy things have happened since then I'll paraphrase. The new build system is based on c-make. The old one was all custom (Joe’s work) and would parse the visual studio project to get the files list and then generate command line statements to build the software in release mode with gcc. Debugging on anything other than Windows was so hard that I only tried it once. The new system no longer uses the visual studio project as the master project configuration. Instead, everything for the project is in cmake, which can be used to either build the software on any platform or generate the project files for any IDE. Now we can (and I have) debug(ed) on any platform with ease! The system also includes scripts to build our dependent libraries, both SDKs, and unit tests. The icing on the cake is a SSH based network build controller which lets me build the entire thing, and even package it, from one command. In short, it takes all the pain out of building. Also, now that we've moved to git and have started using branches properly, we can easily build versions of our software one-off with minor tweaks. I've already posted a version that counts the transitions between the timing markers. We can also build third party analyzers for all the platforms pretty easily too, so I've extended this offer on our forum.
Of Hack-a-thons and Margaritas!
Ok, so that wasn't as short as I intended. Next though, I would love to share with you something I built at a hackathon two weeks ago with some of my friends. If you don't know what a hackathon is, stop here and hit up Wikipedia if you're interested. The short version is that it's something between a party and a completion where everyone makes something they think is cool (usually with code) and sometimes there’s prizes. They tend to go on all day and all night. Techcrunch.com hosts a big one here in SF every year, and at the last second I decided to go.
I should take a moment to let you know that most people write software at these events – usually a fun website or iPhone app. Some kind of game, social media thingy or whatever. Almost no one makes hardware. We did.
Specifically, we decided to make an iPhone controlled Margarita maker. Why? Just google search for “siri margarita” without quotes, and you will find out why.
Basically, the plan was to buy a margarita maker, attach a motor to the spout handle, connect relays to the blender controls, and then interface those devices to a microcontroller connected to the internet.
Now, we could have just made it controlled from a mobile webpage or an iPhone app, but we wanted to take it one step further. The iPhone 4s (and now the iPhone 5) has a virtual assistant named SIRI. Siri is really cool; she can find restaurants, look up stuff on the internet, update your calendar and more all from voice control. We decided we wanted to use SIRI to control our contraption, so that we could just say “SIRI, tell margarita to pour me a margarita.” Now, the specific syntax/wording of that command is derived from our need to use SIRI’s text messaging capabilities. There is no SIRI api, so we needed to find a way to use what features she already had to help us get drunk. In this case, you can tell Siri to send a message to one of the contacts in your phonebook. We created a contact called margarita, and added a phone number.
The next step was to go from text message to sweet sweet tequila bliss, so we signed up for a Twilio developer account and added a phone number for receiving text messages. When this number gets a text, a message is sent to a web server of our choice. Next, we built a quick python app and loaded it on Google App Engine to receive our text. We still need to get that message to the margarita maker though, which was going to require some sort of internet connected gadget. We started with an Arduino and a wireless module, when we had the good fate of a visit from Eric from Electric Imp. Electric Imp is a wireless module and processor in a tiny package shaped exactly like an SD card. However, it is not an SD card, nor is it anything like the Eye-Fi wireless SD cards for cameras. This little guy can be programmed with a wireless network name and password – optically. That’s right, there is a mobile app where you type in the ssid and password of your wireless network and it blinks out the info into the electric imp. We were all impressed, but that’s just the beginning of what makes it awesome. Like the Arduino, the Eclectic Imp isn't programmed in some hard to use language like C or assembly – which is critical when you're at a time limited hackathon. Instead, you can program for it in squirrel, a simple scripting language that looks like C++, and acts like C#. That being said, I never heard of it before this moment. Turns out it’s super easy to learn.
The Electric Imp never needs to be connected to your PC to be programmed. Instead, there is an online IDE for it on Electric Imp’s website, which will let you program your device through the internet connection you just set up. This let us scrap the Arduino and the wifi module – and saved us a ton of time.
There was one last missing piece – the connection from the python script on App Engine and the Electric Imp module. Turns out the Electric Imp service includes some nice HTTP post and get features which let you call a function in your code from a http request! That solved it. The complete loop is:
SIRI assistant on iPhone -> SMS to Twilio -> Google App Engine Python -> Electric Imp’s cloud service -> Electric Imp -> Motors and relays.
We wanted to add a few more intermediate steps just to pad the presentation, but this was long enough. On a side note, I should mention that every single one of these steps was a push operation. Nothing was polling for new requests.
So, it worked. We were up almost all night, visited Ace Monster Toys, a hacker space in the east bay to laser cut one of the parts, we got only 2 hour of sleep, and had more problems with the wifi at the event than I could have imagined (but it did work during the presentation! The second try…).
Video of it in operation:
TechCrunch decided to interview us right after our 60 second demo!
Also, here is our 60 second demo. The first time we tried to make the margarita, SIRI didn't interpret the command properly. I used the single use manual override to pour the first drink. I poured the second drink my manually sending the activation text message instead of using SIRI. (SIRI was too slow given the time frame for a second try)
Obviously a Logic16 was used during the development of this product, making it officially supported by Saleae. Woot!
Last week we took the Margarita Maker to Twilio’s headquarters in downtown SF to show off what we did with their API. Everyone loved it!
Boats, Batteries, and DustBusters
This would be the end of the blog post if I managed to write it last week, but one more thing happened in the meantime. Let me start by saying that Joe bought a boat a few weeks ago – an older Catalina 30, in amazing shape. It's a super fun boat which I will let him talk about in his next blog post. I just want to mention what happened Saturday night.
That night we went for a sail with James, my friend and our part time employee. We motored out of the marina, raised the jib (It was dark and I was too lazy to raise the main) and sailed around for about an hour. The whole time we left just about every light on in the boat. At this point I should mention that boats like these have two big lead acid batteries. They are connected to all of the boats systems through a big rotating switch, which lets you select battery 1, battery 2, or ‘All’ where both batteries are connected in parallel. We left the switch in the ‘all’ position after we turned off the motor, when we should have switched it to either of the other positions. Basically we drained the battery – not sure how, but either they were almost dead to begin with, or they are at the end of their life span.
So skipping ahead, we decide it’s time to head in, but the motor won't start – both batteries are dead. Not good. Although we are on a sailboat and should be able to get around on wind power, we have two problems. First, the channel into the marina is dead up wind and very narrow, and at this point there is barely a whisper of wind left at all. After a half dozen failed attempts at tacking our way into the marina, we backed off and dropped the anchor to brainstorm some ideas. After contemplating making James swim to shore, trying to dock at a peer that was 20 feet out of the water, and making oars out of materials around the boat, I stumbled upon the cordless dustbuster we had on board, which read 15.4 Volts on the back. At first I dismissed the idea because A) the battery pack was not removable and B) it was stupid, but later Joe asked, what about the dustbuster battery? At this point I was bored and willing to try anything, so I set to work disassembling the dustbuster with the tools on board while Joe accessed some wires connected to battery #2.
Within 5 minutes, I had results. A 14 cell NiCad pack with neat blade connectors poking out one side, measuring around 16 volts. Joe made a makeshift ground connection, and I racked my brain for the worst thing that could happen if we tried to charge a 79 amp hour deep cycle lead acid battery from what couldn't have been more than a 2 amp hour NiCad pack. After telling James to man the fire extinguisher, we connected the batteries and watched the voltage. After checking the temps on everything with my hands, we started a timer for 5 minutes, while Joe held the power terminals connected. After 5 minutes, we checked the temps again as well as the voltages of both batteries while disconnected, and started the timer for another 5 minutes. By this time, the wires shorting the packs were pretty warm, but still OK. We ran this charge system for about 15 minutes before we decided to try the motor. I think we were all convinced nothing was going to happen, but when Joe turned that key, low and behold, the engine actually budged a few turns. There was hope! Unfortunately, we had discharged the NiCad pretty far and it was now pretty hot. We decided to go to our second plan – connecting the boat batteries in series and starting the boat with that. Joe disconnected everything from battery number one, and tied them in series. Then we connected what we thought was the starter positive cable to the now +24 terminal and crossed our fingers – nothing happened but a bit of sparking. Good, all the electronics on the boat didn't just spontaneously explode like I had imagined. I should mention that our knowledge of the boat’s wiring greatly improved after we rewired the whole system the next day. I silently held my breath as Joe turned the key to start – and the engine sprung into life! God I was happy, partially because this meant I was going to sleep in my own bet tonight, but mostly because we just used our brains to think up a way out of an otherwise hopeless situation. Also, because now I can proudly answer the age old question, can you jump start a gas engine with a dust buster?
Note: We could have also called vessel assist and gotten a tow for a few hundred bucks. We could have also tried harder to hail a boat for a lift. Our plan was to spend the night on the boat and sail in the next day when we had enough wind to make it easily. We had working phones and a VHF marine radio the whole time.
We’re new half way through phase 2 of our project plan, which puts us at about 3 months in. There’s 5 phases total for an April release. Mark’s stuff is going pretty well, it looks like he’ll probably hit all or most of his milestones. My stuff is not looking quite so good. The idea is to have a functional complete board sitting on my desk by the end of this phase, and that’s probably pushing it. In addition I’m supposed to have an enclosure design and a wire harness designed both prototyped and on my desk. We’ll see what I can do. Unfortunately things keep coming up that demand attention. Right now I’m debugging something with our ERP software. It takes like 15 minutes to run so I figured I’d hammer out this blog entry while I’m at it.
First PCB for new product
I did get the first proof of concept PCB back – built it up and tested it out. This board only tests out a small subsection of the functionality. A lot of it worked fairly well, and most of it didn’t. Not too surprising, it’s on to rev 2. I think I know what I’m doing a bit more this time. Good thing we’re going through all this so early. This next time I’ll be using bench top power supply with three outputs – no more building up switching power supply solutions for proof of concept boards.
New Cross Platform Build System
Steve has created us an really nice cross-platform build solution, I’m pretty excited about it. It includes a full one-button build capability that runs across several machines and packages up all the results. It even pulls down the latest build from Git automatically. It also will let us easily debug and commit changes on the various platforms, using Eclipse (Linux) and XCode (OS X). Mark’s putting the finishing touches on that right now but we should have a new beta release very shortly (next few days).
64-bit Native Build on Windows & OS X
Along with the new cross platform build system we will now be releasing a native 64-bit version of the software for Windows. Mark played with this and managed to get the software to allocate something like 25GB of data. So if you want to capture a gazillion samples on Windows (and want an excuse to buy a ton of ram for your machine) you’ll soon be able to. We also will have native 64-bit on OS X, and 64-bit Linux as we have for some time.
The ERP software we wrote to manage inventory and synchronize web orders with QuickBooks has been working pretty darn well. It certainly has its issues but for the most part it keeps us 100% on top of inventory. We actually have not taken physical inventory for a very long time. We did formally take inventory last week, and we weren’t too far off. We’ve updated the inventory counts (such that it matches what we actually have on hand) and we’ll take inventory again in a month and see how far off we are then. We made a spreadsheet that in principal should make taking inventory pretty painless – mostly by weighing the various boxes.
I’m super happy to report that one of our potential lenders came through and we’re 99% of the way to having access to some extra funds. We got about 80% of what we asked for, which should work very well. I think we’ll have access to the initial funds in the next couple weeks.
We’ve registered the “Logic” logo and the Saleae name with the USPTO. So that’s good. It'll take quite a while before we hear anything back. The lawyer we’re working with on that is super nice and knowledgeable and has made it all quite painless. It’s something we could have probably filed ourselves, but I really don’t need another project so was happy to have someone take this on.
New Saleae Logo
I decided we should refresh our Saleae logo, so we had an interesting time doing that. I’m pretty happy with the result I think, but ultimately it’s all about how the logo works in the context of the website and other materials. That’s pretty far out still, so the “unveiling” will have to wait.
Saleae open house
On July 26th we had a great 3rd open house! Thanks again to everyone who came by. Next time I want to come up with something really cool for people to tinker with – like a big tank of water and an Open ROV -- http://openrov.com/. Maybe a presenter as well.
James, Mark and I successfully went backpacking a few weekends ago and it was awesome. It’s was fun getting together all that equipment, trying to optimize the wright. We went to a camp site this time, which had extremely minimal amenities – but next time I want to just go somewhere completely off the grid. I’m really not sure what the various laws and rules are for that sort of thing, or how to find out.
Mark went to a coding competition which was apparently a crazy experience. Some of these guys are just off the charts at what they do. Crazy smart.
Mark and I got one of those Logitech G27 force-feedback racing wheels, and we’ve been playing with it a little on iracing.com. It’s surprisingly good. The H-pattern shifter makes shifting very natural – pretty much how I drive my own car.
Had to love the new batman movie, am I right?
We looked at a couple of inexpensive boats these last couple weeks – there’s a marina a couple miles from the office at we’re thinking of parking it here.
Bikes at the Office
Mark and I both have our bikes at the office now and are biking a few days a week. Works pretty well!
A couple months ago I started working out with a personal trainer and it’s been great. The most important thing is that it causes you to go work out. I’m just doing weights once/week and hit the bike at work other days. So far so good.
The past month has been all about product development.
We’re also raising some funds, or in any event we’re going to try, and we’ve got meeting with a few bankers in the next couple weeks. I think we can get a loan no problem; the issue will be how big we can get it. We’ve got some flexibility but we may need to go to Angels if it doesn’t work out. Honestly I really just hope it works out because then I could just get on with it. We’ve got to raise a fair amount, somewhere north of 100K and south of 1M to be vague about it. I just finished a full blown business plan and forecast, and I’m particularly pleased with the forecast. I redid it from the ground up to be maximally simple but still cover all the categories we need.
Mark’s exclusively on software, as is Steve (our new Software contractor). Nate, who worked on the Logic16 HDL last time around, is on hardware, firmware and HDL full time, but we’ll be outsourcing a lot of the actual schematic capture and the entire PCB layout to help speed things along and reduce the risk. I’ll be directly responsible for enclosure and cables, as well as marketing. The most important thing is making sure we make a product that is awesome.
We’ve got a plan that stretches from now till the finish line in April of next year. Frankly, what we’re doing is extremely ambitious. It’s really going to test out if I learned anything from the last four years. Probably the biggest risk is software, followed by hardware, followed by a laundry list of other potential land mines. We do have an unprecedented amount of talent to bring to bear, but Logic16 was comparatively straightforward and still took just about forever to get released.
Right now we’re revamping our entire build environment, adding unit tests, and formalizing QA. Mark has been researching and proving out a bunch of the different software related technologies we’ll be using. We’ve documented our current software architecture, and right now are designing what the API-level functionality of the new architecture will need to look like. Then the idea is to build the new architecture up in a way that co-exists with existing functionality, such that the old functionality can be slowly switched over to the new system and the software is never unbuildable for more than a couple days. In principal, it should work well.
The downside of this of course is that it pushes out all the new features. The upside is that we should be able to push out new builds even while all this is going on, integrating, for example, the additional analyzers we’ve had built over the last few months. Have I mentioned we have JTAG now? Write Mark at @ firstname.lastname@example.org to get it before it’s released in a month or so. There’s a few other big ones in the works that should be out in a month too.
Our new methodology for this is that we will do (1) component selection and block diagraming for every non-discrete part. That’s what we’re doing right now. Then (2) we will hand this off to a contacted firm to turn this into comprehensive schematics. Then we’ll review that in detail, as well as have at least one other contractor look at it. Then it’ll go back to the same firm to be turned into a PCB layout. The only part I’m not sure about is how we’ll specify form factor requirements. I’m not worried however, I’m sure I can just specify this with SolidWorks drawings. Depending on the perceived risks at the time, we’ll either shoot for a form factor board right away, or, more likely create something half way in between, so that most of the routing doesn’t have to be thrown away. We’ll have to make sure that either way the board is easy to debug. As we get a little further down the road will do the exact same thing for a dedicated functional test board. The functional test will be extremely comprehensive.
Enclosure and Cable Work
I’m going to start on this this week. I’m much more worried about the cable design than I am the enclosure, since the most important thing will be to find an awesome manufacturer for this. This thing has to be Fluke quality if you know what I mean. I’ll probably fly around and visit some.
Visit to Metal Finisher
Last week I flew out to visit with our current metal finisher, to try and put to some bed some issues we’ve been having. That went extremely well I’m happy to say. No more messing around over email, going in person is the way to go. In addition it was awesome to see their facility; we actually ran a couple Logic parts through entire the process while I was there.
SpaceX, Tesla Motors, & Apple
Some big events during the last month. I really enjoyed the latest Apple keynote, and am excited about some of the stuff coming up in iOS 6 and Lion. Of course, SpaceX told its critics to go screw themselves by successfully docking with the ISS in an awesome, flawless mission. And lastly, Tesla Motors started to ship the Model S, which has so far gotten rave reviews. I’m super excited about it.
Inventory has been going very smoothly lately. We’re ordering pretty much on time (thanks to a bunch of software work), consistently, and we have been able to do so because of pretty nice jump in our Wells Fargo line of credit. Could it be that our inventory woes are finally behind us? We sure have a lot of cash tied up in inventory. The problem is we still have a bunch of suppliers that have really long lead times and require most of their payment up front. That’s not really the only issue – but now that we can afford the working capital, it sure is worth it not to go out of stock. We don’t have the typically issues of inventory obsolescence or devaluation, at least not yet. Replacing a product with a newer version on a particular day is a very interesting challenge. Not one that we’ll be facing any time soon, but eventually…
Extra Curricular Activities
Mark’s been learning to kite surf, which is apparently awesome. He’s got this trainer kite that a blast to fly, and pretty amazing really. I went camping recently, for the first time in years which was great. On the day of the Venus transit, Steve brought in his telescope and we grabbed some photos and hung out in the park. Allison got a brand new car, woo hoo! I’ve started working out again, finally, and I’m excited about that.
I keep thinking about how to swing some crazy thing where I somehow get a sweet garage and start a hobby where I slowly fix up and repaint my entire car, but then reality sinks back in. Same deal with living on a boat, getting a Tesla Roadster, or getting a pilot’s license. Keep telling myself it’ll make a lot more sense once Saleae is doing as well as we’re all shooting for. I don’t know about this continual living in the future thing, but at least I feel like I’m getting somewhere with Saleae.
Make or Break
It’s a super exciting time in the company’s history. We’ve got a pretty good plan and if we manage to execute against it I think we’ll really have something. There’s a very good chance we’re overreaching on this one but if it was too easy someone else would have already done it and in any event it wouldn’t be worth getting excited about. Next blog update (next month) we’ll be at the end of “phase I” so I’ll have more to report on how funding looks and how progress has been.
Wow, it’s been a busy couple of weeks, culminating in an amazing weekend introducing Logic and Logic16 to people at Maker Faire. ~300 people entered our raffle for one of 5 free Logics, and we’ll be picking and notifying the winners today. Mark demoed some pretty neat software functionally he’s been working on, and while our robots didn’t behave quite like we wanted, they did fulfill their role of providing a concrete example of what our product is used for. All that said, we’ve got tons of ideas about what we can do much better next time.
First Trade Show
This was our first real presence at a trade show (in a lot of ways Maker Faire is a trade show). Given the time and resources we put on it, it went extremely well. I don’t have a very accurate number but it must have been on the order of $7-$8K, not including salary or opportunity cost (the last point going without saying).
Why Maker Faire
We decided to do Maker Faire because it’s a fairly low maintenance show, nearby, and expectations for a booth -- certainly esthetically -- are fairly low. Even so I think our booth conveyed the brand fairly well, although far from fantastically – not a bad first booth in any event.
When we eventually do ESC and shows like that I want a hands down incredible brand experience. But that has a lot of difficult and expensive and time consuming prerequisites. And if you’re going to do something, do it well, or don’t do it at all. Of course, I can think of lots of things we aren’t currently doing particularly well, so... But you get the idea.
Takeaways from the weekend
It was a bit of a transformative weekend for me personally, to be honest. Lots of insights I didn’t have before. Here’s a few less-than-profound ones:
1. Our (future) sales force / outreach team does not need, generally speaking, to be engineers. Even people who are hardware engineers all ask more or less very predictable questions. I was amazed and thrilled as Allison (our awesome new office manager) picked up the responses to most questions and rarely needed to refer anyone to Mark or myself.
2. Most potential customers who came up had not heard of this. Anecdotally at least, we’re not running out of new customers. Excellent. It’s always a naive worry of entrepreneurs (or at least me) that everyone who would ever want your product already has it.
3. People really like raffles. This is a bit unintuitive to me, but hey, that’s great. I have a lot of ideas around this.
4. I have a completely new view on one of the directions we should focus for our next gen product line. I’m afraid it’s not something I can really talk about here since it is very strategic, but I’m very, very excited about it. Come to the open house and I’ll tell you all about it if you’re interested.
Thoughts about the next show
1. Right now I think we’ll try and do the ESC Silicon Valley show in ~April next year. We’ll want to do this extremely well, so that will take some serious prep and more than a bit of cash, but I think it will work well with the other things we want to be doing around that point next year.
2. We need to look into more shows that we might do next year. (No more this year I think. We need the new product lineup first.) CES I think actually could be good for what I have in mind. The bigger and more mainstream (that we can get away with) probably the better. Embedded shows are great but I think the potential market could be bigger than this. (Not for Logic16 so much, but maybe for some other stuff)
3. I like our booth in several ways, and I think we can build on the theme really well. One thing that was an issue is that our signage was too small, and we did not “block out” the booth next door, so their signage was kind of associated with our booth. I’m really excited about the theme (perhaps motif is a good way to put it) I have in mind and how we can work that in with the brand. Going to be doing some major overhaul of the brand shortly, btw.
4. I think the corner booth we had was totally worth the 10% extra we paid. I think that two end booths back to back would actually be the ultimate. Maybe we’ll do that next time, and I have at least a vague idea of how we could lay that out. I want people to be engaged without needing to enter to booth, as well as have some sort of reason to then enter the booth as they figure out that it’s something really interesting. It should probably literally be planned in one of those N-step psychology book type ways – attention, then interest, then… worth at least looking into. Made to Stick is a pretty darn good book, btw.
5. There are three basic designs for a booth: 1) Mom and pop. These folks put their stuff on the provided table with the cheesy table dressing and that’s that. Good for them, but obviously that’s a bunch of crap. 2) Folks who spend 10K + getting a flashy hip booth with lots of trendy signage and predictable booth accessories. This may make you look legit, but it also makes you look like everyone else, and most importantly -- is lame. 3) Folks who have a totally unique and memorable booth that’s totally not canned and conveys their brand in a really effective way. Maybe you’re selling surf boards and you have a a tiki hut with real sand and a kiddy pool and margaritas, or whatever, but it’s dramatically different, and fresh, and shines out from the mediocrity. In a word, it’s exceptional. That’s what we’re going to have. I like the tiki hut idea but we won’t be doing that sorry to say :) I really would like to…
6. What we did for this show is use stuff we had from the office. So rather than buy a bunch of junk that only gets pulled out for a show, we can invest in having really nice on-brand stuff at the office that we can steal for the occasional show. Obviously this doesn’t work for a show outside the US/Canada, and isn’t scalable, but it’ll work for now.
Just some thoughts, and all of it could be argued, but there you go.
Hawaiian company vacation
Lastly, trade shows – this one included – are pretty nice bonding events for a company and for companies in the same industry, but with a business purpose. Although we really need to do a Disneyland day (why not!) as well as a more extensive Hawaiian company vacation/retreat type thing.
Setting up the booth:
Our humble booth:
Both traffic varied, but at least half the time it was totally packed.
Joe (left), Mark (right), and Allison (center).
Hi everyone, this is Mark. I would like to invite you to visit our booth at Maker Faire this weekend, in San Mateo, California. If you can’t make it, be sure to follow us on twitter to see updates and pictures from the event!
What is Maker Faire? From there website, makerfaire.com:
“A two-day, family-friendly festival of invention, creativity and resourcefulness, and a celebration of the Maker movement.”
I would call it something half way between a trade show and a party, filled with crazy inventions, hobbyists, small companies and big ideas. Joe and I attended last year as guests, but this year we are bringing a booth!
I don’t want to give it all away, but we’re planning on having a cool, interactive demo to show off Logic in action (which I built), and Joe and I will be at hard at work before then to see if we can get one or two really cool new software features ready to show off as well. (But I won’t promise anything!)
Also, if you are in town, but can’t make Maker Faire, you can still see our booth! We are having an open house at our office on May 24th. We will have our booth setup in our office the same way we will have it set up at Maker Faire.
All of the details are on our website:
This will be our second open house. We had our first one in February, which was a lot of fun!
I hope to see you there :)