Monday, July 30, 2018

What's on the Bench? Microchip Explorer 8 Development Board


Over the past several years I’ve been stuck designing new embedded applications using a single MCU vendor, previously I did a lot of work with Microchip and other products and I was very active at the Microchip forum.

Now that my situation changed have the opportunity to go back and catch up and start developing again with Microchip products, then to get up to speed I’ve got one of the new Explorer 8 Development Board.

The Explorer 8 has more or less the same form factor as previous boards like the PICDEM 2 Plus Demo board, including a monochrome 2x16 character LCD and as before various sizes of IC sockets to accommodate 4, 8, 14, 20, 28 and 40 PDIP parts but now with the addition of the Microchip 80-Pin PIM headers.

At first it may look confusing but this new board has many more connectivity options, now including two 2x8 Digilent PMOD connectors, and a pair of MikroElektronika mikroBUS headers, plus a pcb edge connector for an expansion boards, two female headers for Microchip PICtail boards, and various headers here and there to access some key signals like I2C, GPIOs, power supplies, etc.


Image Courtesy of Microchip - Explorer 8 QSG
In addition, the board has a microUSB connector tied to a MCP2221 acting as a USB to UART/I2C bridge. The microUSB connector can also be used as a source for 5V power.
My board arrived with an 8-bit PIC16F1719-I/P MCU installed on the 40-pin IC socket and pre-programmed with the Microchip demo.

Pay attention when you power up the board for the first time, out of the box at least for the one I received the J2 jumper was in the position to get power from the microUSB connector. Since I was using the barrel jack with power coming form a 9V power supply I had to move that connector to the right position.

You will find various jumpers to configure some features depending on the application/MCU, clocks, power, etc, which makes the board together with the connectivity options more versatile than previous development boards.

The usage of the jumpers is well described on the User’s Guide. Always double check that you have the jumpers in the correct position for your application.

The Demo code is the classic Microchip voltmeter using the ADC to read the voltage from a pot, flashing some LEDs, but now instead of having the RS-232 interface, using the MCP2221 USB-UART bridge and a terminal emulator like TeraTerm you can get a message via the serial interface.


Another interesting addition to the board is that now not only you have the classic RJ11 jack ICSP connector for programming/debugging with ICD3 or other tools, the board has a right angle 6-pin ICSP header that can be used with for example a PICKit 3. This is great many times I’ve been stuck trying to find in my tool chest the magic adapter.

I did play a little bit with the pre-programmed demo, nothing super exciting about it but it is a good enough demo to get started, only issue is that I’m still trying to find the source code for it. 

I visited the product web page but Microchip only lists various example “Labs” pre-cooked for different MCUs, problem is that all these labs seem to have been generated using MCC (MPLAB CodeConfigurator) and currently MCC does not support the full spectrum of MCUs. I was thinking about building one of the Labs using a PIC18F4620 I’ve in my inventory, but MCC does not support that particular part. I guess I could generate the code for a PIC18F46K20 and then tweak it, but what a hassle 😊

I ordered few samples for the new K40 parts, when they arrive I’ll give it another try and post and article on my Project Blog showing how to do it.

While 8-bit MCUs may “feel” outdated they are still quite good and cheap for many applications, so I’ll explore some ideas in the near future and share them here.

Happy Hacking

Cheers
Jorge

Thursday, June 21, 2018

What's on the Bench? The PocketBeagle




The PocketBeagle is the latest member of the BeagleBoardfamily. Like the other members of the family it follows the Open Source Computing approach, driven by the BeagleBoard.org Foundation with the primary goal to “provide education in and collaboration around the design and use of open-source software and hardware in embedded computing.

The PocketBeagle packs on a small board about the size of small tin can of Altoids mints (55mm x 35mm) a lot of processing power and a rich set of features and interfaces, and it only costs $25 !!





Here is a quick list of the PocketBeagle technical specs and features
  • ·      1GHz TI Sitara ARM Cortex-A8 AM3358 processor
  • ·       SGX530 Graphics accelerator
  • ·       512MB DDR3 RAM
  • ·       Dual Core 200MHz 32-bits PRUs (Programmable Real Time microcontrollers)
  • ·       ARM Cortex-M3 for power and security management
  • ·       4KB I2C EEPROM
  • ·       microSD socket
  • ·       44 GPIOs and multiple interfaces, UART, USB, U2C, SPI, CAN, PWM, etc

      To make the PocketBeagle small and low cost, the board is built around a very novel hardware concept called SiP or System in Package developed by Octavo Systems.

