Converting Kyosho MP10 to a STEM platform

              


Converting a Kyosho racing 1/8 model car to a STEM platform

1. Introduction

Our proof of concept is to built a short-term Science, Technology, Education, Art and Mathematics (STEAM) project in order to demonstrate the hypothesis that Remote Controlled (RC) models and STEAM can be combined. RC models such as cars, planes, and boats can be used for enhancing user driving capabilties and mechanical engineering knowledge, but they lack of electronics and informatics components for experimenting in smart applications on autonomous and programmable devices. We propose an installation of Arduino on the RC model as an extra component that can receive digital/analog signals, processing them with algorithms, provide feedback, or interact accordingly with the environment.

In this project, we target at a simple signal processing task e.g. light up a LED stripe gradually based on user throttle feedback from the UHF signal that was sent from the transmitter of the user. The benefit is the feedback to the instructors during supervised training for various purposes, namely 

a) safety: the instructor can see the trainee input and grab the controller before it is too late.;

b) learning: the tutor can suggest other ways to control the car, i.e. when to brake and how much throttle should be applied on corners. 

Among RC models, we found that racing-grade cars are the most interesting due to their high efficiency. Their high speed and cost that consitutes a good opportunity for safety in supervised learning. The car kit Kyosho MP10 TKI2 as shown in Figure 1 was selected as our platform. It is a car of a 1/8 scale factor with a methanol-oil 2-stroke engine generating 2.5hp at 3.5cc with OS max B21 racing compliant engine. It can reach up to 100km/h final speed, and it has durable forged parts that can withstand collisions. The average cost is around 1500 to 2000 euros. The assembly of the mechanical parts took 60 hours that was done in combination of educators with children from the age of 6 up to 16 and their parents.

Figure 1: Kyosho MP10 TKI2 that was the selected platform for the development.

As a feedback mechnism we decided to use LED stripes as they offer a bright interface for the user at low cost. The target is to place a LED strip over the Kyosho model that indicate how much throttle or brake is pressed. In other words, it will be a live feedback for training future drivers. 

The methodology followed is analyzed in Section 2. Evaluation as regards usefullness, usability, compliance, friendliness, towards the final product as well as the evaluation of the educational aspect of the attempt are provided in Section 3. Conclusions and future work are given in Section 4.

2. Methodology

The design of the additional parts on the Kyosho should be targeted to the following pillars: 
a) functionality, b) durability, c) low energy consumption, d) maintain aerodynamics, e) lightweight, f) low cost, and g) easy maintence.

The methodology is divided to:
a) Electronics design which is responsible for the correct signal handling and powering the circuits, that should obbey to a,b,c,e,f, and g pillars; and
b) Mechanical design which addresses the issue of compacting the circuits on the platform that is related to a, b, d, f, g pillars.

Given these directives the methodology is outlined below.

2.1 Electronics design

The electronics design provide the targeted functionality. The components diagram is as follows:

                                                                                                                                 [Servo 1 Steering] 

                                                                                                                      +6V, GND           |

[battery 8.2 Lipo 2800mAh 5c]------> [Step Down Converter 5V 3A] ----> [Receiver FS-GR3E] 

|                                                                                                  ---------<     Sig  |  +6V |GND  |

\-------> Step Down Converter 5V 3A                                        |                         v        v         v

                   +5V, GND                                                              |                       [Servo 2 Throttle] 

                |                    |                                                           |                             

                |                   |                                                            |                             

 [Arduino Nano v3]     [LED strip WS2813C]                            |

           GND                            ^                                               |                   

              +5V                                |                                                      |

              D2 OUT >-------------------                                                     |                       

              D6  IN <-------------------------------------------------------------


Battery provides the necessary power to all components. The components can be divided to two modules, namely to the a) as-is components that are the already available components in the car such as the Receiver and the two Servos for steering and for throttling, vs the b) to-add components, namely the Arduino and the LED stripe. It was decided that each module should have a separate power circuit for feeding safe power free of back-currents. 

The AS-IS components comsume around 1A. The max was 2A when the connection with the transmitter is lost and servos go to max points. However, it is not often. The two servos are 30kg at range of 6-8.2V for the throttle and 15kg [5 - 7V] for the steering. The power circuit used was the step-down buck converter HW-411 that was set at 6V output and it can handle up to 3A.

Led strip WS2813c was selected due it its small power consumption. Each RGB channel consumes at full brightness 5mA. We are going to use 40 LEDs with Green or Red colors. The maximum amperage used was measured as 0.85amps. It should be powered at 5V. It will turn on LED lights gradually based on the Channel 2 of the radio emitter, namely gas press. Led strip WS2813C was selected due it its small power consumption.

 


The Led stripe is controlled by an Arduino. The Arduino Uno was used in the research phase, while Arduino nano v3 was used in the production due its small scale factor. Its power consumption is measured at 0.2amps (Todo: conditions are missing here) 



A C program for Arduino is written that progressively turns on red color, turns it off also progressively, and does the same thing with green leds. 

Power transformation

LM2596 DC-DC Step-down Power Supply Module 3A Adjustable Step-down Module LM2596S Voltage Regulator 24V 12V 5V 3V For arduino





The next phase will a) connect the remote control with Arduino, and b) a voltage regulator will be designed so that the 8.2V LiPo battery can feed the led stripe that works for voltage under 5.5V. These will conclude the research phase, and next the installation phase will begin.









THE CODE v2 

Use Arduino Sketch to install to NANO




