Category Archives: BLOG

Git, GitHub And Beyond

Git is an amazing source code management tool, and it becomes great when a third party provides an intuitive and hassel free manner (Yes, Linus Torvalds may not agree on few points) to browse through your code, collaborate and open source it. Recently, before the story of GitHub loosing the traction began, I had already started exploring ways to host source code as private repository (repos).

Having private self-hosted repos is a good development approach, but problem occurs when one is trying to share or colloborate, and then slowly managing everything becomes painful, and this is where companies like GitHub has done an amazing work. Still there are few issues with GitHub and the basic one (and many more) is their pricing model when it comes to private repositories.


Image Courtesy Git

As an alternate to GitHub, I am listing out various ways to host private repos using Git:

  • Bare Metal on VPS:
    • This is the simplest way to host private repos, where you create a Linux VPS, install Git, and then set up private repo.
    • You can make use of open source web clients like GitWeb to browse through different branches.
    • It should work fine if you don’t worry much about having clean GUI.
    • You can also install a Git client to browse through your code locally.
  • Host It On GitHub:
    • This is the most obvious and easiest way to go about building your software.
    • Only caveat as I said is pricing and number of private repository.
    • Without thinking much, go for GitHub if your project is open source, as it has excellent reach to developer community .
    • You can host GitHub on your private server, but only if you are an enterprise with heavy balance.
  • Try Out BitBucket:
    • BitBucket follows the same model as GitHub, but focuses more on getting user to build privately.
    • Their pricing model is excellent, which focuses more on number of users rather than cap on private repository.
    • You can also grab their BitBucket Server web app, and install it on your private servers, and if you like it , then buy it out for your small team later on.
    • It’s very resonable and just takes minutes to get going if you are behind firewall.
  • GitHub Clone GitLab:
    • GitLab provides another way to host and manage your source code. It combines the best of both GitHub and BitBucket.
    • First, you can host as many repository as possible with a GUI like GitHub.
    • Second, take their open source Git management software and install it on your server for free.
    • Lastly, you can just sign up with them and host privately on their cloud without any hassel.
    • Since they are fairly new to this arena, it will be better to try it out first before jumping on to installation.

Overall, one has many ways to manage code privately, no doubt GitHub is the best place when it comes to hosting open source project, but it fails in terms of developing privately. Hope, above options will guide you on what to choose depending upon the requirements.

How To Daisy Chain Multiple Monitors Using Single DisplayPort

If you are looking to setup a workstation with multiple monitors connected to a laptop, then there is an easy and cheap way to do so. Ideally to connect multiple monitors, a laptop should have minimum of two ports out of VGA, miniDisplayPort and HDMI, or a docking station which provides multiple display ports. However, with laptop becoming thinner and thinner the first option won’t be valid in near future, as many laptops will have only single display port (most likely DisplayPort or Thunderbolt), and the second one is costly, messy, and not portable if you juggle between office and home workstations.

To get around this trouble and if you are in market for a new laptop, simply make sure that the laptop has DisplayPort 1.2 Multi-Stream Transport (MST) support. Also, go ahead and check whether the graphic card supports DislyaPort 1.2 with MST or not. After this, you need two monitors that will support MST, and one of such monitor is Dell U2415 24-Inch 1920 x 1200 LED Monitor, and if you check the connectivity details it will list 1 DisplayPort out (MST).

Then, in order to connect your laptop to multiple monitors with single port, you need following setup:

  • Connect latptop’s miniDisplayPort out to DisplayPort in of first monitor.
  • Then connect DisplayPort out of first monitor to DisplayPort in of second monitor.
  • Make sure that in the settings of both the monitors, the input source is miniDisplayPort or DisplayPort based upon your cable type in above two settings.

Check following figure as provided in manual of above mentioned Dell monitor:

(Image Courtesy Dell)

One more important setting that needs to be enabled for MST support:

  • Navigate to monitor setting of both the monitors.
  • Go to DisplayPort 1.2 selection.
  • Select enable.
  • Confirm the message.

(Image Courtesy Dell)

(Image Courtesy Dell)

