Friday, October 30, 2009

Microchip PICKit 3, Web 2.0 and social networks, Check it out mate

Short time ago Microchip Technologies introduced a new Programmer/Debugger tool, the PICkit 3. The plan is that this new programmer will replace the previous PICkit 2 version.

In the engineering community we were very excited about this new product because it now has a PIC24FJ256 MCU, much faster and with more memory than the one used on the PICkit 2. But we've got a little bit disappointed since the new product didn't seem to take advantage of the new MCU and many of the features available for the PICkit 2 were not present on the PICkit 3.

It didn't took long until comments started to show up on the Microchip User's Forum, but Dave Jones from Sydney who runs a very interesting electronics video blog put together a this video with an entertaining review of the PICKit3.

While some argue that Dave's review is not 100% accurate, he really pointed out many of the issues with the PICkit 3.

What Microchip did ?

Did they sue Dave ? No
Did they force him to remove the video ? No
Did they threaten him to shutdown his video blog and You Tube account ? No

They took it as a serious and honest message from the engineering community, and their response started with a direct call from Microchip's CEO, Steve Sanghi.

Dave provided the following update on his blog:

"Since this blog has gone to air and made it’s way all around the Microchip HQ, I have received a phone call from none other than the Microchip CEO Steve Sanghi. In a totally unexpected and rare show of honesty from any corporate person, let alone the CEO, he thanked me for the blog and for raising the issues. They took it as serious constructive criticism (as it was intended). He pointed out a few factual errors on my part which was fair enough, but admitted they could have done the PICkit 3 better and most importantly are working to fix the issues and give customers what they expect.

Any other huge multi-billion dollar corporation probably would have got their lawyers to give me a dressing down, if they cared at all, but Microchip really do care about their products and will happily take constructive criticism seriously at the top level. Such a thing has to be unprecedented surely?

I am absolutely blown away by Microchip’s honesty, and it starts from their CEO down.

Two thumbs up to Steve Sanghi and Microchip!

Not only that, in the era of the Internet, Web 2.0 and social media, Microchip is using the same tools as its customers for a two way dialog. There are several groups on Facebook, you can follow Microchip on twitter, they constantly add videos on YouTube, and guess what, Dave got his video response from Microchip ... Check it Out !!

This shows not only that Microchip is alert at what their customers say, it also shows that with a good sense of humor and recognizing what needs to be done, they do really care about their customers.

By the way, the product development team for the PICkit 3 is active and providing updates on the Microchip User's Forum, and not only they are planning to add the features we expected for the PICkit 3, they also plan to release all source material for the programmer, just like with the PICkit 2, including the source code for the stand-alone GUI that is under development.

This is not only a good example of a company that thrives for excellence, it also shows how the Internet empowers people to have a voice and be listened, and a good way, even after a mishap and what could be perceived as a negative comment, how a company with a right attitude can turn it around and get positive comments of its reaction such as this article.

Wish other large companies had the same attitude and appreciation for their customers.

Thanks Dave, and congratulations Microchip.


Thursday, October 22, 2009

eip-24 and eip-24/100 Preview

After few rounds of feedback from colleagues and debating with myself, I completed the final design for two new embedded TCP/IP boards.

The first batch of printed circuit boards are in the final steps of fabrication and I'll have them soon to complete assembly and testing.

Both boards will have a 16-bit Microchip PIC24HJ128GP202 as the main processor, same form factor and almost identical pcb layout, and same pin-outs.

The eip24 shown above will have a Microchip ENC28J60 10BaseT Ethernet Controller, a 16Mbit SPI Flash memory and a Microchip 25AA02E48 EEPROM with a unique Ethernet MAC Address.

The eip24-100 shown above will have aMicrochip ENC424J600 10/100BaseT Ethernet controller, a 32Mbit SPI Flash memory, and a Microchip 23K256 SPI RAM memory.

Both boards will also have three LEDs for heartbeat status indication or other use, and an RS232 transceiver for the serial interface.

