Abstract
Computer hardware is evolving towards more specialised devices, and especially devices which fit the needs of the Internet of things, such as a low cost and a low power consumption. Due to their long history and unfading popularity, Microchip Technology’s PIC microcontrollers are strong contenders in this field. The programming process of these chips, in other words the upload of machine code into the program flash memory of the controller, is however a non-trivial issue: for example, existing solutions have a non-negligible cost and can face portability issues. In this paper, we propose an optimised method for PIC programming. Besides, our proposal also has a pedagogical virtue: we show that it could be a meaningful addition to a computer architecture lecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Gruppuso, F.M.: PIC1650: chip architecture and operation. In: Computer Structures: Principles and Examples, chap. 35, pp. 602–609. McGraw Hill, New York (1982)
Chéour, R., Khriji, S., Abid, M., Kanoun, O.: Microcontrollers for IoT: optimizations, computing paradigms, and future directions. In: Proceedings of the IEEE 6th World Forum on Internet of Things (WF-IoT; 2–16 June, New Orleans, LA, USA), pp. 1–7 (2020). https://doi.org/10.1109/WF-IoT48130.2020.9221219
Gao, C., Luo, L., Zhang, Y., Pearson, B., Fu, X.: Microcontroller based IoT system firmware security: Case studies. In: Proceedings of the IEEE International Conference on Industrial Internet (ICII; 11–12 November, Orlando, FL, USA), pp. 200–209 (2019). https://doi.org/10.1109/ICII.2019.00045
Thompson, N.C., Spanuth, S.: The decline of computers as a general purpose technology. Commun. ACM 64(3), 64–72 (2021). https://doi.org/10.1145/3430936
Microchip Technology, Chandler, AZ: PIC16(L)F18313/18323 – Full-featured, low pin count microcontrollers with XLP (Oct 2017), DS40001799D, ISBN: 978-1-5224-2383-6
Microchip Technology, Chandler, AZ: MPLAB PICkit 4 In-Circuit Debugger User’s Guide (2020), DS50002751F, ISBN: 978-1-5224-6888-2
Bossard, A.: A-IDE: A non-intrusive cross-platform development environment for AVR programming in assembly. In: Lee, R. (ed.) Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, Studies in Computational Intelligence, vol. 1074, pp. 1–12. Springer International Publishing, Cham, Switzerland (2023). https://doi.org/10.1007/978-3-031-19604-1_1
Bowman, J., Franklin, C., Barnett, D., Ražem, B., Károly, M.: gputils 1.5.2 (Jan 2022)
Finneran, S., Miller, P.: SRecord (Oct 2022), version 1.65
Microchip Technology, Chandler, AZ: PIC16(L)F183XX Memory Programming Specification (Jul 2015), DS40001738D, ISBN: 978-1-5224-0167-4
Vazzana, G.: rpp - Raspberry Pi PIC programmer using GPIO. http://holdenc.altervista.org/rpp/ (2012). Accessed June 2023
Microchip Technology, Chandler, AZ: Microchip Studio Release Note (2020) DS50002917C, ISBN: 978-1-5224-7063-2
Kressner, H.: A simple programmer for PIC LVP’s (May 2020) version 0.25
Neville-Neil, G.V.: In praise of the disassembler. Commun. ACM 64(8), 30–31 (2021). https://doi.org/10.1145/3469118
Bossard, A.: Autonomous on-chip debugging for sensors based on AVR microcontrollers. J. Sensor Technol. 11(2), 19–38 (2021). https://doi.org/10.4236/jst.2021.112002
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Appendix
A Appendix
The assembly source code of the main routine of the programmer is detailed in Listing 1.6. The two constants DDRD and PORTD correspond to 0x0A and 0x0B, respectively, as per the ATmega328P specification.

Rights and permissions
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Bossard, A. (2025). An Optimised PIC Programmer Also Having a High Pedagogical Value. In: Neri, F., Du, KL., San-Blas, AA., Jiang, Z. (eds) Computer and Communication Engineering. CCCE 2024. Communications in Computer and Information Science, vol 2192. Springer, Cham. https://doi.org/10.1007/978-3-031-71079-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-031-71079-7_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-71078-0
Online ISBN: 978-3-031-71079-7
eBook Packages: Computer ScienceComputer Science (R0)