Category Archives: DIY

Framework For Creating An Hardware Startup For EE Students

If you are reading this post , it means you want to start a hardware company or  interested in HW startups in general.  This is especially written for college or grad student who have novel ideas and feel they dont have the necessary engineering skills and above all no capital. Sp big question for them is where do I start?
You should develop the creative thinking process, analyzing and breaking complex problem into small pieces and then solving them by learning what it takes. This is what engineering in nutshell is irrespective of the domain. 
 
I will try to present a framework for you to get started and you should refine slightly as you go depending on your project/idea.  I assume your parents or  you have access to couple of hundred of dollars capital and be able to spend atleast 20-25hrs of time every week for next 1yr  (besides your regular school work etc…)
 
Prereq: Find 1-2 mentors who are hands on . If I were you I would pick one person with Embedded HW/SW and Hardware/System level design engineer. If you dont know anyone, start attending local meetups (www.meetup.com) , TIE sessions etc  to meet and form some relationships. Many univ EE profs or depts would also be happy to mentor you . Forming relationships with profs will also help you later .
 
1. Buy an Arduino shield and Raspberry-pi . Enroll at local techshop.ws class for the following. These are very cheap.
a. Arduino/Raspberry pi related workshops
b. Autocad for inventor 2013 workshops
  c. Fabrication and Rapid Prototyping class
Also, learn some breadboard basic/basic electronics …there are tons of youtube/online courses on these…
 
If you have access to someone who knows above and can teach you or if you know of any other institution which offers the above, that would also do the trick. 
 
2. Once you learned above, make a prototype of what you are envisioning. You can first start with paper/board prototypes, refine it and then a cardboard prototype to show it around. IF any feedback, re-iterate and then using skills from 1, make a real non-function prototype which should be good enough for end users to visualize .
 
3. Next you know the physical limitations . So all your electronics/PCB/hardware board should fit in it.  Remember this
 
4. With help from mentors, start with simple circuit or core functionality and the Input and output of the product. Then expand on it. When you build the circuit you can use Arduino & Raspberry-pi  . 
 
5. Put this whole barebone circuit into the prototype case you designed. Initially it might be bit larger , but since its a concept, its understood and acceptable. Later you can work with real manf to shrink it. But for now , fit it in. Borrow drill m/c, soldering iron etc either from your friends or pick it up from local stores either for rent or buy it.
 
6. Show this to end users. Ask them various questions like physical appearance (look and feel, touch, weight) and the output of it. Observe if the prototype is getting hot.
If its getting hot, you have to get back to your 3D printer and Autocad workstation and revise again.
 
7. Based on feedback from 6, re-iterate
 
8. Once you think you are there, open an account on upverter.com or use http://schemes.io/ etc, and learn how to draw schematics using various vendors/manf components. Based on the knowledge you picked from 1,& 4 and with your mentors help, you can be confident that you will be able to do this.
 
9.Most of them will let you order a sample (Complete board with all components ) which you can fit in your case and repeat 6.
 
10. By now, you have something that you can show to potential angel investors or apply to some incubators  for seed money. Dont attempt to go beyond unless you have access to capital and a talented technical team to manage the whole thing. Even though you have walked through the whole process, there is lot experienced engrs can do and manage crisis to crisis . 
 
Dont let these overwhelm you. Do it one step a time. The whole thing should not cost you more than 1K-1.5K USD at the max. 
 
Good luck and All the best. Have confidence and thats the first step to start something.

How do you launch a hardware startup?

This is a repost of my  answer on Quora .

Whether its hardware or software or any product, spend lot of time and energy in customer development . Finding out what users want and think they will pay for is more critical than what we think will be cool for them.

Since HW involves lot of capital, you need to get the above part right.Once you have it, you would need to figure out the device/product environment conditions aka environment limitations, regulatory restrictions/guidelines/requirement whatever you call and very likely you will be changing the product spec or operating conditions to match the new reality.

Then come up with product design (look and feel), in layman terms, the product casing or how users should feel like when they see the product. Very likely because of the product casing/packaging, you will very likely revise your spec again..