On the drawing board and prototype bench I've right now a piggy-back board that will be compatible with both the eip24 and eip24-100 and that will have a 3x16 DOGM LCD, a microSD card socket, a temperature sensor, a 3.3V voltage regulator, some pushbuttons and a RJ11-6 for ICSP connection to an ICD2/3 or similar PIC programmer.

I'll post another article with additional details of the piggy-back board and an update as soon as the final docs and the eip24 boards become available.

Now it's time to go back to work on the firmware for them that will essentially be based on Microchip's TCP/IP Stack v5.10.



Monday, October 12, 2009

ENC424J600 - nic424 Board in production !!

It took me a while but finally the nic424 boards featuring the new ENC424J600 Ethernet Controller from Microchip are in production and available for ordering.

I had the first batch of boards ready for sale but I wanted to expedite and improve the test and validation process, for it then I designed a small customized "tester" using a PIC24HJ128GP202 as the "brains" for it, taking also avdantage of the analog features to measure voltage and current for the device under test.

Given the similarities of the nic424 with the nic28 boards, and the fact that I had some extra space on the prototype pcb I was using, I allocated some space and added the test pins for the nic28.

Here is an ugly picture (well it's not supposed to be pretty since it's internal stuff) of the finished tester in action.

Connection to all the test points are implemented with retractable pogo-pins which are kept in alignment with a small layer of plexy-glass, once the board to test is in place four large hexagonal separator act as nuts to keep the board in place and apply pressure to the pogo-pins for optimal contact.

The PIC24HJ128 controls power to the device under test (DUT), and using the ADC module measures the supply voltage to the DUT and supply current using a four-leads current sense resistor that feeds the voltage differential over the resitor to an MCP6022 operational amplifier that connects to one of the analog inputs of the PIC24HJ.

The LCD displays the measured values, the DUT MAC Address and together with two push buttons on the side acts as the user interface for several options and parameters of the test firmware.

When the test is finished the firmware that uses the Microchip TCP/IP stack, generates a complete test report that as a dynamic web page.

If you are interested in additional information about this application or the nic424 feel free to contact me.



Friday, August 21, 2009

Microchip ENC424J600 - Preliminary Tests

Finally the printed circuit boards and all parts arrived and I've got some time to put together the first batch of nic424 boars featuring the new Microchip ENC424J600 Ethernet Controller.

Based on the firmware code distributed with the latest (v5.10) Microchip TCP/IP Stack I customized a MAC driver module specifically for the nic424 and started to run some preliminary tests.

To my surprise I didn't have any problems getting the board up and running on the first try.

To test the Ethernet controller I mounted the nic424 on a solderless prototype breadboard alongside a ProtoPIC28 board populated with a Microchip PIC24HJ128GP202 Microcontroller.

For this first set of tests I'm using the SPI interface with a clock speed of 10MHz and the PIC24HJ running at 80MHz clock speed.

I compiled the TCP/IP Stack with the drivers for the nic424 and only included the ICMP Server module and the TCP Performance Test module.

The first test consisted in sending ICMP ECHO Requests (pings) packets to the PIC24HJ + nic424 from a dual core Pentium machine with Linux running at 2.4GHz, and connecting the Linux server and the nic424 through a Cisco Catalyst C2950 Ethernet Switch.

The Cisco C2950 didn't have any problems negotiating 100Mbps and Full Duplex with the ENC424J600 so I started playing with the payload sizes of the ping packets, going from 32 bytes up to 512 bytes. For each test the Linux server sent over a million packets in flood ping mode, packet loss with all payload sizes was 0% and the TCP/IP Stack didn't hang or reset during the tests.

To have a comparative test, I replaced the nic424 with a nic28 using the Microchip ENC28J60 Ethernet Controller and ran the same tests.

The graph below shows the average Round Trip Time results of the tests with both Ethernet controllers, clearly the ENC424J600 even at the same SPI clock performs faster than the ENC28J60.
After running the ICMP tests, I ran the TCP Performance Test with both controllers. The configuration using the ENC28J60 reported 97,100 Bytes/sec when the configuration using the ENC424J600 reported 134,100 Bytes/sec.

