Can Jaluino be compatible with Arduino's shields ?

2 views
Skip to first unread message

Sebastien Lelong

unread,
Aug 25, 2009, 3:51:49 PM8/25/09
to jal...@googlegroups.com
Hi guys,

I'm looking for some feedback from Arduino's users. As you may know, a new project named Jaluino is aimed to clone the idea of Arduino shields: provide a common base, and just plug a daughter board on it.

As the project has started, Vasi (Funlw65) also tried to build such a board. His board, renamed FreeJalduino, provides the same shape for shield connectors, so you can plug an original Arduino shield on it. Looks promising.

My doubts is how can a PIC provide the same functionalities as an ATMega, and as consequence, how can a PIC drive an Arduino shield ? For instance, ATMega has many PWM channels (like 6) whereas most PICs have 2 channels (if not only one). 18F2550 & 18F4550 have two channels. These differences made me think this wasn't possible, but I may be wrong, and would like your opinion on this.

Should Jaluino be Arduino-shield compatible ? Does the PWM example is an exception that could be considered as a "simple" limitation ? Or should we go our own way ?


Thanks
Seb
--
Sébastien Lelong
http://www.sirloon.net
http://sirbot.org

William

unread,
Aug 26, 2009, 12:28:48 AM8/26/09
to jallib
Greetings,

Perhaps I am too late with this coment, but:

Be careful with the pin spacing -- the original 'shields' had a very
weird problem between (their) pins 7 & 8, such that their shields
absolutely do not 'land' on a 100 mil grid. This is a pain if you
want to homebrew your own shields, or if you want to plug an 'off-the-
shelf' shield into your homebrew board or breadboard.

There are some nice workarounds, like on the Seeeduino, where they
provide two rows pins, so you can choose the weird shield pin-out or a
standard 100-mil grid pin-out.

I'll go back and review what your goals are for this project before I
say anything further.

William


On Aug 25, 2:51 pm, Sebastien Lelong <sebastien.lel...@gmail.com>
wrote:

funlw65

unread,
Aug 26, 2009, 4:49:55 AM8/26/09
to jallib
Regarding to connectors spacing, I used Eagle files from Freeduino
project. When you make a board or a shield, you must set the grid to
50mils and you will have no problems.

I'm always doing this when I do PCB boards (long before the Arduino
thing). Is a must when your traces snap to grid ;) . And many times
you will need to reduce the grid even more to fit the traces...

On short version, I find the 100mils spacing grid to no use in making
PCB's so there is a false problem.

Sebastien Lelong

unread,
Aug 26, 2009, 5:14:44 AM8/26/09
to jal...@googlegroups.com
I guess this spacing problem is also about boards already drilled (like this one: http://www.futurlec.com/Pictures/STPBRD1.jpg)
With weird spacing, you can't use this kind of board, you have to build a PCB. For rapid prototyping, it can be a pain...

Anyway, I think an intermediate shield could be the solution. This would be the Pandora shield, a link between two worlds: PIC and ATMega :) This shield could be plugged on Jaluino, and then expose connectors compatible with Arduino. If you don't want to play with an Arduino shield, you can still remove Pandora and use a bigger shield with Jaluino's original shield shape (more pins, more features). With such a shield, you can also add components to simulate some Arduino behavior (maybe something to drive lots of PWM channels at a hardware level, I don't know it exists or it makes sens). You won't have problems like running out of pins (from what you post here: http://moriscanet.blogspot.com/2009/08/freejalduino-board-issues.html)

Even with this Pandora shield (I like this name :)), I wonder how many Arduino's shields will work. I still think it's about putting cubes into circles (hope you know what I mean) but at least we have a solution: provide a partially compatible layer. Still some ATMega features won't be supported, as some PICs features won't be supported on the other side. We'll have to provide a list of compatible shields.

What's your opinion on this ? Does it seem to you as good compromise ?


Cheers,
Seb

funlw65

unread,
Aug 26, 2009, 6:02:28 AM8/26/09
to jallib
>Still some ATMega features won't be supported,
>as some PICs features won't be supported on the other side.
That's for sure.

>We'll have to provide a list of compatible shields
It will be a good start.

I needed two more pins... Arduino use Tx/Rx pins also as digital pins.
We are using USB pins only for USB...

I can't decide about a layout... I presented my point of view (which
is also your). I can't say it will be a success to follow Arduino
"rules" but I can say there are many people interested. My web traffic
increased dramatically and from countries where Arduino was successful
(I guess) ...

