REMB - Raz0r Electric Mountain Board

An electric mountain board, built from scooter parts.

Similar projects worth following
I had accumulated enough 18650's Li-Ion cells to build something cool with them.
A mountain board popped up on Craigslist for dirt cheap, and so this project was born.

Pricing out a dual BLDC motor drivetrain to go with my $30 board put me quite a bit north of $400, from China. Well, that's not going to work. Back to the drawing board.

Raz0r scooters in the 100-150W range seem to be prone to eating the batteries or blowing out the control electronics regularly. This means you can get a motor, chain, two sprockets, bearings, hub, wheels, wire, etc... for cheap. I picked up two of these on Craigslist for $24 total.

Here we go.

This is coming together.  Time to start documenting it.

First, I needed a cell discharger to test the capacity of my scavenged cells.

Then, I needed a way to weld them together to build the pack.

After charging all the cells in my BMS initially, I realized I would need to do so a second time to get good capacity numbers.  That prompted building a 10 cell charger.

The drivetrain was constructed by cannibalizing two Raz0r scooters I got off Craigslist for $24.  The scooter rear wheels were 'turned' to free the sprocket mounting hub from the solid urethane wheel, a corresponding circular groove was cut in my mountain board wheels, and the two were glued together x2.  The entire process was captured on video, but it *still* needs a lot of editing.

Instead of hanging the battery pack below or mounting it on top of the existing board, I inlaid the 10s5p battery pack within the thickness of the board. The 50 cells I'm using required a good deal of the board to be removed, so I made the board about 4mm thicker to help offset this and to accommodate the height of the cells by gluing on a sheet of luan flooring plywood.  The flooring plywood was pretty dense stuff and had the same layer thickness as the mountainboard plywood, so that worked well. The board was curved in two directions and both ends kicked up at a 20 degree angle, but some creating clamping and bondo fixed that.

For the hand control I decided to adapt an aftermarket Wii Nunchuck.  They have an I2C interface, which I already have talking to a 3.3v Arduino Pro Mini.  Using the 3.3v version allows me to directly power the NRF24L01 module I intend to use to talk to the board.  The plan for the control protocol is to just send everything the Wii Nunchuck produces, with a prefix (to key the board to the controller).  I may scale down the accelerometer data if it proves to be too much.  There is a small OLED display in the remote (it is clear/blue), but I have nothing to send to it yet.

The corresponding receiver for the board may get an STM32 just so I can have 7 channels of PWM and I2C without bending over backwards.  That's 4 channels of PWM for the motor control which are time critical to prevent 'shoot through' as I'm building the motor controller, and 3 channels for the lighting, cause you know... RGB undercarriage lights are just that important.  The good news is I have them and they also provide 3.3v to power my NRF24L01 modules.  The bad news is I've never worked with them before.

Motor control is via two parallel N channel mosfets for forward, and a single P channel mosfet driven with an NPN transistor for active braking.  A schottky diode across the N channel mosfets provides simple regenerative braking using the inductive spike provided by PWM and the motor armature during passive braking (aka coasting to a stop).  (apparently this only works if you keep the PWM from dropping to zero though, so I may need to implement reading the motor speed via back EMF to really make this work)  This is all repeated twice for independent control over each motor and should allow using the X axis of the Wii Nunchuck for 'power steering' and/or turning the board into an RC car of sorts.  :)