LM2596 HW-411 was used for step down 8.2v to 6v for 2A for servos. At a first glance using dupont connectors we saw an increase in temperature at 6V OUT+ when ambient is 13 Celsius the dupont can reach 30 Celcius (thermal video 1 below). Upon replacing the dupont with a typical cable that it is used in PSU for PCs, temperature stayed 10 degrees lower (thermal video 2 below).











2.2 Mechanical design and assembly

The mechanical design should ensure compactness, stability, safety, and easy installation/maintenance of the extra components inside the existing chassis of Kyosho MP10 nitro. 

These components regard the LED stripes and the circuits. There are 3 circuits, namely

   1) the 2A 5V DC step-down converter for Arduino and LED stripe
   2) the 3A 5V DC step-down converter for UHF Receiver and 2 servos
   3) the Arduino Nano v3

2.2.1: The LED stripes

The LED strip WS2813C has a profile of 15mm to 4mm. The most ideal installation position is on the left and right side of the car as shown in Figure 6 as it does not affect the down-force as it would affect if positioned on the top of the lexan cover.




The most spacy area of Kyosho is the back left area as shown in Figure 6. In order to digitally replicate the space of that area, we have used a on-top picture out of a mobile device and draw with Inkspace a proper SVG vector graphics image. This SVG was inserted into Tinkercad web design software that allows to extrude SVG as mesh and obtain thus the base  floor for our design as shown in Figure 2. 





3. Experiments



4. Conclusion

More complex projects such as hybrid engines can be done in the future


Appendices

A.1. Components list (Bill of material)

  1. LED : WS2813C with 144 lights (aliexpress, 15euros)
  2. Radio: Flysky FS-GR3E receiver  and GT3C transmitter (hobbyland.gr, 80 euros)
  3. Controller: Arduino UNO R3 (skroutz.gr, 8 euros). Second phase NANO R3 (7 euros).
  4. Battery: A 2 cell LiPo 8.2v at 2700mAh.
  5. Converters: Two step down buck converters HW-411 based on LM2895 were used for reducing 8.2v to 5v and for protecting parts from battery back-currents.
  6. Capacitor:  To be filled C for stabilizing led stripe current.
Tools:
  1. Laptop: Blackview N97 (aliexpress, 250euros). 
  2. Software: Arduino sketch for PC
  3. USB power measure stick (Optional). Design phase only.
  4. 5V power bank (Optional). Design phase only.


A.2. Arduino code


// Turn on strip WS2813 with 144 LED lights
//   according to channel 2 signal
//      of flysky FS-GR3E receiver
//
// Controller Arduino Uno R3
// For connection diagram see
//    dimitriosververidis.blogspot.com
//
// Dimitrios Ververidis v1: 14/11/2025, first working version for UNO
//                      v2: 23/11/2025, intensifier light. Fine tune for NANO.
// MIT License
// Free but use at your own risk

// Library for strip
#include <Adafruit_NeoPixel.h>

// Data led for strip (use a 330 ohm R)
#define LED_PIN    6

// Number of leds on the strip
#define NUM_LEDS   144

// Define led strip
Adafruit_NeoPixel strip(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

// Signal received at arduino slot 2 as pwm pulses (not analog)
int ch2Pin = 2;  // CH2 connected to D2

// FS-GR3E Neutral
#define PULSE_NEUTRAL 1500
// #define PULSE_FULL_MAX 1700
// #define PULSE_FULL_BRAKE 1300

// Initialize
void setup()
{
  // Listening frequency
  Serial.begin(9600);

  // Pin to hear signal from FlySky
  pinMode(ch2Pin, INPUT);

  // Initialize Strip  
  strip.begin();
}

// Main
void loop()
{
  // ----- Measure the HIGH pulse width (in microseconds) ------------------
  int pulse = pulseIn(ch2Pin, HIGH, 25000) - PULSE_NEUTRAL;  // 25 ms timeout

  // Console output
  // Serial.print("CH2 pulse width: ");
  // Serial.print(pulse);
  // Serial.println(" us");
  delay(50);

  // ------------------ LED --------------------------

  // Turn all LEDs off before visualizing next step
  for (int i = 0; i < NUM_LEDS; ++i)
  {
    strip.setPixelColor(i, 0); // Off all leds
  }

  // Green/Yellow for Throttle
  if ( pulse > 3 )
  {
      // Light up LEDs one by one starting from Led 72 (center)
      //                     ~280 / 4 ~= 70
      for ( int i = 0; i < abs( pulse / 4 ); ++i )
      {  
        // green or yellow                     R         G  B
        uint32_t col =  i < 55 ? strip.Color(   0, (i+1)*4, 0 ): // Green
                                 strip.Color( 200,      80, 0 ); // Yellow

        strip.setPixelColor( 72 + i, col ); // left
        strip.setPixelColor( 72 - i, col ); // right
      }
  }
  // Red for Brake
  else if ( pulse < - 5 )
  {
      // Light up LEDs one by one
      for ( int i = 0; i < abs( pulse ) / 2; ++i )
      {        
        strip.setPixelColor( 72 + i, strip.Color( i*3, 0, 0 ) ); // Red left
        strip.setPixelColor( 72 - i, strip.Color( i*3, 0, 0 ) ); // Red right
      }
  }
   
  // Invalidate
  strip.show();
}



Stackoverflow profile

profile for jimver04 at Stack Overflow, Q&A for professional and enthusiast programmers

Stackoverflow Reputation curve

Google scholar citations per year

Google scholar citations per year
Click image for more details

Total Blog Pageviews