@development board: What about this one then:
http://jallib.blogspot.com/2009/06/pic-18f4k50-usb-interface-board-part-1.html.
You've responded to that post already with some feedback I see :-)
What I think that would be useful is to make this development board
pincompatible with the arduino, so you can use their shields too. It
would help such board a whole lot further!
I'll be the devil's advocate on this one ;)
>
> The arduino language is really easy because some of the more
> 'difficult' settings are already set for you. Te knife cut's both
> sides -> easy for starters, limiting for the more advanced people.
>
Like the starter pack.
>
> But I think this can be fixed by making a custom library for this
> board.
>
Like jallib!
>> Pin count doesn't really matter in my oppinion.
It does. I have the arduino with an atmega168 and ran out of pins
before my project was completed. I'd go for a 40 pin chip or larger
(smd gives you more pins at the small form factor, which is nice. But
it is less easy to build and repair).
>> It's more the number
>> of specific pins (like there are 3-6 PWM pins on an atmega168), there
>> are only 2 on a 16F877.
Now you get close to the most anoyning thing of 'doning the best you
can for a use that does not know what he is doing'. In arduino, all IO
pins seem to be equal. So on a 20 pin board, you can configure 20 pwm
signals. But when you use them, you might notice that they don't all
behave like expected. Depending on the chip, some pin's support pwm
and work fine. But others don't support pwm and will be set either
high or low (depending of the pwm value).
And similar, you might need two pwm's, say for an h-bridge. If you
read the datasheet, you will choose two related one's, so you only
need one timer and limited setup code. But with arduino, you try (!!)
until you have two pins working like you want to. And probably make
less efficient use of you hardware (two timers etc).
Similar issue's are there for use digital ports in the way that you
are not encouraged to put related pins on the same port etc.
This kind of issue's made me switch halfway my arduino project:
dismantle the arduino framework, only keeping the required libraries
as includes for c++ and work form there. Much better! (and you regain
some options from C++ that are lost with arduino).
Or to make a long story short: IMO it is a bad idea to shield the
hardware features from the user. It's like designing a car for drivers
that do not know it is common to use the left front seat. It creates a
lot of issues to be handled and a lot of work while it is not
unreasonable to expect a driver to know which seat to take.
>> > I think too that such a board has to be kept really cheap to be
>> > successful. But also an easy programming language ( could be a problem
>> > too with JAL)
I realy wonder why you state this. What makes Arduino more easy to use
then Jal?
Are this the super-include and function (names) provided??
Joep
It does. I have the arduino with an atmega168 and ran out of pins
before my project was completed. I'd go for a 40 pin chip or larger
(smd gives you more pins at the small form factor, which is nice. But
it is less easy to build and repair).
Or to make a long story short: IMO it is a bad idea to shield the
hardware features from the user. It's like designing a car for drivers
that do not know it is common to use the left front seat. It creates a
lot of issues to be handled and a lot of work while it is not
unreasonable to expect a driver to know which seat to take.
> Another step is a math library (is a must in windmill controllers,
> loggers, weather stations) - don't say is not an efficient way to use
> a microcontroller, PICAXE have this requirement and is intensively
> used. Believe me or not, IMO is the main reason of loosing users... Of
> course, this is for JAL compiler developer.
What is it you're missing?
And needs it to be part of the compiler or could a library do the job?
(specs, specs!)
Joep
> I just saw Pinguino.
Looks good indeed! Couldn't we 'reuse' there hardware?
Looks nice, can't wait for the 18F4550 version :)
I would too prefer the PicKit2 connector, looks like more widely used
in in PIC's world (right ?)
About the schematics, I've seen there are currently only connectors.
This means we can still do what we want right ? :)
So, back on this post,
http://groups.google.com/group/jallib/browse_thread/thread/a1649a8b27a771ec/f09d680ac611d75c?hl=en
there's a "wishlist". Here I recall some bullet points, with more details...
- we should have one USB connector, connector to PIC's USB module.
This is to experiment USB.
- we should also have a connector for serial comms. Here I can see 3 options:
1. using a DB9 connector, and MAX232 chip. Big.
2. using a FTDI converter. Small. Expensive.
3. as Albert Faber suggested in the post, using a 18F14K50 to
build this converter. Cheaper than FTDI. (as far as I'm concerned, I
can't easily find this chip, except with high shipping rate, making it
almost as expensive as a FTDI chip).
4. No other connector. We use the first, and use a USB bootloader.
Guru Albert already developed one with jal (but bigger than tiny
bootloader, see later). Serial comms. are done through this USB
connector. I'd personally prefer to have a connector wired to TX/RX,
in addition to USB connector.
Maybe we could provide the three/four options... There can be 2
USB connectors, it would be nice if both would allow to power the
board through them
- I²C: alsways a must. An "I²C ready" board allows many experiments
and is opened to many 3rdparty chips.
- few LEDs for status (RX, TX, I²C, USB ?)
- power sections: 5V, 9V (original power), ideally 3.3V
- bootloader activated via serial (no need to manually reset the
board). I like Tiny bootloader, as many people here. Very small,
reliable, widely used, many clients (win, linux), never had any
problem with it. Resetting PICs requires some more parts, see
"Options" in http://www.etc.ugal.ro/cchiculita/software/tinybldusage.htm.
- we could also provide different version of Jaluino, as for
Arduino: with shields, for breadboard. Tiny Jaluino (18F14K50 ?),
Medium Jaluino (18F4550), BigFat Jaluino (18f6680...). We definitively
need to find some better marketing names for tiny, medium, bigfat...
What do you guys think about this ? Any more ideas ?
I'm willing to help, but I'm not an electronic Guru... I'll soon
received some FTDI chips + breakout boards, so I'll soon be able to
prototype and try few things in this wishlist.
PS 1: I wasn't aware of Fritzing, looks nice, I definitively need to try it !
PS 2: it seems your blog is powered by Google Site. How is it ? Do you
think it's an option as a website for jalv2/jallib ?
Cheers,
And if we do none of the above, we can have a 4-pin header:
- ground
- 5v
- tx
- rx
Cheap, small and still ease to access serial port (with only one
convertor you like for all your boards).
> - I²C: alsways a must. An "I²C ready" board allows many experiments
> and is opened to many 3rdparty chips.
I propose a 5-pin header here with the following layout:
- ground
- scl
- sda
- 5v (= regulated ps of pic)
- 9v (= unregulated input ps)
And optional pull-up resistors.
Joep
>And if we do none of the above, we can have a 4-pin header:
> - we should also have a connector for serial comms. Here I can see 3 options:
> 1. using a DB9 connector, and MAX232 chip. Big.
> 2. using a FTDI converter. Small. Expensive.
> 3. as Albert Faber suggested in the post, using a 18F14K50 to
> build this converter. Cheaper than FTDI. (as far as I'm concerned, I
> can't easily find this chip, except with high shipping rate, making it
> almost as expensive as a FTDI chip).
> 4. No other connector. We use the first, and use a USB bootloader.
> Guru Albert already developed one with jal (but bigger than tiny
> bootloader, see later). Serial comms. are done through this USB
> connector. I'd personally prefer to have a connector wired to TX/RX,
> in addition to USB connector.
- ground
- 5v
- tx
- rx
Cheap, small and still ease to access serial port (with only one
convertor you like for all your boards).
I propose a 5-pin header here with the following layout:
> - I²C: alsways a must. An "I²C ready" board allows many experiments
> and is opened to many 3rdparty chips.
- ground
- scl
- sda
- 5v (= regulated ps of pic)
- 9v (= unregulated input ps)
And optional pull-up resistors.
>> > - I²C: alsways a must. An "I²C ready" board allows many experiments
>> > and is opened to many 3rdparty chips.
>> I propose a 5-pin header here with the following layout:
>> - ground
>> - scl
>> - sda
>> - 5v (= regulated ps of pic)
>> - 9v (= unregulated input ps)
>
> Looks ok for me. With such a standardized connector, we'll able to easily
> plug multiple jaluino boards together...
Again, I have a lot of experience with this kind of layout. Especially
the combitation of the two power supplies well surprisingly. It can be
used for power distribution at both levels within the same system. And
since it are different pins, mistakes result in system parts not
having power, not releasing smoke ;)
>> And optional pull-up resistors.
>
> You mean, with a jumper ?
>
At least a place to put them. Jumpers (you need 2) may be overkill
(you can put a 2-pin header at the resistor's place and put the
resistors on there if you to switch often). Two soldering pads could
be usefull if the space is there.
Joep