Unlike standard solutions, Remo Hobby EVO R not tied to a specific make or model of car. This makes it an ideal choice for owners of rare or custom cars where factory solutions are either unavailable or too limited. However, such versatility requires the user not only to have basic knowledge in auto electrics, but also to understand the principles of programming microcontrollers. In this article we will look at all aspects of working with the device - from unpacking to complex tuning.
Feature EVO R consists of a modular structure: controller board, relay blocks, interfaces for connecting sensors and actuators are sold separately. This allows you to assemble a turnkey system specifically for your needs, without overpaying for unnecessary functions. But this approach requires careful planning - errors at the acquisition stage can lead to additional costs or even system failure.
It is important to understand that Remo Hobby EVO R is not a plug-and-play solution. To use it fully you will need:
- ๐ง Soldering skills and working with electrical circuits (at least basic)
- ๐ปKnowledge of the basics of programming
Arduino IDEor similar platforms - ๐ Understanding of vehicle communication protocols (CAN, LIN, PWM)
- ๐ Ability to work with a multimeter and oscilloscope (for diagnostics)
If you are willing to invest time in learning, EVO R will open up opportunities comparable to professional auto-tuning solutions, but for significantly less money. Next, we will look in detail at where to start and how to avoid common mistakes.
Specifications Remo Hobby EVO R
With my heart Remo Hobby EVO R is a microcontroller ESP32-WROOM-32 with clock frequency up to 240 MHz, dual-core architecture and Wi-Fi/Bluetooth support. This allows the device to process complex algorithms in real time, for example, controlling LED effects based on vehicle speed or processing signals from several sensors simultaneously.
Key controller parameters:
- ๐น Processor: Dual-core Tensilica LX6 (up to 240 MHz)
- ๐น Memory: 520 KB SRAM, 4 MB Flash (expandable to 16 MB)
- ๐น Interfaces: 18ร GPIO, 3ร UART, 2ร I2C, 1ร SPI, 16ร ADC (12-bit), 2ร DAC (8-bit)
- ๐น Wireless modules: Wi-Fi 802.11 b/g/n, Bluetooth 4.2 (BLE)
- ๐น Operating voltage: 5V (powered via USB-C or external 6-24V source)
- ๐น Temperature range: from -40ยฐC to +85ยฐC (important for installation in the engine compartment)
One of the main advantages EVO R is support OTA updates (by air). This means you can download new firmware or make code changes directly from your phone or computer without physically connecting the device. This is especially true for systems installed in hard-to-reach areas of the car.
To work with the CAN bus (for example, for integration with on-board electronics), an additional module will be required MCP2515 or SN65HVD230. These chips provide galvanic isolation and noise immunity, which is critical for automotive applications. Without them, connecting to CAN may result in damage to the controller or even the vehicleโs on-board electronics.
| Parameter | Meaning | Note |
|---|---|---|
| Current consumption | ~100 mA (standby) | Up to 500 mA with active Wi-Fi and CAN operation |
| Max. current on GPIO | 40 mA per output | Loads >100 mA require external transistors/relays |
| Protocol support | CAN 2.0, LIN, PWM, 1-Wire, I2C, SPI | CAN FD requires hardware modification |
| Board dimensions | 60ร40ร12 mm | Excluding connectors and expansion modules |
| Short circuit protection | Yes on power, not on GPIO | External protection for critical circuits is recommended |
โ ๏ธ Attention: When connected EVO R to the vehicle's on-board network, be sure to use a voltage stabilizer on5Vwith surge protection (for example, based onLM2596). The voltage in the on-board network can reach14.8Vwhen charging the battery, which will damage the controller.
Contents and necessary accessories
Basic kit Remo Hobby EVO R includes only the controller board with pre-flashed test program. For full operation, you will need to purchase a number of components. Here is the minimum kit to get started:
- ๐ Relay block (for example, 8-channel on
10A/250V) - for controlling powerful loads (headlights, fans) - ๐ CAN interface (
MCP2515 + TJA1050) - for integration with the on-board CAN bus - ๐ก๏ธ Sensors (temperature, illumination, movement) - for the implementation of automatic scenarios
- ๐ Level converter (
TXB0104orBSS138) - to protect GPIO when working with 12V signals - ๐ถ WiFi antenna (external if the controller is installed in a metal case)
For soldering and installation you will need:
Soldering station (power 40-60W), solder with flux, heat shrink tube, female-male terminals and stranded wires cross-section not less 0.5 mmยฒ. Donโt skimp on insulationโin a car, vibrations and temperature changes will quickly destroy poor-quality connections.
If you plan to work with a CAN bus, be sure to purchase CAN analyzer (for example, USBCAN or PCAN-USB). Without it, debugging data exchange with the on-board computer will turn into guessing binary signals. The cost of such equipment starts from 5,000 rubles, but it will pay off in the time saved.
First connection and firmware
Before first use EVO R you need to install drivers and configure the development environment. The controller supports firmware via:
- ๐ฅ๏ธ USB (UART) - standard method for debugging
- ๐ถ OTA (over Wi-Fi) - for remote update
- ๐ JTAG โ for recovery after โscalingโ
Instructions for initial setup:
- Download
Arduino IDE(version 1.8.19 or later) from the official website. - Install support ESP32 through
Board Manager: add linkhttps://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsoninFile โ Settings โ Additional links for board manager. - Select board
ESP32 Dev Modulein the menuTools โ Board. - Connect EVO R to a computer via USB-C. The drivers will be installed automatically (if not, download
CP210xorCH340depending on the board version). - Download the test sketch
Blinkto check functionality.
To work with the CAN bus you will need a library ESP32_CAN. Install it via Library Manager in Arduino IDE. Example code for reading CAN messages:
#includeCAN_device_t CAN_cfg; // CAN config
unsigned long previousMillis = 0; // Timer
void setup() {
Serial.begin(115200);
CAN_cfg.speed = CAN_SPEED_500KBPS;
CAN_cfg.tx_pin_id = GPIO_NUM_5;
CAN_cfg.rx_pin_id = GPIO_NUM_4;
ESP32Can.CANInit();
}
void loop() {
CAN_frame_t rx_frame;
if (xQueueReceive(&CAN_cfg.rx_queue, &rx_frame, 3 * portTICK_PERIOD_MS) == pdTRUE) {
Serial.print("ID: 0x");
Serial.print(rx_frame.MsgID, HEX);
Serial.print(", Data: ");
for (int i = 0; i < rx_frame.FIR.B.DLC; i++) {
Serial.print(rx_frame.data.u8[i], HEX);
Serial.print(" ");
}
Serial.println();
}
}
โ ๏ธ Attention: When connecting to the vehicle's CAN bus for the first time, use resistor 120 ohm between Ch-H and Ch-L on the controller side. Without it, on-board electronics may malfunction, especially on modern vehicles with sensitive CAN buses (for example, Audi or BMW).
Install Arduino IDE|Add ESP32 support|Connect board via USB|Check ports in Device Manager|Upload test sketch-->
Popular automotive application scenarios
Remo Hobby EVO R can solve hundreds of problems, but the following scenarios are most in demand among car enthusiasts:
1. Smart light control
With EVO R can be implemented:
- ๐ก Dynamic turn signals (traveling wave effect)
- ๐ RGB interior lighting controlled via smartphone app
- ๐ Automatic DRL activation when starting the engine (via CAN or signal from the ignition switch)
- ๐ฆ Adaptive high beam (automatic switching depending on oncoming traffic)
To implement dynamic turn signals you will need:
- Connect EVO R to the turn signal control wires (usually
12Vsignal from the turn relay). - Configure PWM outputs to control LED strips or modules.
- Program the algorithm for sequentially switching on the LEDs (an example code can be found in
FastLEDlibrary).
2. Integration with climate control
If your car is not equipped with climate control, EVO R can automate the control of the stove fan and air conditioner based on:
- ๐ก๏ธ Data from the interior temperature sensor (
DHT22orDS18B20) - ๐ Vehicle speed signal (via CAN or Hall sensor)
- โ๏ธ Illumination data (photodiode or
BH1750)
Example logic: when parked in the sun and the interior temperature is >25ยฐC, the controller will automatically turn on the fan at minimum speed, and when driving, the fan speed will depend on the speed of the car (to save battery power).
3. Safety and security
C EVO R you can assemble the system:
- ๐จ Security alarm with motion sensors and remote notifications via Telegram
- ๐ Keyless entry via Bluetooth (unlocking doors when a smartphone approaches)
- ๐ Location tracker with sending coordinates to the server when sensors are triggered
To implement the tracker, you will need a GPS module (for example, NEO-6M) and a SIM card with a data plan. Ready-made solutions like StarLine will cost 2-3 times more, and the functionality will be limited to factory settings.
Sample code for sending notifications to Telegram
To send messages to a Telegram bot, use the library UniversalTelegramBot. Below is an example code for sending a notification when an alarm is triggered:
#include#include
#define BOT_TOKEN "XXX:YYY" // Replace with your bot's token
#define CHAT_ID "12345678" // Your chat_id
WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);
void setup() {
WiFi.begin("SSID", "PASSWORD");
while (WiFi.status() != WL_CONNECTED) delay(500);
bot.sendMessage(CHAT_ID, "Security system activated!", "");
}
void loop() {
if (digitalRead(ALARM_PIN) == HIGH) { // If the sensor is triggered
bot.sendMessage(CHAT_ID, "โ ๏ธ ALARM! Movement inside the car!", "");
delay(60000); // Delay to avoid flooding
}
}
Tuning and performance optimization
Default EVO R operates on frequency 160 MHz, but it can be overclocked to 240 MHz through settings in Arduino IDE (Tools โ CPU Frequency). However, overclocking only makes sense for resource-intensive tasks, such as:
- ๐ฎ Processing video from the rear view camera in real time
- ๐ Analysis of CAN traffic with high frequency messages (for example, in sports cars)
- ๐๏ธ Servo control with high precision (for robotic systems)
For most standard frequency autotuning tasks 160 MHz more than enough. Overclocking increases power consumption and heat generation, which can be critical when installing the controller in an enclosed space (for example, behind a dashboard).
You can optimize the system in the following ways:
- ๐ Use interrupts instead of polling the status in
loop()(saves CPU time) - ๐๏ธ Disable unnecessary peripherals (for example, Bluetooth if only Wi-Fi is used)
- ๐ฆ Apply dynamic memory allocation for large data sets (avoid static arrays)
- ๐ Use sleep mode (
deep sleep) to save energy in standby mode
An example of optimized code for controlling an LED strip using interrupts:
#include#define LED_PIN 13
#define NUM_LEDS 60
#define BRIGHTNESS 100
#define INTERRUPT_PIN 2 // Pin for external interrupt
CRGB leds[NUM_LEDS];
void IRAM_ATTR handleInterrupt() {
static bool state = false;
state = !state;
if (state) {
fill_solid(leds, NUM_LEDS, CRGB::Red);
} else {
fill_solid(leds, NUM_LEDS, CRGB::Black);
}
FastLED.show();
}
void setup() {
FastLED.addLeds
(leds, NUM_LEDS); FastLED.setBrightness(BRIGHTNESS);
pinMode(INTERRUPT_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), handleInterrupt, FALLING);
}
void loop() {
// The main loop is free for other tasks
delay(100);
}
โ ๏ธ Attention: When using deep sleep Ensure that all critical processes (eg burglar alarms) have alternative power sources or wake-up mechanisms. In deep sleep mode, the controller consumes only ~5 ยตA, but is completely disconnected from the outside world until the next interrupt.
To debug CAN messages, use the program SavvyCAN or Busmaster. They allow you not only to monitor traffic, but also to send test messages to check the reaction of the on-board computer. This is especially useful when reverse-engineering vehicle-specific protocols.
Common mistakes and their solutions
Even experienced users encounter problems when working with Remo Hobby EVO R. Here are the most common errors and how to fix them:
| Problem | Possible reason | Solution |
|---|---|---|
| The controller is not detected via USB | Drivers are missing CP2102/CH340 |
Install the driver manually from official source |
| CAN bus does not work | Incorrect speed or missing 120 ohm terminator | Check the speed settings in the code and connect a resistor between CAN_H and CAN_L |
| Controller overheating | Overclocking to 240 MHz or high load on GPIO | Reduce the frequency to 160 MHz and add a heatsink |
| Problems with Wi-Fi | Unstable power supply or interference from the CAN bus | Use LC filter on power line and shielded wires for CAN |
| Settings are not saved after shutdown | No code to write to EEPROM or SPIFFS | Add a library Preferences.h to save data to flash memory |
One of the most insidious problems is food conflicts. If EVO R and the connected modules are powered from different sources (for example, the controller is from USB, and the relay is from the on-board network), stray currents may arise, leading to unstable operation. Always use common land for all system components and, if necessary, galvanic isolation (optocouplers or relays with isolated contacts).
Another common mistake is ignoring debouncing mechanical buttons. Without processing contact bounce, the controller can perceive one click as several, which leads to chaotic operation of the systems. This can be solved by adding a delay or a hardware RC filter (10 kOhm resistor + 0.1 ยตF capacitor).
Always test new features EVO R on the table with external power supply 5Vbefore installing the device in the vehicle. This will avoid short circuits and damage to the on-board electronics.
Comparison with analogues
There are several alternatives on the market Remo Hobby EVO R, but each solution has its own characteristics. Below is a comparison of key parameters:
| Parameter | Remo Hobby EVO R | Arduino Mega + CAN-shield | STM32 "Blue Pill" | Raspberry Pi Pico |
|---|---|---|---|---|
| Processor | ESP32 (2x240 MHz) | ATmega2560 (16 MHz) | STM32F103 (72 MHz) | RP2040 (2ร133 MHz) |
| CAN bus | Requires external module | Requires shield (~1500 RUR) | Requires external transceiver | No native support |
| Wi-Fi/Bluetooth | Built-in | None | None | None (Pico W only) |
| Basic kit price | ~3500 RUR | ~2500 RUR | ~500 rub | ~800 rub. |
| Difficulty setting up | Average | Low | High | Average |
| OTA support | Yes | No | Yes (with modifications) | Yes (via Picotool) |
Remo Hobby EVO R outperforms competitors thanks to built-in wireless interfaces and high performance, but loses in price to solutions based on STM32 or Raspberry Pi Pico. However, for tasks that require Wi-Fi or Bluetooth (for example, remote control via a smartphone), the alternatives are either more expensive or require additional modules.
If your project does not require wireless interfaces, consider STM32 - it is cheaper and has better documentation for working with the CAN bus. For simple tasks (for example, controlling turn signals), it is enough Arduino Nano, but EVO R provides reserve for future expansion of functionality.
FAQ: Frequently asked questions about Remo Hobby EVO R
Can EVO R be used to control an injector?
Technically yes, but not recommended without in-depth knowledge of engine control. The injector requires highly precise control of fuel injectors and ignition, taking into account oxygen, knock and crankshaft position sensors. Errors in settings can lead to serious engine damage. For these tasks it is better to use specialized controllers like Megasquirt or RusEFI.
How to connect EVO R to the standard radio via CAN?
To integrate with the radio you need:
- Define CAN addresses and message format of your radio (use a CAN analyzer).
- Write code to send commands (for example, to switch tracks or adjust volume).
- Connect to CAN bus in parallelwithout breaking the regular connections.
Please note that CAN protocols vary greatly between manufacturers (Pioneer, Sony, Alpine). There are no ready-made libraries for most radio tape recorders - reverse engineering will be required.
Which app is best to use to control the EVO R from a smartphone?
Popular options:
- Blynk - a simple interface designer, but requires a cloud server (there are limitations in the free version).
- Home Assistant - for complex systems with many sensors and automation.
- Own application on
MIT App InventororFlutter- if you need unique functions.
For most tasks, auto tuning is enough Blynk or simple Telegram bot.
How to protect the EVO R from moisture when installed in a car door?
Recommendations:
- Place the board in sealed housing (for example, from a junction box).
- Use silicone sealant to protect connectors.
- Apply conformal coating (for example, varnish
UR7130) for a fee. - Install desiccant (silica gel) inside the housing.
Avoid installing in locations where moisture condensation may occur (such as near speakers