The desktop tabletop should be located at a level that corresponds to the height of the person and the dimensions of his chair. The need to comply with this criterion is explained simply - when constantly working in a sitting position, correct posture is very important. The ideal solution in this case would be a table with an adjustable height, the parameters of which are customized individually for a specific user. Such a piece of furniture will help to avoid excessive tension in the spine, normalize blood flow, which will have a beneficial effect on work productivity and health.
Advantages and features of adjustable structures
An adjustable table is a special design that has a mechanism that changes its height. Thanks to manual movement of the tabletop or the presence of a special electric drive, a seemingly ordinary piece of furniture can be used in different positions - both sitting and standing. The advantages of such a solution are obvious:
- With the help of a universal desktop, an office worker can alternate the positions of his body, because sitting all the time, as we know, is harmful to health.
- The problem of a mismatch between the worker’s build and the size of the desk is solved: due to his high stature, a person has to slouch, and due to his short stature, his neck is constantly in a tense state.
This model is also ideal for children. With its help, many hours of homework will not affect the health of the child's spine. The height is adjustable to suit the child's height, and the variable tilt angle allows you to maintain an even posture. Another advantage of a desk with height adjustment is its versatility. Over time, the baby will begin to grow, but the children's furniture will not have to be replaced with new ones - you just need to adjust the tabletop to the student's height.
Project in action
Finally, Google Smart Home and my computer started communicating.
Previously, I used ngrok to run the Express server locally. Now that my server is finally working well enough, it's time to make it available to Google at any time. This meant hosting the application on Heroku, a PaaS provider that makes it easy to deploy and manage applications. One of the main advantages of Heroku is its add-ons mode. With add-ons, it's very easy to add CloudMQTT and a Postgres server to your application. Another advantage of using Heroku is that it is easy to build and deploy. Heroku automatically detects what code you are using and builds/deploys it for you. You can find more information about this by reading about Heroku Buildpacks. In my case, whenever I push code to Heroku's git remote, it installs all my packages, removes all development dependencies, and deploys the application, all with a simple "git push heroku main" command.
With just a few clicks, CloudMQTT and Postgres were available to my application, and I only needed to use a few environment variables to integrate these services with my application. Heroku did not demand money. However, CloudMQTT is a third-party add-on for $5 per month.
I believe the need for Postgres needs no comment, but CloudMQTT deserves more attention.
Varieties of adult models
The choice of adult models is quite extensive. Height-adjustable desks are suitable for both sitting and standing positions. But depending on the purpose, such models may differ. The design for standing work provides high supports, a narrow tabletop and minimal functionality. If the employee sits most of the time, the furniture will have slightly different dimensions and have more varied functionality.
In addition, models are distinguished by the automation of their adjustment. The table can be mechanical or with an electric lift. In the first case, the height of the structure is adjusted using a handle, and in the second, thanks to an electric drive.
Mechanical, in turn, can be represented in two varieties:
- Stepped. This mechanism involves changing the height of the table by moving the tabletop into grooves that were previously installed at different levels. You can also put plugs in the holes on both sides of the supports and thus change the length of the legs.
- Screw. This mechanism provides a different principle of operation: the height of the table changes due to circular rotation of the legs.
You can make a table with a mechanical adjustment mechanism yourself, which will allow you to significantly save on an expensive purchase.
When choosing the right model for your needs, you should also consider the availability of additional options. If there are none, and the design provides only a tabletop with supports and an adjustment mechanism, such a table will cost much less. If convenience is a priority, you should pay attention to improved options - with a height control panel and built-in sockets, which will allow you to connect a computer or other office equipment without stringing wires across the room.
In addition, the structural features and functionality of the table may depend on its purpose:
- Writing. Such models often provide the ability to change not only the height, but also the inclination of the table top, which is very convenient for working with documents, but is not suitable for installing a computer. The design usually has a mechanical adjustment mechanism.
- Computer. Its main feature is its dimensions. The dimensions of the tabletop often provide space only for a laptop and mouse. The working surface can be folding and have movable elements: one half of the table is intended for installing a computer, the second for the seated person’s hand, on which he will rest. Stationary designs do not provide wide functionality and look like a standard table with a leg in the middle. Bedside models, in turn, are equipped with wheels for movement, side support and a rotating axis. They are made in C or L-shape.
- Office models. Office desks that change their height are the most functional representatives of the line. They are equipped with all kinds of shelves, sockets, footrests and other additional elements that make the employee’s work as comfortable as possible. However, there are often budget options - laconic tables without frills.
For working at a computer, the ideal desk would be a model with a built-in cooling system. With its help, you can prevent overheating of your portable device and extend its service life.
Adding IoT
Now let's talk about upgrading the table to voice control via Google Smart Home and how to connect it with Wi-Fi.
Adding Wi-Fi was easy enough. I replaced the Nordic NRF52 microcontroller with an ESP32 with built-in WiFi. Most of the software was portable because it was written in C++, and both devices could be programmed using Platform.IO and Arduino libraries, including tfmini-s, which I wrote to measure the current height of the table.
Below is the architecture of the table interaction system with Google Smart Home. Let's talk about the interaction between me and Google.
So, Bluetooth was turned on. It's time to figure out how to interact with Google Smart Home. This technology controlled the home using Smart Home Actions. What's interesting about its actions is that the service acts as an OAuth2 server, and not as a client. Most of the work done on the server involved implementing an OAuth2 Node.js Express application that reaches Heroku and acts as a proxy between Google and my desk.
I was lucky: there was a decent implementation of the server using two libraries. The first library, node-oauth2-server, was found here. The second express-oauth-server library for Express connectivity was found here.
const { Pool } = require("pg"); const crypto = require("crypto"); const pool = new Pool({ connectionString: process.env.DATABASE_URL }); module.exports.pool = pool; module.exports.getAccessToken = (bearerToken) => {...}; module.exports.getClient = (clientId, clientSecret) => {...}; module.exports.getRefreshToken = (bearerToken) => {...}; module.exports.getUser = (email, password) => {...}; module.exports.getUserFromAccessToken = (token) => {...}; module.exports.getDevicesFromUserId = (userId) => {...}; module.exports.getDevicesByUserIdAndIds = (userId, deviceIds) => {...}; module.exports.setDeviceHeight = (userId, deviceId, newCurrentHeight) => {...}; module.exports.createUser = (email, password) => {...}; module.exports.saveToken = (token, client, user) => {...}; module.exports.saveAuthorizationCode = (code, client, user) => {...}; module.exports.getAuthorizationCode = (code) => {...}; module.exports.revokeAuthorizationCode = (code) => {...}; module.exports.revokeToken = (code) => {...}; Next comes setting up the Express application itself. Below are the endpoints required for the OAuth server, but you can read the full file here. const express = require("express"); const OAuth2Server = require("express-oauth-server"); const bodyParser = require("body-parser"); const cookieParser = require("cookie-parser"); const flash = require("express-flash-2"); const session = require("express-session"); const pgSession = require("connect-pg-simple")(session); const morgan = require("morgan"); const { google_actions_app } = require(“./google_actions”); const model = require(“./model”); const { getVariablesForAuthorization, getQueryStringForLogin } = require(“./util”); const port = process.env.PORT || 3000; // Create an Express application. const app = express(); app.set("view engine", "pug"); app.use(morgan("dev")); // Add OAuth server. app.oauth = new OAuth2Server({ model, debug: true, }); // Add body parser. app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(express.static("public")); // initialize cookie-parser to allow us access the cookies stored in the browser. app.use(cookieParser(process.env.APP_KEY)); // initialize express-session to allow us track the logged-in user across sessions. app.use(session({...})); app.use(flash()); // This middleware will check if the user's cookie is still saved in browser and user is not set, then automatically log the user out. // This usually happens when you stop your express server after login, your cookie still remains saved in the browser. app.use((req, res, next) => {...}); // Post token. app.post("/oauth/token", app.oauth.token()); // Get authorization. app.get("/oauth/authorize", (req, res, next) => {...}, app.oauth.authorize({...})); // Post authorization. app.post(“/oauth/authorize”, function (req, res) {…}); app.get(“/log-in”, (req, res) => {…}); app.post("/log-in", async (req, res) => {...}); app.get("/log-out", (req, res) => {...}); app.get("/sign-up", async (req, res) => {...}); app.post("/sign-up", async (req, res) => {...}); app.post("/gaction/fulfillment", app.oauth.authenticate(), google_actions_app); app.get('/healthz', ((req, res) => {…})); app.listen(port, () => { console.log(`Example app listening at port ${port}`); }); There is quite a lot of code, but I will explain the main points. The two OAuth2 routes used by the server are /oauth/token and /oauth/authorize. They are used to obtain a new token or refresh expired tokens. Next, you need to make the server respond to Google's action. You'll notice that the /gaction/fulfillment endpoint points to the google_actions_app object.
Google sends requests to your server in a specific format and provides a library to help process those requests. Below are the functions needed to communicate with Google, and the entire file is here. Finally, there is the /healthz endpoint, which I'll cover at the end of the article.
The /gaction/fulfillment endpoint uses a middleware called app.oauth.authenticate(), the hard work of running the OAuth2 server went into making this middleware work. It verifies that the bearer token provided to us by Google refers to an existing user and has not expired. The route then sends the request and response to the google_actions_app object.
Google sends requests to your server in a specific format and provides a library to help you parse and process those requests. Below are the functions needed to communicate with Google, but you can view the entire file here.
const { smarthome } = require('actions-on-google'); const mqtt = require('mqtt'); const mqtt_client = mqtt.connect(process.env.CLOUDMQTT_URL); const model = require('./model'); const { getTokenFromHeader } = require('./util'); mqtt_client.on('connect', () => { console.log('Connected to mqtt'); }); const updateHeight = { "preset one": (deviceId) => { mqtt_client.publish(`/esp32_iot_desk/${deviceId}/command`, "1"); }, "preset two": (deviceId) => { mqtt_client.publish(`/esp32_iot_desk/${deviceId}/command`, "2"); }, "preset three": (deviceId) => { mqtt_client.publish(`/esp32_iot_desk/${deviceId}/command`, "3"); }, }; const google_actions_app = smarthome({...}); google_actions_app.onSync(async (body, headers) => {...}); google_actions_app.onQuery(async (body, headers) => {...}); google_actions_app.onExecute(async (body, headers) => {...}); module.exports = { google_actions_app }; When you add a smart action to your Google account, Google will issue a sync request. This request allows you to find out which devices are available from your account. Next comes the polling request: Google queries your devices to determine their current state.
When you first add a Google activity to your Smart Home account, you'll notice that Google first sends a sync request and then a polling request to get a holistic view of your devices. The last one is a request that Google tells your devices to do something.
Features of children's products with adjustments
The main feature of children's tables with adjustable height is that they perfectly adapt to the growth of the child. The control mechanism of such a design can be:
- Electric. A table with an electric drive is more convenient to use, and if there is a control panel, the child himself will be able to adjust the height and tilt he needs. The only drawback is that such furniture is very expensive, so not every parent can afford it.
- Mechanical. This tabletop lifting system is considered the simplest, and therefore the cost of the product will be quite low. Adjustment is carried out using a special screw or a step mechanism - in one case or another, an adult must adjust the height.
Tags
I bought a table with an Ideal table for assembling a table and an interesting table if the table was adjusted to such a table and the choice of table influenced by adjusting the table you can and the table will rise 112 cm 118 cm time to change position View all View products View gallery View limited regular change of position 120 × 80 cm 160 × 80 cm with such table adjustment
buypricewareinformationcolorscomparisonsmanufacturersviewwidthratingbasketscabinetsergonomicusesfastdepthcabinethomesergostoldatasiteldspancustomerslengthspersonalbasketsuitabledetailmadxraceraddblacknumberofweeksdisadvantagesadvantagesseller
Shape and materials
The countertop is most often made of wood or its substitutes:
- Chipboard. The most budget-friendly material. Disadvantage: a little fragile, which reduces its service life.
- Fiberboard. A more reliable, expensive material compared to chipboard. Advantages: high resistance to damage, good moisture resistance.
- Solid wood. The most expensive, but also the strongest and most durable raw material for the production of adjustable tables.
Sometimes metal is used to make adjustable tables. This is a heavy and reliable material with high resistance to damage, but is used exclusively for furniture that will be used for industrial purposes. The table is made of strong and durable steel, which significantly increases the cost of the product, or of aluminum, a soft and less wear-resistant, but cheaper alternative. Legs are rarely made of wood, but solely for decorative purposes (as a covering); they will still be based on hard iron.
The ergonomics of the product largely depends on the shape of the tabletop. Corner models will help save space in a small apartment and use space efficiently: the furniture is simply moved to the corner of the room. This is the optimal solution for those who work at a computer. The second option is a standard rectangular table. It is universal for any specific activity, great for narrow spaces, and also allows you to organize a comfortable work area in the office. In addition, there are round design options - with their help you can beautifully arrange a work area in the living room or bedroom. Such a table often provides a comfortable recess for a seated person.
Tools
- ushm;
- welding machine;
- calipers;
- roulette;
- screwdriver;
- spanners;
- pliers;
- drill;
- screwdriver;
- tap M 6;
- tester.
The frame of the machine is assembled according to the classical scheme from metal corners with sides 40x40 mm using welding. For craftsmen working with metal, there will be no difficulties. The figure shows the dimensions of the sides of the frame:
Dimensions of the sides of the frame for the machine
The frame design is similar in shape to a high stool without a saddle.
How to determine the optimal height
When working at a desk, it is very important to be in the correct position, because the condition of the human body depends on it. If the posture is incorrect, blood flow is disrupted and a strong load is placed on the spine, which leads to its curvature. As a result, fatigue appears and ability to work decreases. This is why it is so important to customize the individual height of the tabletop, taking into account the specifics of your activity:
- When writing. Your back should be straight, slightly touching the back of the chair. If you lean too far back, increased stress will be placed on your neck, and if you lean forward, it will put more strain on your spine. There must be a small distance between the table and the body of the person sitting; the elbows should be completely on the surface (this will relieve tension from the hands). Bend your legs should create a ninety-degree angle, completely touching the floor.
- When working at a computer. Determining the optimal height is simple - just look at the center of the monitor: if your head is tilted down, you need to raise the tabletop; if your eyes are not looking straight, then lower it up.
- While reading. The book should be at a distance of 35-45 centimeters from the eyes. You need to keep your head level. You should not tilt it back or tilt it forward too much, as this will increase the load on your neck. Doctors recommend reading in a position at an angle of 135 degrees, while leaning back in a chair, so blood circulation is not impaired and the spine does not experience discomfort.
It is better to avoid standing cross-legged - it disrupts blood flow and leads to various diseases, including the development of varicose veins.
For people who spend a lot of time at a desk, regardless of their type of activity, orthopedists recommend adhering to the Sit & Stand concept, that is, alternating sitting and standing postures:
- In the first case, the optimal vertical position of the back: the angle between the spine and the hip joint, the knee and hip joints should be 90 degrees.
- In the second, the tabletop should reach the person’s belt or waist. You need to bend your elbows and place them on the table surface: if they form an angle of 90 degrees, this is the optimal height, if not, it needs to be adjusted.
For an adult with a height of 170-185 cm, the optimal table height will be 70-80 cm. For short people below 160 cm, this parameter should be about 60 cm. For those above 190 cm, furniture is often made to order and reaches 85- 90 cm.
The design with adjustable dimensions is optimal for children. Since the child’s body is constantly growing, the level of the tabletop can be adjusted to suit his current growth. It is important that the student sits straight, without bending his torso, and his head is slightly tilted forward. The legs should rest on the floor with the entire foot, bend at the hip, knee and ankle joints at right angles. Your back should rest on the back of a chair or armchair, and your hips should occupy approximately 2/3 of the seat.
Why is it useful to change your posture while working at your desk?
Lately, people have been shouting from literally all sides about the dangers of sedentary work, promising curvature of the spine, compression of internal organs, headaches and other “joys” from constantly sitting still. However, those who decided to radically change their posture and work standing are also not happy - the same load on the spine, only more on the lumbar region, varicose veins and even flat feet do not inspire optimism. And standing for a long time is much harder than sitting.
The optimal solution is a combination of sitting and standing poses, without leaving your workplace. Two desks of different heights are not the best solution: they require a lot of space, require an additional monitor or constant movement of the laptop. In European offices, there are often desks in which you can change the position of the tabletop and adjust its height to suit a sitting or standing position, depending on the height of the employee.
Wooden trailers
Levado height-adjustable desks allow you to work sitting or standing, without requiring the user to exert any physical effort to change the height. The lifting mechanism is powered by two electric motors - you just need to connect the table to the mains. The height of the tabletop changes quickly and smoothly - while the contents of the table remain in place.
Such a desk significantly increases productivity: you don’t have to constantly get up to stretch your stiff back, distracting yourself from the work process. You just need to change the height of the tabletop and your position at the table, and then calmly continue working.
Selecting a quality product
When choosing a table that changes the height of the table top, some difficulties may arise, since there are many models, and the needs of different buyers differ. You need to start with the dimensions of the furniture. The selected design should occupy no more than 30% of the free space in the room, so the necessary measurements should be made in advance. In addition, other parameters are taken into account:
- Construction type. It is necessary to immediately decide what type of table should be: with a mechanical lifting system or an electric lift, stationary or mobile.
- Product material. Wooden models are the best option, but a more modest table made of chipboard, fiberboard or MDF is quite suitable for an office.
- Number of legs. For a table with a sliding mechanism, it is better to choose an option with two or four legs. They provide good stability and evenly distribute the load on the supports. This option is also more durable.
It is necessary to clarify the table height adjustment range. If the minimum size is a standard indicator, then the maximum lift level may differ from one manufacturer to another.
An important selection criterion is the reliability of the adjustment mechanism. First, you need to clarify the carrying capacity of the model. For children's furniture, the optimal figure is 50 kg, for a regular office table - 70-80 kg; for storing heavy objects (computers, books) on the furniture surface, you need to consider more powerful designs. Secondly, you need to pay attention to the strength of the support and the material from which it is made. The mechanism that raises and lowers the tabletop should work softly and smoothly.
What's next?
Countertop heights are now measured unreliably at best.
I use a generally working infrared distance sensor TFMini-S. It has been noticed that the height of the table changes slightly throughout the day as the ambient lighting in the room changes. I ordered a rotation angle sensor to count the rotations of the rod as it passes through the table. This should give me more precise movements at any time of the day. I also have access to a server that I host in the basement. On it I can explore my own Mosquitto MQTT server, Node-RED and Express OAuth2 applications if I want to host something myself. Finally, now all the electronics are right on my desk. I plan to organize the devices so that everything is nice and neat! Thank you for reading the article! For convenience, I provide all the links.
- Torque Calculator
- 90 degree right angle gear box
- BLE Terminal
- Platform.IO
- TFMini-S Arduino Driver
- Google Smart Home Actions
- Node OAuth2 Server
- Express OAuth2 Server
- ESP32 IoT Desk Server model.js
- ESP32 IoT Desk Server index.js
- ESP32 IoT Desk Server google_actions.js
- Google Smart Home Device Traits
- NGROK
- ESP32 IoT Desk Firmware
- Node-RED
- Heroku
- Heroku Hobby Plan
- Heroku Buildpacks
- Wikipedia Hole Punching
- MIT Paper on Hole Punching by Bryan Ford et al.
- C++ developer
More courses
- Data Science Profession Training
- Data Analyst training
- Profession Ethical hacker
- Frontend developer
- Profession Web developer
- Course "Python for Web Development"
- Advanced course “Machine Learning Pro + Deep Learning”
- Machine Learning Course
- Course "Mathematics and Machine Learning for Data Science"
- Unity game developer
- JavaScript Course
- Profession Java developer
- Data Analytics Course
- DevOps course
- Profession iOS developer from scratch
- Profession Android developer from scratch
Video
The Movotec lifting system consists of lifting cylinders and a pump driven by a lever or an electric motor. Oil from the pump flows into the cylinders and then back out of the cylinders into the pump, so the cylinders extend and contract within the set height (stroke) adjustment range.
Adjustable desks have already become a part of our lives, finding their way into many companies, organizations and institutions. Their popularity is largely due to the fact that these products are functional, making them extremely convenient for office work. Why? Thanks to the ability to adjust the height, they are suitable for people of almost any weight and build, which makes it possible to work comfortably for a long time and without getting tired.
From the Internet to a private network. The hard way
There are several ways to provide access to an application or, in my case, an Internet of Things device.
The first is to open a port on my home network to expose the device to the Internet. In this case, my Heroku Express application will send a request to my device using the public IP address. This would require me to have a public static IP as well as a static IP for the ESP32. The ESP32 would also have to act as an HTTP server and listen to instructions from Heroku all the time. This is a large overhead for a device that receives instructions several times a day. The second method is called "hole punch". With it, you can use a third-party external server to allow your device to access the Internet without the need for port forwarding. Your device basically connects to a server, which sets an open port. Another service can then connect directly to your internal device by receiving an open port from the external server. Finally, it connects directly to the device using this open port. The approach may or may not be entirely correct: I only read part of the article about it.
There's a lot going on inside the hole puncher, and I don't fully understand what's going on. However, if you're interested, there are some interesting articles that explain more. Here are two articles I read to better understand hole punching: Wikipedia and an MIT article written by Brian Ford and others.
Models with height adjustment: what is their appeal?
Not so long ago, tables with height adjustment were not so often seen. However, times are changing, and design thought is active, so such models (of different designs) are very quickly conquering the market.
Why are they so wonderful? The fact is that these desks literally help keep employees healthy. It's no secret that many workers spend almost all their time in a sitting position. This cannot help maintain their health: over time, their back and legs begin to hurt, their general health worsens, and their performance decreases. However, this can be avoided: just purchase a table with height adjustment.
“Features” (trait) of the Google Smart Home device
Google uses device features to provide user interface elements for managing your Google devices and to create voice control communication patterns.
Some of the features include the following settings: ColorSetting, Modes, OnOff, and StartStop. It took me a while to decide which feature would work best in my application, but later I decided on the modes. You can think of modes as a drop-down list where you select one of N predefined values, or in my case, height presets. I named mine "height" and the possible values are "preset one", "preset two" and "preset three". This allows me to control my desk by saying, “Hey Google, set my desk height to preset one,” and Google will send the corresponding execution request to my system. You can read more about the features of Google devices here.
Models with height adjustment: a little about design features
Adjustable desks are very popular today. They are purchased for furnishing offices of companies, institutions and other organizations. You can buy a wide variety of models of such furniture in specialized online stores.
In addition to increased functionality, adjustable models are extremely reliable. Their supporting structures are most often made of durable alloys or steel. To increase their wear resistance, metal elements are chrome-plated or coated with a special paint. The rigidity of the structure is enhanced by special devices: screens or traverses.
The tabletop is usually made of laminated chipboard, much less often - from natural wood (due to its high cost). Its configuration can be different: rectangular (the most common option), square, round and even oval.
Installation
Using welding, we make the upper part of the frame in the shape of a rectangle. Side dimensions 600x500 mm. Observing the geometry (equal diagonals), we weld 4 legs, each 750 mm high.
To add rigidity to the structure, we mount the lower part of the frame by welding.
The design of the future machine is ready.
On two U-shaped channels 3 we mount the shaft of a saw blade, also purchased at a flea market. Next, install it on the upper frame and secure it with M8 bolts. Check the free play of the shaft. If necessary, we adjust the installed channels on the frame.
The next step will be installing the electric motor.
We first prepare the platform on 2 corners 2. Using a grinder or a jigsaw with a metal file, we make small cuts, as shown in the figure, to adjust the tension of the drive belt. We install the electric motor on the finished platform in such a way that the pulleys on the motor and on the shaft do not have distortions. Otherwise, the drive belt will wear out quickly.
We install an L-shaped galvanized sheet over the engine to protect against sawdust.
The author, through a starting device, connected a cord with a plug to the engine for connecting to the electrical network, and mounted a double socket from an extension cord inside the frame on the end side. If necessary, you can connect other power tools to this outlet.
Table height adjustment: mechanisms
There are several of the most common adjustment mechanisms that allow you to raise/lower the tabletop.
- Electric tables. They can be classified as the most “advanced” models, since their tabletops are raised/lowered in just a few seconds. The motor (or motors) are usually located in support structures. Some products have a height memory function.
- Tables adjustable by rotating the handle. These are models with mechanical adjustment. They are most often purchased for the home.
- Tables that are adjusted manually, most often using ordinary screws.
- Tables with pneumatic adjustment. Usually they use a special mechanism - gas lift.
Along with the tables, you can purchase additional accessories for them: cable channels, passes, hatches, socket blocks, holders.
Looking to purchase an adjustable desk? Then visit our catalog. Here you will find everything you need.
Possibilities
Dynamic systems have two axes of rotation:
- one can move 360 degrees relative to the center in the tool’s rotation axis, most often this is the Z coordinate;
- 120 degrees - movement along the axis of swing of the structure.
A collet clamp can be used to hold the part: manual or pneumatic. Vacuum systems that operate on the suction cup principle are also used. The advantage of the latter is the ease of changing the workpiece without clamping devices.
The rotation speed can reach 1000 rpm, which can significantly speed up the processing of parts. To protect the moving parts, a bakelite panel is used. If the tool makes unexpected contact, the automatic cycle will stop.