[workaround] avrdude: jtagmkII_getsync(): sign-on command: status -1 Arduino Nano Every

2024-03-12

Arduino Nano Every avrdude error jtagmkII_getsync() upload failed

I was trying to upload a sketch to the Arduino Nano Every and I got this error:

avrdude: jtagmkII_getsync(): sign-on command: status -1



After searching for solutions on the Internet, I found a workaround that helped me successfully program the board.

If you get the same error, here is the workaround:
1. disconnect the board;
2. restart the Arduino IDE;
3. connect the board;
4. open Tools -> Serial Monitor;
5. set baud rate to 1200;
6. leave the Serial Monitor open;
7. go back to Arduino IDE, press "Upload", it should successfully upload now.

The IDE still shows another error:
avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description
but it also shows "Done uploading." and the uploaded code works as expected AFTER DISCONNECTING THE BOARD AND CONNECTING AGAIN.
read more ...

[fix] Arduino Nano Every - board not listed in IDE

2024-03-12

Arduino Nano Every Arduino megaAVR Boards Board Manager megaAVR

Selecting the board in Arduino IDE lets the IDE know what board you want to program.
In case of Arduino Nano Every, that board does not appear in the list by default.

To make it appear, follow these steps:
1. Go to Tools -> Board -> Boards Manager;
2. In the Boards Manager, search for "megaAVR";
3. Click the "megaAVR Boards" package;
4. Click "Install" button to install the package;
5. After installation complete, close the Boards Manager;
6. Now you should be able to select the Arduino Nano Every from Tools -> Board -> Arduino megaAVR Boards.
read more ...

Story - how RoboRemo app was born

2023-12-21

Arduino GUI Bluetooth RFCOMM EEPROM LineFollowerRobot RoboRemo Robochallenge Robotics Competition Robotics Projects Robotics Prototyping Serial Port Wireless Connectivity

We were participating at the Robochallenge Competition with a Line Follower Robot. Participants were allowed to test and tune their robots one day before the competition. Tuning the robot means you put it on the track, watch how it follows the line and think what to tweak in the Arduino code, then you connect the USB cable, re-upload the code and repeat again. Classical trial and error, this is how we (and many others) did it back then.

That was a slow and consuming process. We needed a solution to speed it up, so we started building:

Phase 1:
We stored the tweakable parameters in EEPROM and modifying them via serial port commands using a PC.
Result: faster process, no need to re-upload the entire code.

Phase 2:
Serial cable replaced with Bluetooth (RFCOMM).
Result: wireless connectivity.

Phase 3:
Serial terminal on PC replaced with serial terminal on smartphone.
Result: mobility.

Phase 4:
Serial terminal on smartphone replaced with GUI on smartphone.
Result: even faster process, RoboRemo app was born.

Initially RoboRemo had only few GUI items: button, slider, LED, text log. Then we added more.
read more ...

What is RoboRemo

2023-12-21

Android App Arduino Library Arduino Projects Bluetooth Custom Interface Data Logging ESP32 Electronics Microcontroller Prototyping RoboRemo Robotics esp8266 car project esp8266 rc car

Introduction


RoboRemo is an Android app that allows you to control Arduino robots, ESP32 / ESP8266 WiFi devices, and other types of microcontrollers, such as ESP32, ESP8266, STM, PIC, AVR, 8051, etc. The app is designed for fast prototyping, allowing you to build custom interfaces to configure and remotely control your robot or other system.

In-app editor


You don't need to write any code for the interface - you can create it using the visual in-app editor. The RoboRemo editor lets you drag and drop different interface elements, such as buttons, sliders, joysticks, and more, to create an interface that fits your needs. This makes it super easy to build a custom interface without having to learn a new programming language or framework.

Communication


RoboRemo can communicate via Bluetooth SPP, BLE, TCP, UDP, USB Serial. TCP and UDP can be via WiFi, Mobile Data or Ethernet Adapter. USB Serial can be USB to RS232 adapter, USB to RS485 adapter, etc.

Data format


RoboRemo sends and receives data as RAW text commands, separated by command ending. Exceptions are the image item and printf() item, where data is mixed (text + binary). For more details, see the app manual.

Conclusion


RoboRemo can be a valuable tool for MCU projects in several ways:
- Wireless control: RoboRemo allows you to wirelessly control your robot or device from your Android phone. This means you can operate your robot from a distance, without having to be physically connected to it via a cable.
- Customizable interface: RoboRemo's visual editor lets you create a custom interface that fits your project's needs.
- Rapid prototyping: With RoboRemo, you can quickly test different interfaces and configurations without having to write new code each time. This can save you time and effort during the development phase of your project.
- Data logging: RoboRemo can also help you collect and log data from your embedded project. You can use the app to display data in real-time, or store it for later analysis.

Overall, RoboRemo can make your projects more versatile, interactive, and convenient!
read more ...

Hello, World!

2023-10-28

hello world test

This is the first blog post.
Now we have a blog :)
read more ...