Magicshine MJ-900S Review by

One of the most visible disrupters in the bike light market for more than a decade, Magicshine has grown and refined their product line over time. While no longer the cheapest option on the market, Magicshine continues to price light sets affordably while offering a mostly refined product. I’ve been testing the MJ 900S for a few months now and here’s what I’ve found.


Contrary to what the name seems to suggest, the Magicshine MJ 900S (I’ll refer to it as the 900S for simplicity) emits up to 1,500 lumens of brightness on high. The light features a two-piece design with the battery and lamp separated by a cable.

The lamp itself is fairly compact and appears to rely on a single LED emitter encased in a plastic housing with a pronounced rear heat sink. Magicshine wisely uses a mounting system that’s compatible with both GoPro and Garmin mounts, though the downside is that the resulting mount-sandwich tends to pile high, making the light a bigger snag hazard when zooming beneath low-hanging branches.

A power cord exits the rear of the light head (the earlier 908S had the cord on the front) and terminates in a proprietary male connector. A separate power cord attaches to the light cable on one end, and to the battery on the other using a different and much bulkier proprietary connector. If you’re confused, don’t worry; all of this is to say there are several parts that in my mind, beg for simplification. The upshot is the break in the cord between the lamp and battery should separate easily in the event of a snag, and it also enables the use of a cable extension (sold separately) for carrying the battery in a jersey pocket. Of course with the extension, now the lamp cable is connected to the extension cable, which is connected to the battery cable, which is connected to the battery, none of which makes for quick troubleshooting in the dark.

The MJ-6112 battery pack comes with some cool features that night riders will surely appreciate. For starters, this good-sized battery can also be used to power a smartphone, GPS, or any USB-connected device. A USB Micro-B port is used to juice the battery so there’s no need to keep track of a proprietary brick for charging. Press a button beneath the rear flap on the battery and three LEDs will light up to indicate battery life. Magicshine says the battery provides about an hour and a half of runtime on high, and up to five hours on the lower, 500-lumen setting.

Magicshine provides all the hardware necessary to mount the light to any handlebar between 25.4 and 35mm in diameter, along with a velcro strap for attaching the battery to a frame. While GoPro- and Garmin-compatible mounts are included, buyers will need to provide their own helmet interface. Without any of the mounting hardware, my test light and battery weigh 234.4g altogether.

On the trail

I chose to use the 900S as a helmet light fitted to a Lazer lid that features a GoPro mount. The light mounts easily and the included velcro strap kept the battery solidly in place for the duration of my testing.

The USB charging ports and battery life indicator are located underneath a weather seal located on the right side of the battery pack as pictured here. On my helmet, the light head blocks the seal, which makes charging difficult without removing the battery from the helmet.

As a helmet light, the 900S works quite well. It’s surprisingly bright and the beam pattern strikes a nice balance between concentrating light in the center and diffusing it along the periphery. Compared to other lights I would say the 900S beam looks a little “hot” in the center, but it’s not so hot that it’s distracting.

The power button on the top of the helmet is a good size, and its grippy, rubberized surface should be easy to find by feel. Yet for some reason, I struggled to zero in quickly, even after months of testing.

One strange issue I encountered is that pressing the power button in a very specific sequence makes the light temporarily inoperable. I suspect this is to lock the power off for shipping or packing in a bag safely, and I just happened to stumble upon it by error. Magicshine says this could be an issue with the “product software.” Otherwise, a single long press of the button turns the light on or off, a short tap switches between brightness modes, and two short taps switches to flash mode.

The weather seal at the end of the battery does a good job keeping water out and protecting the USB connectors, but it also covers the battery life indicator so it’s not visible during the ride without some finagling. Not only that, I found I couldn’t easily open the flap based on the way I had to mount the battery to my helmet, which made charging a hassle after each ride.

Although I charged the light many times over the course of my testing, I only recently noticed a strange hissing sound after plugging the battery in for charging. In the audio file below you can first hear me fidgeting to get the USB cable connected; once connected, I’m jiggling the cable which causes the pitch and loudness of the whine to vary. If I jiggle the cable into just the right position, the sound all but disappears. It’s unclear what this sound means, if anything, though it’s a bit disconcerting.

Please refer to the audio in the original article.

I checked with Chenmiao Wei at Magicshine and she suggested if the battery was dropped, it might have caused a charging chip inside to malfunction. “If the battery can still be charged, then it can be used normally, but the charging speed might be slower, and the sounds could be annoying.”

Overall, the Magicshine checks the important boxes for a trail light, delivering plenty of brightness for hours on end while squeezing in smart features like USB charging and standardized mounts. There are clearly a few quirks that may frustrate buyers, though likely not enough for most to overlook the bargain $69.99 price.

Leave a Comment

Your email address will not be published. Required fields are marked *

$20 Off On Order Over $200!

Scroll to Top