Home-brew Computer: Modeling with Logisim

I recently discovered Logisim, and incredibly powerful discrete logic simulation program. It’s free and open-source. For such a simple program it’s incredible what it can do, from simple simulations of gated-logic all the way to components of ROM (into which you can save opcodes for a program) and RAM. It even has keyboard and TTY simulation support.

I’ve always been fascinated by how a modern computer is built from the most simple components. Transistors and clock signals can grow into something programmable. In college we had fun with FPGAs but I find there’s something magical about making non-programmable circuits into something programmable.

Over the coming months I intend to build a computer from discrete logic components, starting with transistors and moving up as far as I can with Logisim. Lots of people have done this, so it’s nothing new, but I find the discovery process will be helpful for my understanding of how computers come together. I may even breadboard the final design once it’s complete and have my own home-brew computer!

Home-brew Computer Step 1: Transistor to Gate Logic

Home-brew Computer Step 2: Gate Logic to Memory

Home-brew Computer Step 3: D Flip Flop to Memory

Deriving the Counter Dilution Formula for Pro Rata Rights

Finding the Investment amount if exercising Pro Rata Investment Rights.

anti dilution formula

As discussed in an upcoming post, the following demonstrates that execution of Pro Rata Rights and the resulting new investment amount is independent of the company’s valuation. The portions containing the pre-money valuation cancel themselves out and in the end only the new investor’s investment amount determines how much an existing shareholder must re-invest in order to not be diluted.


This makes sense conceptually if you think about it. For example, if the valuation is low, you are strongly diluted but can purchase new shares cheaply to compensate. On the other hand, with a high valuation the shares are expensive but you are not diluted by the new round as much.

Using FCC Filings to Find Hardware Tech Specs

Just about all hardware startups involve some kind of wireless communication.  Whether WiFi, Bluetooth, Cellular, or other protocols, wireless communication allows the user to interact with the product remotely and conveniently.

What most first time hardware founders don’t realize, however, is that any device which actively sends radio signals must be approved by the FCC. Specifically, a FCC approved lab must test the radio to ensure that it complies with FCC Part 15 rules pertaining to unlicensed devices (so that your users don’t need to be licenses to use the product). Outlining the steps for this approval is beyond the scope of this article, but this approval is always required for a product to be sold in the US.

This means your competitors have had to go through the process as well, and the FCC publishes publicly the results of the testing and certification online. So you can go to the FCC website and find out quickly information about any product with an FCC code.

By law the FCC Code is required to be on the radiating device. This is typically on the back and is comprised of the Grantee Code (the company doing the authorization) and the Product Code. The Grantee Code is assigned to the company but the company can choose the Product Code, so long as it is unique within their product list. (For the curious, the above codes corresponded to the Apple 4S).

To find information on a wireless product, go to the FCC’s OET (Office of Engineering and Technology) page for Original Equipment Authorizations:


and enter the necessary information. In my personal experience, the Product Code rarely matches exactly to what is in the FCC database, so you may need to simply enter other information like Grantee Code and date range, and try to find your target product manually. For example, entering Grantee Code BCG and limiting the list to the 1st six months of 2014, we find the following product (they all have the same date and code, so this is probably multiple authorizations on a single product).

You can tell from the frequencies that this product uses WiFi (802.11bg,n) as well as cellular signals (849.0 Mhz is a Cellular Phone frequency).

When we click on the 1st link “Detail”, we find additional information about the product.

A good place to start is confidentiality letter, since this will outline all the items that the Grantee (Apple, in this case) is requesting the FCC not to publish as trade secrets. These typically include bill of materials, diagrams, and schematics. Even without these documents however, we can still learn much about a product. For example, if you click on the document “Reg Label Location” (which shows where a final product’s FCC Code and Compliance Statement will be), you see that the product is a new version of the iPad.

Apple managed to keep all photos from being published for this product, but typically test setup photos for the tests will be included, as well as internal photos of the circuits. Both can be very useful in figuring out what chipsets a product uses.

For example, if you search for FCC Grantee Code Q87 (Linksys, the maker of WiFi Routers) with product Code WRT600NV11 , you find a nice list of photographs available for the public to view, including internal photographs, antenna photos, and test configuration photos . (This product is a 2007 version of the WiFi N Router).

