4 ms·
Ask HN: Need your help to figure out how to make money out of my project.
Hi All,
I wrote a Dakvik VM from scratch in C with the following major features below, need your help to find my next steps.
* >1M instructions on STM32 based BluePill board(<$3).
* Precise compacting GC.
* Interrupt support.
* Native C interface generator.
* Platform abstraction layer for HW peripherals.
* Arrays, Float, Switch, Exception, Interface, Multiple inheritance, dynamic and etc.
* Believe or not RXJava lie programming is possible, sort of :).
Features not available on master branch;
* MultiThreading (Developed a simple preemptive rtos for cortex m but not integrated yet.)
* Shared Library support. (Working on a bare metal project for Cortex M series.)
QUESTIONS
As a freelancer/remote engineer I want to make money out of this.
* From your experience what are my options?
* What do you think is the best way to generate money out of this project?
* Open Source(which license) or proprietary license?
* What do you think about doing a Kickstarter project in this Covid19 days?
* Creating a Udemy course? How I can protect ownership of the code? Can I survive with it as a family?
* Selling it to a company?
* Landing to a remote job around this tech?
* Any idea how Oracle vs Google lawsuit will end, Do you think my customers will need to pay to Oracle or Google?
* Can I find support/funding to bring Kotlin or Groovy like language to embedded world with no java involved rather than compiler it self written in Java.
* What you would love to have as a way of programming for small devices?
The only thing i know for sure is make it free for makers/hobbyist.
I am familiar with other solutions out there from different VMs to languages especially the low hanging ones but would love to hear in depth information.
Best Regards
- justavm 6y agoBelow is the sample code and the apis; package demo; import eapi.*; public class App { public static void main(String args[]) { final Led led = Led.init('C', 13); // Port C Pin 13 PushButton pushButton = PushButton.init('A', 8, //Port A Pin 8 GPIO.INPUT_PULL_UP, GPIO.FALLING_EDGE, 200, //debounce (time) -> { Core.println("push button event"); led.flip(); }); while (true) { Looper.loop(); } } Analog.inSetup(Analog.IN1); Analog.read(Analog.IN1); Analog.outSetup(Analog.OUT5); Analog.write(Analog.OUT5, (short)255); I2C.setup(I2C.I2C2, 400); SPI.setup(SPI.SPI_ID2, 0, SPI.SPI_MODE_3, SPI.SPI_FB_MSB); References: https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
- justavm 6y agoAny feedback is appreciated!