Home arrow Blog arrow Misc
Misc
It's been a busy three weeks... | Print |
Written by Akiba   
Saturday, 22 November 2008

Well, I have to say that I am pooped. Things have been busy these past three weeks and unfortunately, I've been so exhausted that I just couldn't muster the energy to post anything. Since this is the first Saturday night I've taken off in a while, I thought I would let everyone know what I've been up to.

It all started with the disti makeover project that I thought I could pop out quickly. The plan was to port the vendor USB stack over to the hardware and then write some drivers for the sensor boards. Unfortunately, that went out the window pretty quickly when I couldn't get the stack to run reliably. I then spent the next two weeks writing a USB stack from scratch, which pretty much put a dent in my plans to start working on the Zigbee hardware. Luckily, I was able to turn the mini-project into an open source USB device stack so some good came out of it.

I was surprised when the disti ordered ten sets of MCU and sensor boards from me. I guess they purchase the boards from me since they probably don't want the hassle of getting the parts and assembling them. I'm good for prototype soldering but to do ten sets of boards was hopelessly painful. After buying up all the parts, soldering them down, testing the boards, and fixing the bad PCBs, I would have to say that it took approximately 3-4 hours per board. I ended up only giving them six sets because my head hurt. It took almost two days straight of inhaling flux fumes and trying to track down mysterious hardware bugs to get those six boards out. And my neighbors probably didn't appreciate hearing my air compressor pumping after midnight. 

I've decided that I need to improve my PCB assembly flow. I had originally thought that I would outsource them to some assembly house, but after I made some inquiries, the quotes I got were insane. They were in the range of $2000 for 10 sets (1 set = 1 MCU board + 1 sensor board) with a 3-4 week lead time. That's $200 per set! I was only charging $100 and that included the parts (they pay me a retainer too so I felt bad to charge them more...). Anyways, that kind of pricing isn't acceptable to me, so I'm going to try and move to a solder paste/reflow process instead for future boards. I already checked in Akihabara and found convection-based toaster ovens for about $150. My current reflow oven is about the size of an EZ-bake oven and could only fit about two MCU boards at a time. I originally bought it to reball BGA chips and didn't expect to use it to actually do a lot of reflow soldering. I'm going to do some tests on the convection ovens and if they work out, then I can have a low-cost scaleable solution for reflowing boards. 

Well, after that whole episode was finished, I spent a couple of days trying to understand how my CNC PCB mill works. The thing is insanely precise and I was stepping the head in 100 micron increments. However it does take a certain understanding of the basic workings of CNC equipment (ie: feed rate, spindle speed, tool precision) as well as a fairly deep understanding of gerber files and RS-274X formats. Luckily, Chris at AccurateCNC was very helpful and held my hand through the whole ordeal. I now realize that I had the wrong concept of the tooling that I needed and that for the dimensions I had in mind (8 mil trace width, 8 mil spacing), I should have purchased more precise tools. The CNC machine was very precise however the precision of the bits that you purchase plays a large factor in the minimum trace width that you can achieve.

I was eventually able to obtain the dimensions that I wanted, but I spent a lot of time getting the technique down. I'll probably post up a tutorial on CNC PCB milling in the near future for any others that decide to go the CNC route, since I think that rapid prototyping is going to become essential for people making RF boards. Hopefully, others won't have to make the same mistakes I went through and they can get up and running quickly. 

Finally, I did take time out about two weeks ago to attend the Make Magazine Tokyo Meetup. For people that don't know Make magazine , it's a magazine dedicated to people tha make their own stuff (hence the name...duh). However it's attracted a following of people that blur the lines between art and technology so you get a really interesting mix of people when you attend the events. In the US, the mix is more like the Burning Man crowd. In Tokyo, I'd have to say that the mix was clearly divided. Half the hall was filled with hardcore otaku (geeks) that were a cross between anime and electronics otaku. All of the exhibits on that side were fairly technically sophisticated, although there were many mechatronic projects that involved female anime characters (ahhh...paradise...). 

The other side consisted of artists and crafts people. The artists had really bizarre installations with a hint of tech and were actually pretty interesting. One girl created a latex heart that beat according to CPU utilization of the PC. Frivolous but cool. The crafts people focus on textile based projects and so there were a couple of wearable electronics types of things. Most of them used the Arduino Lilypad with conductive thread to implement the textile electronics. The one very noticeable thing that I took away from the meetup was that the girls were much cuter on the art side of the hall than the geek side. Hey, I'm married, not dead...