Octavo Systems based in Austin, TX was founded couple of years ago by three senior semiconductor technology leaders that have been previously with Texas Instruments. The name comes from the Latin meaning of “one-eight,” which derives from printing 16 double side book pages on a single sheet of paper, then the resulting page size of the book is 1/8 of the original paper sheet.

Octavo instead of taking the SoC (System on Chip) approach all the way to custom silicon, developed their technology on the proven process known as Sytem-in-Package, which integrates multiple chips and other components in a single package. In this case for the PocketBeagle, the result is a small footprint BGA like package that includes most of the components to get a system up and running.



This is a great way to expedite development and time to market since all the details about DDR3 interconnection, Power distribution and management, CPU decoupling, etc, are all taken care of inside the System-in-Package part.



As you will see on the board and its schematics there are not that many parts besides the Octavo OSD3358-512M-BSM SiP, just few LEDs, some resistors to set the configuration of the Octavo SiP, a crystal as the clock source, a push-button, a USB power switch, few passives, the microSD card socket and microUSB connector, that’s it !

The BeagleBone Black Wireless and the BeagleBone Blue have been also built around the Octavo Systems SiP technology.

How hard is it to get it running? Piece of cake !!

Only extra things you need are a microSD card of at least 4GB (Class 10 recommended), a micro USB cable and a host PC with Windows or Linux, or a Mac.

Here is a quick start but you can find also the same information on the PocketBeaglesite.


Getting the PocketBeagle up and running

  1. Download the latest firmware image from Beagleboard.org
  2. To write the image on the microSD card you will need a utility like Etcher
  3. Follow the instructions on Etcher to write the firmware image on the microSD card
  4. After you have your microSD card ready insert it on the PocketBeagle and plug-in the microUSB cable
  5. After applying power via the microUSB connector you will see the power LED going on and after few seconds you will see the USER0, USER1 and USER2 LEDs start flashing as the Linux kernel boot process starts


    USER0 – Linux Kernel heartbeat indicator
    USER1 – microSD card R/W
    USER2 – Activity indicator
    USER3 – Idle
  6. After the PocketBeagle finishes to boot the Linux kernel and switches to multiuser mode you will notice that on your PC the board will present a USB drive with the content shown below

  7. The PocketBeagle will also create a virtual Ethernet interface between itself and your PC via USB, the IPv4 address for the PC side is 192.168.7.1/30 and the PocketBeagle will be 192.168.7.2/30, and a virtual serial console port via USB.

Sunday, June 3, 2018

Microchip devouring another semiconductor company


It was announced a while ago but last week the deal was completed and Microchip Technology, Inc. acquired Microsemi, Corp. for $10.3 billion, making it the largest acquisition to date.
This follows previous acquisitions of other important semiconductor companies such as Atmel, Micrel, SMSC, SST, etc.
But Microsemi is not foreign to acquisitions, actually the company originally Microsemiconductor founded in 1959 out of Culver City, CA, evolved over time product of multiple acquisitions of other companies and product lines. Most recent ones are for example Vectron, Phonon, PMC-Sierra, Symetricom, Zarklink, Actel, etc., and timing and synthesis business from Maxim, high reliability diode arrays from National Semiconductor, etc.
On its early days Microsemi was mostly a provider of semiconductor and systems solutions for defense applications. Nowadays has a very vast portfolio of products that will let Microchip diversify much more their product line, including FPGAs and SoCs, Storage, Ethernet and Network processors, Optical products, PoE, Power Management, Timing, RF transceivers, etc.

I visited their offices in Austin, TX last year when I was doing research and learning how to integrate Amazon Voice services (aka Alexa) into embedded systems. Microsemi has a very interesting front end audio processor which uses a revolutionary technology beyond DSPs to analyze the signals in the frequency domain, where using clever algorithms you can separate noise, music from voice, using multiple microphones implement beam forming, determine distance from the source, embed a “wake” word and obviously convert into digital format.




At the time I started working with an evaluation board of this processor, now they have a very nice development kit where using a Raspberry Pi you can easily learn how to put together a proof of concept for AVS.