After this you should have a minimal and cheap multiple monitor setup and as far as I understand maximum of three monitors can be daisychained together with DisplayPort 1.2 support.

The Curious Case of Indian Cyber Security

India is home to billion dollar IT industry, numerous e-Governance projects, world’s largest bio metric database, and many tech driven services. The single major problem with all these technological projects at national and state levels is the danger of theft and fraud. Government of India (GoI) did realize this, and as they do with all services, introduced a policy called National Cyber Security Policy 2013.

Well, the story ends with the formation of policy, 2 years after the policy was drafted, there is no sign of National Cyber Coordination Centre (NCCC), and National Critical Information Infrastructure Protection Centre (NCIIPC). Both these agencies were supposed to take care of national IT infrastructure, mainly falling under GoI. Continue reading

Time We Have Delete Button On All Websites

Since last one month, I started logging the websites I visit and use, mostly those which require user to login. To my surprise I have account at over 50+ different websites. The number may be much more, considering I wasn’t able to recall all those websites where I created account just because that was the only way to get in, and later on never used it. This may be the case with many internet users. Continue reading

Encryption All The Way

Since the time Edward Snowden leaked classified information, the focus has been on how governments across the world use surveillance to keep tap on digital activities. Lately, I have been reading about it, and have come to the conclusion that there is no way around it, but precautions can be taken if one is worried about his/her digital privacy.

Encryption in software/hardware largely boils down to the developers, if they wish, they can strongly encrypt the communication/data. For example, WhatsApp has partnered with Open Whisper Systems to provide end-to-end encryption.

There is a very good reason to trust this partnership as TextSecure, the technology which WhatsApp uses to encrypt messages, is open, and it allows anyone to go through the code to understand what exactly has been implemented, and whether that matches up to the expectation of tech community at large.

On the other hand, if you seen encryption tool like BitLocker provided by Microsoft to premium Windows version for free, isn’t open. That sends out a strong message of whether to really rely on such software when encrypting the laptop or desktop running Windows. Ubuntu does somewhat better job at this, but Apple again has this close system FileVault, which again raises concern.

If you are really worried about privacy, and want to make sure that the system you are using is secured, then you may want to consider following, which I have summarized after reading few blogs at The Intercept:

  1. Websites: Make sure the website you visit has a valid SSL. It is very simple to check, just look for the green icon on left of the website domain of the website after the page has been loaded, if it’s green, you are good to go. In case the SSL isn’t valid, then it will through up warning message even before the page loads. For those website which never used SSL, visitor should either opt out of the website or try avoiding data transfer task like creating account, submitting private information etc.
  2. Apps: It’s difficult to provide third party encryption directly to desktop or mobile apps. For desktop, you may want to move to web based alternative for the application you are using, this may sound tricky, but at least with web encryption you may feel safe about your data. If you make use of messenger a lot, then why not opt for TextSecure, and there are many other alternative you can consider for secure voice/data communication, all provided by Open Whisper Systems. For Apple devices, you have Signal.
  3. Hardware: Try encrypting your laptop/desktop/smartphones/tablets. Android has this support. For Windows you will have to make use of third party or BitLocker. Apple provides FileVault. This won’t fully ensure privacy/encryption, but gives you some sense of responsibility.

If you follow above three suggestions, then you can securely encrypt your hardware device you use to send out the messages/data or to do the voice communication. In turn, 99% of your daily activity will be encrypted.

These are just few suggestions that I have tried to summarize, at the end when using any tech products to communicate or to store your data, it all boils down to the trust factor between the service provider, and the seeker. In this digital world, having basic encryption understanding is surely handy.

Time For New Android App Store

Within a year or two, market will be flooded with smartphones that will come equipped with Android forked OS. Since 2008, we have seen that App Stores play an important role in providing OTT services, and for Android, Google Play Store is the best way to reach out to your customers.

Now, when aggressive players like Cyanogen and OnePlus are going all about developing there own platform, and want to get out of Google’s umbrella, then it surely means they will also be opting out of Google Play Store, as no one want to lose out on the profits.