Next, from the spec you came up with talking to users etc, figure out what it translated to technical components. Like how many HDMI ports , VGA, optical . USB ports etc, what network interfaces you support, what will be the capacity of hard drive and whether it should be SSD etc..

In case of Apple-TV for example, you might need to video encoding/decoding etc, you need good video decoder…check who sells video decoder chips (probably ARM or imagination tech) , also depending what addln functionality you need, you will also need main CPU processor, so figure out if its going to be ARM or MIPS or Intel Atom ..While you are figuring this, also check the embedded OS you want the device to be running and then check if the compatibility of OS with HW at device driver level…

Check all potential vendors for each component and many times they give you sample pricing (typically in volume of 10K pricing …some times they might give you pricing for 1K pieces as well )

Once you have selected vendors, figure out the power consumption and see if the power budget makes sense.Figure out if you want to your device to be running both in Africa and Siberia ..Accordingly revise your power budget and therefore you will change product spec and/or product casing etc..

Next implement the design spec using platforms from upverter etc and simulate the design.  Next select the PCB vendor who can do the design and manufacturing for you…Board design/packaging might impact lot of factors starting from Design spec all the way to casing etc..So this is important..

Add all the pricing and get the BOM (bills of materials) ..Check if the BOM makes sense for the price range you are planning to sell..If your initial BOM at this stage is for example 25$ , triple that number because you are still missing  pcb design and manf, board packaging , yield, lab bring up , compliance testing , QA and other NRE costs…Now check if you are still making money for the price that your customer is willing to pay …If you initially planned to sell for 50$, but your BOM is around 75$, you are loosing money and unless you have lot of money where you can afford losses initially to gain traction, you might have to change your spec again..Most likely you will remove some components and/or reduce some components..for example you might say I will only add 2 HDMI instead of 4, you might reduce processor speed from 1GhZ to 750MHz etc…

Now go back to your customer and convince him that what you are still delivering is lot of value to him and you are still solving their pain points and only removing the nice to have features…If they agree, proceed further..

While you are doing all this, start your embedded and SW development process in parallel using developer or emulator prototyping boards…Have this ready first so that you can do the demo to potential customers/investors on how the product will perform once HW is done …Show them once manufactured, its plug and play ..get their reactions/feedback..very likely you might change your spec totally or part of it…Once you do this 2-3 times and feeling confident, accelerate your PCB board design and manufacturing and get the prototype out…As a start up ,never go for manf without getting SW/Embedded part ready ..Its more like a lean start up development model for hardware..

If you are building a ASIC like Apple does for their Apple-TV , its different on lot of other aspects and I wont recommend it unless you can raise 10-20M$ easily and can hire 10-20 HW engg team …Of course not every product needs an ASIC or even an FPGA and don’t have to rely on leading manf technologies….

As as others have commented , you need to worry if you are infringing IP or if you are creating IP, make IP protection as part of your design thinking and strategy process..You can start with a provisional patent to buy you time and give you a opp to figure if you still want to go ahead after the feedback from SW demo/product demo..

BTW, try to use opensource technologies and customize it where you can…especially the design tools..Some tools are very expensive…Some vendors give their tools free for folks using their IC platform…Another good advice is try to limit vendors as much as you can, it will save you lot of headaches on lot of areas…

I might have left lot of other pieces, but this should give you a good idea of the process involved..If you need details or clarifications, feel free to ping me..

Republished all popular posts back…

Recently my blog has been hacked and the wordpress sql db has been corrupted. For some reason, I had backup of everything else except the critical sql db which has all the posts and many useful comments/responses… I had many articles dating back to 2005…Its a big loss to me..Ofcourse lesson learned 🙂

Luckily, waybackmachine.org has come to my rescue. I was able to retrieve all my posts and republish them with the only caveat being all posts are with today’s date..I did’nt retrieve some of them as I felt its useless as they are not relevant given we are in 2012…

If you have bookmarked any article and I haven’t republished, let me know the article name/blog post and I will do the needful….

