|
Hmmm…it feels like its been a long time since my last post. Actually, in the blog-world, one week is an eternity. Anyways, I've been taking a small breather from the Zigbee stack after the release last week so I could catch up on some of the work projects that I needed to finish. It was like my life was put on hold for about three weeks so there was a lot of things that needed to be done.
I mentioned before that I took on a second part-time job. Its pretty nice because now, my take-home pay is approximately the same as it was when I was working full time for one company. However I still have the freedom to work on the stack and can still control my own schedule. Ahhh…life is good… The second company that I'm helping out is a semiconductor distributor. Originally, they needed me to help answer technical questions for their product lines and also communicate with their suppliers in English (it’s a Japanese company). However since that job description is pretty boring, I've expanded the scope to something more interesting.
Having been on the semiconductor supplier side for so long, I've had the chance to see what its like from the vendor side and how they view distributors. I've also had the chance to meet many distributors and see their strengths and weaknesses. In my opinion, the biggest problem with distributors is that they're ill-equipped to handle the semiconductor environment of today.
The semiconductor world right now is much different than it was just a few years ago. Before, it was fine to just hawk chips. Most of the issues that came up were hardware related, and software issues were the customer's problem. The hardware issues could easily be handled by the semiconductor vendors.
Unfortunately today, it is completely different. Sometime within the past ten years or so, the focus went from hardware to software. MCU-based SOCs permeated the industry and software availability started to outweigh hardware performance as the main priority. Also, chip prices dropped like crazy as everyone and their grandma started making ARM-based SOCs. Hell, even the 8-bit microcontrollers started getting everything and the kitchen sink thrown into them; ie: an AVR AT90USB1287 8-bit micro has 128 kB flash, ADC, multiplier, multiple UARTs, I2C, SPI, USB host, USB device, multiple timers, comparators, etc. Can you imagine the amount of software needed just to fully utilize the chip?
SoCs (including 8-bit microcontrollers with a shitload of peripherals) are basically an MCU IP core surrounded by a bunch of peripheral IP cores. From an IC design point of view, as long as you have the IP available to you, you can crank out SoCs like pancakes…and that is what most of the companies are doing. That’s also why you see the chip prices dropping like crazy. As an example, one of the companies I worked for previously sold an ARM7 microcontoller with a high speed USB device interface and a 3Gbps SATA interface for less than $1. And that was over two years ago.
So the point is that with margins dropping and software requirements going through the roof, semiconductor suppliers are unable to handle the amount of software support required for their products. You can easily see this by emailing support at Atmel/Microchip/Freescale/(name your supplier) and seeing the response time if in fact you do get a response. Support is rationed so that Tier-1 customers get the highest priority (the volume customers, ie: 50-100k/month+), Tier-2 customers get whatever is left over (ie: 10-50k/month+), and then finally, Tier-3 (low volume) customers are left to fight over the scraps.
It's hard to blame the semiconductor vendors (even though I always enjoy doing it), since their margins are dropping like rocks and it's expensive to hire a bunch of software engineers. So increasingly, semiconductor suppliers are relying on distributors to provide technical expertise and support to their customers. However most distributors aren't set up to handle technical issues. I rarely see a distributor that even has a lab, and if they do, its usually some old-ass analog scope and a soldering iron.
So when the disti started talking to me about helping out with some of their technical issues (ie: support), I started to think that it might be interesting to see if its possible to turn a sales-oriented disti into an engineer's dream distributor. Most distis are happy just to find a guy that's heard of programming since a disti is usually the last choice for any decent software or hardware engineer to work for. The stigma attached to doing customer support is like a slap in the face for most engineers that are serious about their work. So this one is getting a little more than they expected.
I've decided to call this project "Extreme Disti Makeover". There are three parts to the plan: - Create a reference hardware platform. The platform needs to be modular so the center of the platform is an MCU board. The MCU board will have standardized connectors with a fixed pinout for peripheral boards. That way, the peripheral boards that are made can be interchangeable with different MCU boards. Whenever possible, the chips will be based on the disti's line card.
- Create a software library that’s ported to the reference platform. The software library will consist of open source software for things like I2C, SPI, timers, UARTs, PWM as well as communication stacks such as a USB device, TCP/IP, and of course Zigbee stacks. Almost all of the software is already available as open source (except for the Zigbee stack which is still being developed :) ).
- Training the sales people. I'm going to do a weekly 2-hour training for the sales guys that consists of 1 hour of basic design principles for hardware and software, followed by 1 hour of actual implementation on the reference platform. Of course, it will be a pretty basic level, but the main point is to get the guys to actually use the products they are selling. This is unheard of since most people at distis have never even touched the products they are selling. I'm not sure how this will go, but it will be interesting to see if its possible to turn the sales guys into techies.
Basically, this is kind of an experiment, and will probably end up being a lot of work, but its kind of a refreshing break from Zigbee once in a while. It will also be interesting to see if I can pull something like this off. Here's a couple of pics of the first boards for the reference platform. I'll probably be adding a few boards a month to this platform as well as some software (in between stack development of course )
|