I'm planning to run some additional tests to get some metrics for packets per second and bytes per second taken from the five minute averages computed by the Cisco switch.

I'll mount a nic424 on a PICtail+ prototype board and do some testing with different processors on a Microchip Explorer 16 development board, and also try different parallel interface modes and see how well the crypto engines included in the chip perform.

So far things look very good, average current for the ENC424J600 was consistent with the values shown in the datasheet, around 200mA and the chip does not get too hot.

Don't have a firm date yet but I'll soon make the nic424 available for purchase through the LJCV Electronics site.


Monday, August 3, 2009

New 10/100 Mbps Ethernet Controller from Microchip

About four years ago Microchip debuted in the ethernet controller market with the introduction of the smallest standalone ethernet controller, the ENC28J60.

While embedded application developers looking to add a networking interface to their designs had other options, the ENC28J60 became a very interesting alternative for many applications since it didn't require to use many I/O pins from the MCU to talk with the controller.

Just a few components, the RJ45 with integrated or external magnetics, a simple connection using the SPI interface and voila you were on the 'net courtesy of the free Microchip TCP/IP Stack.

Few months ago we started savoring and playing with samples of a new generation of ethernet controllers to be available from Microchip, the ENC424J600 and ENC624J600. Today, Microchip made the official announcement !!

While some hobbyists will not be extremely happy because the new parts will be only available in 44 and 64-pin TQFP and QFN packages the new controllers have many goodies we were all waiting for, such as:
  • Integrated MAC and PHY for 10/100BaseTX twisted pair ethernet
  • 24 KB of RAM compared to 8K from the ENC28J60
  • How many times folks asked in the Microchip forum where to get the MAC address from ? Now it's on the chip !!, no more hassle you get the chip you have the address !!
  • We still get the simplicity of the SPI interface but on top of that now a multiple mode parallel interface
  • Integrated Security Engine on the chip to support RSA, MD5, Diffie-Hellman and SHA-1 computations
  • Available in two flavors, 44-pin (fewer parallel interface options) and 64-pin
If you can't control your anxiety to put your fingers on this new part and start playing with it, more good news, the 10/100Mbps Ethernet PICtail is available for purchase from Microchip.

In the past few weeks I've been working on a new network interface card similar to the nic28 I produced in the past for the ENC28J60. Just waiting for the first batch of pcbs to arrive and complete testing and documentation.

I'll soon post some pictures and specs for the new nic424 that will become available for purchase through LJCV Electronics.

Happy Networking !!!

Monday, July 27, 2009

COG LCD Character Module with SPI Interface

For some applications adding an alphanumeric display, particularly an LCD Character Module could be a plus, not only as a Human Machine Interface (HMI) but also as an output interface for device diagnostics and troubleshooting.

Nowadays Character Module LCDs are quite inexpensive, most of them use a parallel interface based old Hitachi HD44780 or its Samsung cousin KS0066 controllers.

You will also find some folks selling a Character Module LCD with an add-on serial interface or things like the
Serial Enabled Backpack from Sparkfun.

On one of my projects I showed
how to interface a regular Character Module using the SPI interface taking advantage of the Microchip MCP23S08 port extender.

I’ve been looking around for a while for a reasonable priced integrated solution, preferable with Chip On Glass Technology that does not take to much pcb real state.

To my satisfaction I recently found that the folks from
Electronic Assembly in Germany started to produce the DOG-M LCD series that is exactly what I was looking for.

The DOG-M LCD display series, not only provide the classic parallel interface but they also offer using the same controller the SPI interface option, and guess what you can use them with +5V or +3.3V supply.

There are different variants including STN yellow/green, reflective, STN blue, FSTN positive and negative, some of which require a backlight, but EA also offer a nice collection of LED based backlighting with ultra thin construction.

The EA DOG-M display series is available from
Mouser Electronics.

I’ll be using the 3 x 16 model for one of the products I’ve under development.
I'll soon post some pictures with the DOG-M displays in action.