Affordable, precise, integrated motion control for robotics
To make the experience fit your profile, pick a username and tell us what interests you.
Happy new year! This month's update comes rather early, and brings several improvements all around, with the aim of making Tinymovr perform better and safer. The latest firmware & studio app feature the following improvements:
Here is a brief demonstration of the velocity integrator in action tracking low velocities:
Stay safe and stay tuned for more updates!
Things have been moving at a fast pace in terms of development, with the firmware and studio receiving updates all around. In a nutshell the following major updates have been completed:
from tinymovr.units import get_registry ureg = get_registry() A = ureg.ampere s = ureg.second rad = ureg.radian tm1.set_pos_setpoint(1.0*rad, 0*rad/s, 0.5*A)
The second and third arguments to the function above are feedforward values for velocity and current.
Keep in mind that the addition of units may break some programs that you might have built around Tinymovr Studio API. To restore broken functionality, it is usually sufficient to modify your calls to getters to work with units. Alternatively, for a quick fix, you can obtain the "magnitude" property of the object returned. See the docs for more information on units.
If you prefer to take some time before diving in the latest changes, the last major version (0.2.x) is still available on PyPI and you can install it easily as follows:
pip uninstall tinymovr # if tinymovr is installed pip install tinymovr==0.2.7
Finally, here are two of the latest demos of Tinymovr. The first demonstrated full-body kinematics on the Tinymovr Quad. The second demonstrates a ‘telepresence’ device: A pair of Tinymovr controllers and motors that mirror each others dynamics.
The code to this last demo is available at the Tinymovr Github repo.
Stay safe and stay tuned for updates!
The new R3.3 Dev Kits as well as USB-C <-> CAN Bus adapters are now available at tinymovr.com.
The new dev kit features a Tinymovr R3.3, a MAD Components 5005 motor, and an aluminum backplate that holds both motor and controller, and is designed to make contact with both controller mosfets and stator for increased cooling efficiency.
The CAN Bus adapter is a revision of the CANable adapter with USB-C connector and DF-13 connectors matching the ones on Tinymovr.
Head over to tinymovr.com to browse more
Good news, after an admittedly long wait, the new alpha2 boards (R3.3) are now available! These boards have a few layout improvements compared to the alpha1 boards, namely:
The Tinymovr store stock is updated, and now you can browse and make your orders! Currently only Tinymovr boards are available, but in the near future it will be stocked with Dev Kits, essential items and accessories.
In the meantime, improvements have been made in both firmware as well as Tinymovr Studio. For a list of detailed changes, please take a look at Github Issues. Here below a few highlights:
It's been some time since the last update however the project has been moving on at rapid pace. First, the alpha boards and dev kits have been completed and sent out to their owners in early August. In addition, the Tinymovr Github repository now hosts the complete array of Tinymovr modules: Firmware, client (Studio), documentation and some related schematics and drawings. Furthermore, I've set up a Discord server to stir up the discussion. Hey! There's not much there yet, but given time.. :)
Most importantly, the new batch (I call it alpha2, for lack of a better name) is in the works. There is no clear timeline yet, but I've been really busy with minor improvements in the PCB layout and planning production (hint: it will be outsourced this time). As part of this, I've recently received a bunch of 5005 motors from MAD Components, which will make it into the next Dev Kits:
They are larger in diameter compared to the T-Motor 4004 shipped with the alpha, which means that Tinymovr will be able to be completely integrated behind the motor face, good news for building integrated servo drives :).
That's all for now, stay safe and stay tuned for more updates!
Production of Tinymovr boards and dev kits is almost complete! Here is a photo of most of them (a few are still getting connectors fitted):
It took quite a sprint during the past few days but the alpha batch is now almost ready for shipment. This includes the boards themselves, Dev Kit motor holders, CAN bus adapters (CANdapters) and associated wires.
I'll be finalizing the boards today, and tomorrow I’ll be testing all boards and kits for a final time before packaging them. The aim is to ship on the 5th of August.
Once the alpha boards/kits are on their way, I’ll be focusing on releasing the Tinymovr Firmware and creating a Discord server for support and discussion. I’ll be posting here with updates.
Today I’m releasing the schematic of the CANdapter, the CAN adapter that is included with the Dev Kits, which is an adaptation of the CANable boards. You can find them in the Tinymovr Github repo.
Once again, I’d like to thank all Tinymovr alpha participants for their support! I hope that you will enjoy your boards and use them in creating awesome robots!
Here's a short update featuring a video that demonstrates the Tinymovr alpha Dev Kit in action:
Torque tests go up to 10A due to absence of a good ventilation system, but extrapolated you should be able to reach around 0.6Nm at 30A.
I've open sourced the STL files for the Dev Kit motor mount so you are welcome to build one yourself (you'll still need a CAN adapter and associated data and power cables though).
Tinymovr alpha is now closed. Thanks to everyone that participated! Boards and Dev Kits will be shipping soon.
There will be a new round of boards/kits in the near future, so stay tuned!
Here is the first update on the Tinymovr alpha board and Dev Kit manufacturing progress.
I have received all R3.2 PCBs from the manufacturer. Around half of the received boards are assembled and tested, and they perform as expected. For the rest I am waiting for components to be delivered, expected towards the end of the coming week.
In addition, I’ve completed design, assembly and testing of the first Dev Kit (image below).
The rest of the kits will be assembled in the coming week. In the meanwhile, I’ll be posting a video on the Dev Kit operation soon.
For the Dev Kits I have designed a lightweight mount that allows air circulation and that can be secured on a flat surface by adhesive or bolts. The mount allows access to all of the board’s ports while protecting the more sensitive polymer capacitors on the rear side. It is noted that in this configuration the encoder magnet is on the rear side of the board. This places tighter tolerances on the distance of the magnet from the board, but the magnetic field is within the allowed tolerances by the encoder manufacturer.
Tinymovr Dev Kits include a USB-CAN Bus adapter board. This is an adaptation of the CANable design to use DF13 connectors as well as 2.54mm headers, and utilize a sturdier USB micro connector. This design will be open sourced in the spirit of the original CANable board.
For this board, PCBWay kindly offered a sponsorship, and the boards just arrived today. They are beautiful in black matte soldermask and ENIG plating (image below).
Stay tuned as I’ll be posting a more in detail review of the boards in a few days.
Regarding the boards themselves; Qorvo, the manufacturer of the PAC5527 chip, have recently released a bootloader that allows firmware upgrades through serial. This is a great solution to enable user-upgradeable firmware as the PAC is currently only supported by J-Link adapters, which, while very capable, carry quite the price tag. I’m working to have the alpha boards and dev kits bootloader-enabled before shipping. I’ve already integrated the bootloader into the Tinymovr project and tested it on one board, which seems to be working as expected. More tests to follow.
Finally, today I’m open-sourcing the first of the Tinymovr software components, the Tinymovr Studio. Tinymovr Studio is a cross-platform (Windows, Macos, Linux) Python library and command line app that takes care of communication with Tinymovr using CAN bus. The user can type in commands in an IPython prompt to send/receive messages, or integrate the library to their project and take advantage of the simple API. Tinymovr Studio will be available through PyPI once Tinymovr alpha is sent out to users. Tinymovr Studio uses the python-can library, allowing it to interface with a broad array of hardware interfaces (including CANable through slcan). In the workshop I’m using it with an Arduino and MCP2551 based adapter I cobbled together for testing.
The Tinymovr Studio repository also includes work-in-progress project documentation.
Head over to the Tinymovr github repository for more.
Stay tuned for more updates and releases in the coming days.
Tinymovr is entering alpha testing phase, and you are invited to participate! Sign up below to get a super-early bird Tinymovr R3.2 Board or Dev Kit:
The price of the alpha boards will be $39/39€, plus shipping costs (includes Tinymovr, diametrically-magnetized magnet and 1x DF-13 to female header cable). You will need your own means of talking CAN with the controller, a 3-phase brushless motor, a way of securing the magnet on the motor axis and Tinymovr on the motor, and a 12-26V power source.
There are also dev kits available for $119/119€, plus shipping costs. Dev kits include Tinymovr + diametrically magnetized magnet + high quality T-Motor 4004 motor integrated in a compact stand, a Canable-compatible CAN Adapter and assorted power and signal cables and wires. You'll need a micro USB cable and a 12-26V power source.
Alpha users will receive individual support in setting up Tinymovr for their projects.
Please note that currently the amount of Tinymovr boards/dev kits is limited to one per person. In later batches it will be possible to purchase more boards.
Tinymovr ships from the EU to addresses in Australia, Canada, the EU, UK or US.
Estimated shipping is beginning of August 2020.
Have fun building awesome robots!
There are a lot of important news to share :). Here they are in no particular order:
1. I’m currently making an attempt at moving PCB assembly of the first Tinymovr batches in house. For those new to the project, assembly of previous batches was outsourced to Chinese manufacturers. While this is a safe and painless option, it is becoming increasingly challenging to realize the vision of Tinymovr as a low-cost but fully-featured servo motor controller, due to import taxes and customs fees. At the same time, PCB assembly prices in EU are sky high. Therefore, I decided to move assembly of the first prototype batches in house. Got the first PCBs from Aisler a few days ago and built two prototype boards. The boards have been tested with phase currents up to 20A and angular velocities up to 300000CPR/s (around 2100 rpm). I’ll be building a few more in the next days, at the same time trying to optimize assembly. I am so far confident that this is a viable option. I’ll reconsider outsourcing production if and when production scales to justifiable numbers.
Here below the first home-grown Tinymovr :) :
2. The CAN Bus transceiver swap outlined in previous posts has been a success. It has vastly improved connection reliability, and reduced MCU power draw (since it is powered directly from VBus) and thermal performance.
3. There are questions regarding open sourcing of PCB schematics/drawings and firmware, so I think it’s time to clear things up for everyone:
4. There are also questions regarding availability of Tinymovr. If the in-house assembly experiment goes as planned, my goal is to have a limited alpha run beginning in the next 2-3 weeks. I’ll probably include options to order just the Tinymovr boards as well as dev kits that will include motor, CAN Bus adapter and programmer (most probably a J-Link EDU Mini). The alpha boards and kits will be distributed at a price near the cost of the board, components and materials. This means that the price of alpha boards/kits will be lower than the price of production Tinymovr, when released. The boards and kits will be thoroughly tested before being sent out.
5. I’ve been doing some performance validation mainly looking at switching transients and ripple current. Below I attach the relevant scope shots.
Below is seen around 3V overshoot on the rising edge and 5V on the falling.
In the grab below there is a 200mV ripple at 18A phase current, using 3x 68uF 30mOhm ESR polymer capacitors.
6. I've complete the quadruped robot based on Tinymovr R3.1 boards. I'm glad to report that, using the 3D printed actuators the motor phase current is less than 2A at stance. Here a short video below:
I’m really excited to be reaching an important milestone in this journey, roughly a year and a half after my first design attempts at Tinymovr. I hope this project will be able to foster a strong community and ultimately make creating awesome robots easy and affordable!
Become a member to follow this project and never miss any updates