uMyo
By ultimaterobotics
uMyo_v2_pcb
By ultimaterobotics
uMyo | uMyo_v2_pcb | |
---|---|---|
5 | 2 | |
16 | 5 | |
- | - | |
10.0 | 10.0 | |
about 1 year ago | about 1 year ago | |
C | ||
MIT License | CERN Open Hardware Licence Version 2 - Permissive |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
uMyo
Posts with mentions or reviews of uMyo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-04.
-
Getting "orientation" from Adafruit's LSM6DS3TR-C
You can find this math in my code here: https://github.com/ultimaterobotics/uMyo/blob/main/lsm6ds3.c lines 131-144 (it uses files quat_math.c, .h from the same folder) - there you can also find fusion with accelerometer, zero offset calibration and some other stuff (if you will actually use it - please keep in mind that function for calculation of roll, pitch, yaw angles there likely isn't working the way it should, I took it from someone else's code, didn't like the result, and never used nor debugged it - in my case angles are calculated on the receiver side from quaternion using very different math)
-
Reading EMG Signals
You can look at uMyo ( https://github.com/ultimaterobotics/uMyo ) - it's fully open source, so you can run your own production. Although its price is a bit below $40 per channel (and that is full processing unit with its own MCU and radio channel, so you only need a single receiver for all devices on the PC side), so if you need 3-4 units - then it will be cheaper to just buy them. For 10+ you may order factory production, it will be cheaper at that point (but still, if you take into account all the necessary stuff and shipment, you are looking at ~$30-35 per channel at this quantity)
-
Guidance on L3GD20H angles
For proper integration, the simplest way is to use quaternion math - at turn on set rotation quaternion to one that represents zero rotation, and then adjust it with every new data point. You can use my code from uMyo project - based on function calculate_quat() here: https://github.com/ultimaterobotics/uMyo/blob/main/lsm6ds3.c which uses quat_math and fast_math .c, .h files from the same repository. But there it's significantly more complicated than you need (performing auto-calibration and taking into account gravity for compensating vertical axis drift). In the simplest form it would be the following (assuming Qsg is our quaternion of interest, declared outside of update function and initialized as .w=1, .x=0,.y=0,.z=0):
-
A new radio library for NRF52840 to NRF24L01+ communication
You may want to check the library I made some time ago: https://github.com/ultimaterobotics/urf_lib (radio related stuff is in urf_radio.c, .h files)- I hadn't implemented there methods with external setting of length and packet ID (both are intended to be handled outside of the library) - but if something doesn't work as intended in your case, you can trace an example of sending from nRF52 to nRF24 here https://github.com/ultimaterobotics/uMyo_v2 , in file main.c preparation of the packet is handled with prepare_data_packet32(), which is later sent via a single call of rf_send(data_packet, data_packet[1])
-
I need to move away from Arduino
We recently made an open source / hardware device using 52810. You might be interested in its PCB/schematics ( https://github.com/ultimaterobotics/uMyo_v2_pcb ) and code ( https://github.com/ultimaterobotics/uMyo_v2 ).
uMyo_v2_pcb
Posts with mentions or reviews of uMyo_v2_pcb.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-03.
-
How to make an EMG sensor?
You can take our design for instance: https://github.com/ultimaterobotics/uMyo_v2_pcb (and corresponding firmware, also open source). But assembling it manually is complicated and requires experience, so you may want to buy an assembled unit instead. It also has on-board IMU (helps a lot with direction, extracting that from muscles alone is difficult and requires many channels). You can see how it works and find further links in video description here: https://youtu.be/7oSa8IBGPEU
-
I need to move away from Arduino
We recently made an open source / hardware device using 52810. You might be interested in its PCB/schematics ( https://github.com/ultimaterobotics/uMyo_v2_pcb ) and code ( https://github.com/ultimaterobotics/uMyo_v2 ).
What are some alternatives?
When comparing uMyo and uMyo_v2_pcb you can also consider the following projects:
grove-linux-driver - Grove linux driver for Grove-Base-Cape
urf_lib - Library with BLE stack implementation and various useful functions for nRF52832 MCU