Lastly, I haven’t blogged for a while due to personal commitments, but will blog going forward. Also, I will be blogging now on healthcare, Wireless sensors, systems design, energy management .

Wanna a start a company in India..here is the procedure to do so…

Kumaran on blog has posted the detailed procedure on whats required to start one . You can chech this link : How to lauch a company in india

or read it below :

This information will be useful for those who are looking in a nutshell the steps involved to start a Private Limited company in India1. First and foremost identify the Directors of the Company. Minimum of two directors need to present and Maximum of 8 is allowed.
2. All Directors should have DIN (Directors Identification Number). If you do not have one you can apply DIN online
at www.mca.gov.in. FAQ on DIN http://www.mca.gov.in/MinistryWebsite/dca/faq/faq1.html
Documents required for DIN

A. Identity Proof (Any one of the following)
PAN Card
Driving License
Passport
Voter ID Card
Others (to be specified)
B. Residence Proof (Any one of the following)
Driving License
Passport
Voter ID Card
Telephone Bill
Ration Card
Electricity Bill
Bank Statement
Others (to be specified)

3. Once you have got your DIN then you need to apply for Company name. You need to go with 5-6 names in the order which you prefer.If the name is not available then they go to the next one in the order you have provided.

4. You need to apply online for the name availability . You need to Fill in Form 1A. Forms are avilable at this
location.http://www2.mca.gov.in/MinistryWebsite/dca/downloadeforms/eformTemplates/1030-Form1A_help.zip

5. Once you have got your name approved you have to apply for the Incorporation of Company. For this you
will have to prepare Memorandum of Association which will detail what the company;s operations the first list of directors
who are going the be in the board need to be defined in this document. This should be applied along with Form 1
http://www2.mca.gov.in/MinistryWebsite/dca/downloadeforms/eformTemplates/1022-Form1_help.zip. Ocne this has been approved make atleast 10-15 copies of your Certificate of Incorporation and Memorandum of Association and have it in a booklet form.

6. Once your company has been incorporated you can open a Current account in any of the leading banks
for carrying out your operations. You will need to submit a copy of Certificate of Incorporation and Memorandum of Association along with Borad resolution to open the bank account.

7. Thenyou need to apply for TAN and PAN for the Company
https://tin.tin.nsdl.com/pan/form49A.html
https://tin.tin.nsdl.com/tan/form49B.html

8. If your services are in Software related area you can apply for STPI license which will give you certain benefits
like Company need not pay tax for 5 years, there will be no import or expurty duty levied on software/hardware,
You will get office spaces at lower rates at STPI units. These are few of the benefits of becoming an STPI member.

All this you can do on your own or you can outsource these to professional auditor. We did it through Auditor and it took almost three weeks (Upto Step 7 excluding STPI) and all charges(excluding sTPI) would approximately cost you Rs.25,000.

I am not sure how much it would cost if you do it on your own. I read in one of the blogs that in Delhi the whole
process was completed in 30 minutes after the e-Governance was launched.

Good Luck and If you need more information or any guidance drop in a mail.

This information will be useful for those who are looking in a nutshell the steps involved to start a Private Limited company in India

1. First and foremost identify the Directors of the Company. Minimum of two directors need to present and Maximum of 8 is allowed.
2. All Directors should have DIN (Directors Identification Number). If you do not have one you can apply DIN online
at www.mca.gov.in. FAQ on DIN http://www.mca.gov.in/MinistryWebsite/dca/faq/faq1.html
Documents required for DIN

A. Identity Proof (Any one of the following)
PAN Card
Driving License
Passport
Voter ID Card
Others (to be specified)
B. Residence Proof (Any one of the following)
Driving License
Passport
Voter ID Card
Telephone Bill
Ration Card
Electricity Bill
Bank Statement
Others (to be specified)

3. Once you have got your DIN then you need to apply for Company name. You need to go with 5-6 names in the order which you prefer.If the name is not available then they go to the next one in the order you have provided.

