Tuesday, August 25, 2009

Building Jaluino v1.0

Jaluino, with user guide, schematics, PCB, shields, etc... can now be reached on the following sites:

Main site: http://jaluino.org
Repository: http://jaluino.googlecode.com
Group: http://groups.google.com/group/jaluino

Big time.

Thanks to Richard's last contribution, we now have a nice schematics for the first version of Jaluino board, and very clean and easy to build PCB.

Jaluino is aimed to be a clone of Arduino, but PIC-based, and powered by jalv2 & jallib. The purpose is to share a common hardware configuration, on top of which one can add different features and capabilities, thanks to shields (daughter boards). Ala Arduino...

This post is to give an overview of how to build it, but with not so much details. If you want to build it, you'll have to be familiar with PCB creation.

That said, having this board within your hands is really nice ! It really helps thinking about what could be done with it, what could be improved, and is a nice base to start thinking about building shields.

So, here we go ! First of all, you can find all schematics, PCB and many more details in jallib SVN repository, under "/project/jaluino" directory.

Here's the schematic, but have a look at the PDF file for a more detailed one:

The PCB is surprisingly very simple (thanks Richard !), and thus very to easy to build:

Don't print and use this image ! Use the PDF file here, and print it at scale 1:1, that is, without any zoom-out or zoom-in correction. If any doubt, once printed, put the microcontroller support on the paper (or the like) and check all pins perfectly fit all holes.

PCB creation

As said, PCB creation is easy. I use the toner transfert method, using glossy photo laser paper (dedicated to laser printer, not ink-jet). If interested, have a look at this post, explaining how to do this, step by step, with a video.

Once the transfert is done, the PCB is ready to be etched.

PCB is etched, now drill the holes

PCB is ready for soldering

A brief comparison between original Arduino and Jaluino. Jaluino is obsviously bigger, but embed a much bigger chip, and most importantly is made homebrew!

Soldering components

I try to start soldering components from the smaller & lower ones, to the biggest and taller ones. We'll follow this component diagram, provided in PCB PDF file (page 2).

First solder resistors and diodes

Then solder small capacitors (unpolarized)

Place microcontroller support, quartz, pushbutton and bridge rectifier (I used a DF02M instead of DF04M)

Add wires (green), power jack, big capacitors (polarized)

Solder shield connectors, serial and ICP connects. Add 7805 voltage regulator. Don't forget jumper for power selection and RTS reset feature.

Place USB connector and fuse support

Place your favorite 18F4550 onto the support, and don't forget the fuse ! You're done, kudos !

The reverse side...

Now here's a brief map showing the different features coming with this board.

Note: one important missing feature is I²C support, which surely will come in the next version.

I already tried quite few things with this board: In Circuit Programming using XWisp648, blinking a LED (of course), UART using serial connector, with tinybootloader and testing Reset-via-RTS feature (great), and USB-to-serial ! In the next post, I'll try to describe these experiments one by one.

Another important thing, if not the crucial one, is how big should a shield board must be. Current shield connectors configuration gives a surface closed to Arduino's (only considering the surface between connectors, not the whole board). It it enough ? Should a shield board be bigger ? Now imagine this board is doubled-sided, built through a professional process (and thus available as a commercial product). How much smaller would it be ? Will current connectors configuration be valid ? This is a very important thing, because from this is derived all the shield compatibility. If one builds a shield for this Jaluino v1.0, and shield connectors gets changed, this shield will have to be adapted and rebuilt...

And about shields, now the time has come to design a development shield, providing (more or less) basic features. This shield could be used to learn jalv2 & jallib. I was thinking about having:
  • one LED connected to a standard digital output
  • one LED connected to a PWM channel
  • maybe a buzzer connected to the other PWM channel to make sounds
  • one or two push-buttons (input)
  • pot to have fun with ADC
  • maybe an EEPROM to play with I²C
  • a small LCD screen (8x2)
But maybe that's a little bit too much for single shield...

Please advise !

Sébastien Lelong & Richard Zengerink.


  1. Hi guys,
    For the next version of Jaluino I suggest to place all connectors on same part of board (left or right, etc.). Why?

    Look at photos from this page:
    http://krisbarrett.com/2008/09/03/make-a-custom-arduino-shield/ to see where was the mistake (from which we all can learn)

    A shield must not be limited at connectors area (not even at board dimensions). It can be as larger your application need (so, your application dictate the final dimension of your shield). Only connectors must be part of a standard.

    About protoboard shields, I searched them for Arduino and I found very different designs. And, what I find to be very useful and ultimate, others might not agree...

    About a demo shield, make your own for teaching purposes, then people can reproduce it or make their own and publish them on blog.

    And also important, don't forget to provide a Jaluino shield component library for Eagle, KiCAD, etc.. to help others to make their own shields

    P.S. See, here are the advantages of having the same shield connectors as Arduino... they are already on the market and a jaluino board will became attractive also for Arduino comunity and PIC community will buy Arduino shields - It's a chance IMHO to get it right...

  2. "to place all connectors on same part of board"

    I mean, USB, power, and other tall connectors or components

  3. Thanks for the link about custom shield. Indeed, having tall components on both side on the board can be a problem, but I also guess they are here for keeping the homebrew version simple enough. Maybe using a mini-USB connector would do the trick (but I think I must be soldered on the surface...)

    About shield size, I agree you can have bigger board than the surface between connectors, yet there's a relation: most shield have their components within connectors. This is particularly true plug in more than one shield (or you'll have connectors within a mass of other components). Maybe we should add space, and put bottom connectors a little bit more down (easier on the bottom than on the upper side).

  4. "yet there's a relation: most shield have their components within connectors".

    Consider a breadboard. You can't put a breadboard between connectors of this current version, even a very tiny one like this one: http://www.adafruit.com/index.php?main_page=product_info&cPath=17_22&products_id=65&zenid=fbb3ba394605f61588cecf2daecd74ad

  5. This will be my next project but I don't know to say exactly when...

    Of course, it will have Arduino shield compatibility because it will be used also with Pinguino.