Few solutions for new Android App Store:

Go Solo:

Both Cyanogen and OnePlus might want to set up there own app store, but I don’t think this sounds like a good idea. As it takes time and infrastructure to attract developers. Samsung did try this option, but it has failed to excite developers. Also, since the base OS is same, it also doesn’t make sense to have another app store besides Google Play store.

An Open App Alliance:

This can be done, if all companies come together to form an open app store, that works not only on Cyanogen and Oxygen OS, but also on traditional Android OS. This also offers an excellent platform for other OEMs too, who are always looking to bite Google’s revenue from app store. If successful,  this can be profitable and can pinch Google a lot, and will also attract future OEMs. Continue reading

Aadhaar As National Electronic Health Record

Aadhaar under UIDAI provides unique identification for each resident across India. As per the dashboard, more than 80 Crore Aadhaar has been issued till date. The important question now is, how India can make use of this large database to solve social issues other than just catering to Government’s (GoI) welfare schemes, its primary target.

My take is that it can be perfectly used as National Electronic Health Record (NEHR). If GoI can come up with an interface (with API support) using which the health care provider or the doctors can punch in the Aadhaar ID and then submit all the health treatments done on a particular patient, then he/she will has access to all health records anytime anywhere.

GoI recently launched the beta version of DigitalLocker, which can be easily used to integrate this service. Govt. of Maharashtra has already taken the lead by launching state version of this system called Maha DigitalLocker. There will be questions of privacy, security etc, but all can be technically resolved, as the implementation gets going. Continue reading

Indian Open Source Software Policy And Beyond

At last Government of India (GoI) came up with a policy (PDF Link) that mandates all Government organizations to make use of Open Source Software (OSS) to implement e-Governance projects. The policy looks great on paper, however we need more than just policy/policies, and here are few things I would like to suggest:

Make Your System Open First:

Apart from making use of OSS, GoI should first open the systems that were developed internally. GitHub for Government is the best way to share that piece of software GoI developed to create paperless workflow, even Google agrees on this. Few example projects that can be open sourced are: Continue reading

OxygenOS: Taking Android OS and CYANOGEN OS Head On

OnePlus will be launching its own custom OS named OxygenOS. Everyone is wondering what’s the reason to do so, and I thought of digging out some information related to this major step:

  • Getting out of Google’s Umbrella:

Many of the forked Android OS are fully dependent on when Google releases next Android version and then integrating new features into custom OS takes time, and with Google pushing new releases every 6th month, it becomes a process of catching up.

  • OnePlus & CYANOGEN:

OnePlus came out with first commercial smartphone loaded with CyanogenMod OS, and the kind of response they got was unimaginable. This I felt helped CyanogenMod more than anyone else in pursuing the idea of pulling away from Android OS main line development. Thus was born a company called CYANOGEN that started taking it’s own Android OS called CYANOGEN OS more seriously and also on to other non-OnePlus smartphones. Though CYANOGEN OS came into market with OnePlus, I see its real existence only after the success of OnePlus One. Continue reading

Technological Singularity Is Here: The Neural Turing Machine And The Neuromorphic Chip

Artificial Neural Networks (ANN) was one of the electives I took during my undergraduate studies. Then I couldn’t understood the importance and scope of ANN, but with current advancement in technology, both in hardware and software, has made me realize the importance of ANN. Any technological breakthrough requires at par innovation in software and hardware domain, and ANN has found its way into both these domains.

ANN In Hardware:

Software requires an excellent architecture to run on and recently IBM research announced brain-inspired processor. IBM claims that the chip consumes merely 70 milliwatts, and is capable of 46 billion synaptic operations per second, per watt–literally a synaptic supercomputer in your palm. Such chip are called as neuromorphic chip, that makes heavy use of ANN to solve complex problems in similar manner as a human brain would.

ANN In Software:

To fully utilize any computer architecture, it requires smart software written by smart programmers. But with the help of ANN and artificial intelligence, Google is trying to achieve something unimaginable: they want to get rid of programmers. They want computers to program themselves on the go and come up with solutions to problems that would otherwise require human intervention. They call such machine: Neural Turing Machine.