4. You need to apply online for the name availability . You need to Fill in Form 1A. Forms are avilable at this
location.http://www2.mca.gov.in/MinistryWebsite/dca/downloadeforms/eformTemplates/1030-Form1A_help.zip

5. Once you have got your name approved you have to apply for the Incorporation of Company. For this you
will have to prepare Memorandum of Association which will detail what the company;s operations the first list of directors
who are going the be in the board need to be defined in this document. This should be applied along with Form 1
http://www2.mca.gov.in/MinistryWebsite/dca/downloadeforms/eformTemplates/1022-Form1_help.zip. Ocne this has been approved make atleast 10-15 copies of your Certificate of Incorporation and Memorandum of Association and have it in a booklet form.

6. Once your company has been incorporated you can open a Current account in any of the leading banks
for carrying out your operations. You will need to submit a copy of Certificate of Incorporation and Memorandum of Association along with Borad resolution to open the bank account.

7. Thenyou need to apply for TAN and PAN for the Company
https://tin.tin.nsdl.com/pan/form49A.html
https://tin.tin.nsdl.com/tan/form49B.html

8. If your services are in Software related area you can apply for STPI license which will give you certain benefits
like Company need not pay tax for 5 years, there will be no import or expurty duty levied on software/hardware,
You will get office spaces at lower rates at STPI units. These are few of the benefits of becoming an STPI member.

All this you can do on your own or you can outsource these to professional auditor. We did it through Auditor and it took almost three weeks (Upto Step 7 excluding STPI) and all charges(excluding sTPI) would approximately cost you Rs.25,000.

I am not sure how much it would cost if you do it on your own. I read in one of the blogs that in Delhi the whole process was completed in 30 minutes after the e-Governance was launched.

From one of the users post :

or Overseas Company

A foreign company or individual planning to set up business outsourcing in Indian IT can do it as:

1.As a Foreign Company through a Liaison Office / Representative Office, Project Office or Branch Office.
2.As an Indian Company through a joint venture or a wholly owned subsidiary
3.Foreign Company is one that has been incorporated outside India and conducts business inside India. And these companies must comply with the provisions of Indian Companies Act 1956.

Liaison Office / Representative Office:

1.The ERA Act regulates the opening and operation of such offices while the RBIs (Reserve Bank of India) approval is needed for opening these offices.
2.These offices are not permitted to conduct any kind of business or commercial activity or to earn any income here.
3.Commercial activities must be limited to the collection and transmission of information between the overseas Head Office and the prospective Indian customer.
4.The overseas head office, through inward remittance of Foreign exchange, should meet the expenses of these offices.
5.Permission for these offices is granted initially for 3 years and may be extended from time to time.

Project Office

1.With the approval of RBI, overseas companies are planning to execute specific projects in India, which can set up temporary software projects or site offices in India.
2.This is generally for Government approved projects.

Branch Office

Foreign companies engaged in manufacturing and trading activities abroad can set up Branch Offices for business outsourcing in India with the permission of RBI, for the following purposes.

1.To represent the parent company / other foreign companies in various matters in India like buying / selling agents.
2.To conduct research work in the area in which the parent company is engaged, provided the results of the research work are made available to Indian Companies.
3.To undertake export and import trading activities.
4.To promote possible technical and financial collaborations between the Indian companies and overseas companies.
5.A branch office is not permitted to carry out manufacturing activities on its own but is permitted to sub contract these to Indian manufacturers.

As an Indian Company

1.Through incorporation of a company under the provisions of Indian Companies Act 1956, a foreign company can commence operations in India.
2.Foreign equity in such companies can be up to 100% depending upon the business plan of the foreign investor, prevailing investment policies of govt. of India and on the receipt of requisite approvals.

Joint Venture with an Indian partner

By forming strategic alliances with Indian partners, foreign companies can set up their operations in India.
This will benefit the foreign investor in the following ways:
1.Available financial resources of the Indian partner.
2.Already established distribution / marketing set up of the Indian partner.
3.Already established contacts of the Indian partner that help smoothen the process of setting up operations.

