v3.25.2
COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity) - USD ($)
3 Months Ended 12 Months Ended
Mar. 31, 2025
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Warrant [Member]        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Shares outstanding at beginning 44,644    
Weighted average remaining contractual term (years) outstanding     8 months 12 days  
Aggregate intrinsic value outstanding at beginning  
Shares outstanding at end 44,644  
Aggregate intrinsic value outstanding at end  
Number of warrants, exercisable 44,644  
Weighted average exercise price, exercisable $ 7.70  
Weighted average remaining contractual term (years), exercisable     8 months 12 days 9 months 18 days
Aggregate intrinsic value, exercisable  
Number of warrants outstanding at beginning 44,644 80,091  
Weighted average exercise price outstanding at beginning $ 7.70 $ 8.63  
Warrants expired, forfeited, cancelled or exercised   (344,644) (102,947)  
Weighted average exercise price, warrants expired, forfeited, cancelled or exercised  
Warrants issued 300,000  
Weighted average exercise price, warrants issued $ 3.00  
Number of warrants outstanding at end   44,644 80,091
Weighted average exercise price outstanding at end   $ 7.70 $ 8.63
Weighted average remaining contractual term (years)     8 months 12 days  
Weighted average remaining contractual term (years) , Warrants issued   4 years 5 months 19 days    
Share-Based Payment Arrangement, Option [Member]        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Shares outstanding at beginning 606,452 1,387,775 926,266  
Weighted average exercise price outstanding at beginning $ 5.29 $ 5.23 $ 5.74  
Weighted average remaining contractual term (years) outstanding   2 years 3 years 3 years 3 months 18 days
Aggregate intrinsic value outstanding at beginning $ 514,394  
Shares, granted   463,117  
Weighted average exercise price, granted   $ 4.22  
Weighted average remaining contractual term (years), granted     4 years 4 months 6 days  
Shares, exercised/forfeited   (781,323) (1,608)  
Weighted average exercise price, exercised/forfeited   $ 5.17 $ 14.00  
Shares outstanding at end   606,452 1,387,775 926,266
Weighted average exercise price outstanding at end   $ 5.29 $ 5.23 $ 5.74
Aggregate intrinsic value outstanding at end   $ 514,394
Number of warrants, exercisable   442,445 581,324  
Weighted average exercise price, exercisable   $ 5.50 $ 5.38  
Weighted average remaining contractual term (years), exercisable   1 year 7 months 6 days 1 year 9 months 18 days  
Aggregate intrinsic value, exercisable   $ 296,145