Pinguino 26J50 !!

A new 8 bit board is available with full support in the last SVN revision. Regis and André published their work this week and made a lot of work to incorporate it in Pinguino IDE.
This board uses a 18F26J50 and a new bootloader rewritten from scratch and based on the DIOLAN Bootloader.
18F26J50 is a 8 bits PIC with many features:

  • 64 kbytes
  • 3800 bytes of RAM
  • a CTMU module ( to build capacitive sensors )
  • 2 Serial port
  • 2 SPI/I2C
  • operating voltage from 2 to 3,6V with 5,5V tolerant input

As usual, everything is published as Open Source and Open Hardware. Feel free to build the board and give your opinion.

Kicad files, bootloader and schematic are available on the website.

 

PINGUINO32-DIY

Finally, we designed a new board with a low cost 32 bits PIC. This board will become the generic-PIC32-board in Pinguino. Based on a PIC32MX250F128B, with 128k of flash and 32k of RAM, 17 I/O, 2 UART etc….
The same board can be used with a PIC32MX220F032B, the same chip used on OLIMEX Pinguino-MX220. We are working on the bootloader which should work with the internal oscillator of the chip ( no external crystal on this board ).

This board can be built ‘in a garage’ as usual !! With this new design, Pinguino stay in its original spirit. Kicad files and even a Gcode file to build it with a milling machine should be soon available.

Stay connected !!

Temperature Sensor

I built this very simple temperature sensor with a DS18B20. It is connected on a PIC32-PINGUINO and powered from the data line.


The DS18B20 library is very simple to use, just one line to check the temperature on the sensor:

#define ONEWIREBUS 9 // define the pin connected to the 18B20+ Dline

void setup()
{
Serial.begin(9600);
pinMode(8,OUTPUT);
digitalWrite(8,HIGH); // pin 8 is used to power the 18B20 ( +Vcc )
pinMode(10,OUTPUT);
digitalWrite(10,LOW); // pin 10 is used to power the 18B20 ( GND )
}

void loop()
{
TEMPERATURE t;

if (DS18B20.read(ONEWIREBUS, SKIPROM, RES9BIT, &t))
{
if (t.sign) Serial.printf(“-“);
else Serial.printf(“+”);
Serial.printf(“%d”,t.integer);
Serial.printf(“.%d”,t.fraction);
Serial.printf(“\n\r”);
}
}

Now it’s time to connect the DS18B20 and the zigbee shield to have a wireless temperature sensor !!

back view


Front view

ZIGBEE for PIC32

Pinguino32 uses a MRF24J40MA radio module to communicate with another Pinguino32 !!

This shield uses the UEXT connector of PIC32-PINGUINO and PIC32-PINGUINO-OTG. A very simple library is used to communicate with the module. You need only to initialise the module in the setup()

ZIG.init(channel,PAN_ID,Short_Address);

then to send data, you must use the ZIG.send instruction as described below:

ZIG.send(Dest_Address,“TOTO”,4);

each module must be configured with:
– radio channel ( between 11 and 26 )
– PAN ID ( personnal area network identification between 0 and 65535 )
– address ( between 0 and 65535 ).

to receive data from another module, you must use this instruction:

length=ZIG.read(rxdata);

A simple example has been added to the example folder of revision 147 of Pinguino32X.

Have fun
JP

Pinguino as a self replicating device !!

Self Replicating Pinguino on a breadboard

Hi Guys,

Self Replication
Self-replication is any process by which a thing will make a copy of itself

Now this is a property of Pinguino. This code allows you to copy the bootloader of your Pinguino in a new blank ( or not ) chip.
I tried it with a 18F2550, i don’t know if it works with a 18F4550 but it should works.

What do you need ?
– 3 transistors
– 2 LED
– some resistors
– an external 12Vcc power supply. ( 12Vcc from the computer is OK )

I think i will update this code later to use Pinguino as a real PIC18 programmer.

How many Pinguino child will you build ?

Schematic

Link to the schematic
Link to the .Pde file