Engineer Spotlight: Suresh Joshi from Vicara Solutions Inc

July 5, 2017natasha


Suresh Joshi


Vicara Solutions Inc


Principal Consultant


Toronto, Canada


Hi Suresh. Which tools do you use for circuit board design? Why?

Suresh: At my first start-up, we began by using Eagle Lite and KiCAD, because well…let’s be honest, they were free and we had no money. That doesn’t imply that they are bad. In fact, anyone getting into hardware design should use those two in lieu of the higher priced software.

Lately, I’ve been using OrCAD, mostly because I’d used it a lot at a previous company – so I have familiarity with it. I have been looking into the Altium suite, as a lot of talented hardware designers and people I respect recommend it. I always try to look for the best tools for my workflow and not pigeon hole myself.

For anything analog, I try to use Spice to get an idea of whether my circuits will work or not.

Taking a step back outside of just the hardware design aspect, I use Excel for my BoMs because everyone else does, so it’s an easy way to interact with CMs, clients, and vendors.

If I’m also writing the firmware, I sometimes use Excel to handle pin mapping – but I prefer to use a vendor equivalent of STCube.

Essentially, you select your MCU, assign and label your pins – and on the hardware side, you verify that your schematic matches the STCube pin mapping. It ends up functioning like a hardware API description – and from that STCube file, I can auto-generate my firmware’s hardware abstraction layer.

Assuming the hardware schematic matches my pin map, everything magically “just works”… Well, not exactly – but it’s pretty close.


Do you do schematic, layout, or both?

Suresh: For personal projects, I do both. For professional projects, I only do schematics, because I work with people who are better and faster at layout than I am.


Do you use 3D in your PCB layout? How?

Suresh: Yes, for 2 things.

1) As an input for industrial designers who are designing the exteriors of the product. Otherwise, quite often there are issues of vertical clearance as often PCBs are treated as two-dimensional.

2) As a deliverable for non-technical clients. To a non-technical client, receiving a schematic, gerbers, and a bill of materials isn’t very sexy. However, top those off with a slick 3d layout of their future product – and BAM, you’ve won them over.


What types of products do you design generally?

Suresh: My wheelhouse for clients is in the wearables/Internet of Things space.

For myself, it’s all about dev tooling. Anything that will make me or other people faster at developing/designing products.


What is the most interesting product you’ve ever designed? 

“To a non-technical client, receiving a schematic, gerbers, and a bill of materials isn’t very sexy. However, top those off with a slick 3d layout of their future product – and BAM, you’ve won them over.”

The most interesting (hardware) product I’ve ever designed is still the first one I designed end-to-end (over 10 years ago). I’m sure that’s nostalgia and bias coming into play, but I learned a ludicrous amount about analog hardware while designing a tool whose purpose was to inject varying amounts of noise at varying frequencies on the power rails of my old company’s product.

What made this yet more interesting was that this product under test was designed to withstand a ludicrous amount of noise, and drew several amps on each of its rails – making it that much more difficult to automatically inject this simulated noise.

On my own, I wouldn’t have had a chance to complete it, but I was fortunate enough to work for an absolute analog electronics rockstar who taught me an incredible amount in a very short period of time. He also gave me the leeway to come up with several of my own designs, which I spec’d out, and he would walk me through why they might/wouldn’t work.

This was also pretty funny, as I would spend a week coming up with circuits and simulations, and he would take 30 seconds to tear them down.


What makes you good at what you do?

Suresh: Eeesh… Loaded question with an answer that will be emblazoned on the Internet forever.

One way I can provide value stems from my experience at all technical levels of a product. So, depending on the scenario, I can be “a hardware guy who knows firmware”, or “a firmware guy who knows hardware”, or “an app developer that knows firmware”, etc…

This way, I can provide a second set of eyes during debugging, or be able to speak the right language when managing teams, but it’s really, really handy in cases of finger pointing. Firmware person blames hardware, hardware blames firmware – I hover in and blame both.

Experience in all different technical levels comes in handy when working in siloed organizations and seeing products designed in isolation with no respect for the person/people down the line (the ‘consumer’ of a designer’s deliverable).


What component do you wish a company made?

Suresh: One that would put the magic smoke back into ICs that were reverse-voltaged…

6 months ago, it would have been for a low-power, direct-to-internet RF module to skip those expensive gateways in LoRa or BLE-based networks… They actually take a surprising chunk out of profits.

As of today… I’m not sure, but I’m guessing it would be a really cool sensor of some sort.


Do you have any words of wisdom for EEs, or those wishing to pursue a career in our industry?

Suresh: “Measure twice, cut once.” -> Check, double check, and triple check your schematics before layout and production. That goes double for UART RX/TX lines.

“If you don’t have time to do it right, then how do you have time to do it wrong – twice”

I’ve never been involved with a project that has ‘enough’ time. If you take the time up front to go through the proper process it will be better and faster in the long run.

The unfortunate truth out there is that most of these pressing deadlines and timelines are artificially introduced by an overly strict adherence to Parkinson’s Law or the fear that the product has no value unless it comes out tomorrow. This then trickles down into poorly defined requirements, rushed development, and broken morale.

If you’re in this situation, question all assumptions. “I think maybe we might wanna have” is not a requirement and usually ends up with a board re-design or unnecessary cost. The best place to save on time is chopping down requirements.


Is there anything else you’d like to share?

Suresh: Yes! My very opinionated thoughts on designing boards intended for both production and developers (

It ties nicely into my previous points about doing things the right way, instead of rushing to do them the wrong way.

Comments (1)

  • 3303

    Bubba Gump

    July 6, 2017 at 5:18 pm

    Altium hands down. Anyone using Orcad is a masochist.

Leave a comment

Your email address will not be published. Required fields are marked *

Prev Post Next Post