Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork0
PIC16F877A based 5V/20MHz development board and PIC programmer
License
orhun/Picasso
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
PIC16F877A based 5V/20MHz development board and PIC programmer
[!] This is a discontinued project. [2016]Documents are published in order to help people that want to create similar projects or think of new ideas.
Programming Microchip's PIC (peripheral interface controller)'s and preparingelectronic circuit board takes time and also inconvenient in circuit testing process.In other words, using the appropriate PIC programmer and creating the proper circuit board according todesired PIC's datasheet is not practical for situations that needs quick actions like prototyping.In addition to that there is platforms likeArduino, so PIC is not preferableexcept embedded applications.
Therefore, idea behind this project is creating a development board/prototyping platform using PIC.
Sprut is a project that aims to produce PIC programmer hardware withserial, parallel and USB techniques.(seeBrenner)Sprut Brenner is a preferred and common programmer board for universal PIC applications.
Brenner board that I was using:
There is a 40 pin programmer on board for supporting most of the PIC's. The board itself uses PIC18F2550(seedatasheet) for communicationwith software.
PIC16F877A (seedatasheet) is a 40-pin microcontrollerwhich is used frequently on PIC domain. (It has 256 bytes of EEPROM, 2 PWM 10-bit, ICD etc.)This features of 877A was the main reason for my decision to use this microcontroller in this project.
In order to load your program to PIC (which is calledflashing hex file) you have to use a software calledUS-Burn.US-Burn also supports various features such as flashing bootloaders, changing PIC configurations and disassembler.It has Windows and Linux support.
Basically if we replace the 40 pin programmer with 877A (or another PIC), put pins in order (like Arduino) andwrite a custom IDE with flashing features, we will have a 5V - 20MHz 877A-based development card. I'd like to callitPICasso.
Purpose of this version is seeing how easily can I use 877A's pins with the board above.
● PIC16F877A● 7805● 1K & 220● LED● 4MHz crystal osc.● 2 x 22pFThis version can be considered as the outline of the Picasso project's main idea.18F2550 and 16F877A used together in this board with custom pins next to 877A due to testing our thesis.Eventually, F2550 which is responsible for USB communication can be used with another microcontroller on thesame board and this version is open to any developments on the electronics (PCB) and the software side.
Here is the steps that followed for preparing this board:
- PCB
- Circuit Part List
Same as Sprut's Brenner except PIC16F77A, 20MHz osc., 22pF's, pins and couple of LED's.So here is the c/p part list:
Part ValueReicheltConrad===================================================C1 220nF Z5U-2,5 220nC2, C3 22p Kerko 22pC4 10µF rad10/100C5 47µF rad47/35C6, C7 10nF X7R-2,5 10nC8 100nF Z5U-5 100nC9, C10 220nF Z5U-2,5 220nD1 D2 BAT43 BAT 43D3 BZX97-3,3 ZF 3,3IC1 PIC18F2550SP PIC18F2550-I/SP 28-polige IC-Fassung GS 28P-SIC2 40-poliger Testsockel TEX 40L1 680µH SMCC 680µL2 10µH SMCC 10µLED1 grün LED5mm2MAgnLED2 gelb LED5mm2MAgeQ1 20 MHz 20-HC49U-SQ2,Q3,Q5 BC338-25 BC338-25Q4,Q6 BC328-25 BC328-25R1 1k 1/4W 1KR2,R3,R6 10 k 1/4W 10K R4 4k7 1/4W 4,7KR5 2k2 1/4W 2,2KR7,R13 10k 1/4W 10KR8,R12 100k 1/4W 100KR9..R11 10k 1/4W 10KR14 0 (Drahtbrücke)R15 1 k 1/4W 1KR16 330 1/4W 330SV1 ICSP BL 1X10G 2,54X2 USB-B-H USB BWJP1 Jumper Jumper 2,54 RTBrenner Circuit andb8p5_partlist.txt might be helpful.
After preparing the circuit, there is not much left to do. We have to flash the bootloader and firmware toPIC18F2550 to use the board with US-Burn software.
To achieve this, a PIC programmer is required due to the need of bootloader flashing.Flash theboot_0_20mhz.hex to the 18F2550after US-Burn detected the PIC.
After flashing the bootloader, put 18F2550 in your circuit and connect it's USB to your computer. Make sure everything is working with USB and circuit. (Check if any smoke coming out)
Start the US-Burn software. It will redirect you to firmware update section if everything goes right for you.
Select theb8_fw16.hex and upload new firmware.
Reset the programmer. In this point you might have to make some calibrations.So seeb8_calibration_en.pdf
Finally put PIC16F877A in place and you are ready to go. You can flash your program (hex) into PIC and use it's pinseasily just by connecting the USB.
Some circuit updates were made with this version.
- PIC16F877A placed horizontally.
- All pins gathered in one place. Required labels added.
- PCB
- Circuit Part List
Same components with v0.2
- Instructions
Same installation/configuration procedure with v0.2
Circuit board improved and new featured added with this version.
- ICSP (In-Circuit Serial Programming) pins added for PIC16F877A.
- 5V input added to circuit with 7805 regulator.
- Some component's including LEDs position changed.
- PCB
Components and instructions are same with v0.5
There is no custom IDE or flashing software for Picasso. (yet?) So you have to use a third-party softwarelike MikroC to compile your code (create hex) & flash to PIC.
Picasso uses Sprut Brenner's sources which is an inactive project.
Demo will be added hopefully.
GNU General Public License (v3)
Copyright (c) 2016-2023,orhun
About
PIC16F877A based 5V/20MHz development board and PIC programmer
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.













