J’s tudio    File   Blog   CV   Contact
       


This is my blog for interning at cAI™, cai studio.

(sorry i don’t have blogs from June to July 20th.)

Jul 20th, 2026I made an gcode generator web app to generate G-code for laser cutting and engraving in LaserGRBL. check the github repo here

since working with gunpowder and painting canvas, there’s no other resource that I can use, so I decided to build this app. 

The first task I got is to engrave Cai’s signature on cardstock.
the first bunch of test made me really confused. I thought it was due to the laser power, so I tried different set of parameters of the S and F value, but someplaces were almost cut thru, but someplaces didn’t leave a trace at all. 

I observed during the operation for a while, and figured out that this is because of the filling angle. When there’s a unit filling angle, some strokes have longer path and the longer the paths are, there’s a high chance that the laser will not have enough power to engrave in the same amount of time than the shorter paths. 
Gcode Generator web app


Jun 23rd, 2026I tested the motor with color powder in different power(pwm), and also did the first paiting by myself.

I test the motor power from 20% to 90% in step 10, and got the result pretty much fascinating.

during the motor test, I learned:

F should be 3000 to start the motor.
40% is the minimum for powder to get out in 2mm single hole head. 

during the laser test, I learned:

different color powder have different burning temp, the purple one will easily get burned over, so I have to take that into consideration.


Question to think about: how to make the line more precise and thin?

Conjecture: the motor now is attached to the robo arm, so the whole arm shakes, would it be better if we attached the motor directly to the body?
powder test, 2mm single hole
gunpowder paint, purple powder, laser
before the laser, 1.5mm single hole

Jul 27th, 2026I made a test grid pattern for refernece.

i used purple powder from group f (2026.5), and it’s a fine-grained powder, so it should use 1mm/1.5mm nozzle to dispense. The powder only came out continously when the motor power is greater than 70%




Jul 28th, 2026Today is a rainny day. 

I did a painting before the rain, and the color revealed was better than the flower on July 23rd. The rain start, I start to do another test grid and hope to enlarge the scope than yesterday. 

What I learned is :
1. if the gunpowder nozzle hold too many powder then it can’t come out from the nozzle. (because it’s too heavy for the motor setting) weight should be considered as a factor for the motor power.
2. the rain will moisturize the powder and make it hard to burn under the laser. 



Jul 29th, 2026another test day.

the first test that i did is to test the purple powder from Group F, it’s a single color test. The purple powder is very fine-grained, or powdery. I used same motor setting (70% intensity) because I tested the motor on Monday and 70% is the best for purple if you use a 1.5mm nozzle. The result is pretty much what i expected - the top left part used highest power and slowest speed (S400 F800) and got the best result. (have to make another test to know the burning point)

i used different colors to do the test trying to figure out what’s the best settings for different powders. I’ve been told that powder from the same factory/country have similar attribute. The red, orange and yellow one that i picked are all from Japan, but they have different grain level - yellow is the finest, and red is the most coarser-grained. so yellow has the lowest burning point among the three colors. 

An interesting finding - Cai said the JP yellow powder is hard to ignite by him (he uses fire gun), but for the laser it’s really easily to get burned, as you can see on the right picture.

Jul 30th, 2026an amazing effect i found out after using the powder dispenser and dump out the leftover powder (because it was a lot of wasted).



Aug 3rd, 2026i designed a new body for the powder dispenser, improving the inner part to prevent powder wasted. 
Aug 4th, 2026I tested the new nozzle that I print with yellow powder. It was an unexpectedly success! I used 70% motor power as a default for 1.5mm nozzle (I tried to use 1mm but nothing came out). and I set the frequency 1000, the S (intensity) from 200 (top) to 380 (bottom) by step 20. 

conclusion: S around 320 is the best for Japan Yellow. 



This is my first painting used the actual gunpowder. 
setting that i used for the gunpowder is S700 F700.

I surprisingly found out that laser drawing circles on the gunpowder is more pretty than drawing a line, so i added another feature on gcode generator. 




现在机械臂可以改进的地方:
0. introduce safety protocal❗️(这个更新在了cAI的doc里)
1. 马达如果在接电源线前接上com5的话有时候就会启动不成功,而且老是插拔com线会缩短机械臂使用寿命。所以撒火药和激光能不能同时接入系统,通过程序来判定应该用哪个,这样就不需要每次插拔接口,这样更方便同时延长com线寿命。

2. 昨天画画的时候有两三段本应该是空程(马达不启动)的时候这个马达不知道为什么突然最大马力抖动,我跟ww说了她说之前画动物画的时候也发生过。(猜测可能是过热问题,所以过热就总是会不听使唤)

3. 现在手动更换撒粉头太麻烦了, 解决方案1:打印很多个撒粉的容器,这样可以直接更换容器(短期)(8.3已解决),解决方案2: 设计一个新的撒粉头从头解决撒粉精细度问题(长期)

4. z轴升降现在是手动垫木块,有安全隐患。解决方案:可以升级为电动升降(可以参考铝型材升降桌结构)。

(长期来看是否可以给机械臂一个专门的作画空间?和蔡作画区域区分开,因为涉及到电路和激光的安全隐患,目前空间有太多易燃品,所以提出来,但也只是我的个人想法)