Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
In 2020, I find a mini-arcade maker product that uses ESP8622 and MicroPython. Since I know the mruby/c can run on the ESP32 but it doesn't support running on the ESP8622. Is it possible to implement our own mruby VM and execute Ruby on any microcontroller we want to use it? This talk will show my progress to run a simple mruby script on the ESP8622 by implementing my own small mruby VM. RubyKaigi Takeout 2021: https://rubykaigi.org/2021-takeout/presentations/elct9620.html
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this talk, elct9620 discusses the journey of building a custom mruby VM on the ESP8266 microcontroller, focusing on how to enable Ruby scripting on hardware that traditionally doesn't support it. The presentation covers several key aspects of the development process: - **Initial Motivation**: The speaker was inspired to explore running Ruby on the ESP8266 after discovering a mini arcade maker using this microcontroller, which supports MicroPython but lacks Ruby VM options. - **Ruby's Accessibility**: Although building a programming language can be complex, Ruby's source code and community resources make it more approachable for developers. This encouraged the speaker to start the project. - **Learning from Existing Projects**: The presenter revisited existing small Ruby VM projects, particularly noting one with only 1,000 lines of code that simplified understanding and implementation. - **Core VM Functionality**: The operation of the VM is explained, emphasizing how it processes opcodes and executes Ruby scripts, starting from reading compiled binaries with the Adobe compiler. - **Opcode Execution**: Various actions within the VM are demonstrated, such as loading integers and implementing basic operations, alongside handling methods and their calls. - **Interoperability with C**: The speaker highlights how incorporating C functions can boost the VM's performance and functionality. This includes exploring how method calls are processed and how to pass arguments between Ruby and C efficiently. - **Error Handling**: The importance of robust error management to maintain the VM's reliability during execution is elaborated upon, proposing strategies for successful debugging. - **Demo**: A practical demonstration showcases Ruby code running on a mini arcade station, displaying text rendered on the device—a culmination of the speaker's efforts to meld Ruby programming with microcontroller limitations. - **Future Directions**: The speaker plans to enrich the Ruby VM with more features and shares the ambition to continue exploring embedded programming alongside other telecom projects. - **Community Engagement**: Elct9620 encourages others to embark on similar projects and shares resources, including articles written in Chinese and the project’s GitHub repository. This talk emphasizes the potential for creative programming using microcontrollers and aims to inspire developers to innovate with Ruby in diverse environments.
Suggest modifications
Cancel