Please note:
This software is not affiliated with or endorsed by Arduino AG.
All references to Arduino are descriptive only.
Arduino is a registered trademark of Arduino AG.
For official Arduino software and documentation, please visit:
https://www.arduino.cc
Quick Arduino Sketch Editor
Quick Arduino Sketch Editor is an OshonSoft-style tabbed editor for Arduino sketches,
allowing users to compile and upload code using standard Arduino toolchains
within a simulation-ready environment.
This software does not distribute, install, or modify any Arduino tools or files.
It connects to the user's existing installation of open-source Arduino command-line tools
to perform compile and upload operations.
In Arduino IDE 2.x (e.g., 2.3.6) installations, arduino-cli.exe is used for those purposes.
Quick Arduino Sketch Editor can be used with all Arduino boards, because arduino-cli.exe can
provide fully qualified board name (FQBN) of the connected board.
In Arduino IDE 1.x (e.g., 1.8.19), arduino-builder.exe and avrdude.exe are used.
These tools don't provide FQBN of the connected board with the command-line interface.
So, Arduino Uno boards ('arduino:avr:uno' FQBN) can be used only.
OshonSoft routine will detect official Arduino Uno boards and CH340, FTDI-based
and CP210x clones based on the VID:PID inspection of the existing COM ports.
If Arduino IDE has been installed with the default setup options for all users,
it will be automatically detected. An Arduino sketch file must be stored in a folder
that has the exact same name as the '.ino' file (Arduino IDE requirement).
'build' subfolder is created in the sketch folder, to store compiler output files.
Tools menu items:
- Compile Sketch - F7
- Upload To Board - F8
- Load To Simulator - F9
- Locate Arduino IDE
- Detect Board
Options menu items:
- Detect Board Before Compile And Upload
- Adjust Delays For Simulation
(Separate hex file will be created for simulation, where all delay() and delayMicroseconds()
functions were replaced with delay(1) and delayMicroseconds(1).)
- Editor Options
LcdKeypad1.ino sketch used on the screenshot:
#include <LiquidCrystal.h>
//RS, E, D4, D5, D6, D7
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
lcd.begin(16, 2); //Initialize 16x2 LCD
lcd.print("Hello world!"); //Message on the first line
lcd.setCursor(0, 1);
lcd.print("LCD Keypad");
delay(1000);
pinMode(10, OUTPUT);
digitalWrite(10, LOW);
delay(1000);
digitalWrite(10, HIGH);
delay(1000);
}
void loop() {
int x = analogRead(0);
lcd.setCursor(0, 1); //Second row
if (x < 50) lcd.print("RIGHT x=");
else if (x < 200) lcd.print("UP x=");
else if (x < 400) lcd.print("DOWN x=");
else if (x < 600) lcd.print("LEFT x=");
else if (x < 800) lcd.print("SELECT x=");
else lcd.print("NO BUTTON x=");
lcd.print(x);
//Clear any leftover characters if x was smaller previously
if (x < 10) lcd.print(" "); //Add 3 spaces
else if (x < 100) lcd.print(" "); //Add 2 spaces
else if (x < 1000) lcd.print(" "); //Add 1 space
delay(200); //Simple debounce
}
Arduino UNO R3 Simulation Tool
Arduino UNO R3 Simulation Tool provides visual simulation and interaction
for testing Arduino UNO R3 sketches compiled with standard Arduino toolchains.
The board layout used in this tool is inspired by the open-source Arduino UNO R3
hardware design, and adapted under the terms of the Creative Commons
Attribution-ShareAlike license (CC BY-SA 2.5).
Arduino UNO R3 Simulation Tool is based on the standard Microcontroller View Interface
in all OshonSoft apps. Starting this tool will automatically select new AVR Simulator IDE
option Use Arduino Uno Pin Names, and D0-D19 will become standard pin names in all IDE tools
instead of PORTB.0, for example.
The tool offers three window sizes and two modes of showing digital pin states.
LCD command sets standard 16x2 LCD Module Shield pin parameters, and starts the LCD Module tool.
Keypad command serves to show/hide interface for A0 pin Keypad buttons available on those
16x2 LCD Module Shields. This enables easy simulation of that complete standard Arduino UNO shield.
(screenshot)