Both these innovation in software and hardware bring out an old and very important debate of “technological singularity. Ray Kurzweil in his book, “The Singularity Is Near: When Humans Transcend Biology“, predicted many future technological outcomes, and how they will supersede human. So far, many of those predictions has been true, and above two innovations are in line with those. The dark side of technological singularity would be that new technologies will be so powerful, that they will transcend the current limits of our understanding.

So, the question is: The Technological Singularity Is Here?

Government of India on Insecure Cloud

Government of India (GoI) is really good at rolling out new policies, massive infrastructure projects and legislative bills. The question of whether such initiatives will be implemented is imaginary. Department of Electronics & Information Technology (DeitY), Government of India is one ministry, whose sole purpose till date has been introduction of policies targeting Indian tech community.

Few policies/plans initiated by DeitY:

Continue reading

How Google Used Android To Smack Down Aakash Project

In July 2010, then Human Resource Development Minister, Kapil Sibal unveiled a prototype of a tablet called Aakash (commercially known as Ubislate) and since then it has seen three commercial versions and fourth is in pipeline. The main purpose of this project is to distribute low-cost subsidized tablet to students in universities and colleges across India in order to create an e-learning platform. This idea was well received by many in tech industry and even Vivek Wadhwa saw immense potential in it and so did I.

With time this project saw multiple hiccups, development issues and now with change in governance, to me this project is just days away from being shelved. One of the main threat to Aakash project is recently announced Android One by Google, which was launched today. Continue reading

Hardware Generation Languages In Computer Architecture Research

Computer architecture research involves heavy use of simulators, most of these simulators are cycle-approximate simulators (CAS) implemented using imperative (C), object oriented (C++) and multi-paradigm (Python) languages. Some of the widely used simulators are Gem5, GPGPU-Sim and McPAT.

In an ideal case, in computer architecture one would like to work with languages that are easy on the construction of synthesizable register-transfer-level and close to hardware design. Hardware Description languages (HDL) come under this category, which are heavily used in VLSI research and in industry, but not in computer architecture research. SystemVerilog, Verilog or VHDL are examples of these. Continue reading

Open ISA: The RISC-V

There has always been a debate over which instruction set architecture (ISA) is better, RISC or CISC. The research led by Prof. Krste Asanović and Prof. David A. Patterson at University of California, Berkeley (UCB) takes radical approach towards ISA. They have come up with an Open ISA called RISC-V. It might remind you of SPARC and OpenRISC, however this open ISA is very different in terms of features.


( Image Courtesy: Instruction Sets Should Be Free: The Case For RISC-V )

Continue reading

Password OR Memory Manager

Last week I decided to switch to password managers in order to test and understand how helpful they are. First thing was to read technical reviews from major tech website. After doing lot of research and analysis I zeroed on Dashlane. The reason to use Dashlane: free six month premium offer, better user interface, syncs across devices and a strong team. So far, I am happy with how things have gone and I am hopeful to continue with Dashlane given the amount of time I save not entering those passwords which are eventually hacked.

Continue reading

Wireless Power To Give

Back in 2010, during my undergraduate I (with my friends) gave a talk on Witricity: Wireless Transmission of Electricity . That time wireless transmission of electricity was almost unheard of, and even smartphones were not equipped with wireless charging. Last couple of years there has been a surge in wireless charging/transmission solutions and companies have formed consortium called Wireless Power Consortium to help increase the adoption of Qi. Continue reading

Getting Started With Bluetooth Low Energy

Bluetooth Low Energy (BLE) is now the standard communication protocol used by smart devices. If you are looking to get started with BLE, then you need two things:

1) Bluetooth Smart Devices: Those devices which gather information using sensors, later to be used for further analysis.

2) Bluetooth Smart Ready Devices: These are the devices which make use of the information gathered by Bluetooth smart devices to be displayed in human readable form.

Continue reading

Evolution of Mobile OS

