Skip to content

naasif08/Javono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Javono

Javono — Java on Native Embedded Operation

Javono (currently under development) is a lightweight toolchain that lets you write embedded firmware for microcontrollers using familiar Java syntax. It follows the intuitive setup() and loop() structure, inspired by the Arduino programming model.

Javono converts a restricted Java class into efficient C code suitable for bare-metal environments, without relying on a JVM. The current target is the ESP32 (ESP-WROOM-32).

Features

  • Write Java code with setup() and loop() style methods
  • Support for multiple embedded platforms
  • Simple and extensible framework
  • Efficient Java-to-C integration under the hood

How It Works

Javono lets you write embedded programs in simplified Java using two familiar methods: setup() and loop() — just like Arduino. Your Java code is then converted into equivalent C code, which can be compiled and flashed to a microcontroller (e.g., ESP32) using the ESP-IDF toolchain.

Example

import javono.lib.GPIO;
import javono.lib.Javono;

@JavonoEmbeddedSketch
public class SerialExample {

    @JavonoEmbeddedInit
    private void setUp() {
    }


    @JavonoEmbeddedLoop
    private void loop() {
    }
}
import javono.builder.impl.JavonoLocalBuilder;

public class Main {

    public static void main(String arg[]) {
    
        new JavonoLocalBuilder()
                .build()
                .flash();
    }
}

License

Javono is licensed under the Apache License 2.0.

This means you are free to use, modify, distribute, and integrate the code in both open-source and commercial projects, as long as you include the required notices and do not hold the authors liable.

See the LICENSE file for full license details.
See the NOTICE file for attribution information.

License


Created by Abdullah Omar Nasif

About

A lightweight Java toolchain (under development) that lets you write embedded firmware in a familiar setup()/loop() style, targeting the ESP32 (ESP-WROOM-32).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages