PIC Dev on Linux

After leaving Windows, I thought I’d need to keep a copy around as a VM for edge cases, like programming PICs. In fact I was resigned to not being able to continue PIC development.

Then I discovered the difficulty the Pico has with some of my older hardware and I decided to have another look at it.

So I booted into a Windows 7 VM I kept for running Pic Basic Pro and I wasn’t happy with the result. I already forget what the problem was, but part of it was that my installation no longer registers as activated. I also had problems with icprog.

So I decided to try a different approach.

Essentially, I figured out how to use Lutris to run DosBox so that I can compile the Pic Basic programs. I wouldn’t have bothered, except that I needed to use a PIC to drive the motor controller on Spot X.

It was slow AF, but after increasing the clock speed of the emulator it went much quicker. So compiling the software was a bit of a chore but doable. Then came the programmer.

I use an ancient serial programmer with ancient software so I needed to go through a bit of rigmarole to get things working.

It involved adding a key to the wine system.reg file, checking that the symlink between com1 and /dev/ttyS0 was correct and then checking that I was in the dialout group.

I was using WINE to launch icprog, so I went to the folder where icprog105D.exe is and checked that icprog.sys was in the same location
I opened icprog with Wine Windows Program Loader and after checking the connection settings I was able to program a PIC with a precompiled hex file.

It works! Just,

I’ve noticed that I get a lot of verify errors; more than I would normally expect. Or rather, I have way more successful uploads than I have any reason to expect, yeah, let’s say that.

Originally written August 27, 2025

Leave a Reply

Your email address will not be published. Required fields are marked *