By clicking on Internal Photographs, it looks like this Linksys Router is using a Broadcom wireless chipset, BCM5354KFBG. If we felt so inclined, we could go to Broadcom’s Product Brief for this chipset and find out its capabilities.

Success-Based Sales Consultants – it’s about the cash flow (again)

Especially in the beginning, B2B startups often find themselves without the capacity or network to hit up potential customers on their own. A common practice of having an external consultant or expert in the market help with introductions and sales pitches can be very helpful, provided the contracts with him are done correctly. The typical agreement is that the consultant will help with lead generation, follow up calls, introductions, and material preparation and in return receives some percent of the revenue that results from a successful deal.

The problem with this solution is that most of the time the consultant is owed his percentage or flat fee at the time of closing with the customer, while the customer pays the startup based on some other schedule. For example, at Day 0 the startup and the customer sign a contract for 100T€ over 12 months, payable by month. If the consultant has a 10% success fee (or flat fee), then depending on how is agreement is worded, the startup owes him 12T€ immediately at Day 1, before the customer has paid anything! At Day 30, the customer finally pays the 1st month’s payment of 8T€ to the startup, but the startup is still had a negative cash-flow for the month. Now imagine it was a 500T€ contract payable by quarter over 3 years. In this case, the startup has to pay the consultant 50T€ even though he will see his first payment 3 months later! For a startup with very little working capital this can be deadly. It becomes even worse for the startup if the 1st XT€ of income go to the consultant up to his percentage amount or if he has a flat fee per customer.

As bad as this can be, it can even be worse if the output of the consultant’s contract is not perfectly aligned with the startup’s input needs. In the example above, there was at least an alignment in the consultants output (a closed revenue-generating deal) and the startup’s needs (a closed revenue-generating deal). But all too often the consultant’s deliverables are not directly tied to revenue (or whatever other metric the startup needs). For example, if a consultant is promising to open up his network, it would be very easy to agree to a flat fee of 2T€ per introduction in the market vertical that the startup is trying to penetrate. But what happens after 10 introductions and no follow up? Now the startups pays 20T€ and received zero economic benefit for the consultant’s work. Or think on the situation where an app startup agrees to pay a marketing company based on the number of clicks on its website or the number of downloads of its app. If the revenue model of the startup is based on usage of the app, then this could be a very bad deal. At the extreme, the startup pays the partner for downloads but the app is never used.

So bottom line is to make certain that the contractual incentives for the consultant are exactly aligned with what the startup needs.

(By the way, the amount of effort that goes into partnering with such a consultant should be the same as any hiring decision, make sure you know what you are paying for. A founder cannot say “well, we only pay him for success, so what’s the worst that can happen?” but rather should establish his experience and contacts in your target market. Keep in mind, this consultant is going to be representing you and your company, make sure he does it well. )

Network Effects for Startups

Network Effects are defined as a network becoming more useful the larger it grows. The classical example is the telephone: how useful is it if you are the only one that has it? And how useful if everyone does?

Networking effects are great for startups.  Virality can be achieved by making existing users want to invite their friends, since they receive more benefit if their friends join as well.  Social networks are the modern example of this – they become more useful as more friends join.

Critical Mass

But all networks have to first reach a point where it is worth it for someone new to join, some form of critical mass that incentivize users outside of the early-adopters to join. This value is defined as the point where the cost of joining is less than the value of the network. It’s important to include the user’s time as a cost here as well.  The startup can lower the number of users/devices to reach the critical mass point in two ways:

1. Keep the “cost” per ‘N’ (download) as low as possible, in order to lower the critical mass point

In the simplest form this means to make the “transaction” (going to a website, registering for a service, downloading an app, etc) as frictionless as possible.

2. Maximize the value of the network (the N^x curve) as early and quickly as possible:

Improving this metric can be much more difficult, especially over the short term.  Value can be added to the user by both the features (independent of number of users) and by the network effect (fully dependent on the number of users).  Both are necessary: without features you won’t get the early-adopters and without the large number of users you won’t get the mass public involved, regardless of how good the features are (and it becomes a niche product).  So the trick is to setup the product so that there is at least a bare minimum in value to the early adopters and then try to grow to a critical mass as quickly as possible.

