Micro Tutorial

0 views
Skip to first unread message

Rashawn Devegowda

unread,
Aug 5, 2024, 2:23:01 AM8/5/24
to stupgajafi
Thischapter provides a number of tutorials to learn micro-ROS and relevant tools for the different RTOSes supported by micro-ROS. If you are new to micro-ROS, we strongly suggest that you take the tutorials in the following order:

This tutorial teaches you how to install the micro-ROS framework and tools. Then it will guide you to develop your own first micro-ROS application under Linux. (If you already know ROS 2, you will see that the tools are well integrated with standard ROS 2.)


In this tutorial, you will learn how to build the application from the previous tutorial for a Real-Time Operating System (RTOS). You will see how to flash a microcontroller board with the application and how to communicate with it from a microprocessor running ROS 2 on Linux. (The tutorial covers all three RTOS supported by micro-ROS, namely NuttX, FreeRTOS, and Zephyr. The choice is up to you!)


In this tutorial you will learn how to connect Teensy with micro-ROS and ROS 2. You will also learn how to install micro-ROS agent in linux systems to communicate with Teensy based arduino board using Arduino IDE. This tutorial will also cover a simple publisher topic published from teensy and subscribed using ROS2 interface.


When learning calculus at college level, students often encounter difficulties overcoming word problems, or extracting mathematics from the context of a certain subject. The instructors also encounter time limitations to teaching with sufficient depth, coverage and illustrations.


The Microtutorials in Mathematics project team at UCR has conceived a new approach to producing supplementary instructional materials. It produces a collection of microtutorials as supplementary instructional and learning materials. The intent is to assist the students and instructors to overcome such difficulties and pressures, with the help of online learning. The students could use them freely on any topics of their choice. The videos are produced with follow-up questions to enable instructors to flip their classrooms if desired.


I am relatively new to embedded systems, trying to profile my tensorflow models in esp 32 chips. I followed this tutorial (GitHub - atomic14/tensorflow-lite-esp32: SImple example getting TensorFlow Lite up and running on the ESP32 with Platform.io) and it has been really helpful for a few models and to get started.


In this tutorial you will get a brief introduction to MVVM. It will be discussed if you need an MVVM Framework, especially Caliburn.Micro and how you can be prepared to start using Caliburn.Micro in the future.


You will learn to build a new WPF real world application using Caliburn.Micro from scratch. The learning pace will be slow. We start with simple things and in a fair number of steps more advanced technology will be added.


A.) The device drivers? What the heck is going on? haha why does it ask to install drivers so many different times? I have the entry in the device manager change several times.. (I think lastly, currently it shows under the Keyboards as an HID keyboard? I'd have to connect it again to be sure)


Heres the kicker.. if I try to upload the default Pro-Micro 'blink' sketch... it works.. it will upload and the TX/RX leds will blink.. I edited the sketch changed delay, only used 1 led.. and it took upload and worked.


I'd believe it would need to be treated as a Leonardo if it has the ATMega32U4 chip. As a corollary to that, whoever continued to name it a Pro Micro with that chip should be beaten up a bit; the original Pro Micros used an ATMega328 and never had USB connectivity.


You mentioned that you bought some of these from eBay and one from Sparkfun; are all of them giving you the same hassle with drivers? I'd expect good behavior from the Sparkfun model, but the eBay models might just need a bootloader install to get them working right.


Aren't you mixing up pro mini (328) and pro micro (32U4) ?

I understand this mix up, but searching for pro micro (a month or so ago) lead me to this product.

I've installed those drivers and add ons in win7 and never had trouble like xl97 seems to have.

I'm using it with some Chinese clone.

Perhaps he should consider updating his bootloader.


Arduino and associated modules purchased on ebay have different chipsets than the genuine Arduino modules. One of the most common chip is the CH340G serial which you find glued underneath the Nano and so on. You need special drivers for this chip.


That doesn't apply to 32U4 solutions like the Leonardo and this pro micro.

The 32U4 has its own internal USB solution, so there is no need for any on board chipset.

That's the beauty of this, but it does have some drawbacks.


A side effect of this, is that there are multiple USB devices.

First, after reboot/reset, a device will be activated that will allow the upload of some code to your Arduino.

After some time out, a new device will be activated.

At this moment, my windows device manager reports an extra serial comport, an extra HID device (keyboard), and an extra mouse, all because i have the pro micro connected to it.


At the moment the pro micro has a blink variant in it, just not exactly like the one we all started with, because it has no pin 13 with a LED connected to it.

It does have controllable RX and TX LEDs, and they are alternating now.


By the way: because of the quirky way windows handles USB devices, i make it a point to myself to always connect devices to the same port.

Most FTDI devices i know of do not need that, because they can send some additional 8 bit ID, helping to get the same com port assigned.


1.) Yes.. I believe Chagrin is mixing up Pro-MINI vs Pro-MICRO (pro-mini's still have/use the 328's.. the pro-micro use the ATMega32U4 chip..... although they 'do' have the same form factor.. (its basically a replacement for the pro-mini..with more power)


I havent even gotten that far as to mess with the USB Host shield yet (figured out the pins needing to be used with the pro-micro vs the pro-mini.. from what I can tell the RST pin is not the same on both boards... and while in the same pace, the SPI pins are 16, 14, 15...etc)


I'm starting to think this might not work at all? I cant plug in the 'prank board'.. and be have the 'target' be prompted with tons of device driver issues.. (he'll know whats up right away I would think).