Approval of foreign investments

1.Automatic approval Foreign equity up to 50%, 51% and 74 % are given automatic approval by RBI, if they fulfill the prescribed parameters (in certain industries) specified by the Government of India.
2.Govt. approval Foreign equity exceeding 50%, 51% or 74% in both specified and unspecified industries needs prior specific approval from Foreign Investment Promotion Board (FIPB).

Wholly Owned Subsidiary

1.If a foreign investor holds 100% share of an Indian IT Company it has the right to set up a wholly owned subsidiary.
2.Prior approval from FIPB is needed.
3.Only holding operation is involved and all subsequent/downstream investments to be carried out require prior govt. approval.
4.Proprietary technology is sought to be protected or sophisticated technology is proposed to be brought in.
5.At least 50% of the production is to be exported.
6.Proposals for consultancy.
7.Proposals for infrastructure like roads, industrial model towers, industrial parks or estates

4 things that make me still run Windows OS

My windows XP laptop at work started giving me all sort of headaches and so decided to shift  to Linux despite my IT telling me that they dont provide any support for linux based laptops (ofcourse I’m glad that they allowed me to install another OS) . I have been using linux since RHEL 6.0 and I was confident that I will be able to manage . So while I’m cruising through , there are 4 things that  hit me real hard and is making me run windows XP as virtual machine via virtualbox.

1. IMAP Calendar Plugin : There was no good solution to pull microsoft exchange calendar and do a 2-way synchronization.  Evolution was too slow and Thunderbird with lightning extension doesnt solve. After googling around, found davmail which acts as intermediate gateway between your IMAP mail client and microsoft exchange gateway and does 2 way sync etc. But its still not stable/usable in the production/corp environment.

If Canonical/Ubuntu   instead of   working to shift window indicators like min/max/close to left (in lucid lynx 10.04 ), if they spend few more hours and developed a robust calendar plugin, it would have served 90% of the corp users like me  .  I hope they will consider this in their next releases atleast . BTW, I tried Zimbra desktop and its painfully slow. I dont know if its slow because of the Ajax client or someother reason. It does more than what I need :) It pulls my calendar and also our corporate and IT calendars which I dont care and it really floods my calendar with unnecessary stuff. Other clients/extensions dont do this, so it must be zimbra specific.

2. File synchronization : I’m a big fan of  Microsoft Live Mesh (which runs on azure clouds I guess) and they dont have a linux client.  I have done lot of research/googled around looking for a file synchronization sw which is free , gives more storage space/unlimited folders and is truly cross platform, the closest I found is dropbox, but it doesnt serve my purpose (unlimited folders, same storage space as live mesh etc & is FREE).I  have  different folders which I share between my work/home laptops,my parents  & cousins etc and I want to do the same in linux , but it doesnt have one. Crossover/wine neither works with live mesh.

Ubuntu one seemed promising , but they dont have any intentions of developing a windows client ( probably for the same reason microsoft doesnt develop linux client) .

3. Photo editing software :  I have Nikon D90 and I shoot in RAW (NEF). I use ViewNX/CaptureNX2/ColorFx/NoiseNinja and couple of other SW for slideshow etc.  I have a whole workflow setup using these SW. Sadly, none of these have linux version. I wish Nikon recognizes there is decent size of linux users for them to develop linux versions. The closest program is dcraw/GIMP , but there are lotof reason why I cannot shift to them yet (probably will explain in another post). Again, tried Crossover/wine neither works.

4. Office apps :  I prepare powerpoints/Xls all the time and with lot of customers shifting to 2007/2010 version of Microsoft Office, I received and send files with pptx/xlsx extension. There are 2 alternatives I found for handling this in linux. One is openoffice 3.x from Oracle and another  is Softmaker 2010 . While  both can handle docx , only openoffice can handle pptx/xlsx extensions. I wish if Softmaker had this already and its worth every penny to buy their solution. Keep in mind, we never know when Oracle will stop releasing openoffice as free alternative and this makes SoftMaker as the only solution available in linux. I installed their linux2010 beta version and it worked out fine and never had any single issue with the docx or doc/ppt/xls  extensions. My beta expired, but when they make pptx/xlsx, I will revisit their soln, but for now, I have to live with slow,not so attractive looking openoffice (It works though!! so, cant really complain hard)

