AVRPascal 3.5 with UnoLib 1.2

AVRPascal is an IDE designed for programming AVR microcontrollers (ATtiny and ATmega families) in the Pascal language. It leverages the Free Pascal compiler to compile source code, and AVRdude to transfer the compiled code to the microcontroller's memory using 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
27/12/25 AVRPascal_FAQ.txt  6.31 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 Guide for beginners
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).
Licence

AVRPascal is free of charge (freeware – closed source) and may be used for any legally permissible purpose (e.g., hobby, educational, commercial). Commercial use includes the creation, distribution, and sale of software and devices with source or binary code generated within AVRPascal, provided the licence terms of external libraries, such as UnoLib, are respected. For educational and commercial projects, it is recommended to state that the code was created using AVRPascal (e.g., in the documentation or product description). Free redistribution is allowed only for the unmodified installer. It is recommended to provide the official download link for the installer from akarwowski.pl. Inclusion into other software packages requires the author's prior written consent. Selling the AVRPascal environment itself is prohibited.

The AVRPascal software is provided "as is," without a guarantee of technical support. This means that while the author has made every effort to ensure the program functions correctly, they offer no warranties and shall not be liable for any damages (direct, indirect, incidental, or consequential) arising from the use or inability to use the software.

In the interest of the tool's continued development, the Author encourages all AVRPascal users to report any bugs and suggest new features. This feedback is crucial for improving AVRPascal's stability and usability.

This project is independent and not affiliated with the probably discontinued software available at 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.

Updated: 25/12/25