I spoke to some of the people at the meetup and mentioned my open source USB project. They recommended that I build an Arduino board for it since the current Arduino uses the silly FTDI bridge for USB serial access. I'll probably email the guys behind the project to see if they're interested. Also, selling a board on the side might help me earn some cash to augment my meager income and it might also get me a collab project with some of the cute, artist, bohemian, hippy chicks.

Anyways, that's pretty much what I've been up to. Now that all of that is out of the way, I just need to finish up some last work for my other part time job which I've been neglecting. Then, I'm gonna start porting the stack over to the Atmel boards I received. I feel bad because I bugged the guy to send me the boards ASAP but it's been like a month since I've touched them. *sigh*

Well, stay tuned because Zigbee will be coming back on line soon. Sorry about the delay.

Here's some pix of the Make meetup in case you were interested. Sorry, no girl pix. My wife periodically checks the pictures on my digital camera...

Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!

 
Some Minor Updates to the Site | Print |
Written by Akiba   
Tuesday, 18 November 2008

Just wanted to let you know that I made some minor updates to the site. There were just some things lacking such as project info, etc. So I added a Project link on the top menu bar with some info on the FreakZ and FreakUSB projects. The info is pretty minimal right now, but at least it can instruct users where to download the source code and to browse the documentation. You'd be surprised how many emails I get asking for links for that kind of stuff.

I've also added two new forums, one for each project. Questions related to any project should go in those forums. 

Hope these updates are useful. I really need to do more work on the site...

 
I'm Back... | Print |
Written by Akiba   
Thursday, 13 November 2008

Hi everyone.
I'm back from my brief excursion. Actually, I was working on a project for the disti that I'm contracting for. Once the PCBs were done, they needed a demo to show to their supplier and customers. At first, I thought it would be easy since I'm using an AVR MCU. I would just use the libraries provided by Atmel to implement the communications and then write a simple driver for the chips that they wanted to demo. Unfortunately, that kind of thinking backfired on me which was why I had to go into hermit mode for the last two weeks.

What happened was that the demo needed to interface to a PC, and not just a desktop PC, but laptops too. The problem is that laptops don't have serial ports anymore, and I didn't want to force people doing the demo to hang one of those USB/Serial converter dongles off of their laptops. Its much better to use the USB directly since you get both a power source and a fast communications link to the PC.

My mistake was thinking that I could take the vanilla Atmel USB device stack, port it to my platform, and have it work. When I did that, I would get intermittent crashes. I had thought that the problem was with my port, but the same type of behavior happened on the Atmel USB eval platform. For a demo, its undesirable, but probably 90% of the time, the demo reference code ends up going into the customer's design. If the code crashes a lot, then that's an easy way to lose a customer so I didn't want to risk it.

This gave me an opportunity to do something that I've been wanting to do for a long time...to write an open source USB stack. This stack, of course, is just a USB device stack, as opposed to a host stack which is much more complicated. However there seems to be a real dearth of good, open-source USB device stacks available. The ones that I've seen are mostly manufacturer stacks, with a couple of open source stacks that are heavily based on the manufacturer source code. What I was looking for was a USB stack that could be portable to different processors and USB device controllers, similar to what I'm trying to do with Zigbee. So basically, I decided to flex my USB muscles a bit. Of course I have a slight advantage with USB over Zigbee because I used to design USB chips (I was one of the designers for the USB IP being used in the Microchip PICs) and wrote a USB host stack before. Hence, there wasn't much of a learning curve for me in terms of protocol for USB as opposed to Zigbee.  

So for the past two weeks, I was writing a USB device stack from scratch. Although it's a pain, there are numerous benefits to taking this approach. The first is that it can be supported locally which means that I can add, modify, or fix the code instead of asking for help from an engineer in another country. This cuts down on the response time and the time that it takes to fix or change the code. The best way to keep a customer happy is to fix their problems fast :)

There are other benefits as well, such as the ability to open source the code (instead of using the yucky manufacturer license agreement which locks the code to the chip), and the chance to write funny comments that only I understand. 

