ISP-Board With PCB-Edge Connector for Arduino Uno
by Fusebot in Circuits > Microcontrollers
750 Views, 1 Favorites, 0 Comments
ISP-Board With PCB-Edge Connector for Arduino Uno
I have some PCBs flying around, if you need a small number, leave me a message!
The challenge: Program a big amount of boards with an AVR-Microcontroller without a space consuming and unaesthetic programming connector.
The solution: Use the ISP-Function of the Arduino Uno and design a board to easily connect the Arduino to your target board.
With the PCB-Edge connector you get a reliable but fast to exchange connection between the two boards. You have no connector-components on the target, just some copper pads. Sometimes you can even hide the connecting pads afterward, e.g. with the tree-stand in the case of the example.
Example project: The ISP-Board was developed for a cute christmas gift project: A led-matrix tree which you can find and build here ๐.
Supplies
- PCB (see step 1)
- Electrical components (Findchips list here)
Get or Manufacture the Board
I designed the Arduino expansion board to be as simple as possible. The result is a very compact and practical programming tool without any cables and other mess (ignore the orange wire on the pictures, this is a layout error corrected in the provided version). See the last step to learn how to use its features.
The easiest way is to order it from one of the many professional pcb-manufacturers online. It is surprising how cheap you get these boards in a small quantity. Many manufacturers accept an Eagle brd-file, if they need gerber files, generate them with Eagle or contact me.
The other (and more fun) way is to manufacture the board yourself by etching, printing or milling. There are several amazing tutorials for every technique on this great website so just search for DIY PCB or similar. You may have to edit the design files for some processes, my files were designed for etching with a laser-cut mask. The result was surprisingly good having in mind that is was my first etching attempt. If you have any problems with the files or want to know more about I build it, please contact me as well.
Get and Place the Components
You can find a list of the used components here (Findchips list). You can use leds and 0603 resistors from other manufacturers.
If you have manufactured the board yourself: Please get small pieces of wire and put them through the 10 vias (marked in yellow on the picture above). Solder them on top and bottom.
The two rows of pin headers for the arduino have to be inserted from the bottom and soldered at the top. The pcb-connector, 2-pin and 6-pin header and the slide switch are soldered at the bottom. You don't need any of the SMD-components for a functional board. They are just for some blinking and optional features for the future.
If you don't want to use the current-measure feature, you can leave out the 2-pin header and just solder the two pads together.
Ignore the orange wire on the pictures, this is a layout error corrected in the provided version.
Connect the Target
The innovative point of this programmer is the direct board-to-board connection without a cable so you can change your target very fast.
For the design of your target-pcb: You can download the Eagle-footprint for the pads on the target (top and bottom layer) and add them to your project. For other software please have a look at the datasheet provided here and design your own footprint, it's basically only six pads in the right dimensions and distances.
The pcb needs a width of 10mm and a thickness of 1.6mm at the connecting point to fit into the edge-connector. You can refer to the example mentioned before.
๐ก Another idea if you have no space for the connecting pads: Design the connecting part of the pcb to be cut-off โ With this, you can program your ยตC only once, but have a clean pcb without any connectors afterall.
If you want to use the connector for other projects or need another number of pins, you can find the datasheet and footprint of the edge-connector attached.
How to Use the Board
- Plug the board to the Arduino Uno
- Connect the Arduino to your computer via USB
- Program the Arduino Uno as an ISP-Programmer
- Open the Arduino IDE and go to File -> Examples -> 11.ArduinoISP -> ArduinoISP
- Under Tools select the "Arduino Uno" as the board and your USB-Port
- Upload the sketch
- Add your microcontroller (e.g. Attiny44) via the Board Manager to the Arduino IDE.
- Select the controller under Tools
- Get creative and write your code
You can find a detailed desription of the Arduino as an ISP-Programmer in the Arduino Reference here.
See Step 3 to connect your target.
You can choose out of two voltages with the switch: 5V or 3.3V. If you use the 3.3V, you can measure the current by connecting a current-meter in series between the two-pin-header pins. You can connect the pins when not measuring with a standard 2.54mm jumper.
โโ Choose the right voltage for you microcontroller! A wrong one can destroy it โก
The leds show some information, you can read about their purpose in the introduction of the Arduino ISP Code. You can reset the Arduino by pressing the reset-button.