Engadino
This project is named "Engadino" after Engadin - ski resort in Switzerland. The reason for this is that I live in Switzerland, I like skiing and the name is easy to remember and pronounce. By itself the project is a clone of "Pinguino".
"Pinguino is an Arduino-like electronics prototyping platform. It supports different 8- and 32-bit ©Microchip microcontrollers, all with built-in USB module (no FTDI chip !).
Pinguino comes with a USB Bootloader. This small program running inside the microcontroller is responsible for transferring your application from your PC to the microcontroller memory and handing over the control to this program afterwards.
No programmer is needed(*), the microcontroller can be reprogrammed over USB with a PC.
8-bit : PIC18Fx550, PIC18Fx5K50, PIC18Fx6J50 and PIC18Fx7J53 family
32-bit : PIC32MX Mips family
Pinguino boards can be used of different ways depending on your skills :
with the Pinguino IDE and the Pinguino Language (based on C and almost compatible with Arduino language)
with our own 32-bit MIPS-elf GCC toolchain (C/C++) or 8-bit SDCC/GPutils toolchain (C only)
with ©Microchip ©MPLAB X IDE toolchain
Pinguino is an Integrated Development Environement (IDE) which gives everyone the ability to write, compile and upload programs on a Pinguino board.
Pinguino Language is almost compatible with Arduino's Language, Libraries and Shields.
It makes you write easily your application without spending hours learning pragma, configuration bits or command line compiler.
Pinguino is Free Open Source software released under the terms of the GNU GPLv2 (General Public License version 2). Pinguino Boards are Open Hardware."
(reference http://www.pinguino.cc)
"Pinguino is an Arduino-like electronics prototyping platform. It supports different 8- and 32-bit ©Microchip microcontrollers, all with built-in USB module (no FTDI chip !).
Pinguino comes with a USB Bootloader. This small program running inside the microcontroller is responsible for transferring your application from your PC to the microcontroller memory and handing over the control to this program afterwards.
No programmer is needed(*), the microcontroller can be reprogrammed over USB with a PC.
8-bit : PIC18Fx550, PIC18Fx5K50, PIC18Fx6J50 and PIC18Fx7J53 family
32-bit : PIC32MX Mips family
Pinguino boards can be used of different ways depending on your skills :
with the Pinguino IDE and the Pinguino Language (based on C and almost compatible with Arduino language)
with our own 32-bit MIPS-elf GCC toolchain (C/C++) or 8-bit SDCC/GPutils toolchain (C only)
with ©Microchip ©MPLAB X IDE toolchain
Pinguino is an Integrated Development Environement (IDE) which gives everyone the ability to write, compile and upload programs on a Pinguino board.
Pinguino Language is almost compatible with Arduino's Language, Libraries and Shields.
It makes you write easily your application without spending hours learning pragma, configuration bits or command line compiler.
Pinguino is Free Open Source software released under the terms of the GNU GPLv2 (General Public License version 2). Pinguino Boards are Open Hardware."
(reference http://www.pinguino.cc)
The Original "Pinguino" Hardware
The Differences...
Comparing with the original "Pinguino" the "Engadino" board differs in the following:
"The TPS211xA family of power multiplexers enables seamless transition between two power supplies, such as a battery and a wall adapter, each operating at 2.8 V to 5.5 V and delivering up to 1 A. The TPS211xA family includes extensive protection circuitry, including user-programmable current limiting, thermal protection, inrush current control, seamless supply transition, cross-conduction blocking, and reverse-conduction blocking. These features greatly simplify designing power multiplexer applications." (TPS211A datasheet).
I have connected the chip in autoselection configuration - the preferred supply is the USB. If it drops under ~3V the supply is reconnected to the external source (if exist).
- The board shape is different - the "Engadino" board is square (5cm x 5cm).
- The "Engadino" PCB uses dual layer technology and uses mainly SMD components.
- The "Engadino" board supports both PDIP and SOIC 28-pin packages of the PIC18F25550 microcontroller. They can be soldered alternatively.
- The "Pinguino" is designed mainly to work with breadboards (it has male pin connectors), while the "Engadino" board is following the shield use approach (it has female header connectors)
- The "Pinguino" has a jumper to switch, between the external and the USB power supply. In the "Engadino" board i have used different solution:
"The TPS211xA family of power multiplexers enables seamless transition between two power supplies, such as a battery and a wall adapter, each operating at 2.8 V to 5.5 V and delivering up to 1 A. The TPS211xA family includes extensive protection circuitry, including user-programmable current limiting, thermal protection, inrush current control, seamless supply transition, cross-conduction blocking, and reverse-conduction blocking. These features greatly simplify designing power multiplexer applications." (TPS211A datasheet).
I have connected the chip in autoselection configuration - the preferred supply is the USB. If it drops under ~3V the supply is reconnected to the external source (if exist).
The Hardware
The schematic of the "Engadino" projects is presented on the pictures. The top and bottom side of the PCB are also shown.
The project database (schematic and PCB files in "Eagle" format) are available for download.
The partlist of the project:
Resistors
21 x 470 Ohm SMD-R2012
1 x 510 Ohm SMD-R2012
2 x 10 KOhm SMD-R2012
1 x 27 KOhm SMD-R2012
Capacitors
2 x 22 pF SMD-C2012
2 x 100 nF SMD-C2012
1 x 220 nF SMD-C2012
2 x 10 uF SMD-085CS_1AR
1 x 100 uF SMD-085CS_1AR
ICs
1 x PIC18F2550_28DIP DIL28-3 Microchip
OR
1 x PIC18F2550_28W SO28W Microchip
1 x LM1117IMP-5 SOT223 Texas Instruments
1 x TPS2110A_PW_8 PW8 Texas Instruments
LEDs
1 x Green LED CHIPLED_0805
1 x RED LED CHIPLED_0805
Quartz crystal
1 x 20.000MHz HC49/S
Switches
2 x microswitch B3F-10XX Omron
Connectors
1 x 2 pin jumper
2 x 4 pin 2.54mm female header
1 x 7 pin 2.54mm female header
1 x 8 pin 2.54mm female header
1 x USB type B PCB connector PN61729 Berg
1 x Power supply PCB jack DC-21MM
The project database (schematic and PCB files in "Eagle" format) are available for download.
The partlist of the project:
Resistors
21 x 470 Ohm SMD-R2012
1 x 510 Ohm SMD-R2012
2 x 10 KOhm SMD-R2012
1 x 27 KOhm SMD-R2012
Capacitors
2 x 22 pF SMD-C2012
2 x 100 nF SMD-C2012
1 x 220 nF SMD-C2012
2 x 10 uF SMD-085CS_1AR
1 x 100 uF SMD-085CS_1AR
ICs
1 x PIC18F2550_28DIP DIL28-3 Microchip
OR
1 x PIC18F2550_28W SO28W Microchip
1 x LM1117IMP-5 SOT223 Texas Instruments
1 x TPS2110A_PW_8 PW8 Texas Instruments
LEDs
1 x Green LED CHIPLED_0805
1 x RED LED CHIPLED_0805
Quartz crystal
1 x 20.000MHz HC49/S
Switches
2 x microswitch B3F-10XX Omron
Connectors
1 x 2 pin jumper
2 x 4 pin 2.54mm female header
1 x 7 pin 2.54mm female header
1 x 8 pin 2.54mm female header
1 x USB type B PCB connector PN61729 Berg
1 x Power supply PCB jack DC-21MM
Downloads
The Assembled Board
Some pictures of the assembled board
The Software...
"Pinguino boards can be used of different ways depending on your skills :
with the Pinguino IDE and the Pinguino Language (based on C and almost compatible with Arduino language)
with our own 32-bit MIPS-elf GCC toolchain (C/C++) or 8-bit SDCC/GPutils toolchain (C only)
with ©Microchip ©MPLAB X IDE toolchain
Pinguino is an Integrated Development Environment (IDE), which gives everyone the ability to write, compile and upload programs on a Pinguino board.
Pinguino Language is almost compatible with Arduino's Language, Libraries and Shields.
It makes you write easily your application without spending hours learning pragma, configuration bits or command line compiler." (http://www.pinguino.cc)
The "Engadino" ("Pinguino") IDE can be downloaded from here.
The IDE is similar to Arduino IDE. You can write sketches, compile and load them to the board. To be able to do this, you have to burn preliminary a bootloader program in the microcontroller.
"The Bootloader is a small program running inside your Pinguino's microcontroller (PIC18F or PIC32MX) which is responsible for transferring your user program to the program memory and handing over the control to this program afterwards. Without it your Pinguino board will have no use at all.
The bootloader is always pre-installed on commercial boards. If you made your own board you must program your Pinguino (only one time) using a standard PIC programmer which supports the PIC used in order to install the bootloader."(http://www.pinguino.cc)
You can download it here.
To burn the bootloader in the chip you will need a PIC programmer.
First I have tried with this. It did not work. I updated the firmware. It had again problems. After that I have found this DIY JDM programmer. I built it and worked perfectly. The only requirement is that your computer needs to have real (not TTL) serial (RS232) port. The port must work with +/- 15V and must be able to source/sink min. 5 mA current. If you don't have such port, you have to look in internet for some other solution. In the "Microchip" site you can order programmers, which surely will work with PIC18F2550 chip.
After burning the bootloader in the microcontroller, proper installing of the software, the drivers and the libraries you will be able to communicate with the "Engadino" board using the IDE program via the USB port.
with the Pinguino IDE and the Pinguino Language (based on C and almost compatible with Arduino language)
with our own 32-bit MIPS-elf GCC toolchain (C/C++) or 8-bit SDCC/GPutils toolchain (C only)
with ©Microchip ©MPLAB X IDE toolchain
Pinguino is an Integrated Development Environment (IDE), which gives everyone the ability to write, compile and upload programs on a Pinguino board.
Pinguino Language is almost compatible with Arduino's Language, Libraries and Shields.
It makes you write easily your application without spending hours learning pragma, configuration bits or command line compiler." (http://www.pinguino.cc)
The "Engadino" ("Pinguino") IDE can be downloaded from here.
The IDE is similar to Arduino IDE. You can write sketches, compile and load them to the board. To be able to do this, you have to burn preliminary a bootloader program in the microcontroller.
"The Bootloader is a small program running inside your Pinguino's microcontroller (PIC18F or PIC32MX) which is responsible for transferring your user program to the program memory and handing over the control to this program afterwards. Without it your Pinguino board will have no use at all.
The bootloader is always pre-installed on commercial boards. If you made your own board you must program your Pinguino (only one time) using a standard PIC programmer which supports the PIC used in order to install the bootloader."(http://www.pinguino.cc)
You can download it here.
To burn the bootloader in the chip you will need a PIC programmer.
First I have tried with this. It did not work. I updated the firmware. It had again problems. After that I have found this DIY JDM programmer. I built it and worked perfectly. The only requirement is that your computer needs to have real (not TTL) serial (RS232) port. The port must work with +/- 15V and must be able to source/sink min. 5 mA current. If you don't have such port, you have to look in internet for some other solution. In the "Microchip" site you can order programmers, which surely will work with PIC18F2550 chip.
After burning the bootloader in the microcontroller, proper installing of the software, the drivers and the libraries you will be able to communicate with the "Engadino" board using the IDE program via the USB port.
Applications...
A lot of applications can be found for the "Engadino" board. Different shields can be invented. For example, using only thyristors you can make simple controller for you Christmas lights.
An instructable presenting a GPIB shield for "Emgadino" can be seen here. The shield converts the "Engadino" board in USB to GPIB adapter, which can be used for controlling of different laboratory test, measurement, analysis and power supply devices by a single PC host.
I would like to bring to your attention the following application : "Digital signal generator". It is based on the open source project "Kidogo" developed by Dilshan R Jayakody. He has created a software called "Kidogo player", which turns a simple PIC18F2550 board in 8-channel digital signal generator. The "Engadino" board is fully compatible with his hardware and software.
"Kidogo system consists with Signal Editor and USB interface module. Kidogo Player is the Signal Editor of the Kidogo system and it can support up to 512 time slots (each range between 1ms to 1s) with 8 channels.
The Kidogo Player is designed for Microsoft Windows OS and it has many features, we can list some of them here:
Save waveforms and settings as binary file or export waveform as a text file
Playback controls such as “Play to segment”, “Play from segment”, “Step back”, “Step next” and “Clear”
Shifting and rotating waveforms
Invert, Reset, Clocking and Binary Generator functions
Mute function to each individual channel
Launch without any installation or configuration" (http://www.gadgetfactory.net/2012/04/8-channel-usb-digital-signal-injector)
Using this simple but effective digital signal generator you can test your digital projects, control different devices, lights...etc. Based on it I have created a simple "Philips" OTP programmer.
The compiled firmware ("kidchip.hex"), which must be burned in the chip, the "Kidogo player" software and few signal pattern examples are provided as downloadable file.
Have a joy!
P.S. A bare PCB can be ordered at the e-mail address: chicho.mecho@gmail.com. Price 10 USD with shipping included.
Both PCB's (Engadino+GPIB Shield) for making GPIB adapter cost 16 USD (with shipping costs included)
An instructable presenting a GPIB shield for "Emgadino" can be seen here. The shield converts the "Engadino" board in USB to GPIB adapter, which can be used for controlling of different laboratory test, measurement, analysis and power supply devices by a single PC host.
I would like to bring to your attention the following application : "Digital signal generator". It is based on the open source project "Kidogo" developed by Dilshan R Jayakody. He has created a software called "Kidogo player", which turns a simple PIC18F2550 board in 8-channel digital signal generator. The "Engadino" board is fully compatible with his hardware and software.
"Kidogo system consists with Signal Editor and USB interface module. Kidogo Player is the Signal Editor of the Kidogo system and it can support up to 512 time slots (each range between 1ms to 1s) with 8 channels.
The Kidogo Player is designed for Microsoft Windows OS and it has many features, we can list some of them here:
Save waveforms and settings as binary file or export waveform as a text file
Playback controls such as “Play to segment”, “Play from segment”, “Step back”, “Step next” and “Clear”
Shifting and rotating waveforms
Invert, Reset, Clocking and Binary Generator functions
Mute function to each individual channel
Launch without any installation or configuration" (http://www.gadgetfactory.net/2012/04/8-channel-usb-digital-signal-injector)
Using this simple but effective digital signal generator you can test your digital projects, control different devices, lights...etc. Based on it I have created a simple "Philips" OTP programmer.
The compiled firmware ("kidchip.hex"), which must be burned in the chip, the "Kidogo player" software and few signal pattern examples are provided as downloadable file.
Have a joy!
P.S. A bare PCB can be ordered at the e-mail address: chicho.mecho@gmail.com. Price 10 USD with shipping included.
Both PCB's (Engadino+GPIB Shield) for making GPIB adapter cost 16 USD (with shipping costs included)