The ECIO family of USB-programmable microcontrollers provides an incredibly simple way of adopting PIC microcontroller technology into your projects. The device behaves just like a normal microcontroller — but when you plug in a USB cable and press the reset button, you can send a new program to the device. There is no need for an expensive external programmer.

The ECIO-28P is built on the PIC18F2455 microcontroller. There is also an ECIO-40P which is built on the PIC18F4455, and an ECIO40P16 which is built on the dsPIC33EP256MU806.

The ECIO microcontrollers come pre-programmed with a bootloader that allows you to send a new program to the microcontroller via USB. ECIO is compatible with hex code from any appropriate compiler. It is directly compatible with Flowcode, a graphical programming language which greatly simplifies the code-generation process, but can also be used with any C compiler or Microchip's own MPLAB development environment.

ECIO is ideal in situations where direct programming from USB is required: for projects, or where systems will need reprogramming in the field.

Programming the ECIO

In Flowcode

A free limited version of Flowcode is available for use with the PIC-based ECIO range of modules. The great advantage of Flowcode is that it allows those with little experience to create complex electronic systems in minutes. Flowcode achieves this in two steps: first, users drag and drop flowchart symbols onto the screen, and fill in the dialog boxes when prompted. Then Flowcode compiles the flow chart into code that is downloaded to a PICmicro microcontroller which executes the program.

The free version of Flowcode for PIC is fully functional with the limitations that it can only compile code with a maximum code size of 4K, supports a maximum of 64 icons, and is for non-commercial use only. More functionality can be obtained by purchasing the Standard or Professional Version of Flowcode.

In C or Assembly

The ECIO range of products can also be programmed in C or assembly. A hex download program is provided as part of the Flowcode free demo version software, and as a separate download.

Using ECIO

With a prototype board

ECIO is really useful when used in conjunction with a prototype board: the 0.6-inch DIP ECIO unit simply plugs into the matrix of holes, and the surrounding components are wired in using single-strand wire. The ECIO can be used with an external power supply or the system can draw power through the USB cable itself.

With E-blocks

If you have larger projects, or you want to connect more advanced systems together, then you can use the E-blocks adapter panel. This allows you to connect a large range of boards from simple LEDs and switches to CAN sub-systems, Bluetooth, TCP/IP, etc. This is ideal for prototyping larger and more complex systems.

With your own hardware

If you are developing your own hardware, you can use the ECIO board as a component. Adding ECIO to your system allows you to develop a product that can be reprogrammed in the field.

This ECIO device can be used with any software that generates hex code for the 18 series of PICmicro devices. So if you have a compiler or assembler that is compatible with the PIC18 devices, then you have all you need to get started. Note that the bootloader resides in the PICmicro between locations 0x000 and 0x7FF, so your code needs to begin at location 0x800 (this can usually be achieved with a simple command to the linker tool).