Mobile devices are everywhere, so are the interactive operation systems on them. Post Android OS success and acceptance by many OEM, there has been a surge in terms of number of operating system targeting mobile devices. Some of these are Android Forked OS like Fire OS and CyanogenMod, and few are based on Linux core, such as Sailfish OS.

Recently, I landed on a presentation by Genymobile team, explaining how to port Tizen OS on Android powered devices. The one slide in the presentation which acquired my attention was the one explaining how mobile OS and projects have evolved over the years. The flow chart on that slide is shown below, and it is interesting to see how many opensource projects came together to develop operating systems, and eventually trickled down to give one or other form of Mobile OS. The chart doesn’t show Android OS, there is one more infographic explaining different mobile OS evolution.

Continue reading

Intel® Galileo Development Board : Hands On

Intel, which missed the opportunity in mobile processor market, is betting big on wearable technologies. To grab this market, they have taken the first step forward by introducing  a development board, Intel Galileo, built with Intel Quark SoC. I got this board, it is based on Arduino and is also compatible with all the Arduino shields, and comes with different power connectors, as this board for now is an international version.

Continue reading

Porting Ubuntu Touch On Nexus 4

Ubuntu Touch is a mobile version of Ubuntu OS. Today, I ported it on Nexus 4 Android device. The step by step process of flashing Nexus 4 is given here and works smoothly.

Only one step where I did things differently, was when I encountered the message shown in the snapshot (leftmost). Ideally, this should only prompt for Nexus 10, but it might also pop up for Nexus 4, as it happened in my case.

Continue reading

Why We Should Care About GPUs

Graphic Processing Unit (GPU) have been around for long time and most of us have used them as devices which will run high definition videos, images and games etc. However, there is another world which looks into GPU with a very different perspective and it is called High End Computing (HEC). The goal of HEC is to utilize processing units to reduce the execution time of the applications which would otherwise take long time on general purpose processors. Most likely, these processing units are super computers, however, GPU are also used for this very same purpose and such computing on GPU is called General Purpose Computing on GPU (GPGPU).

Continue reading

Simulators For Computer Architecture Research

Simulators have become an integral part of the computer architecture research and design process. Most of the simulators used by academic researchers are open source and have the advantages of cost, time, and flexibility. Many researches and architects use them to guide design space exploration and to quantify the efficacy of an enhancement.

Major blocks of a computer architecture requires a dedicated simulator and there are many. Following are the few simulators based upon area of use:

Continue reading

CPU DB : Database of Processors For Researchers & Hobbyists

If you are a computer architecture researcher or have inclination towards it, then CPU DB is for you. In short, CPU DB is a repository of computer architectures right from the first single-chip microprocessor, Intel 4004, introduced by Intel in 1971, till today’s many core processors. Stanford University’s VLSI Research Group is the brain behind this project.

Continue reading

News From Semiconductor, EDA & ESDM Industry

If you are an avid follower of news from Semiconductor, EDA & ESDM Industry then I have taken effort to make a list of websites/companies sharing such news. Please take a look at this Twitter List, subscribe and share with others.

Case Study : Cloud Computing & EDA

On PuneChips, I wrote a blog post on Cloud Computing & EDA and how it may help design engineers. To give a better understanding on this, Richard Pugh, product marketing manager for Mentor’s Emulation Division, wrote a blog which I think explains the real need on why engineers should move on to VirtualLAB, which is based on client-server model or cloud computing model and he does it by taking a case study. Check his blog here.

Continue reading

What is Embedded Analytics ?

Embedded Analytics technology is an amalgamation of embedded systems and the human senses to enable systems to analyze real time information and make intelligent decisions. Embedded Analytics has been widely implemented in automotive, sensing, industrial and smart emerging solutions. Recently, StartupList listed a startup from India which is also making use of Embedded Analytics. Fitbit & Nike+ are also making use of this technology only.

Continue reading


(This article by Navin Kabra was first published on PuneTech and is reproduced here for the benefit of tech in Pune and for blog readers.)

This is a list of all software technology user groups and Organizations in Pune. If you know of any group/organization/mailing list that is missing, please contact.

Note : to keep a track of the meetings of these groups, the best way is to subscribe to the PuneTech calendar



