Go Down

Topic: Another New PCB for Arduino Serial Single Sided (Read 38105 times) previous topic - next topic



I'd love to try it out if you are looking for someone to make one. Need a project for christmas holidays...



And yes, I need people who wants to build it. I'll make a prototype, but the more beta testers we have, more information to get corrections, if nedeed. I need to finish the eagle files, so I'll publish it here, I hope before Christmas!


Dec 22, 2007, 06:31 am Last Edit: Dec 22, 2007, 06:31 am by adilson Reason: 1
I finished the first prototype board now:

I did it with termal transfer (laser printer). I think the project is approved on etching question (one of the reasons the project exists).


Awesome.  Looks like it's time to solder the component and try it out!


Dec 23, 2007, 07:06 am Last Edit: Dec 23, 2007, 03:59 pm by adilson Reason: 1
Done!!! ;D

I made a mistake on board (forgot to isolate serial connector support, put serial pin 4 short circuit with gnd throw serial connector screw, and it didn't work. But I found the error, and it is working!

Since I conclude soldering it right now, I didn't tested it fully, but rx/tx leds feature, auto reset, reset button, uploading sketch (with auto reset and manual reset) all working well.

Uploaded blink led example, and onboard pin13 led blinks normally.

I did a termal transfer on component side, and helped to find component's place while soldering.

And to solder the board doesn't seem to be a problem, as well as etching, even for beginners.

Power led seems too bright. I'll measure current and try to change its resistor.



Very nicely done.  

I wonder if you really the jumpers.  The more we can eliminate, the simpler board is to understand and use.  The current ATmega168 bootloader should be fine if the RX pin is floating - maybe you can test it with the jumper unattached?  I can see why it would be annoying to have the RX and TX LEDs blinking when you use pins 0 and 1 for digital i/o - I don't think those pins are used very often, though.  Anyway, it's up to you - I think you have a better sense of how people will be using these boards than I do, but I wanted to suggest it.



I'll think about it. I wonder about jumpers too. But note that without the three jumpers the board functionality is the same of the 2.0 version (like I said, less documentation changes). And the jumpers position on the board helps to explain function.

I think the essential jumper is the auto reset enable. I've heard many complain about problems with auto reset (when not desired), and sugestions to solve the problem like "remove capacitor", or "unsoldering serial connector pin4". Removing a jumper is easier to do and to be undone.

I don't have a Atmega168 to test the board now. Only Atmega8. Is people having problem on Atmega8 (with floating rxpin) yet? Or it's an older complain?

And about the rx/tx leds, It's possible to remove the jumper. But it's not up to me, only. I'm really new user, and all experience people can expose, and sugestions will be useful to make a better Arduino (nkcelectronics, westfw and your help were essential). I'm not thinking of make a board that fits my use only, so your (all readers) opinion is very important too.

I want to post the eagle files or pdf/png to beta testers, but not sure about the use of Arduino name on the board documentation (used Serial version 3 Beta on mine, but its only the first prototype). What's your opinion about this specific project using the name?


fantastic Adilson

I"ll prove this project.




Thanks Giuliano.

you took part in too.

I did some modifications, and eliminated rx/tx leds jumper, Mellis. If not connected to serial, the only led that can light up is the tx, if pin1 is high. rx can light up very dim with pin1 high too. pin0 doesn't affect these leds. Like you said, they will blink only when using pin0 and pin1, that is not usual. An irrelevant side effect for many benefits, I think. And less jumpers are really easier to learn and use.

I left auto reset and rx to ground jumpers on board. I think they can be really useful.

I changed the R2 from 220 to 1k, to dim power led bright (I didn't see this modification before on diecimilia) and changed crystal position to better fit empty space when laying down.

I tested the board with PD, with arduino-test.pd, and it seems to be working well. So I'll publish some files for beta testers soon.


Dec 29, 2007, 06:08 am Last Edit: Dec 29, 2007, 06:36 am by adilson Reason: 1
(Not too) late notice:

attaching a 10k resistor to gnd on pin0 (rx) can solve the problem of rx floating on other Arduino boards. When using Serial Arduino, pin0 is connected to its serial circuitry, that means you have +5v/10K/1K/Pin0. So, attaching the 10k resistor (R0/J0 on schematic, or offboard) Pin0 has almost 2.5volts, not 0 volts. Not floating, but not zero reference, and sometimes Atmega understand this as rx coming, while disconnected.

So I decided doing something radical, but more comprehensible in using jumpers: a 3 pin jumper that disables rx/tx, and enables pin0 with 11k to gnd and pin1 with 20k to gnd, with no extra resistors. It's simple: if you want to upload sketches or make Arduino talk to software/computer, then jumper to rx/tx. If you want to use Arduino Serial without serial cable to computer then jumper to pin0/pin1. As a (good) side effect, the jumper disables rx and tx leds too. And forgeting the jumper in wrong position can't damage the board. All the rest remains the same.

The board (part) will look like this:

Anyone agree? Or don't?


I think it's starting to get complicated.  I don't think a beginner would understand the connection between wanting to upload to the board and the phrase "RX/TX".  In the ATmega168 bootloader, I enabled the internal pull-up on the RX pin to prevent noise from showing up as data.  Would something similar work here?


I think it's just a question of words used. We can say "Serial Enable", instead of "rx/tx". And about the internal pull up, I don't know if works in serial, since rx pin (pin0) it's not floating, but always energized. But I can try.

There's another option: to change the resistor from pin0 to gnd value from 10k to 1k, but it's the same problem: the pin0 will become almost 0,5 volts, and will kill the serial communication on rx too.
That's why I thought to effectively disable the serial circuitry (since it would not work well with resistors to gnd), changing +5v to gnd with jumper, and using to advantage of existing resistors to reference to gnd.



Thanks Big93.


I made some adds, in case of keeping serial/pin0&pin1 enable jumper:
Changed the text on board's component side to "Serial Enable" and "Pin0/1 Enable".
I think it is easier to understand it, and easier than "understanding your Arduino is not working because you didn't put a pull down resistor on pin0".

To make this feature really functional, I wrote shorter text on board's soldering side, since some people will not print the silk information on component side.
So, the jumper will be identifiable, ever:

The same on "auto reset enable jumper":

I didn't test internal pull up resistor yet. But if it doesn't work, the optional solution is already done.


I saw this forum:

and waiting for answer about the pull up solution.

Go Up