My intent is take the USB keyboard.. open it up.. hide BOTH the Pro-Micro and the USB Host mini shield inside... take the keyboard usb cable... snake it back inside the case to connect to the USB Host shield.. then the USB cable that connects to the Pro-Micro, put that in the place where the original keyboard cable was...


Since uploading a test keyboard sketch to the Pro-Micro... I have NOT tested the behavior when plugged into another machine outside of the machine that is my dev machine (Arduino IDE, drivers installed for Pro-Micro.....etc)


Not sure if I'll have time.. I'd like to do some more searching/reading about detecting the text/keys pressed (to possibly do some string replacement effects).. instead of just randomly throwing text out/to the pc...


and, while it ran the test sketch (opening up a new file, and pasting/typing some pre-defined text to it, if it was the in the Arduino IDE while running/plugging this in, it would have uploaded the text/sketch too)...


Hello all,

I have a question about using micro-ROS as an intermediary between a raspberry pi and a teensy 4.1. The pi is our runtime env. and the teensy is used as a microcontroller to offset load from the pi.

Our previous system ran on ROS1, which meant this kind of connection between the two boards could be done over rosserial . However we want to upgrade to ROS2, meaning we can no longer use rosserial.

My question is, is this a good use-case for micro-ROS or would it make more sense to implement ROS2_control for this hardware configuration? What would be better in the long-term?


The OpenROAD Project was founded in 2018 under the DARPA IDEA program to address theissue of hardware design requiring too much effort, cost, and time. Since then, the project has shown great success inproviding free, open-source implementation for ASIC designs in technology nodes as small as 7nm. Notably, OpenROAD hasenabled first-time chip designers, hobbyists, and students to fabricate chips through the Google/Efabless/Skywater130nm free shuttle program. Over 100 designs have been silicon-tested on thefirst two shuttle runs and hundreds more have been taped out.


This tutorial is intended to introduce ASIC implementation to those already conceptually familiar with RTL design(undergraduate level or equivalent). We do not cover RTL design techniques or RTL validation.


Attendees will learn how to customize an industry and silicon-proven RISC-Vmicroprocessor design, how to run their own high-performance FPGA-acceleratedsimulations of their design in the cloud, and how to push their design tosilicon, guided by the FireSim and Chipyard developers. See the tentativeschedule below for more details.


Chipyard is a one-stop shop for generating complex RISC-V SoCs, includingin-order and out-of-order processors, uncore components, vector co-processors,and other kinds of accelerators. Users can customize any component of thesystem and push it through automated ASIC flows (e.g. Hammer), software simulation (e.g. Verilator and VCS), and FPGA-accelerated simulation flows (e.g.FireSim) to enable agile end-to-end computer architecture research witha single re-usable toolchain.


FireSim is an open-source FPGA-accelerated simulation framework that can simulatedesigns built in Chipyard and deploy them to cloud FPGAs, running complexsoftware stacks (e.g. Linux + applications) at 100s of MHz. FireSim simulationsexactly and deterministically model Chipyard designs, matching cycle-by-cycle bit-by-bit behavior ofthe design as if it were taped out in silicon. I/Os like DRAM, UART, andEthernet are also modeled cycle-accurately, allowing users to model complexsystems, including large clusters, beyond the capabilities of test-chips.

3a8082e126
Reply all
Reply to author
Forward
0 new messages