Ground effect lighting is provided by two RGB strips under the battery showing through the bottom cover.  They are rated at `12v and are driven with three mosfets, PWM limited to 33% max, from the 42-36v provided by the Li-ion battery.

  • Welcome Morning.Star!

    Daren Schwenke08/12/2019 at 17:21 0 comments

    Please welcome @Morning.Star to the project!  

    I gave him a basic framework of my thoughts on the lighting and control code and he is graciously going to lend a tentacle towards making it actually work.

    I got all the libraries needed loaded for the remote on an Arduino mini, but there is not much room left for anything else.  Wish him luck..

  • Get a grip

    Daren Schwenke08/08/2019 at 06:29 0 comments

    No real time to work on stuff today, so I did a quick thingy.  I added the grip to the top deck cover.

    I could have just bought some grip tape (even in clear) for like $10 and been done with it, but you know me... why do anything the easy way.

    First I tried heating sand to 500C and then sprinkling it on the polycarbonate.  It did nothing and brushed right back off.  So I started over with the bright idea of then heating it with a heat gun.  

    Heat, sprinkle, turn on the heat gun... blow away the sand.  :)  I laughed at myself.

    So.. I gave up and did it the 'normal' way.  

    Wet sanded the cover with 1000 grit,

    Sprayed it lighty with polyurethane and sprinkled it with sand.

    Then it got two more heavy coats about 45 min apart.

    Tomorrow it will bake in the sun all day. 

  • Take the Blue Pill/VNC for OLED

    Daren Schwenke08/07/2019 at 08:09 0 comments

    Been going down the road of building the remote and trying to fit everything on an Arduino Pro mini 3.3v 8Mhz.  It's not been going well.  I can fit all the libraries I need, set everything up for communicating, and establish a loop, but then there is not much room left for logic and actually doing stuff like drawing to the display.

    I've been toying with the idea of just rendering everything on the mountainboard CPU (Blue Pill) and then streaming just the raw content of the framebuffer to the remote display.  I think that might actually work pretty well with my 128x32 monochrome display as the the whole framebuffer fits in 4096 bits.  Even at the lowest data rate for the NRF24L01 module, that means I can still get 60fps.  Sending the whole content also means missed frames wouldn't matter much. 

    I found the commands I would need to dump the internal display buffer and pipe it over.  I would run all my drawing commands on the STM32 which would modify the local buffer, and then on every transmission from the remote I send those buffer contents back.   The remote becomes a dumb terminal.

    Then I killed my first Pro mini when a fleck of loose solder shorted two pins near reset.

    I think I might undervolt a Nano and be done with it.  Alas, the Blue Pill is a little too big to fit in the controller.

    Speaking of the Blue pills, I flashed a bootloader!  Not sure it works yet as I believe I need to do the D+ data line resistor swap thingy on this one.  It doesn't show up via lsusb when I plug it in. :(

  • Battery and BMS bodgery

    Daren Schwenke08/01/2019 at 13:46 0 comments

    I repainted the bottom cover as I didn't like how my slots for the lights turned out.  In the process of removing the paint, the polycarbonate got a haze on it that I never got rid of again.  Polishing it would leave a coat of wax on it that I wouldn't be able to remove with what I have on hand, so I left it that way.  I can come back to this later when I have more fresh polycarbonate to play with.

    The battery was installed and wired up to the BMS.  After some sparks flying and a close call touching an adjacent cell with the soldering iron tip, all of the balancing wires got a spacer of heat shrink tubing to protect the can of the lower cell from shorting to my folded nickel strips.

    Power delivery is via two 12 gauge stranded wires in parallel which should allow me to draw 40A without heating.  The 1.0C rating of these batteries is about 2500mAh, so for a 40A draw, that would put my 5 parallel cells discharging at 3.2C.  That should be a pretty comfortable rate for them.

    The heat sink got drilled and tapped with M4 screw holes in the corners for mounting, and M3 holes for the six mosfets which will be providing the motor control.  This will give me independent control over each motor utilizing two N channel mosfets in parallel for forward, and one P channel (with an NPN transistor driving it) for braking.  I've also included a pair of external schottky diodes to make coasting/passive braking regenerative.  Active braking will just dump the power as heating of the motor windings, but I don't believe it will be used much anyway.  The heatsink also got a slot cut with a wood router to make it fit better close up to the truck.  That was really dangerous... and I would not recommend trying it.

  • Pockets

    Daren Schwenke07/30/2019 at 00:24 0 comments

    Routed out the pockets for the receiver (I have yet to build), BMS system/charger, heat sink/mosfets, wires, etc...  It's not very clean, but it is inside the board, so...

    Good thing Ryden is not that heavy.  I'm running out of board here beyond what the covers will provide in stability.

  • Pink/purple pretty paint

    Daren Schwenke07/28/2019 at 23:39 0 comments

    Finished up the painting.

    The board got a couple coats of bondo and sanding, then a couple coats of silver metalic paint and more sanding as a base.

    Over that, I applied some Metalcast purple.  It came out more pinkish.

    I had intended on doing this as a base for a fake carbon fibre effect I'm pretty good at,  but Ryden seems to like it how it is. Hugging without touching..

    The covers get the reverse treatment as being transparent, they can be painted on the back side.  So the Metalcast paint went on first, then the silver.

    The bottom cover didn't get the silver coat yet as I need to mask off where the lights are going to shine through first, and I'll need it back on the board to mark that.


    The board got a coat of polyurethane tonight, so purple it is.


  • Bondo and bending batteries

    Daren Schwenke07/28/2019 at 05:31 0 comments

    The chains got shortened.  Punching the pins out straight away didn't work.  I had to push the pin one way, grind the flared ends with a diamond bit in a Dremel, and then punch them back through the other way.  The pins were harder than my file..

    The board got coated in body filler today a number of times and sanded. I decided to plug the holes for the foot straps and clean up the transition better where I added the plywood to the top.  It then got a couple coats of silver paint which will get wet sanded tomorrow.

    Silver isn't the color the board will be, but it needs to be the base color for the effect I'm going for.  More later..

    I figured out why my welds sucked.  My battery was basically dead.  When I went to charge it the other day, it didn't.  I could not be bothered to find my actual battery charger as I had a 14v wall wart handy.  When I charged it up today, it took most of the day to do it.  I went over the sucky ones again and we are good to go.  Kinked the connecting straps...

    Then I folded it flat into it's final form, ready to go in the board.

  • Bend it like Benchoff

    Daren Schwenke07/26/2019 at 03:54 0 comments

    A lot of hammering and clean up of my cuts later, the drivetrain is coming together.  The motor alignment was just about spot on. I also made new bearing spacers today so I can actually tighten things up.  Yay!

    Did I mention this is all being done with hand power tools and parts brought along, in an RV park, on a plastic table?  We are currently in Mineral Wells, TX and are rolling across the US headed for Seattle. This would be a fun toy here for Ryden, so time to get off my butt and finish it up.

    The chains still need to be shortened.

    My latest welds suck worse than ever and I will need to redo a lot of them, but the battery is in its final form.

    I'm still having a hard time getting the weld current right.  I burn through or don't penetrate at all.  I tried adding a ballast resistor made from some AL wire so I could tune the current better, but the contact area needs tweaking now.  I still haven't checked if I killed that one cell yet either.  Of course it was one of the strong ones, so replacing it would throw my whole pack current balancing off as well.  Cross your fingers...

    More is better for welds, right?  :P

  • Salvage find/New motor mount.

    Daren Schwenke07/25/2019 at 04:27 0 comments

    I wasn't happy with how my motor mounts were turning out so I scrapped them and started over.  I stopped by the salvage yard today and picked up a nearly perfect bit of diamond plate angle.

    It is mostly done at this point, but it needs to have the final bends done while it is on the mountainboard truck axle, and I put it on upside down.  Oops..

    This should be a lot stronger than the first try without adding a lot of weight.  The tabs near the axle will get wrapped around it and bolted through.

    I finished most of the battery welding, but I have some bad ones I need to go over them all again.  I also had one cell which felt a bit warmer than it should have.  I am wondering if it failed.  I'll check each group for any significant voltage loss tomorrow. 

    On an unrelated note, there was a stack of seven beefy oxygen concentrators sitting at salvage as well.  I grabbed the one with the lowest hours (15k) for $5.  Borosilicate glass work here I come.  :)

  • Battery inlaid

    Daren Schwenke07/23/2019 at 04:41 0 comments

    The board was just thick enough now to contain the battery, but not thick enough to leave the bottom intact. I decided to go all the way through with my battery slot and sandwich the cells between two covers.  I sanded the ends of the plywood I added to ease the transition and make the top cover fit flat.

    The top got a full polycarbonate cover.  The bottom got a strip of it.  Both were made from the old door to one of my 3D printers, so the size was pretty much set by that.  If I had a choice about the size, the top would go all the way to the ends.

    The bottom strip was attached at both ends, and then bent down/heated with a heat gun to make it conform to the compound curve. That part of my stock was noticeably damaged from being the printer door, so I sanded it on the underside to hide this a bit. It could use some more sanding. 

    The top edges were cleaned up with a round over router bit and then razor scraped/sanded.  The top was a convex shape and so it kept the bend just by screwing it down.  It also needs a bit more cleanup, but good enough to move on to the electronics/motor mounting.

    The clear/translucent covers open up the possibility of some lighty goodness under your feet.  I think I will light the underside through the cover I had to sand.

View all 15 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates