I've been working on my UV radiometer project again and finally got a PCB made for it from OSHPark.com. I wired it up Monday and amazingly enough, it worked!
That said, the TRRS pads didn't line up with the TRRS jack I had purchased, thus the rats nest of wires at the top of the board. D'OH
I decided I'd redo the circuit in Eagle PCB so I could get a feel for it compared to Fritzing. I like Fritzing's workflow (breadboard --> schematic --> pcb), but it's really finicky and a lot of times wires aren't connected like they should be in the schematic after breadboarding. Here's what I came up with:
And the PCB after routing:
As-is, the design uses the following components:
* Arduino Pro Mini, 3.3v * LCD, 8x2, 3.3v * TRRS jack (to plug the sensor into it) * 10k trimpot (LCD contrast control) * 0.1uF capacitor on the RAW+ from the battery * 3 AAA batteries attached at TP1
Would someone be willing to look over the design and give me your thoughts?
My goal with this project is to make a simple kit with minimal parts. Yes, I could abstract the Pro Mini out into its own components on the PCB, but when I can get a Pro Mini from China for $2, it's awful hard to justify that.
Thanks!
Edit: I know all the traces line up; I just want some feedback on my circuit and if I'm missing anything. Essentially what I'm building will look something like this:
I'll take a look at it for you. A couple suggestions right off the top of my head, If you want to make it even smaller, mount the Pro-Mini on the back side of the board underneath the LCD. Also, I would suggest Low-Profile plugable headers (I'll show you mine Thursday) on the Pro Mini. That way is one or the other gets zapped you don't have to scrap both.
I don't blame you for using the Pro Mini as is. Even at the $5 rate that I buy them at is worth all the extra work you need to do. At the very least you would need the Atmel chip, a few capacitors, a Crystal, and a Voltage regulator That right there is more than $5.
And I assume you used the Auto-route?
Last Edit: Feb 4, 2015 11:23:04 GMT -5 by BeeAmaker
Some things are meant to be closed. Your mind isn't one of them.
Not sure why A1 is connected to Vcc, voltage reference? Your analog inputs reference Vcc by default.
I would recommend a small electrolytic CAP across your input power as well, maybe around 10uf and at least 25volt.That helps take the spike out when plugging in your wall wart. Then move your 0.1uf cap you have there now next to the Audio Jack across Vcc and ground.
Possibly a small PTC fuse on the input as well, but in this case not really needed, most wall warts shut off if over drawn and I really don't see anything here that will draw massive amounts of current even if shorted. It will burn a trace before it blows a fuse anyways.
Your auto-route needs a lot of help.
Looks good
Some things are meant to be closed. Your mind isn't one of them.
One more thing, if it doesn't effect your sensor reading any, try a 330ohm resistor in line between your audio jack and A0. This will prevent your Arduino pin A0 from getting damaged if your sensor shorts or somehow touches a higher voltage than Vcc. Or someone decides to plug a microphone into the jack or something. But do so only if the sensor reading is not effected my it.
Last Edit: Feb 4, 2015 15:18:47 GMT -5 by BeeAmaker
Some things are meant to be closed. Your mind isn't one of them.
I would recommend a small electrolytic CAP across your input power as well, maybe around 10uf and at least 25volt.That helps take the spike out when plugging in your wall wart.
I will be running it off of 3 AAA or 3 AA batteries. The sensor takes 3.3v and I have a 3v Arduino Pro Mini and 3v LCD. Does this make any difference when it comes to that capacitor? I plan for this to be portable so you don't have to plug it in.
Then move your 0.1uf cap you have there now next to the Audio Jack across Vcc and ground.
What I am doing is plugging the sensor in using an Audio Jack cable. Will this cause a problem with voltage readings? I am taking the PWM ratio of A0 and A1 and multiplying it by the specified voltage (3.3) to get an Output Voltage that is linear with UV Intensity: learn.sparkfun.com/tutorials/ml8511-uv-sensor-hookup-guide#using-the-ml8511
Your auto-route needs a lot of help.
How so? It complies with OSHPark.com's PCB requirements. How would you improve it?
Ok, so SF sensor lib is probably using that A1 as an input ref voltage, Just seems odd as the default is vcc.
If your using a battery pack than you can forget the added CAP, leave as is. Adding a 0.1 ceramic at Vcc and ground across the audio jack wouldn't effect anything. It only helps pull out any ripples you get from plugging in the sensor. But I assume you calibrate or zero out the sensor so probably not important. However, you might look at all the data sheets and make sure 3.6volts is within the Vcc MAX range for both the sensor, Arduino and LCD. I think the Arduino it is. 3 AAA or 3 AA batteries are 1.2volts * 3 = 3.6volts. If they are good fresh batteries it could be enough to damage something.
The auto-rout comment was just a funny - it gets the job done but it don't look pretty
Some things are meant to be closed. Your mind isn't one of them.
Ok I made some revisions. The Pro Mini's I have allow you to select if it's a 5V or 3V by bridging two solder pads. Bridge the left two and it's 5V; bridge the right two and it's 3V. However, I realized that even if I make it a 3V Pro Mini, plugging the FTDI into the board results in bypassing the 3V voltage regulator and 5V goes out on VCC instead of 3V. This is potentially bad for the sensor as it's supposed to be powered only by 3V. Because of this, I instead switched to a 5V Pro Mini, 5V LCD, and then used a voltage regulator to supply the 3V to the sensor via the TRRS jack. I also added the 0.1uF ceramic to the 3V line from the TRRS jack.
I would make the traces a bit heavier if you can but sometimes that makes it hard to get between solder pads. Data lines I wouldn't worry about, mainly just power feeds.
Because of the cap on the V-reg, you can remove C1, but doesn't hurt it to stay there.
Last Edit: Feb 5, 2015 8:15:50 GMT -5 by BeeAmaker
Some things are meant to be closed. Your mind isn't one of them.
I guess if I use a 3.3V FTDI, I don't need a regulator in the circuit?
I would make the traces a bit heavier if you can but sometimes that makes it hard to get between solder pads. Data lines I wouldn't worry about, mainly just power feeds.
Because of the cap on the V-reg, you can remove C1, but doesn't hurt it to stay there.
Ok, if you were designing it, what would be your direction? Use 5V Pro Mini / 5V LCD then do a 3.3V regulator to power the sensor, or would you just do everything 3.3V?
Well you have a few factors to consider, 1. Do you need 16Mhz? The Arduino at 3.3v is only 8Mhz (which you might want to check out since your board is dual voltage, it might be 8Mhz in either case) 2. 3.3v you can use 3 AA batteries, 5v you will need to use 5, or a single 9v.
Personally, Assuming the 8Mhz is all you need, I would do the 3.3 volts across the board, however I would still use a 3.3v regulator and go with 4 AA batteries. This will insure that everything stays regulated and have a good clean signal. It will also give you longer running time as it won't take long for 3 batteries (3.6 volts) to go below the 3.3v threshold and now everything is being under powered, killing your batteries even fast as more current is drawn. Also, in a pinch, I could grab a 9v or even a 12volt source and power up my meter and not worry about burning things up.
Last Edit: Feb 5, 2015 10:07:03 GMT -5 by BeeAmaker
Some things are meant to be closed. Your mind isn't one of them.
I don't think I *need* 16Mhz. The sketch is pretty simple, but there is some high level math involved in the library I chose for smoothing the sensor readings.
ATmega328 running at 16MHz with external resonator (0.5% tolerance) USB connection off board Supports auto-reset 3.3V/5V adjustable Max 150mA output Over current protected Reverse polarity protected DC input 5V up to 12V On board Power and Status LEDs
Part of what might drive things, too, is finding a cheap 3V LCD 8x2 display. BuyDisplay.com only has 5V 8x2 LCDs (no 3V ones anywhere).
Well then I guess, since I would use the 3,3v reg anyways, use the 5v Arduino just for the added speed. Stay with the 3.3v sensor and LCD. The Arduino has an on board reg so no need to add a 5v reg for it. Just connect your batt to the RAW input and your batt to the IN on the reg and you have 3.3 power to supply your sensor and display. Use a 9v battery which is smaller than 5 AA's (4 is only 4.8v which would under power the Arduino) and your good to go. Battery life would be like forever.
Some things are meant to be closed. Your mind isn't one of them.
Here is another thought, Because your circuit draws so little, why not use a Coin cell battery. Those are 3v (2.8) so two would give you 6 volts (5.6). And should last quite a while.
Some things are meant to be closed. Your mind isn't one of them.