Nanonyam makes Windows program from AVR firmware (hex-file)

1 post / 0 new
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi, I am Nanoslavic and sorry for my english (I am from russia).

I created a simple program for Windows, called Nanonyam. It runs firmware for AVR microcontrollers, compiled in Arduino IDE, WinAVR, AVR Studio (and other) with special C libraries.

Nanonyam like a Processing, but it uses the C code. This is example "Hello, world" and screenshot of the nanonyam window, that runs this firmware.


//Including libraries for Nanonyam
#include "nanonyam_libs\nn_system_lib.c"
#include "nanonyam_libs\nn_keyboard_lib.c"
#include "nanonyam_libs\nn_file_lib.c"
#include "nanonyam_libs\nn_math_lib.c"
#include "nanonyam_libs\nn_text_lib.c"
#include "nanonyam_libs\nn_graphics_lib.c"

void setup() {
  sys_Nanonyam();//Need for security
  g_ConfigExternalFont(0,30,1,0,0,0,"Arial");//Select Windows font to font's cell #0
  g_SetExternalFont(0);//Select font's cell #0
  g_CreatePage(0,300,300,0);//Create graphic page #0
  g_SetScreenSize(300,300);//Set screen size 300x300 pixels
  sys_WindowSetText("Example");//Set window title
  g_SetBackRGB(0,0,255);//Set blue background color
  g_SetPenSize(3);//Set line width for drawing

void loop() {
  uint8_t i;
    g_ClearAll();//Clear screen
    //Draw some random circles
    for (i=0;i<20;i++){
      g_SetPenColor(g_RandomColor());//Set random color for lines
      //Draw circle with random position and radius
    g_SetTextRGB(255,255,0);//Set yellow text color
    g_DrawTextCenterX(0,300,0,"Hello, world!");//Write text
    g_SetTextRGB(0,255,0);//Set green text color
    g_DrawTextCenterX(0,300,30,"Welcome to Nanonyam!");//Secon text
    g_Update();//Update screen
    sys_Delay(100);//Delay, sleep processor

You can download this example for Arduino IDE with Nanonyam beta: Nanonyam with example (.zip 200 kB)

Use antivirus for security, for example


There is also a beta version of Nanonyam with the russian description:  russian page of Nanonyam


I need your opinion on this program. Should I continue the project and translate it into English?