XOJO Digital and Analog Signals

I am looking at using XOJO for a project on an Industrial PC. I am taking a hard look at XOJO since it supports both linux and windows. However, I am not finding much information on using digital and analog io pins with XOJO. Can anyone point me in the right direction?

For general purpose digital IO on Raspberry Pi, take a look at: GPIO — Xojo documentation
For analog, you would need some sort of ADC like an MCP3008 or ADS1015/ADS1115. You can also use MCP23017 for digital IO over I2C. I suggest the DS3231S RTC for realtime clock functionality as there are built-in overlays for it and it only needs 2 IO (I2C)

I have used quite a few Raspberry Pi’s with Xojo and ESP32’s for my various projects, some things to know are:

Heat can be an issue especially with RBPi 4. IO is best left to dedicated hardware like ESP32/Arduino then forwarded over wifi or serial to the raspberry pi. There is a compatibility list out there for what Xojo can run on as far as processors, be sure to look at this.

Thread.Sleep/DoEvents is currently broken in Xojo on ARM: feedback://showreport?report_id=56420
Building 64bit is not supported on ARM yet: feedback://showreport?report_id=42794
Be careful with little gotchas like: feedback://showreport?report_id=54491

I make automated test equipment controlled by Xojo desktop apps. I use USB to communicate with dedicated hardware (a microcontroller) in the equipment and let the MCU handle all the A-D, D-A, GPIO, etc stuff.

I use CANBus as a backbone for communication, ESP32’s have it built-in and it’s great in electrically noisy environments like the ships I install them on. I currently have a project using 4 MCP23017’s, 3 MCP3008’s, bunch of optoisolators and current sensing MOSFETs. Most of the timing critical processing is done with the ESP32 and then just the data is reported back over CAN to a RBPi running Xojo for UI. I have different modules for controlling lighting, engine monitoring, fish factory automation, and more.