A system (200, 300) for supporting an arm of a user, comprising: a harness configured to be worn on a body of a user; an arm support comprising a first arm support segment pivotally coupled to the harness about a first vertical axis such that the first arm support segment is rotatable substantially horizontally about the first vertical axis relative to the harness, and a second arm support segment (210, 320) pivotally coupled to the first arm support segment at a hub (214, 310) such that the second arm support segment is rotatable about a second axis generally orthogonal to the first vertical axis; and one or more compensation elements to apply an offset force to at least partially offset a gravitational force acting on the arm as the user moves and the arm support follows the movement of the user's arm, characterised in that the one or more compensation elements comprise: a cam plate (250, 340) fixedly coupled to the hub and including a curvilinear track (254, 342); a moving axle (234, 356) slidably mounted within a chassis slot (212, 334, 322) in a chassis (210, 320) of the second arm support segment, the moving axle slidably disposed within the track of the cam plate such that the moving axle moves along the track and within the chassis slot as the second arm support segment is raised and lowered; and a spring (220, 350) including a first fixed end and a second end coupled to the moving axle such that the offset force increases as the moving axle moves along the track away from the second axis and decreases as the moving axle moves along the track towards the second axis. a harness configured to be worn on a body of a user; an arm support comprising a first arm support segment pivotally coupled to the harness about a first vertical axis such that the first arm support segment is rotatable substantially horizontally about the first vertical axis relative to the harness, and a second arm support segment (210, 320) pivotally coupled to the first arm support segment at a hub (214, 310) such that the second arm support segment is rotatable about a second axis generally orthogonal to the first vertical axis; and one or more compensation elements to apply an offset force to at least partially offset a gravitational force acting on the arm as the user moves and the arm support follows the movement of the user's arm, characterised in that the one or more compensation elements comprise: a cam plate (250, 340) fixedly coupled to the hub and including a curvilinear track (254, 342); a moving axle (234, 356) slidably mounted within a chassis slot (212, 334, 322) in a chassis (210, 320) of the second arm support segment, the moving axle slidably disposed within the track of the cam plate such that the moving axle moves along the track and within the chassis slot as the second arm support segment is raised and lowered; and a spring (220, 350) including a first fixed end and a second end coupled to the moving axle such that the offset force increases as the moving axle moves along the track away from the second axis and decreases as the moving axle moves along the track towards the second axis. a cam plate (250, 340) fixedly coupled to the hub and including a curvilinear track (254, 342); a moving axle (234, 356) slidably mounted within a chassis slot (212, 334, 322) in a chassis (210, 320) of the second arm support segment, the moving axle slidably disposed within the track of the cam plate such that the moving axle moves along the track and within the chassis slot as the second arm support segment is raised and lowered; and a spring (220, 350) including a first fixed end and a second end coupled to the moving axle such that the offset force increases as the moving axle moves along the track away from the second axis and decreases as the moving axle moves along the track towards the second axis.