You can order this kit from my friends of Arrow Electronics.







Saturday, May 26, 2018

Power over Ethernet - What is it ?

Power over Ethernet or as it is most commonly referred to “PoE” is a standards based implementation of power distribution using the same wiring on a twisted pair Ethernet network.

Essentially it is a method where a power source (the standard defines it as PSE - Power Source Element) is connected to the network wiring to deliver power to the other end to the cable to a device (the standard calls it the PD - Powered Device.)

This method was introduced around the year 2000 by Cisco Systems to deliver power to their new line of VoIP (Voice over IP) phones.

Basically the trick was to use the unused extra pairs on the Ethernet cable to carry DC power from the PSE to the PD. While today the most common implementation is to have the PSE integrated into the Ethernet switch, power can be “injected” in the middle of the wiring, what the standard calls Mid-Span.

To ensure interoperability the IEEE developed a standardized version of PoE as part of the 802.3 Ethernet Standard, the first version was issued on 2003 as 802.3af that defined how to deliver up to 13W of power to the PD using Cat3 or Cat5 cable, with the option of running the DC power on the same pairs as data (Mode A) or using the spare wires on 10/100BaseTX (Mode B.)


Over the years the standard evolved, first to 802.3at or PoE+ for up to ~25W and supporting Gigabit networks, to lately 802.3bt for up to 51-71W of power. The following table from Wikipedia shows a nice table with a comparison of the different PoE parameters for each version of the standard.


To optimize power usage and delivery, the standard classifies the power devices in various classes depending the amount of power they require and there is a sequencing or stages that establish how power is turned on and how much of it. IEEE 802.3 complaint implementations of PoE must follow this sort of electronic negotiation which requires a semi-smart controller on both sides of the network.

The following figure shows the stages of power negotiation and delivery for 802.3af/at
Be aware that there are non-compliant implementations of power delivery over the Ethernet cables that are improperly also called “PoE,” some of these implementations consist on just a power supply injected into the spare wires of the Ethernet cable without any negotiation/sequencing and maximum amount of power is often limited and not protected. These type of power injectors became very popular for installations of Webcams.

Over the next few weeks I’ll be publishing a series of “What is on the bench” articles about different options about how to implement and embed it on your designs for Powered devices, there are various companies that make things very easy with PoE ready modules, and others that provide the key components and reference designs.



Meanwhile here is a cool video from All about electronics with a brief explanation of PoE


Happy Networking

Cheers
Jorge

Thursday, May 24, 2018

Smart Buildings and IoT


This is a very interesting TEDx Berlin presentation I had to watch for my IoT (Internet of Things) Masters course.


Surprisingly 35% of carbon emissions come from buildings, which can be substantially reduced by applying modern technologies and sustainable development.

Building automation was a subject that grabbed my attention more than 30 years ago while working at IBM with the Series/1 computer. This system was designed for real time applications, one of them building control and automation. At that time Internet was still in its early days and modern computer networks where just in their infancy. Many systems and technologies were proprietary and there was minimal interoperability, and IoT was not even on the radar screen.

Nowadays with the ubiquity of the Internet, advances in technology, particularly on IoT and Big Data, it became feasible and commercially viable and redituable to develop sustainable or smart buildings, and the same concept can be used for developing smart cities.

As shown in the TEDx presentation by Coen van Oostrom, "The Edge" building is a clear demonstration on how the convergence of modern technologies with a sustainable development approach can enable the construction of more efficient and practical commercial building.


"The Edge" is not only consider sustainable and smart just because of the technology, but also as the way it is utilized by Deloitte (the principal tenant) to create a working space where no one has a desk, a new approach that goes beyond coworking spaces, in this case it is called hotdesking.

Your desk or space on the building is allocated based on your plans and preferences for the day. You drive an electric car, no problem the parking on the building includes plenty of charging places and your vehicle is recognized by its license plate and you are directed to your parking spot for the day.


Sunday, May 20, 2018

What is what you do ?

Once in a while I find myself in the situation of having to answer the classic recurring  question: "What is what you do?".

It is not rocket science, but I don't have an easy answer in few words given that they won't convey the deep complexity, knowledge and dedication for what I've been doing for a very long time.

The simple and short answer would be "Electronic Systems Design", or when people may know what I'm talking about "Embedded Systems Design", and expanded answer would be "Research and Development of Embedded Microcontroller Applications with Networking and Intelligent Graphical Human Interfaces and Internet of Things connectivity.

WOW, that sounds pretty kewl and geeky, IT IS !!, well at least for me :-)

To give you a more mundane and simple example, there is a lot of people talking about "smart" things like the nest thermostat, well, I design the guts of that kind of stuff.

Let me share with you how the process is, and as the saying goes, one image is worth a thousand words, but I'll add a brief explanation of each step.



The images above are for one of the products I developed and sold through my website, it is a circuit board slightly smaller than a credit card and that has a network interface chip, a simple microcontroller as the main processor and some non volatile memory.

The microcontroller is programmed with the "firmware" that implements the TCP/IP protocols used to communicate over the Internet, and it has sort of a small web server, that once the board is connected to the Net and powered, will let you access it from anywhere around the world to turn things off/on, check sensor readings like temperature, etc.

Like many ideas, a product like this may start as some gibberish block diagram on a napkin, the back of a store receipt, etc., but it then a more formal process begins using the right tools for the job.

The first step is to identify what components will be used and research how they have to be interconnected and what stuff is needed to make them work. Also for more complex designs and particular components the process includes testing and validating the components using "Eval Boards or Kits" or just samples.

Then using a specific CAD program (Computer Aided Design), in the past I used Eagle Cad (now owned by Autodesk) but several years ago I converted into Altium. There are many other CAD programs available including the very popular one called KiCad.
These CAD tools when used on the Electronics Design process are often called EDA for Electronic Design Automation, essentially the assist you to  capture a representation of a component (called a symbol) and its package layout or footprint for later use in the design of a circuit board. Once you have the symbols you can put together the schematics (shown as 1 in the picture), that show all the components, its values and how they need to get interconnected.

Not always necessary but a second step would be to put a rough prototype of the design to test its functionality, in some cases this could be done with a simulator on a computer, but there is no better test than the real hardware. In this case (shown as 2) I put together a wire wrapped prototype (components are interconnected on the bottom by thin wires that get "wrapped" on the pins of the sockets or the leads of the components.)

If everything goes well with the prototype, the next step is to design the printed circuit board layout (shown as 3), again with the EDA program, this consists in placing the components and drawing the traces in one, two or more layers of conductive material that will interconnect them. When multiple layers are used on a circuit board we create a sandwich of conductive and non-conductive materials, what we call the "PCB Layer Stack" or just "Stackup."

The EDA program will generate a set of special files that will be used for Computer Aided Manufacturing (CAM), this includes the files to produce the circuit board, place and solder the components on it. Picture 4, shows another tool I frequently use to inspect the CAM files.

Again, not always but often, just a few printed circuit board prototypes get done for testing and verification, to save costs (shown as 5) this particular prototype has no solder mask (a green protective and non-conductive thin layer) or legends.

If everything goes well then, real production begins (6 and 7), and the boards get programmed and tested, put into antistatic bags and get ready for shipment around the world.

Being this simple board, or a more complex design like the nest thermostat, it may require lots of research to learn the specifics of each components, some of them like more advanced microcontrollers have hundreds or thousands of pages of documentation that I need to read and digest, and experimentation using development kits, others prototype boards, etc. 

The picture on top of this article shows a partial peek to my collection of development boards, evaluation kits and my own products and prototypes.

Update in progress ...

Many years ago I started using these Blogs to record and to share what I learned from my R&D work in technology particularly Digital Electronics or Embedded Design.

Also one of my hobbies has been what may be called "Retrocomputing" sort of having a little fun with old computers, some electronics tools and gadgets.

Due to time constraint I sort of abandoned the practice of writing new articles and updating these Blogs. Well I decided that it is time to get back and refresh this corner on the websphere reorganizing these pages and getting back into the habit to write new articles and keep this updated.

To have the content somehow organized I will keep three associated but specifically focused Blogs.


Some of these pages had some previous articles, some of them I put them in draft mode so I can check and update their content and republish.

I continue to generate a daily digital News Paper called Short Circuit that is generated automatically from various feeds I provide. I will also be updating those sources for more rich contact.

To those that have been writing me asking about old projects and when I'd be back... well this is the answer :-)

Hope you enjoy the content and feel free to provide your comments and contact me

Cheers
Jorge