When I was at my old company (actually two companies ago), it would have taken months to design it because of all the management approvals and meetings that were necessary, filling out statements of work, dealing with project managers to draw up the project timelines, and all the so-called USB experts that would endlessly debate the architectural tradeoffs. So now that I'm free from those shackles, I can say that it takes about two weeks of real ass-busting to get a device stack up and running, although it might still require a couple of tweaks ;)

Anyways, the outcome is that the USB stack is working, and the USB communications class driver with the Virtual COM port is up and running. I'll also be open sourcing it as soon as I clean up the code and write up the documentation.

Well, that's about it. Hopefully others will find the stack useful. At least now, its possible to get rid of that pesky FTDI chip (if you're lucky enough to have a USB interface on your micro). The release should be coming soon...and of course a Contiki port as well :)

Now...need to get back on track with Zigbee...

 
Radio Silence... | Print |
Written by Akiba   
Thursday, 06 November 2008

Hi all.
Sorry about the radio silence recently. I'm trying to catch up with some of my work projects that kind of got left behind recently. Looks like I have at least another week's worth of work left before I can resume the Zigbee development. Gonna try and bust some ass to power through everything. Talk to you later.
Yay Obama!

 
Yes...OBAMA!!! | Print |
Written by Akiba   
Wednesday, 05 November 2008
Obama won!!! I don't want to get too political on my blog, but I was rooting for him big time. It's like the first time since I was able to vote that someone I wanted made it into the White House.
 
Its Here!!! | Print |
Written by Akiba   
Tuesday, 14 October 2008

Two posts in one day. Haven't been this active since I started the blog.

Last weekend was a busy one for me. It was supposed to be a three day weekend, but I felt like it wasn't relaxing at all. It all started on Saturday evening when I got an email from Chris at AccurateCNC that my machine arrived at Narita. One thing I didn't realize about freight is that they only ship to the airport. After that you need to do the receiving yourself.

So off on my adventure I went. Sunday morning, I called the freight company in the US. They told me to call their Japan branch. The Japan branch told me to call the airline (ANA). The airline told me to call the airline cargo department. The airline cargo department told me that I needed to personally go to Narita airport to clear the package through customs...now. I left immediately.

Once at Narita, I had to go off the beaten path to the cargo area. Its the part of the airport that everyone passes by on the freeway on their way to the passenger side of the airport. 

Narita Cargo Area

The airport was about an hour and a half away and I arrived still wearing the clothes I slept in. The cargo area was huge and after a good amount of asking around, I made my way to the ANA cargo area. The lady helping me was really nice, considering it was a Sunday and everyone in cargo seemed to be in a constant state of panic. She gave me the air waybill for the package and told me to go to customs.

Customs was a nightmare. It was two hours of grilling me on the contents of the package. Its not easy to explain what a CNC PCB milling machine does to someone who doesn't know what a PCB is. The conversation went something like this:

Him: Whats a "desktop PCB CNC milling machine"?

Me: Its cuts out a PCB pattern on a piece of copper board.

Him: Whats a PCB?

Me: Its a printed circuit board.

Him: So this machine is a PCB?

Me: No, its used to make PCBs.

Him: Is that like a computer chip?

Me: No, it connects computer chips.

Him: So this is a computer?

Me: Yes *sigh*

It went on like that for about two hours and finally got the classification of computer/robot/machine. At customs, you need to pay a 5% tax on anything coming in that is declared. Unfortunately the invoice was attached to the waybill and it showed the final price of the mill, the acoustic enclosure, and the shipping. All together it was approximately $11,000 so the final tax was about $600. OUCH! 

After being bled dry, they finally approved my waybill so I had to go to another building to pick up the crate. This was my first experience with a palleted item so I went up to the counter and waited in line. When it was my turn, I showed the lady my waybill. The conversation looked like this:

Her: How do you want the item shipped?