My friends say this is reason why I have to shift to mac, but sorry!! I dont have budget for buying those pricey macs and later I have to buy all the apps and no free/opensource versions.

Who said Nokia N95 VOIP + Magic Jack doesnt work :)

Who said Nokia N95 VOIP + Magic Jack doesnt work :)

I have to admit that it took me 2 days to figure this out, but honestly
Nokia SIP client works. I googled and most posts in many symbian/nokia forums
suggested that Magic Jack never works with Nokia . Some blamed that Nokia SIP stack
implementation is broken, some said MJ isnt friendly etc…

Its not true,Some VOIP (especially windows based softphones ) can figure out
the DNS-SRV records (yes you read it right. Its not DNS, but its DNS-SRV DNS+STUN server ) and “realm” strings for the client to work.

In my opinion, MagicJack is cheap and works great. Actually it rocks. Only exception I noticed is the you need to have greater than 128kbps to get voice calls and works great with 256kbps+ connection speeds.

To make MJ work on your Nokia SIP client, you need the proxy username/password/server address. I will show you how easily you can get it, but before you read further, please beware that this is against MJ TOS. I only did this for curiosity and information sake. So please do this at your risk.

You need the following :
1. Magic Jack Utils for retrieving the SIP credentials (d/l : http://magicjackhacks.com/downloads/MagicJack_Utilities_v1.6.zip )
2. X-lite (Windows Softphone : d/l : http://www.counterpath.com/x-lite.html&active=4 )
3. Nokia SIP settings : This allows to change some internal SIP settings which are not visible from default VOIP client. (d/l : http://sw.nokia.com/id/d2d27e6c-bd52-4534-9aa6-19e606b80709/SIP_VoIP_Settings_v1_0_en.zip )

Procedure :
1. Now, Unzip Magic jack utils and follow the directions listed under readme to get the SIP credentials.
2. Install X-lite and enter the SIP credentials. This will also help you to make calls using your PC/Laptop

X-Lite MJ Account SettingsX-Lite MJ Account Settings

To find realm value which is absolute for N95, Next, go-to Help->Troubleshooting->Diagnostics-> Turn on full
logging

X-Lite Log for debuggingX-Lite Log for debugging

Now open the output log (Help->Troubleshooting->Diagnostics-View) and check for “realm” , its lists 2 strings , you should probably see “talk4free.com” and “stratus.com” or something else…whatever is listed later is the correct realm string to be entered in N95 SIP settings.

3. Install Nokia SIP sis file you downloaded

Here are my SIP settings of N95 (Settings->Connectivity->SIP settings )

Profile name:
Service profile : IETF
Default Access point

Public Username : sip:@talk4free.com (You should get this from Magic Jack Utils )
Use compression: No
Registration : When needed (always on drains your battery )
Use security : No
Proxy server :
Proxy Server Address : sip:
realm :
username:
Password :
allow use routing : yes
Transport type : UDP
Port : 5070

Registrar
Registrar server address : sip:talk4free.com
realm :
username:
Password :
Transport type : UDP
Port : 5070

Now goto Applications->SIP VOIP Settings->NAT firewall settings->Domain Parameters->talk4free.com

STUN server name : None
STUN server port: 3478
TCP NAT nind refresh : 0
UDP NAT bind refresh : 0
CRLF Refresh : Off

Now click Back on lower left and exit finally.

Next goto Settings->Connectivity->Internet tel

Give a profile name and select the SIP profile name you created above under the SIP Settings.

Thats it…Now when you want to call someone over WIFI using your MJ VOIP , select their number from Contacts, click options->Internet Call and thats it…

Note:Since we selected “When needed” in SIP settings, phone might ask your register for service and click yes to it.