Showing posts with label ICSP. Show all posts
Showing posts with label ICSP. Show all posts

Tuesday, October 6, 2015

ISP Header Adapter

So Having knowledge of circuit design doesn't have to be limited to huge complex boards.  Some times a simple board is just as handy. I use the 6pin ICSP header for my AVR designs, So all the boards I use. Or even look at. It's small, has just what is needed and when I finally build a programmer pen. Unfortunatly most programmer designs are based on the 10 pin design. I wish that the 10 pin standard was designed so that the 6pin was a sub set. Seriously awesome if all you needed was a different end on a ribbon cable.

I was on that Evil Beacon of Avarice(or EBAY) known the world over looking for cheep parts like headers, jumpers and the like. I generally like to look for a source and then see what they sell. most seem to either have a few odds and ends or everything under the sun. The seller in question had just about everything I wanted at the time and a USBASP programmer with a case for all of $4. It's has 10 pins and I have nothing with 10 pins.

Looking around e-bay the solution was a ugly adapter for the destination board. Long slender things that stick up in the air unsupported. That's just asking for mangled pins and the like. And it looks bad in pictures. I changed the concept to the opposite. I adapted the 10 pin header to use a 6 pin cable. My first batch is great. I had to test it with my USB Tiny ISP since that cheep 4 dollar programmer has some issues. Yeah more on that in the next post. This has the added benefit of being able to use a 6 pin programmer with a 10 pin board.


This is version 1. The next version will end up larger. I'm going to use a header design to fit in the keyed IDC socket, Then use a keyed 2x3 socket for the top. Sugru or polymorph for a bit of covering. The goal would be to make it more stable and a bit more foolproof. 


Saturday, September 19, 2015

Arduino as ISP Shield

When I started playing with AVRs I started like most people. I bought an Arduino starter kit, then added on. And then added some more. Quickly I realized that a lot of projects need far less then an a $30 boards potential. So the Tiny series was a beautiful discovery. They're popular that's for sure. 

I have a USB Tiny ISP from adafruit that I love because i got to assemble it. I mounted a small breadboard to it and it works great. But it likes to slid around. I do have 3 Arduinos mounted to plexiglass plates with half size bread boards. The make great programmers for the tiny AVRs. They take a bit of time to set up. Since I've started using OSHPark making custom boards is obtainable. They also have a large user contributed project section a but of searching found the Pixie85, Pixie2313 and Pixie84 boards. These simply add an ISP header to the chips. Brilliant. I added chip sockets and boom easy to swap out a chip. That solved the messy breakouts with the USBtinyISP. 
My solution to the Arduino setup issue was a custom shield. Searching arduino isp on OSHPark came up with solutions the had sockets for only a certain chip, or were just clumsy to use. I liked Arno's Tiny ISP shield but the chip socket was a deal breaker. So I set about making my own.

Mistakes happen when designing circuit boards. Sparkfun has made a few interesting mistakes on boards. This one had two mistakes, one being a "unintended feature" that I might keep. This is Rev 0.2 because the first version I some how added a 2x3 header with 2mm pin spacing that was caught before I submitted to fab.  The Second issue is easily seen in the completion photo. I miss counted the offset of the headers. The holes for the headers were loose enough to allow a slight angle. So my design is  .07 inches less wide that it should be. It saves 20 cents a board and nothing is stressed but the angle. it sides on perfectly since I soldered the headers in while attached to the Arduino. My test board didn't need the cap, matter of fact it hindered operation and wouldn't allow the Arduino to work. The LED's are designed to be optional. the wires come from under, The holes need to be slightly bigger, a 22(7) wire was too big, I had to remove a strand to get them to fit.

Version 0.3 is slated to have the extra 0.07 inches in width, and the right most led will get a header pin.



Tuesday, August 25, 2015

Arduino ISP

*** UPDATE ***
I mistakenly added the wrong 2x3 header. It's not a 0.1" spacing. I've corrected it and added a few LED's that you can wire up as per the Arduino ISP sketch. look for v0.2 on the board.
***End UPDATE

Completed, write up here.

For programing tiny 85 and 84 with Arduino, read the high low tech article it'll get you there fast.

Most people I imagine start with playing with AVRs via the Arduino community. Unfortunately moving from your easy to use Arduino to a bare chip isn't easy. It requires a programmer, and those can be as little as a couple of dollars on ebay for a usbtinyisp or avrisp clone. I have a nifty Arduino with breadboard mounted on a piece of Plexiglas that is great for attiny development, especially using attiny85's since the Arduino has power, and I can use it as programmer. Most starter kits come with similar setups, so alot of people have them. It's a pain to setup, and the more wires the more chances to fail miserably. and disconnecting to rapidly test is a little painful.

For the chip side of things I've ordered a few pixie85's and pixie2313 boards. so I'll have the ICSP header broken out. Adafruit has a ICSP breadboard adapter and a 6" 2x3 idc cable... for all of 3 bucks for the set. You'll need some thing similar.

Scouring the internet the solution to my woes seemed to hack a 6 pin IDC cable to use the arduinoISP and an ICSP connector. Sound good but still one of those what pins do I use moment. Adding to the complexity the UNO requires you to disable the auto reset for the serial. This requires a 10uf cap between reset and gnd. Way too much to remember every time. 

The solution is obviously a shield. Unfortunately all the ones I've found already designed are for chip sockets. and we fairly expensive for what i wanted, a cheep, easy to setup programmer board that I could give away.

So the next installment in PCB Design is the ArduinoISP header shield. The LED's are optional, they hook up with wire from "D7-D9" on the back of the board. That gives activity, error, and heartbeat. It didn't add to the price so why not. Also it the cutout on the right so that pin 9 should be exposed.

These are being ordered next week some time. So figure at the end of september I should have them tested.





A simple square inch design that straddles the arduino. I finished the design today. for the uno you need a cap. older boards might need a 120 ohm resistor, though the cap might work too.

It's a bout 5 bucks for the 3 boards. Cheap enough to give away at parties.