kaluma-project / kaluma

A tiny JavaScript runtime for RP2040 (Raspberry Pi Pico)
https://kalumajs.org
Apache License 2.0
647 stars 37 forks source link

Support for new RP2350 (Pi Pico 2) #646

Closed jakeg closed 3 weeks ago

jakeg commented 2 months ago

Any idea if Kaluma will just work with the new microcontroller, or does it need some code changes?

communix commented 3 weeks ago

@jakeg I apologize for the late reply. I'm hesitant to commit to supporting this project, as it seems to be inactive. However, if you and others are actively interested in using the Kamula project for the RP2350 board, I'd be happy to consider dedicating time to explore this further.

jakeg commented 3 weeks ago

I teach computer science at a school in the UK, and have chosen JavaScript as the language I teach. It's therefore very handy to be able to run JavaScript on the Pico. It works great with kaluma, and we use it in combination with this page I made: https://www.mathsuniverse.com/pico (video here: https://m.youtube.com/watch?v=J1tOiVSxBqY&feature=youtu.be )

After this academic year I intend to make all my teaching resources available to other teachers/schools who may want to use JavaScript as well, so it would be a shame if kaluma was no longer an option.

I very much appreciate all the work you've done on it so far, thank you.

babelproject commented 3 weeks ago

We also use Kaluma in Hungary. I spent over a year with Micropython. Then I started looking for something more usable. I was afraid that I would have to use C because I am not satisfied with the most popular development environments. I accidentally found KalumaJS.

I rewrote all my Pico W code in javascript. My Pico W microcontrollers are connected to a Raspberry Pi 4B wifi access point and a server (with KalumaJS Net/Socket API). I switch with Pico W lamps, consumers (max 10 Amper) and large consumers (max 30 Amper). SWITCHING IS IMMEDIATE! With Micropython, switching was randomly delayed.

I also use sensors. I want to upload my MPU9250 KalumaJS code soon (my code return not just raw datas). I signed up (just now) for Github only because of KalumaJS. I think the advertised popularity of Micropython and Arduino is misleading. The javascript code is straightforward, readable and so beautiful. For example, I2C is great in KalumaJS. It was incredible to me when I found that most of Javascript's built-in capabilities also work great (JSON, Array, Math, Promises, TypedArray and others).

It takes no more than 5 minutes to start programming the microcontroller using KalumaJS. Most of the time, installing Thonny is acceptable. There is always something wrong with the Arduino installation. VSCode requires a "VSCode university" degree. Everyone knows, but no one complains, because most people do not know KalumaJS yet.

I don't think C is suitable for learning programming in the first place. I didn't find Micropython suitable for Pico. LEARNING Pico requires Javascript. Well-known: KalumaJS needs manufacturer support to be popular (included in the Raspberry documentation) or at least it would require a lot of videos on YouTube.

This project is needed by many people (not just for teachers and students). This project is not supported by anyone's money, but it is brilliant.

communix commented 3 weeks ago

@jakeg @babelproject Thank you for your support of KalumaJS. I was unaware that our project is actively employed in educational and personal development endeavors. I intend to initiate the porting of KalumaJS to the RP2350, the pico 2 board, and release the initial version as soon as possible. As I am unfamiliar with the RP2350, I cannot definitively estimate the required time, but I will certainly endeavor to complete the task.

niklauslee commented 3 weeks ago

@communix Thank you for your effort.

babelproject commented 3 weeks ago

COMMUNIX: Thank you very much for this decision! I will upload codes for beginners from the beginning of next year.

It would also be useful to make video materials later. JAKEG: Some teachers could give their students an exam assignment to create a clever code and post it on YouTube.

jakeg commented 3 weeks ago

Amazing! Thank you @communix

communix commented 3 weeks ago

@jakeg @babelproject I just released 1.2.0-beta.1 version for pico-2 board. Please find it. If you find any issue. please create "issues", I'll check it and fix it as a high priority.

jakeg commented 2 weeks ago

@communix I've just bought a Pico 2 and tried a very simple inbuilt LED toggle script on it:

let led =  25
pinMode(led, OUTPUT)
setInterval(() => {
  digitalToggle(led)
  console.log('Toggle')
}, 300)

... and confirm that it works fine. Thank you!