Nishant Modak and Prashant Tiwari has started a Pune Meetup group called Internet of Things. They say :

 “This group is for people interested in Arduino, Raspberry Pi, Sensor Electronics and in general ‘The Internet of Things‘. With the help of this group, we would like to help foster a DIY culture and engage with educational institutes to introduce arduino kits for fun learning.”

If you are interested in joining the meetup then do check this page and RSVP. You may also subscribe to the mailing list of same at Google Group.


I had a tough time deploying Jekyll to Heroku. Though there are lot of blog post on same, however for me none seemed to work. All the time it showed Application Error and the log said that the application crashed. Then I landed on repository  called Jekyll-Bootstrap-Heroku. After cloning and following instructions this repository did the trick and it was up on Heroku. So then I looked into the files which were targeted for Heroku deployment. The main files needed to deploy website generated using Jekyll to Heroku as Rack app are :

Continue reading


GNU Health is an open project targeted to provide free Health & Information System. It is an official GNU package and is also adopted by United Nations University. This project is initiated by GNU Solidario, an NGO which works globally delivering health and education using free software.

The main functionality of GNU Health :


(Image taken from GNU Health website)

Continue reading


Almost a year and half ago I got to know about this amazing open project from Ford called OpenXC. Since then I have seen tremendous growth in the field of Infotainment (Information + Entertainment) and seeing so may projects and products coming out from industry it won’t be wrong to say that the NextGen Development Platform will be in the form of Vehicles moving around. Each vehicle a development platform and an opportunity for developers to explore.


(Image taken from OpenXC website)

GM has also announced a Developer APIs to let developer experiment and create rich set of application. There are other players also which are gearing up for this and in the same line a Connected Cars 2013 conference in being held which will attract OEM’s, App Developers and others exploring the same area.


(Image taken from Connected Cars 2013 website)

In terms of development of products one can choose from various options. GENIVI Alliance and Automative Grade Linux are there on software side, even TIZEN may be used. On hardware side, apart from OpenXC one may look for TI’s Jacinto project. Even NVIDIA and Intel are there in the race.

Products have started to come out : Automatic being a great idea. Only time will tell if Vehicle is going to be the NextGen Development Platform.


Quantum Leaps has started a very good open programming course for Embedded Systems. Currently they are targeting ARM Cortex M series. The video tutorials are available on youtube channel here.

After exchanging mails with Dr. Miro Samek, President Quantum Leaps I came to know about his vision. He says :

“I believe that this video course is unique in that it shows how the microcontroller really works and what the compiler does with the C code. It is also one of the very few courses designed really to be followed along, even with no hardware.”

Continue reading


One of the most important things in Embedded System or Electronics is to interact with physical world which is giving analog values. In such cases it is required to convert the analog values into digital before integrating it to a digital system. Arduino simplifies this task by providing an inbuilt 10 Bit Analog to Digital Converter (ADC). Depending upon the Arduino board the number of ADC channels vary, the board I’m having i.e. Arduino Mega 2560 has 16 Channels.

This post shows a basic way of capturing the Analog data from a 10kohm potentiometer and convert it using an Arduino and show the converted digital output on the serial terminal.

Continue reading


Robotics is one of the happening fields of engineering and lot of work is being done by various organisations and tech communities around. I also had the opportunity to take part in ABU ROBOCON for same. For open source enthusiastic working in the field of robotics there is a foundation called Open Source Robotics Foundation (OSRF) located in San Francisco Bay Area.


(Image taken with permission from OSRF website)

Continue reading


Working on the tablet IRA Thing by Wishtel. Had to dismantle for some reason. I thought it would be good to show exactly what’s inside this Android 4.0 ICS based tablet. Below is the front side of the tablet having 7″ Capacitive multitouch screen (16:9 ratio). Also a 0.3 MP (VGA) front camera. Surprisingly no back camera for this tablet.

Continue reading


Its been a while that I’m working on STM32F4DISCOVERY. This blog post will show how to flash/upload the .bin file on STM32F4DISCOVERY in order to run the compiled program.


1) Toolchain :

