So recently it has become pretty popular to use an arduino to control a digital clock generator, or two, to create a direct digital synthesis controlled radio.
I’ve been working on one of these of my own design, and am torn between making it very general purpose, or tailoring it specifically to my needs.
In the general column, it would be nice to have onboard supply regulation, onboard USB, full I/O available, R3 shield compatibility, etc.
In the specific column, I don’t need onboard regulators, or full I/O, could get by with ICSP header, could lay out I/O on any pin header layout, etc.
The whole project is played out around the ATMega 64/128/1281/2561 family, in the 14mmx14mm tqfp package. I have about thirty ATMega128’s, and just ordered a pair of 2561’s from Sparkfun. I will be using the Optiboot/Megacore combination to make the board Arduino compatible.
The big issues I am running into are component packaging and laying out the board to take advantage of the large amounts of I/O available. When I get back to the house I’ll get some board images to better explain what I mean.
If anyone has any tips or advice on getting all the IO pins snaked out away from these TQFPs, I would be all ears!
Well, really it’s all up to you in what you want and what you are going to use now and in the future. If any part of you thinks you may want to expand your project, then you should think about regulation, USB, I/O, and compatibility with other boards.
If you need help in layout, you can post your images here and we can help guide you in the right direction.
Really the only thing I won’t need in my design currently, that I would want in a more general purpose design, is the ADC. Although it would be pretty cool to have the ADC read a RF power divider/detector to do digital automatic gain control in the IF strip, but I don’t think the 128 has enough guts to do it adequately. Just for the futureproofing, I guess I should at least break out the ADC in a usable fashion, seeing as the 1281 and 2561 will drop-on to this board.
The way things are looking currently, I should be able to bring out all the I/O lines, although they don’t align with arduino pin numbers as assigned in Megacore-the routing just didn’t work out that way. I can deal with that later, I guess.
Same with the SCL/SDA pins in the R3 header, those pins are routed out to a seperate header, but they’re used on-board already to control the three-output PLL VFO’s. I’ll make efforts to route those later but it would really be a tortured path to get them there.
The Uno R3 header is just irritating-nothing lines up to make it “easy” to work with in this situation, but I have a box of these actually pretty nice MCUFriend 2.8" LCD displays, and I am using one with the board as my main display already. That kinda drives the R3 header need, and also is why I broke out SCL/SDA to a seperate header.
As far as USB, it really doesn’t take up much board space to fit the CP2102 or a micro-B connector, so I don’t see the point in leaving it off.
I’m going to be using DirtyPCB to get these boards made, and I’ve got the DRU and CAM files loaded-so hopefully things will go OK on that front. If it wasn’t for the coplanar waveguides in the VFO section needing fence vias, I’d be routing the boards a lot differently so I could easily etch them here in the shop. I’ll have to do some other boards in this project here anyway because I have no idea how to lay out an RF linear in eagle, but I have proven board layouts I did in ink and paper years ago…I may have to post those up and see if someone can help me convert them.
So can I attach .brd and .sch files directly on this board?