Of course, a correct decision can be made only if people come and
discuss here. So, I will let others to speak.

funlw65

unread,
Aug 26, 2009, 7:08:46 AM8/26/09
to jallib

Sebastien Lelong

unread,
Aug 26, 2009, 8:43:33 AM8/26/09
to jal...@googlegroups.com

I needed two more pins... Arduino use Tx/Rx pins also as digital pins.
We are using USB pins only for USB...

I can't decide about a layout... I presented my point of view (which
is also your). I can't say it will be a success to follow Arduino
"rules" but I can say there are many people interested. My web traffic
increased dramatically and from countries where Arduino was successful
(I guess) ...

Of course, a correct decision can be made only if people come and
discuss here. So, I will let others to speak.

Sure, but you didn't answer: does an intermediate shield, acting as pin compatible layer between Jaluino and Arduino, seem to be a good compromise ? Beside that, do you agree using our own shield layout would be better for our jal board (because it's 100% dedicated to PIC) ?

With 18F4550, we could also have the same layout as Arduino, then enrich it with more connectors from the remaining available pins. As for a homebrew version, this may give a complex PCB. Maybe Richard will have a better idea/understanding of what can be done from current version.

Cheers,
Seb

funlw65

unread,
Aug 26, 2009, 9:33:06 AM8/26/09
to jallib


On Aug 26, 3:43 pm, Sebastien Lelong <sebastien.lel...@gmail.com>
wrote:

> Sure, but you didn't answer: does an intermediate shield, acting as pin
> compatible layer between Jaluino and Arduino,
Of course it can be build

> seem to be a good compromise ?
but at this part, only users can answer.

> Beside that, do you agree using our own shield layout would be better for
> our jal board (because it's 100% dedicated to PIC) ?
I don't see how Arduino shield layout can't be 100% dedicated to PIC
as long as we use the PIC for that...
On Arduino board you will see <b>arduino pin silk</b> (an Arduino
convention), not ATmega or PIC pin notations...
If an Arduino language programmer use the board (via Pinguino), then
here can be Arduino silk. If is about a PIC programmer, then a normal
18F Pic pin silk can be used as reference.

Yes, with the actual Jaluino medium shield, pins are in a more
convenient order.

In order to use Arduino shields, I had few objectives:
1. To provide the 6 analog inputs starting from A0
2. To match Tx/Rx Arduino pinout
3. To have at least a half of a port inline on connectors...
4. To decide what are the two pins which had to be dropped... It was
logical to me to be Aref and D13 (LED) (now I think A4 should be
D13)...
I don't know if is the best arrangement, I will see when I will port
some Arduino projects with the help of Pinguino and Processing.

As PIC USB development board, I will use JAL (also Swordfish Basic can
be a very good option). For other PIC projects, I can use any language
from the market...

Richard

unread,
Aug 27, 2009, 4:59:47 PM8/27/09
to jallib
Hello Seb and others


On Aug 26, 2:43 pm, Sebastien Lelong <sebastien.lel...@gmail.com>
wrote:
> > I needed two more pins... Arduino use Tx/Rx pins also as digital pins.
> > We are using USB pins only for USB...
>
> > I can't decide about a layout... I presented my point of view (which
> > is also your). I can't say it will be a success to follow Arduino
> > "rules" but I can say there are many people interested. My web traffic
> > increased dramatically and from countries where Arduino was successful
> > (I guess) ...
>
> > Of course, a correct decision can be made only if people come and
> > discuss here. So, I will let others to speak.
>
> Sure, but you didn't answer: does an intermediate shield, acting as pin
> compatible layer between Jaluino and Arduino, seem to be a good compromise ?

Yes, a very good one.