Toolchain for STM32F4DISCOVERY board. One may follow this github link or previous blog post here. Summon-arm-toolchain is using Linaro and has an excellent script which does the work. If one is interested in just downloading and running the compilation process then make use of gcc-arm-embedded. One may directly download the executable, export the PATH and run the file.

The toolchain is installed in sat/bin folder created in home directory :

Continue reading


On 7th Dec 2012, attended PythonPune’s kick off meeting. Discussion on how to get this group upand running was done. Since then lot of activity has been discussed via mailing list. Those looking to explore more about Python in Pune, then this community interaction will surely help.

Check out PythonPune User Group website for more information and when you are ready, then dive in. You may also get information about other Python User Groups in India.

BUILDING WITH ARDUINO : TECH HANGOUT BY today conducted an excellent tech hangout on “Building With Arduino” at Model Colony, Pune.

The hangout started with attendee’s introduction, around 9-10 people were present including me. Then Wilson Wingston Sharon from took things forward by presenting details on Arduino and in parallel demonstrating same on Arduino Compatible – Freeduino DU. He started with simple LED blinking program a.k.a HelloWorld of Open Hardware, then he showed how to utilize Digital and Analog IO Interfacing All Purpose Board. He also explained how Python may be used to creating various advanced applications. Then he gave live demonstration on how to Tweet real time temperature using LM35 temperature sensor.

Continue reading


Was working a project where one of the task was to write data on a file on USB flash drive using an 8 Bit MCU AT89S51. Since the MCU I was using doesn’t have USB Host support or firmware to do so, I opted for a module from HobbyTronics called USB Host Board.

One may see below that it has another micro controller. The concept behind this USB Host Board is simple : The MCU has been loaded which USB Host firmware which are readily available from the same MCU vendor i.e. Microchip. The Microchip 24FJ64GB002 microcontroller which contains a built-in full-speed USB host controller. This allows the board to interface with and control any USB slave device – flash drives, keyboards, digital cameras, bluetooth dongles, and much more.

Continue reading

LDR : Circuit With Darlington Pair

Last post I showed circuit and general purpose pcb for LDR. I thought of improving the circuit and for that I have replaced the single transistor in the previous circuit with pair of transistor. The configuration which I used is called as Darlington Pair. The darlington pair is connected in such a way that the current amplified by the first transistor is amplified further by the second one. Thus making circuit more sensitive to small current.

Continue reading

LDR : Circuit & PCB

LDR (Light Dependent Resistors) is a simple electronic component which can be used to make light dependent switches. Below is the simple circuit made using basic electronic component to show a light dependent LED system. Here when LDR is uncovered then LED is in OFF state and when covered LED is in ON state. So it may be a perfect system for street lighting.

Continue reading

Aptana Studio 3 : IDE For Web Development

Aptana Studio 3 is a good IDE based on Eclipse to learn and develop web applications. Either one can download it as separate IDE or as a plugin for Eclipse. It’s open source, it’s Eclipse based, supports HTML5, CSS3, JavaScript, Ruby, Rails, PHP and Python what else a web developer need (not my prowess, I think it’s sufficient).

Yet to explore it fully, hope it stands upto my expectation and allows me to learn new things quickly and comfortably.

Hello World On USB Host Modules

VNC2 Debugger/Programmable and V2DIP1-32 were the new modules I am using for a project. FTDI provides an IDE with Toolchain for writing code for the V2DIP1-32 USB Host controller. After understanding few basics, wrote a code which would write “Hello World” in a .txt file. This file was created on Pen Drive or Flash Drive and the content was amended accordingly.

Continue reading

Started Blogging At Embedded Nirvana

Embedded Nirvana has a blog section which contains very informative tech blogs written by the contributors. Its been quit a long time that someone wrote on the blog pages. So now I’ve taken control of writing on to the blog section and starting today with an update post, I would update the followers of Embedded Nirvana.

If anyone else would like to contribute via blogs at Embedded Nirvana then do write a word to me. The content should be related to what Embedded Nirvana is about.

Yet Another Very Small Computer

