uLisp for Controllino Mini



I hope you are doing well. Just a newbie question.

Did you think it would possible to run uLisp on: [https://www.controllino.com/product/controllino-mini/] ?

According to the web page they are using an ATmega 328P. Though not sure if a lot of works need to be done to run the uLisp there (for example by referencing Inputs / Outputs).

Best Regards



Actually this looks like better deal: https://cdn.automationdirect.com/static/specs/p1amspecs.pdf

it uses an ATsamd21g18.

Just curious if it would be as simple as uploading uLisp there and start playing, since the CPU appears to be supported.

Best Regards!


Yes, the ATSAMD21 is a better platform for uLisp than the ATmega328P as it’s 32-bit and will provide support for floating-point and arrays, as well as being faster and providing more memory. The datasheet says that you can program it using the Arduino IDE, so you should simply be able to upload the ARM version of uLisp; at most you may have to add a #define to make it recognise the board.

Report back how you get on!



Thanks a lot for your feedback.

So once you attach the P1AM-GPIO module to the main CPU unit it is like attaching a “board” in the sense that with the #define addon you will be able to read / wrtie to the digital input / output?

Best Regards


I don’t know much about that product, but I assume you’ll simply be able to access the I/O pins on the P1AM-GPIO from uLisp by referencing them by their number; for example:

(digital-write 14 1)

to take pin 14 high.



Ok, I will try to read more about that PLC.

Thanks a lot for your support :)

Best Regards


It looks pretty similar to an Arduino MKRZero, which is also based on the ATSAMD21G18:

Arduino MKRZero



It would be mind blowing if that PLC is able to work with uLisp. I was trying to learn about industrial automation and it turn out that the standard is: IEC 61131-3.

The “most advanced language” available here is ST: ST. “It is a high level language that is block structured and syntactically resembles Pascal” so horror history. It is like the automation industry remain in the 60’s. Maybe some day someone can generate a transpiler from lisp to ST.

In any case, by being able to program a PLC with uLisp is a perfect example of Paul Graham power language hierarchy theory. Which is fun since these Arduino based PLCs are mostly intended for maker / starter projects. “Best Industry” practice is going with IEC_61131-3 for production projects.

Best Regards



Just for future reference these are additional PLCs that probably can work with ULisp:

Industruino IND.I/O D21G --> ATSAMD21G



ARDUINO SHDB2 IO Arduino Shield - Bausatz I/O --> Shield für Arduino

Best Regards