AVRPascal 3.5 with UnoLib 1.2

AVRPascal is a free IDE designed for programming AVR microcontrollers (ATtiny and ATmega families) in the Pascal language. It uses the Free Pascal compiler for code generation and AVRdude to program microcontrollers using common programmers like USBasp or an Arduino. Key features:

  • Syntax highlighting for improved code readability.
  • Error indication: Points to the line of code containing compilation errors.
  • Tooltips: Provide information about function and procedure parameters, record fields, and class methods.
  • Tabbed document interface for efficient code organization.
  • Microcontroller fuse-bit configuration capability.
  • Automatic detection of supported USB devices.
  • Source code formatter.
  • Serial port monitor for Arduino boards.

Community & Code

  • News and discussion about the program and the library can be found on official subreddits of AVRPascal and UnoLib.
  • Current UnoLib library updates are placed on GitHub repository.
  • For the convenience of the community, the domains avrpascal.org (English) and avrpascal.pl (Polish) redirect to this page.

Reviews

UnoLib is an open-source Pascal library designed for the Arduino Uno platform (ATmega328p microcontroller). It is a translation of a subset of the standard Arduino libraries, adapted as needed for a Free Pascal environment. Moreover, support for fixed and floating point numbers has been added. Modules included:

  • analog.pas - support for analog pins
  • defs.pas - definitions of constants, bit manipulations, port support
  • dht.pas - support for DHT11/22 sensors
  • digital.pas - support for digital pins
  • ds1302rtc.pas - support for ds1302 real time clock
  • fix16.pas - support for fixed point numbers
  • float32.pas - support for floating point numbers (in collaboration with @Dzandaa)
  • hardwareserial.pas - support for serial communication
  • i2c.pas - support for I2C communication bus (by @Dzandaa, many thanks to @ccrause)
  • liquidcrystal.pas - support for LCD
  • pulse.pas - routines for reading a pulse on a pin
  • stringutils.pas - string conversion routines (by @Dzandaa)
  • timer.pas - time-related routines
  • tone.pas - square wave tone routines

Downloads
Date File Size Notes
15/02/26 AVRPascal_Licence.txt  1.74 KB Licence and terms of use
25/01/26 AVRPascal_FAQ.txt 7.56 KB Frequently asked questions
14/12/25 AVRPascal_Changes.txt 12.57 KB List of changes
27/09/25 AVRPascal_HowToStart.pdf 291,17 KB Getting started with AVRPascal
13/11/25 AVRPascal_Manual.pdf 476,44 KB Manual
14/12/25 AVRPascal.3.5.0.2619.Setup.Win.zip 18.11 MB Installer (Windows 64-bit). The USBasp programmer requires the libusb driver to be installed. The Arduino boards require drivers to be installed for Windows.
14/12/25 AVRPascal.3.5.0.2619.Setup.Linux.zip 14.34 MB DEB package (Linux 64-bit). To use the USBasp programmer or Arduino board, run the program with root privileges or add a logged user to the dialout group.
14/12/25 AVRPascal.3.5.0.2619.Portable.Linux.zip  22.38 MB Portable zip package (Linux 64-bit). It allows to create custom installers for distributions other than the officially supported ones (e.g. Arch Linux, Fedora, openSUSE). Program icons and .desktop file are located in share folder and can be used by custom installers.
14/12/25 AVRPascal.3.5.0.2619.Setup.Mac.zip 13.01 MB PKG package (MacOS 64-bit). The installer is not signed with a Developer ID certificate and is only compatible with systems up to version 10.14 (Mojave). On newer systems, it is possible to bypass the block by using the Control-Click > Open method.
14/12/25 AVRPascal.3.5.0.2619.Setup.Bsd.zip  19.68 MB  Experimental PKG package (FreeBSD 13 64-bit). To use the USBasp programmer or Arduino board, run the program with root privileges or add a logged user to the dialer and operator groups. If detection of USB devices does not work, define devfs rules for operator group (see Installation.txt for details).

AVRPascal can be safely updated over an existing installation. User settings and source code are preserved during updates (full removal behaviour may depend on the operating system). The installer updates bundled internal tools only when required, to ensure compatibility and correct operation.

The project is independent and not affiliated with any software distributed under the same or similar name via avrpascal.com.

AVR® is a registered trademark of Microchip Technology Inc., used here for descriptive purposes only.

AVRPascalDbg 3.5

Debugger for AVRPascal, based on the DebugWire protocol. It communicates with AVR microcontrollers using a USB-UART converter, installed in the operating system as a virtual serial port. AVRPascalDbg works with adapters based on the FT232, PL2303, or CH340 chip. The debugger has basic debugging functionality such as starting, interrupting, and resuming the program, adding breakpoints, and viewing register values of the microcontroller. The limitation of the demo version of AVRPascalDbg is the maximum size of flash memory that can be loaded into the microcontroller, which is 350 bytes.

Downloads
Date File Size Notes
14/12/25 AVRPascalDbg_Changes.txt 2.57 KB List of changes
13/11/25 AVRPascalDbg_Manual.pdf 381.04 KB Manual
14/12/25 AVRPascalDbg.3.5.0.339.Setup.Win.zip 7.89 MB Installer (Windows 64-bit) containing the plug-in and the DEMO licence file. The converter requires the VCP driver to be installed. It is available for download from the manufacturer's website (Waveshare for FT232, Prolific for PL2303, Quinheng for CH340).
14/12/25 AVRPascalDbg.3.5.0.339.Setup.Linux.zip 7.18 MB DEB package (Linux 64-bit) containing the plug-in and the DEMO licence file.

AVR Microcontroller Engineering with Pascal Course

Arduino Tailored to Our Needs - a series of popularizing articles in the form of lessons describing the construction of electronic systems with AVR microcontrollers and their programming in Pascal.

Downloads
Date File Size Notes
28/12/25 AVRCourse_01.pdf 691.71 KB Lesson 1 - LED.
28/12/25 AVRCourse_01_Code.zip 370.00 B Source code for Lesson 1.
18/01/26 AVRCourse_02.pdf 484.96 KB Lesson 2 - LEDs blinking.
18/01/26 AVRCourse_02_Code.zip 613.00 B Source code for Lesson 2.
14/02/26 AVRCourse_03.pdf  562.13 KB Lesson 3 - Push button.
14/02/26 AVRCourse_03_Code.zip 3.31 KB Source code for Lesson 3.

Updated: 15/02/26