VIA today launched a new product : Android PC Computers (APC) targeted for Android developers, hobbyist. It is directly going to compete with RaspberryPi. APC is priced at $49 and loaded with Software Android 2.3 (PC System) and ChipVIA 800MHz Processor. Raspberry also seems to be racing ahead with blog showcasing the integration of camera to there system.

This is how the APC looks :

Continue reading

Toolchain For STM32F4DISCOVERY

In last blog post I wrote about STM32F4DISCOVERY. To use any development or evaluation board one has to setup the toolchain for the target, in this case the target being STM32F4DISCOVERY, on the host, in this case its being Fedora 16.

So I wrote a wiki on for same at Embedded Nirvana, the link for that page is : Toolchain For STM32F4DISCOVERY.  I have also written all the errors which I encountered and they were resolved.

If one finds error/mistake then do edit and spread the knowledge.

Evaluation Board For ARM Cortex M

I was looking for an Evaluation Board which would be low cost with enough features to test out ARM Cortex M series of Processors. The one which TI provides is a proper development board and cost a lot. So I started my search for an inexpensive and low cost  Evaluation Board. To understand the difference between Development and Evaluation Board check the wiki I wrote on Embedded Nirvana.

After searching a lot I got the best deal from STMicroelectronics. They got this board called STM32F4DISCOVERY :

Continue reading

Wiki Page On : Building A Bare-Metal For An Embedded System

Chaitannya Mahatme wrote this wiki page on Embedded Nirvana for Building A Bare-Metal For An Embedded System  and I am also editing the same. So in case anyone with knowledge about same can contribute, then do join us in spreading the knowledge. The link to the wiki is :  Building A Bare-Metal For An Embedded System.

About Embedded Nirvana : Embedded Nirvana is an initiative for hands-on knowledge sharing on Embedded Devices. Aimed at creating a knowledge pool about the use of Open Source tools in embedded devices and steering ahead the development of industry viable technologies and products

Wiki Page On : Development Board To Start With

I wrote a wiki page on Embedded Nirvana for those who find it difficult for which Development Board to opt for. The link to the wiki is : Development Board To Start With. More details are to be added. If you are into Embedded and this falls in your area of interest then do edit the wiki and spread the knowledge.

About Embedded Nirvana : Embedded Nirvana is an initiative for hands-on knowledge sharing on Embedded Devices. Aimed at creating a knowledge pool about the use of Open Source tools in embedded devices and steering ahead the development of industry viable technologies and products

Multiple PCB Layout

I’ve been using gEDA PCB quit often now and it makes me insouciant when it comes to designing new PCB. This time I had to create multiple layout of same design and I got an efficient way to do that. gEDA PCB provide scripts to do this activity. Attached are the scripts one need in order to get multiple layout out for the same PCB layout. This is the PCB layout which I made :

Continue reading

Open Hardware Project : Part 3

This is the final artwork after modifying previous two. Here the important change I learned and made was to connect all the PINs of IC to jumpers and then connect jumpers to other components. This way I learned that one can use same IC for different schematic on other PCB board and thus reducing cost while testing. This is the final PCB for the initial stage of the prototype for the project made using gEDA PCB editor.

Continue reading

Sketch & Then Implement : USB + LCD + 8051

Whenever I’ve to make schematic having micro-controllers, then the procedure I opt is simple one. First I’ll draw the PIN configuration (for 8051 its DIP for me) for that particular micro-controller on a paper and then with the help of datasheets and references I’ll draw the connections going in and out of the micro controller to the peripherals. For the schematic in the last blog post this is the snapshot of my rough sketch and after cross checking I draw it on either a drawing tool or a schematic editor to get a soft copy :

Continue reading

Interfacing Flash Drive + MCU

The main thing about all the portable devices out there is the “USB” a.k.a Flash Drive. So I used to think that MCU (Micro-Controller Unit) with USB capability (D+ & D- PINs) is all one need in order to read and write to a flash drive. This concept of mine was negated when I took plunge in order to understand same.

This is the block diagram which I come up with in order to interface a flash drive with MCU :

Continue reading