Recent Articles:

About Me
I love making stuff and solving puzzles. I am mak...
Lua Libraries
Here are some Lua libraries that I have used or fi...
Intro :Trying to learn and standardize the Foreig...
This section contains links to everything related ...
Lua Compiler
Some notes on the C code of the Lua Compiler Lua ...

About Me
I love making stuff and solving puzzles. I am making electronic gadgets and writing code since I was 11 years old. In those days with no internet browsing the Annual issues of Electronics For You magazines was the only source of looking at interesting circuits and trying them out. Even before that I had read all the books I found of the series Electricity by Harry Mileaf. The book was so good that I was able to solve resistor networks much faster than even my school teachers.
Some other things I have spent time and enjoyed exploring over the years are:

The 90s
  • In coding I started with GWBasic which was taught in school. I wrote the Mastermind and Battleship games in GWBasic which moved to QBasic.
  • I wrote some interesting Mathematical programs which calculated Limits of any expression or plotted any expression or did definite integrals of any expression in GWBasic.
  • Having no theoretical background of transistors I experimented with them in 1996 for hours and then built circuit using Bipolars to create an original project - The Bidirectional Counter which won me 1st prize in my school exhibition. The counter had 2 light beams and a calculator wired to add or subtract 1 depending on the order of the light beam interruption. Thus one could know how mean people are still in the building who entered through this door.
  • I won a programming contest at school and got selected in a 3 member team that represented our school in a regional computer contest (Organized by SEARCC in QBasic. We won there and then represented our school at the Nationals in Madras (now Chennai). We were 1 of 2 teams selected there to represent India at the Finals in Bangkok in 1996.
  • After lot of work got selected in JEE and was able to get Electronics Engineering for my Undergraduate at IT-BHU now IIT Varanasi (much deserved but late recognition)

The 2000s
  • At IIT-Varanasi I built a lot of electronics projects like self navigating cars (without any microcontroller), Digital IC tester, Ultrasonic measuring pedometer and some more over there.
  • At IIT-Varanasi I wrote programs to solve linear circuits and some games as well in C/C++
  • I did my 2nd year internship at a company in Delhi and wrote 8051 Microcontroller code for weighing machines
  • I did my 3rd year internship at Fraunhofer ISE at Freiburg Germany where I wrote a lot of embedded code and LabWindows code to create a remote monitor of a Telecommunications Energy Autonomous system
  • After graduating I worked for a year at Fraunhofer IIS where I wrote DSP and microcontroller code and designed boards for Radar based speed measurement systems.
  • On my own time I also did a lot of x86 Assembly programming using FASM which was the best assembler project I found. I even wrote a boot loader for a PC using FASM.
  • I joined USC to do a masters in Electrical Engineering focussing on Analog and RF IC design. I took very interesting courses in Filter Design, Antenna Design, Electromanetism, Analog IC Design, solid state. I loved all the coursework and was able to secure a GPA of 4.00/4.00 and finished my Masters in 1.5 years.
  • Did a lot of MATLAB coding at USC and designed Array Antennas using MATLAB scripts.
  • I did an internship at National Semiconductor where spun of the LM3670 and created the LM3676 which added a Mode control pin to the part. The addition required a adding a pad, so learnt a lot about the whole flow - Block level simulation, Full chip simulation, ESD, Packaging, Layout and Tapeout, etc.
  • At National won first prize in a Analog Designer Course where lots of Analog Design Engineers were participating and was taught by Prof. Phil Allen from Georgia Tech.
  • At National built a new Bandgap topology and went through its whole design phase.
  • Joined Maxim in 2006 into a Power IC Design group and was introduced a new domain in Analog Design. Over there I designed switching regulators, LDOs, High voltage circuits, High Power and High Current circuits. Some chips (eg. MAX16838, MAX16836) I designed there have been making lots of money in the Automotive sector for Maxim.
  • I was involved with the Digital Power group where I handled a single inductor dual output buck converter. I macro modeled the converter, also built circuit blocks in the converter like the current sense amplifier and the voltage adjust circuitry.
  • I did a lot of coding in MATLAB and even made some corner simulation scripts in MATLAB.
  • I learnt and wrote a lot of code in VBA to make some tools for myself for Word and Excel. In fact I still use those tools to manage all my accounts in Excel and documentation in Word.

The 2010s
  • I joined Touchstone Semiconductor in 2012 where I designed ultra low power SOC containing switches, Current Sense Amplifier, Amplifiers, Integrators, Comparators all running at 1uA chip current. The chip worked fully at 1st pass
  • I worked on a 3.5uA Boost converter over there as well.
  • Since 2011 I have been programming in Lua. Lua has been a delight to use and taught me a lot about other areas of programming. With Lua I learnt to do network programming, do proper desktop GUI applications, write tools for myself to do Circuit simulation, and even do website programming. This site in fact is generated using a Lua script I wrote.
  • I wrote a corner simulation script generation tool (which I describe here) in Lua which I have been using since 2012 and has been giving me better flexibility and insight than Cadence's built in tools.
  • I joined Micrel in 2014 and over there I made a high speed <0.5mV six sigma offset current sense amplifier which worked in the 1st pass. This was part of a large PMIC with PMBus functionality
  • I wrote a desktop client to connect to the chip through PMBus which allowed us to test the chip in the lab when it came back.
  • I designed a GaN driver chip with a on board hysteretic buck which I architected and designed. It had other functionalities like adjustable Break Before Make time, adjustable driver voltages, etc. Also driving GaN FETs meant that the switching node would go 3-5 volts below ground and that would be normal. Also designed fast level shifters which were designed to retain their state during the LX node slewing.
  • At Power Integrations I used FastHenry to model and then simulate package level isolation transformer used to isolate the primary and secondary side of AC-DC converters. The results were close with actual measurements. I created some Lua Libraries to help model the structure in FastHenry quickly.

In the years I have built a lot of gadgets from simple ones like light and clap switches to sophisticated ultrasonic distance measurement devices and IoT devices to control through my network. I have programmed MSP430s, ATMega using C and assembly and also programmed TI DSPs during the time I worked at Fraunhofer IIS. I have designed PCBs using KiCAD, Eagle and Altium. My Github account contains some projects I work on.

Copyright 2018 Milind Gupta