Comment on page
SOFIA is a simulator for Arduino boards developed in Java for Android devices. It works executing assembly instructions from the board's microcontroller (read from the hexadecimal file generated by the compiler or assembler).
SOFIA can simulate Arduino UNO, but not all modules of Arduino UNO are supported. So far, you can simulate:
- Digital Input/Output
- Timers 0, 1 and 2
- ADC (Analog to Digital Converter)
- USART (still limited)
New modules are being developed and new boards may be added in the future.
For those who'd like to learn about Arduino programming, SOFIA may be a good starting point. With SOFIA you'll be able to run your codes with no need of any electronic component and with no fear of accidentally break anything. If you are using an Arduino IDE for Android (like ArduinoDroid), you can do all the work (code and simulation) using only your smartphone.
SOFIA is not exclusively designed for students, though. You can use some of SOFIA's tools to help you to debug a project, it feats memory visualization, frequency and duty cycle meter and memory usage display. Keep in mind that SOFIA is still experimental and it's not that fast like and Arduino.
Basically, an Android device (with Android Lollipop, minimum) is all you need to run the simulator, but you will still need a manner to generate the hexadecimal file to be simulated.