The critical mass point itself can be hacked a bit, by making the total population of available users smaller.  Let’s say your app has a great use for students.  There are currently ca. 120 million university students in the world.  If the critical mass crossover were to be at roughly half of that, you would need somehow to convince (at great cost) 60 million early adopters to get involved with your product.  But by bringing the total population down through some targeting (only ivy league university students, only Texas students, only Florida students, etc) you lower the crossover threshold dramatically. It may still be 50% (or whatever it turns out to be in your market), but that no longer is 60 million early adopters but only 200,000 or so.

Interestingly, this “total universe of users” can have an upper limit per user.   According to the Dunbar number, the maximum “useable” relationships for humans is about 150.  The number of close relationships is less and the number of loose relationships can be more, but this Dunbar Number throughout history has consistently been the maximum number of realistically useful relationships a human can hold.  The implication is that for most social networks (which are based on human relationships – that’s the “social” part) have decreasing marginal benefit after N > 150.  Beyond that, the features become important again as the network finds ways to be beneficial for even looser connections.

Image Credit: IEEE Spectrum // Brian Metcalfe’s original slide

Hidden Danger of Interest and Discounts in Convertible Notes

It seems that more and more early stage investors are using convertible debt as an investment form (convertible note, subordinated loan agreement, etc) so it’s worth taking a look one of the least discussed portions of the loan: the interest.

Interest on loans has historically been intended as compensation to the loaner for the cost of capital of the loan. This makes sense in banking and financial services where the interest is the primary source of revenue and loaning is the main business activity of the bank. Keeping interest in the loan for angel and venture capital investing also makes some sense for the simplest of convertible loans, in particular if it is not clear if there will be a further financing in the future (but instead an exit or insolvency). In these two cases the conversion event never takes place, so the loaner never has the opportunity to benefit in the upside of a higher valuation through the increase in value of his shares (for insolvency that is a good thing, his loan now has a higher priority of payment than the shareholders). To compensate for the risk of there being an exit before the next financing or insolvency before the next financing (particularly common with bridge loans), the interest becomes an important component incentivizing the loaner.

However, convertible debt has become so common that many additional clauses have snuck in over time, namely Forced Conversion, Discount, and Caps. I’ll be talking primarily about the Discount clause and its effect on Interest in this post.

The “Discount” in Discounted Convertible Note is meant to compensate the investor for the massive risk he is undertaking by investing without setting a fixed valuation on his investment. Instead, the investor receives a discount to the next financing. (For example, if the next financing round has a $ 10 million pre-money valuation and he has a 20% discount, then he invests at a $8 million pre-money valuation).

Where it gets interesting is if the convertible loan contains both a discount as well as interest. In this case, the interest accumulates over the life of the loan (until the next financing) and also converts. So if a $ 1 million loan with 10% interest (for simplicity let’s say it is non-accumulating interest –i.e., “bullet loan”), then after a year $1.1 million is converted. Remember: interest is also discounted. So in the example above with 20%, the $1.1 million is converted not at the round’s $ 10 million pre-money valuation but rather at the discounted $8 million pre-money valuation.

So let’s compare:

(Assuming a $ 10 million pre-money Series A, in which $ 1 million was invested as a loan 1 year before.)

(The loan without interest or discount might as well be thought of as an equity investment now – it doesn’t get any special economic effects so it is the same as $ 1 million investing in this new round).

Obviously the presence of the discount and the interest are beneficial to the investor, but what most founders forget is that they are compounding. Even with numbers as low as these and with only 1 year interest, we see enough change for it to be a discussion point. The final results of the negotiation depend on many factors of course, but a founder should recognize that the “interest plus discount” combination can lead to more dilution than he was expecting.

Are you measuring what matters? Useful links for the most important startup metrics

Cheat Sheet for Consumer-Web Startup Metrics and links for explanations:

Runway - “How long until the company flies or dies?”


CAC-CLV (Customer Acquisition Cost minus Customer Lifetime Value) – “How close am I to a viable Product/Market fit?”

Customers are Ignoring You


Burn Rate – “Is my Runway getting shorter or longer even as I accelerate to the end of it?”

And She's Off!


Number of Downloads – “How many potential real users do I have?”

Startup Hockey Stick Graph


Monthly / Weekly / Daily Active Users – “How many real users do I have?”

Retained User


MRR (Monthly Reoccurring Revenue) – “How much am I extending my runway each month?”

Growth Rates of Startups


Finally, for an overall guide to SAAS metrics, I find David Skok’s article to be be an  excellent primer.

Image credits:
Flickr//User: ronploof
Flickr//User: peacenik1
Onstartups.com: Dharmesh Shah
TableSoftware: “Tale of 100 Entrepeneurs, user:amorrison5122, Ellie Fields”, free download available here.

Slides: Why Hardware Startups are the Future

Slides to my talk at Pioneers Festival 2013 on “Why Hardware Startups are the Future”. I outline my thoughts on why now is the most exciting time to get involved both as a founder and investors with hardware startups.

Make sure your first customers are real customers

With all the excitement of building the product, getting the code ready, and launching the product, it’s very easy to leave your go-to-market strategy until after launch. It happens all the time; founders do a Press Release and then wonder why the phone doesn’t ring. Ideally, founders would have been in constant with prospective customers during the Beta phases so that the launch itself is a seamless progression of a newer version of a product, rather than a milestone where the founders then say “Ok, now let’s concentrate on the sales thing”. This is of course especially true for B2B products (true also for B2C software products, but at least then distribution is less of a problem). From the many enterprise B2B startups I’ve seen, the wrong process generally goes something like this:

  1. Develop (maybe get some feedback during this process, maybe not)
  2. Launch (make a press release, try to get some mentions in press)
  3. Phone doesn’t ring, no callers. Realization that B2B products must be actively sold.
  4. Call up the beta testers, partners, and customers you originally got feedback from (hopefully such a list exists)
  5. Offer them a free trial. (For enterprise software this also means you probably do an installation on-site, at your own expense!).
  6. Search for other potential customers and offer them the same, thinking, “If only we could get a reference customer we would have credibility”.

The problem with this strategy is that even if a few customers are won, it’s hard initially to tell if they are real customers. By “real”, I mean they internally made the decision that the worth of your product is great enough for them to pay for it. Breaking that down:

  • “made the decision” – If a free trial is available by simply downloading the software or filling out a form, then you don’t have confirmation that a decision-maker in the company approves of the product. Until the decision maker actually obligates the company in some way for a payment, you don’t know how serious he is as a customer. There is a world of difference between the CEO that says “ok, we need this” and the lowly employee that wants to try it out risk free, since he doesn’t obligate the company in any way (meaning he doesn’t get approval beforehand). Direct sales are very time and manpower intensive and you as a founder should be concentrating on the most promising leads, the ones that are serious about the product. Making a product available for a free period moves the question of seriousness further into the future and makes it hard for you to determine which customers to prioritize.
  • “worth of your product” – Getting the product to a point where the market approves of it and recognizes that it solves a pain point (the Product / Market Fit) is a big challenge, often requiring many iterations of the product (or the market). Hitting this point is a big deal, but it’s only truly hit when you see customers verifying your hypothesis on what they need. A customer “trying something out” doesn’t do that.
  • “pay for it” – This point is easy. Cash in the hand is the only true verifier that a product is appreciated. This part has also the added bonus that it verifies your pricing model (or not), making cash and financial planning easier.

Dharmesh Shah made a great point on this topic several years ago, that instead of offering a free trial, you should offer a money back guarantee (with a longer period). The great thing about the money back guarantee is that it addresses all three points above. The money is paid, meaning that internally the decision maker agreed to it, and the worth and pricing of the product is mostly validated. This filters your lead-list into customers that are serious enough to make that decision, while still allowing you to offer to them what they psychologically perceive to be low risk.

It dramatically changes the dynamic of the customer relationship as well, since they will see themselves as customers during the money-back period, as opposed to prospective customers in the trial period. While there will always be some customers that want their money back, the good news is that unless the customers feel tricked, keeping this churn rate low should be doable.

As an added bonus this method also improves the cash situation of the company, since you are being paid earlier – always a good thing for a startup.

Lecture at State Engineering University of Armenia on Startups

In October 2013 I held a series of lectures, together with www.armeniatomorrow.com , on startups and an outsider’s perspective on their prospects in Armenia.  This was a thrilling event for me, not just because of the enthusiasm of the students, but also because it’s the first talk I’ve given which was live translated (in this case into Russian).  The primary lecture was at the State Engineering University of Armenia, but earlier in the week I had also spoken at the Yerevan State University.

(Email me for the full presentation).

Armenia Startups