> Beside that, do you agree using our own shield layout would be better for
> our jal board (because it's 100% dedicated to PIC) ?

Yes again, because this is a PIC board and not a ATMega.

Still I think it is interesting to make an intermediate shield to
place an arduino shield on a Jaluino as you mentioned above, because a
lot of (functions on the ) shields will work and arduino people can
switch low cost to Jal :-).
I don’t think it is smart to put time in making an intermediate shield
for an arduino to use Jaluino shields ( if they ever would be
interested you use our shields they can make it them selfs).
I have to check if it is possible to make a intermediate shield
without changing the position of the connectors on the Jaluino (if the
position is almost the same it could be a problem).
I will also check if it is simple to add i2c (r’s and connector and
jumpers) to the existing Jaluino medium (I removed it to make a simple
layout as I mentioned in pervious mails).

I am reading a lot of suggestions for the Jaluino medium but don’t
forget it must stay a home brew one (not?) and this means a lot of
limitation like pin positions and so on.
But it is possible to make a Jaluino medium hardware pin compatible
(distance) with an arduino same as it is possible to make the Jaluino
medium pcb the same size as an arduino board but this won’t be a
homebrew one like the Jaluino medium now.
In the future I’d like to make a Jaluino medium pro double sided. SMT
and with more bells and whistles than the homebrew one. And, off
course, once we are satisfied with the homebrew one; with the same
connector positions as this will be then our Jaluino base lay out.

Seb thanks for making and testing the Jaluino medium board it is very
nice to see it being made and used.
I have only one question: I am not sure but it looks like you did not
use a ceramic type of condensator for C5. But it must be this type of
condensator (as you can see in the manual).
A ceramic type you can see on www.farnell.com article number 1216441
Greetz

Richard

funlw65

unread,
Aug 27, 2009, 7:50:57 PM8/27/09
to jallib
Hi Richard,
See here how i want to make my next board based on 4550:
http://sites.google.com/site/funlw65/electronics/jaluino-pinguino-28-pins-starting-bo/freejalduino-mega?pli=1

It have a lot of bridges but is because of Arduino shield
compatibility. It can be made at home and also as a double-sided pro
board (through hole components).

Is also designed to be programed with Pinguino (but Pinguino must be
adapted to it - is not hard to do).

Of course, I'm not an expert. The design can be much better...

Regards,
Vasi

Sebastien Lelong

unread,
Aug 28, 2009, 5:18:32 AM8/28/09
to jal...@googlegroups.com
Hi Vasi,

I have other arguments in favor of using an intermediate shield and not having pins compatible with Arduino shields directly to the board (for funlw65).

1.

If you look at ATMega 168 pin layout, and look at an Arduino Duelmilanove, the shield connectors are directly aligned with ATMega pins. Just as Jaluino V1.0 has his shield connectors directly aligned with 18F4550 pins. This is why we have a simple PCB, which can be made homebrew.

Atmel seems to be more organized than Microchip when dispatching pins by functions... For instance, ATMega has all its ADC pins in a row. As a consequence, there's one Arduino connector with all of them. On the other side, 18F4550 has its ADC pins dispatched everywhere, and sometime ADC pins aren't even numbered in continue of some other PIC. That's the way it is, Microchip puts a lot of mess :) Now if you Vasi want to have a pin compatible board, you'll have to face this inconsistencies. Of course, and obviously, it can be done, but then you spread AtMega design on top of Microchip's, you put constraints on your PCB whereas it can naturally follow pin diagrams. To have a software analogy, it makes me think of a leaky abstractions: you let ATMega pin layout interferes with 18F4550 (and another one would be, "if you have a problem, add a layer" as they say in software)

Of course I agree being able to use Arduino shields would be great, and that's why I'll try to design this intermediate shield as soon as possible. I also understand you want your FreeJALduino board to be usable with Pinguino. In this case it makes sense since Pinguino is a clone of Arduino, it provides the same langage and ultimately you'll be able to take your FreeJALduino board, pick a shield, compile the code provided with the shield with Pinguino and voila ! you have a working stack, just like Arduino, using the same language, but PIC based (one would argue why not using an original Arduino...).


  2. You clearly showed in your blog that you had design issues in cloning an Arduino board. For instance, you'd need more pins (missing two), not all have the same functions, as already said etc... In your last design (your link), you show a 18F4550 based board, always pin compatible with Arduino shield, but also having another connector. So you have one part being compatible with Arduino Duemilanove, and the other being compatible with... nothing (following your logic, I would have made it compatible with Arduino Mega, at least partially since Arduino Mega a lot more pins then 18F4550....). With this approach, you're in the middle: either you miss pins (18F2550), either you have too much and don't know what to do (18F4550) and not fully going in the way you want, that is, being compatible with Arduino. The approach with Jaluino is to fully exploit the chip, have a clean, "natural" layout, and if needed/wanted, use the intermediate shield and downgrade the board functionalities (some pins aren't used) to use Arduino Duelmilanove shields.

Using an intermediate shield you can also abstract the chip,ie. the main board. Being 18F4550 or 182550, or 18Fwhatever, you'd just have to plug to correct intermediate shield to expose your bottom main board in a Arduino fashion way.


Phew... well I hope you did understand what I mean :)


Cheers,
Seb
2009/8/28 funlw65 <fun...@gmail.com>

Sebastien Lelong

unread,
Aug 28, 2009, 5:22:48 AM8/28/09
to jal...@googlegroups.com
Hi Richard,
 

I am reading a lot of suggestions for the Jaluino medium but don’t
forget it must stay a home brew one (not?) and this means a lot of
limitation like pin positions and so on.

Yes sure, I'm kind of greedy with features. I'll post another email to sum up what been said.
 

But it is possible to make a Jaluino medium hardware pin compatible
(distance) with an arduino same as it is possible to make the Jaluino
medium pcb the same size as an arduino board but this won’t be a
homebrew one like the  Jaluino medium now.
In the future I’d like to make a Jaluino medium pro double sided. SMT
and with more bells and whistles than the homebrew one. And, off
course, once we are satisfied with the homebrew one; with the same
connector positions as this will be then our Jaluino base lay out.

Yes, this layout is crucial, and currently have some problems I think (see my next post)
 


Seb thanks for making and testing the Jaluino medium board it is very
nice to see it being made and used.

Thank *you*, I hope it'll succeed !
 

I have only one question: I am not sure but it looks like you did not
use a ceramic type of condensator for C5. But it must be this type of
condensator (as you can see in the manual).
A ceramic type you can see on www.farnell.com article number 1216441

OK. I wasn't aware of the difference :) I bought some today, and will use it for the next version. Thanks for pointing this.



Cheers,
Seb

funlw65

unread,
Aug 28, 2009, 7:41:19 AM8/28/09
to jallib
Hi Sebastien,

You can consider my trials as an example of what not to follow if you
want.

Yes, there are few issues trying to be Arduino bridge compatible but
is possible and is an example of what can be done. And can be a
solution (option) for anyone looking for this kind of approach. It
have nothing in common with ATmega chips, just with Arduino design.

And can be fully used as a USB JAL development board. Is a more
general board which can be transformed in anything your shield want.
Don't look at it as a Jaluino usurper because is not. All references
on my site at Jaluino, Pinguino (with exact links to their web
origins), are made in the same manner we do with Arduino. Because the
resulting boards are FreeJALduino and FreeJALduino Mega (and I don't
have doubts about them).

I am for a successful Jaluino board (even if now I consider that I
have already my desired boards) and I want anybody to see my trials as
constructive (closed) discussion.

Regards,
Vasi

On Aug 28, 12:18 pm, Sebastien Lelong <sebastien.lel...@gmail.com>
wrote:
> 2009/8/28 funlw65 <funl...@gmail.com>
>
>
>
> > Hi Richard,
> > See here how i want to make my next board based on 4550:
>
> >http://sites.google.com/site/funlw65/electronics/jaluino-pinguino-28-...

Richard

unread,
Aug 28, 2009, 3:22:32 PM8/28/09
to jallib
Hello Vasi,


On Aug 28, 1:50 am, funlw65 <funl...@gmail.com> wrote:
> Hi Richard,
> See here how i want to make my next board based on 4550:http://sites.google.com/site/funlw65/electronics/jaluino-pinguino-28-...

Nice visualisation of your component layer.

>
> It have a lot of bridges but is because of Arduino shield
Yes I noticed, it is not possible to make a nice home brew lay out
with acceptable amount off via’s when you can’t place the components
in the best position for your controller

> compatibility. It can be made at home and also as a double-sided pro
> board (through hole components).

With double side pro board I mean of course double side mainly smt
components and pcb manufactured at www.eurocircuits.com so a very
professional look.


