schematic diagram

13,733

Circuit Image

This is a demo board based on the PIC16F887 microcontroller. It serves as an excellent project for beginners working with PIC microcontrollers. The board includes a bootloader, eliminating the need for an external programmer. The circuit design is straightforward, allowing users to explore some of the key features of a PIC16 device. The mikroC compiler is utilized for programming due to its user-friendly interface. A version of this demo board is being developed for use in schools to assist students eager to learn about PIC microcontrollers. The choice of the PIC16F887 is due to its status as one of the latest devices in the PIC16 series from Microchip, offering affordability, ample memory, and widespread availability. It is also pin-compatible with the PIC16F877A, and code examples for the PIC16F887 can be found in the mikroC help files. Owning a development or demo board is advantageous for those interested in microcontrollers, as it simplifies hardware setup and mitigates common challenges faced by beginners, such as poorly designed circuits, loose connections on breadboards, and programmer issues. If purchasing a board is not feasible, a DIY option is available, requiring major components such as the PIC16F887, MAX232, seven-segment displays, and LEDs. An LCD is optional but headers are provided for it if needed. The cost of these boards is approximately 15 USD. The PCB layout can be shared upon request. These boards are designed to enable students, hobbyists, and others to explore the capabilities of PIC microcontrollers with minimal difficulty. They can be utilized for various electronic projects, development, application prototyping, demonstrations, training, and educational purposes. A sample video showcasing other demo boards is available, highlighting that the only differences lie in the number and placement of seven-segment displays. Regular updates to the demo boards include new features, such as an optional jumper switch for connecting a button to the external interrupt pin (RB0) and an LED indicator that activates when the board is connected to the mikro bootloader on the PC side. Future plans include incorporating more switches and additional female headers for increased auxiliary inputs and outputs.

The PIC16F887 microcontroller is a versatile and powerful device within the Microchip PIC16 family, featuring a 14-bit instruction set architecture and a maximum clock speed of 20 MHz. It supports up to 368 bytes of RAM and 14-bit wide program memory, making it suitable for a variety of applications. The demo board provides an excellent platform for users to familiarize themselves with the microcontroller's capabilities, including its GPIO pins, timers, and serial communication interfaces (USART).

The inclusion of a MAX232 chip allows for reliable RS-232 communication, enabling the demo board to interface with PCs or other serial devices. The seven-segment displays provide a straightforward method for visual output, while the onboard LEDs can be utilized for status indication or simple signaling. The optional LCD header expands the board's usability, allowing for more complex user interfaces.

The design prioritizes ease of use and accessibility, making it ideal for educational settings. By providing a robust platform for experimentation, the demo board encourages hands-on learning and exploration of embedded systems. The modular nature of the design, with provisions for additional switches and headers, allows for future enhancements and adaptations, catering to a wide range of projects and learning objectives. Overall, this demo board serves as a valuable resource for anyone interested in delving into the world of microcontrollers and embedded systems.These is the demo board I made based on PIC16F887 microcontroller. It is a good project for starting with PIC uC`s. It has a bootloader so an external programmer is not needed. The circuit is simple but it will let you explore some of the major features that a PIC16 device has. I also used mikroC as the compiler since it is very easy to use. I wil l give a demo board like these to the school (to which is still under development) so it could be used to students who are willing to learn. I hope these will help you on your journey of learning PIC microcontrollers. I choose the PIC16F887 device because it is one of the latest PIC16 series from microchip. It is cheap, has a big memory, commonly available, etc. And most of all it is almost the same with and pin-compatible with PIC16F877A. In fact, you can find code examples intended for the PIC16F887 in mikroC help files. If you want to work with microcontrollers it is a great advantage if you own a development/demo board.

There will be no problem with the hardware setup. It eliminates the usual problems faced by PIC newbies: badly designed circuit, bread board loose connections as well as misconnections, problem with the programmer, etc. If you can`t afford to buy one, you can build one yourself. The major parts are the PIC16F887, MAX232, 7 segments and the LEDs. The LCD is optional but there is headers for it if needed. These board can cost more or less 15 USD. If anybody wants the PCB layout just comment. These board was designed to allow students, hobbyist and the like to start exploring the capabilities of the PIC microcontrollers by their own and with less difficulty.

These board can be used for many types of electronic projects, development and application prototyping. In addition, it can be used for demonstration, training, and education purposes. Here is a sample video of the other demo boards in action. The only difference with these boards with the others is the number of 7 segments used and it`s placement.

But basically they are the same. Every now and then I added some features on my demo boards. The last video was the latest which has an optional jumper switch to connect a button on the external interrupt pin(RB0). It also has a LED indicator the turns on when the board is connected to the mikro bootloader (PC side).

I plan to use more switches next time as well as use more female headers to have more auxiliary inputs/outputs. 🔗 External reference