Me: Via Yamato or Sagawa (they're like UPS and FedEx in Japan)

Her: *chuckling* Your item is too heavy for them. You'll need a car to pick it up.

Me: I don't have a car. I walked here. (She then looked at me with the disgust that can only be reserved for people that were wasting her time)

Her: You'll have to charter a truck. 

Me: What does that mean? (Another mean glare from her)

Her: That means you hire a truck to specifically bring that item to its destination.

Me: How much does that cost?

Her: A couple of hundred dollars. (Now its my turn to give her a mean glare)

Me: Shit.

She finally took pity on me and called a truck charter company. Fortunately, my apartment was in Tokyo which is close to the airport so it only cost $150 to get the item to my apartment. However that was the cheapest of the cheapest prices. When the item arrived the next day, it was loaded on the truck with no way to get it down. The truck driver was like a 70-year old man, and the truck was an old junker with no lift. We had to ask strangers passing by on the sidewalk to help lift the crate out of the truck and on to a shopping cart from the local grocery. Once it was on the shopping cart, we finally were able to get it to my apartment. 

Whew...what an ordeal. I gave the man $30 for a tip since I must have taken a few years off of his life by having him help lift that box. After I got it in front of my apartment, I knew there was no way to get it in the door. I had to take it apart and get it in piece by piece, since I was alone. So I uncrated it and tried to break it down. Unfortunately, the machine and enclosure was bolted to the bottom of the crate so I had to figure out a way to get underneath the crate to unbolt it. I need to thank Chris at Accurate CNC next time for making my life a living hell through his meticulous shipping methods. They are effective, though.

To make a long story short, I finally got it unbolted and got the unit inside piece by piece. It was the most stressful 2 days I've had in a long time.

Here are some pictures of the unit. I also took pics of some of my other equipment. Its mostly just pics of stuff I had to move to make room for the machine.

Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!

 
Extreme Disti Makeover | Print |
Written by Akiba   
Friday, 10 October 2008

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 Laughing)

Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!
Click image to open!

 
My Page Rank | Print |
Written by Akiba   
Friday, 03 October 2008
Wow, my site's front page hit a Google PageRank of 3/10. It was only a couple of months ago that I didn't even have a page rank. It just goes to show you that hard work and perseverance makes you socially inept. Wait a second, that didn't come out right. Anyways, its cool that I have a page rank now.
 
Please welcome a new addition to my family... | Print |
Written by Akiba   
Tuesday, 30 September 2008

Well, well, well...I guess I forgot to mention that the stork visited me yesterday and brought me a new addition to my family...of test equipment.

 

Yep...you guessed it. Bought me a used network analyzer. It's an HP 8753D 3kHz-3GHz vector network analyzer with a 2-port S-parameter test set.

I decided to buy it three weeks ago on eBay because the price was really good ($6k). Normally, 8753C's and 8753D's go for about $8-10k and I figured I would need one since I'm going to be designing a bunch of RF hardware soon. I didn't really mention it though because it was kind of a risk. Spending $6k on eBay and wiring money to a guy in the countryside of France isn't exactly a run-of-the-mill transaction for me. If I got burned on this deal, it would have been pretty embarrassing. Lucky for me, the guy was really cool and walked me through the transaction. The packing was good, and the analyzer is up and running and passed all the self tests. 

Did I mention I also bought a 50 ohm calibration kit? *cackle*

I also got word from Chris at Accurate CNC that my PCB mill will be shipped this week. There was a delay because its custom built and one of the parts got delayed. 

Yep, looks like I won't be getting a car anytime soon...but along with my scope, logic analyzer, and other equipment, I'm starting to feel like my home lab is kicking some serious ass!

 
Emasculated | Print |
Written by Akiba   
Friday, 26 September 2008
Man, I was hoping to finish up some more documentation tonight, but I ended up watching Sex and the City...the movie...by myself...At least I would have had an excuse if I went with my wife. How's that for procrastinative stress. Its like my penis just fell off. Well, at least I have to say that Carrie Bradshaw is looking good for a 40-year old. Actually, I just checked her out on Wikipedia and Sarah Jessica Parker (real name) is 43 so she looks even better.

Maybe I should just go to bed. That way, I can man up tomorrow and fill in the comments for the data structure fields...Hmmm...that doesn't sound right either.
 
Contiki OS makes it on to SlashDot | Print |
Written by Akiba   
Sunday, 07 September 2008
Contiki OS made it on to the main page of Slashdot . For those that don't know about it, getting on to the front page will usually bring your site down due to the volume of traffic that flows into it. Looks like Contiki hit the big time. Congrats to Adam Dunkels, Fred Osterlind, and the rest of the Contiki team.
 
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Results 89 - 99 of 128