>
> Is also designed to be programed with Pinguino (but Pinguino must be
> adapted to it - is not hard to do).
>
> Of course, I'm not an expert. The design can be much better...

Neither am I, if you want you can make a nicer board but then you have
to go to double side pcb or use a ATMega or loos the pin compatible
with Arduino.


Greetz

Richard

funlw65

unread,
Aug 28, 2009, 8:33:10 PM8/28/09
to jallib
Hi Richard,

> Yes I noticed, it is not possible to make a nice home brew lay out
> with acceptable amount off via’s when you can’t place the components
> in the best position for your controller
>

Weird or not, only 5 (five) pins needed to be "relocated" on 18F4550 -
the others, are in their natural position/order. The rest of traces
are because of three reasons:
- the very small dimension of the board (if you look at Arduino -
Severino, which is one side, through hole comp. board, is bigger than
Diecimilla or Duemilanove);
- the traces had to be thicker enough for toner transfer method.
(homebrew/ghetto style - and is really easy to made);
- USB connector had to be in same zone as other connectors, to make
room for larger shields.

Counting this, and my limited experience, you must admit, I did a good
job :-P

I can't wait to finish the first board (18F2550) to play with it. Is
so small...

Regards,
Vasi

Richard

unread,
Aug 29, 2009, 3:50:24 PM8/29/09
to jallib
Hello Vasi,



On Aug 29, 2:33 am, funlw65 <funl...@gmail.com> wrote:
> Hi Richard,
>
> > Yes I noticed, it is not possible to make a nice home brew lay out
> > with acceptable amount off via’s when you can’t place the components
> > in the best position for your controller
>
> Weird or not, only 5 (five) pins needed to be "relocated" on 18F4550 -
> the others, are in their natural position/order. The rest of traces
> are because of three reasons:
> - the very small dimension of the board (if you look at Arduino -
> Severino, which is one side, through hole comp. board, is bigger than
> Diecimilla or Duemilanove);
> - the traces had to be thicker enough for toner transfer method.
> (homebrew/ghetto style - and is really easy to made);
> - USB connector had to be in same zone as other connectors, to make
> room for larger shields.

This I is not necessary, the usb connector does not limit the size of
a shield
The only limitation is that you probably cannot place components at
the position
of the usb connector on the pcb of your shield ( if you really need to
make such a big shield).

>
> Counting this, and my limited experience, you must admit, I did a good
> job :-P

Yes, but only if it is working as it should

A small tip, try only to draw traces horizontal, vertical or in 45
degree.
A pcb must also be a kind of an art.

You did not build this pcb yet did you? Because I think you will get
problems
with the components placed under the microcontroller even if you will
use a ic socket.



>
> I can't wait to finish the first board (18F2550) to play with it. Is
> so small...

They say it is not always the size that counts :-)



Greetz

Richard

funlw65

unread,
Aug 29, 2009, 5:26:05 PM8/29/09
to jallib
Hi Richard,


> This I is not necessary, the usb connector does not limit the size of
> a shield
> The only limitation is that you probably cannot place components at
> the position
> of the usb connector on the pcb of your shield ( if you really need to
> make such a big shield).

Ah, ok. I intend to use this board (the 18F2550 for now) for a couple
of projects and I think the shields will be large because I'm not
using SMD components.


> > Counting this, and my limited experience, you must admit, I did a good
> > job :-P
>
> Yes, but only if it is working as it should

I hope.

> A small tip, try only to draw traces horizontal, vertical or in 45
> degree.
> A pcb must also be a kind  of an art.

Thanks for the tip. I know, I like them too, having a symmetrical
aspect but this involve increasing the size of the board :-( . If the
traces are thin then can be made a little nice than it is now but not
with toner transfer method.

> You did not build this pcb yet did you? Because I think you will get
> problems
> with the components placed under the microcontroller even if you will
> use a ic socket.

Yes, I didn't! First I will build the 18F2550 version (almost ready).
But I'm not afraid about not fiting the components under the
microcontroller because J.P.Mandon succeeded with his Pinguino
18F4550 Tiny Board. See here:
http://jpmandon.blogspot.com/2009/08/18f4550-tiny-board.html
The crystal is only 3mm tall.

Regards,
Vasi
Reply all
Reply to author
Forward
0 new messages