Commuter Booster - <1kg Friction Drive

Update: Brain Box - Musings
Now that I found a cheap Arduino board with a USB connection, I have rethought the need to make my own board in the long run. As this little device seems to have everything I want, at a very reasonable price, and most of the external wiring doesn't require a lot of extra components to work.

My current thinking is to just use the Arduino Nano linked above, programmed and wired up to my specifications ready to run, as the Brain Box. It would come complete with shunt, wheel sensor, PAS sensor, temp sensors, throttle inputs, etc., in an protected enclosure.

But then I want to give the ability for users to adjust some of the settings. Of course I could just hook up a display (with associated cost and hassle), but didn't want this to be required for reprogramming. I'll leave this as a future upgrade option and stick to my bare bones minimal approach.

So rather than share the "sketch" / code, I will just allow the user to communicate to the brain box via USB and a terminal program/serial monitor. This let's me protect my base code, ensures people don't tweak things beyond what I deem acceptable for the drive, and could be locked down to be faithful to the local laws.

It would work something like this.
1) hold down the throttle button & connect the brain box to the computer via USB
- this will enter the device into a set-up mode that starts communication over the USB
- then the user will need to start terminal or the serial monitor in the Arduino software, and set it to the correct baud, port etc.

2) Then the user will be presented with a number of set-up options, one after the other, like:
- Min speed (rpm)
- Max speed (rpm)
- PAS (On/Off)
- Throttle type (1=button, 2=pot, 3=hall)
- Throttle logic (1, 2, 3, 4, ...)
- Battery type (1=LiPo, 2=LiFePo4, 3=...)
- Battery voltage (0=auto, 1=1s, 2=2s, 3=3s, etc)
- LVC (per cell voltage)
- Max Power (watts)
- Ramp up rate
- Ramp down rate
- etc.

All settings would be stored in the EEPROM, so I could get it to show what the existing setting is, and if people don't want to change it they just hit enter.

I guess I could also implement a service menu that is password protected, to open up more options like convert it between unlimited,EU,AU,USA legal modes.

If I need to get people to update the base code themselves, and I still don't want to give away the Arduino sketches, I might be able to actually compile it myself into a hex file, and give instructions on how to program the brainbox using avrdude, which is what Arduino uses in the background.

This overall approach seems like the best compromise at the moment, uses more off-the-shelf hardware, gives user programmability with a simple usb cable and terminal program, plus the ability to update things in the future if needed.

The downsides I see are that if I release the HEX files, people can just build their own hardware and use my software for free.
And even if I don't release the HEX files, people can still reverse engineer the code if they buy the brain box and are tech savvy. Maybe I can program it via Arduino then set the fuses to stop people from reading the code. Hmmm will have to check that out. But if I do it right, and get the price right it will just be cheaper/easy/better for people to buy the complete brainbox from me, than stuff around sourcing all the bits and pieces, working out the right schematic, wiring it up, programming it etc.

What do people think of this overall approach? Sounds like it might work to me.

- Adrian

P.S. Just thinking about it a bit more I could get the Brain-Box to record same basic info too that is displayed when connected in setup mode. This is the sort of summary data a CA or display would usually show/record. It would require a lot more code, but it could record trip & total stats like:
Last Trip Stats
- peak power
- average power
- % assist
- wh/mAh used
- distance travelled
- assisted distance
- wh/km during assist
- wh/km overall
- Max amps
- Min voltage
Life Stats
- # rides
- total distance
- total wh
- .....
 
adrian_sm said:
The downsides I see are that if I release the HEX files, people can just build their own hardware and use my software for free.
And even if I don't release the HEX files, people can still reverse engineer the code if they buy the brain box and are tech savvy. Maybe I can program it via Arduino then set the fuses to stop people from reading the code. Hmmm will have to check that out. But if I do it right, and get the price right it will just be cheaper/easy/better for people to buy the complete brainbox from me, than stuff around sourcing all the bits and pieces, working out the right schematic, wiring it up, programming it etc.

What do people think of this overall approach? Sounds like it might work to me.
I would urge you to make your code open source, so other ES enthusiasts & ebike techies could improve or add to it... and those improvements would be required to be open source too! Just make it part of the license agreement. :mrgreen:

Few people have the technical skills to program & combine parts AND would build it without buying parts from you too... Maybe one in a hundred or thousand, and this just isn't a large scale retail product you could make much money on, imo. Most people would buy from you for a "turn key" solution either in kit or finished form, especially, ES members. I would encourage others to join-in to improve your product through this open source idea, as I don't think competition or losing money is much of an issue anyway.

Does this seem like a reasonable idea? I think you could help others to learn more, improve your product ideas, and still offer a kit or finished product that most ES people would want to buy from you the original developer. Going retail outside of ES on a large scale is not practical 'now'. That's years away until eBikes become a typical product people buy outside of China. Right now, it's more of a "frontier idea" that hasn't even begun to penetrate the public mind as something to consider owning or using... an eBike? No way! Maybe in 5-10 years that will change in a big way, but we need to unlock the power of these motors with reliable controllers & better designs... You, Adrian, are a unique pioneer just entering this frontier to make the initial changes for a foundation to help begin this transformation. Make it open source. If the market catches on in 5-10 years, and you have the interest... you can still offer open source and/or closed source too! :wink: :mrgreen:
 
Adrian, +1 from me

The downsides I see are that if I release the HEX files, people can just build their own hardware and use my software for free.
I don't think this will be much of a problem

And even if I don't release the HEX files, people can still reverse engineer the code if they buy the brain box and are tech savvy.
Anybody with those skills will just write their own (unless they are just lazy), so again I don't think this will be a problem either - and this is why

But if I do it right, and get the price right it will just be cheaper/easy/better for people to buy the complete brainbox from me, than stuff around sourcing all the bits and pieces, working out the right schematic, wiring it up, programming it etc.
Cheers,
GT
 
Writing sketches in arduino isn't that hard. Everyone with a little experience in programming can do it. So if you don't release the sourcecode some other guy (maybe me? :D ) will write a similar sketch and release the sourcecode, that's for sure. And you are worried about people "stealing" your hex file and use it on their own built brainboxes? I don't think that's a huge problem.

Good luck with the future development, it's interesting to see what you are doing :)
 
If ES was my market I would definitely just go open source. But it is not. As I have said before I have delusions that this could be something with a wider appeal. I am willing to pursue it for a bit and see if I can make a go of it. But unfortunately that stops me from going open source for a number of reasons.

deVries said:
Going retail outside of ES on a large scale is not practical 'now'. That's years away until eBikes become a typical product people buy outside of China.

I disagree. Now is absolutely the time to make something that non-ES people want. The big bike manufacturers are all developing integrated turnkey ebike solutions. Which makes sense for them, it ties people to their brand. But my design is aimed at bolting on to any brand bike. So no big name is going to develop something similar. This in my mind opens an opportunity, that I want to see if I can fill.

Seriously the basic features of the brain box are easy to build. I don't see why people don't just do it. Open source sounds like a good idea, but it is a slow method of development, especially when for my purpose it is so intertwined with the hardware, all the tricky bits just can not be done without the hardware to try it on. If you want to contribute to an open source throttle interface, then head on over to this post. It is shaping up to be more universal, with more features than my little effort, so jump in and make it awesome.

http://www.endless-sphere.com/forums/viewtopic.php?f=2&t=29561&p=429211

- Adrian
 
retundo said:
Writing sketches in arduino isn't that hard. Everyone with a little experience in programming can do it. So if you don't release the sourcecode some other guy (maybe me? :D ) will write a similar sketch and release the sourcecode, that's for sure. And you are worried about people "stealing" your hex file and use it on their own built brainboxes? I don't think that's a huge problem.

Good luck with the future development, it's interesting to see what you are doing :)

:lol:

I am quite happy for others to release their own code, schematics, hardware whatever. In fact I have already helped a couple of people that are planning to. But that is quite different to making it dead simple for people to override my brainbox and the legal limits it enforces, since I plan on selling these as complete kits that meet the local laws.

If you don't like what I am doing, just make your own. It is dead easy. :D

- Adrian
 
:lol: Well your plans are a bit more grand than mine. A few more bells and whistles than what I plan.

- Adrian

Probably a bad time to mention I only have about 35 lines of code. :D I think there are more lines devoted to setting up constants etc. :lol:
 
You may call it efficient. I call it dumb. :lol:

It was actually too quick, when I took out some debugging print commands, it was updating the servo too quick, and it fell over.

Once I put in all the user adjustment, it will quickly bloat up. But if I just hardcoded everything, which is all most people would need if they are building it just for themselves, the code can be really simple.
 
adrian_sm said:
You may call it efficient. I call it dumb. :lol:

It was actually too quick, when I took out some debugging print commands, it was updating the servo too quick, and it fell over.

Once I put in all the user adjustment, it will quickly bloat up. But if I just hardcoded everything, which is all most people would need if they are building it just for themselves, the code can be really simple.
It must be robust enough though, therefore not dumb (but I'll have to take your word on that and leave it to your judgement) :lol:
 
So opensource debates aside, would people be happy with hooking up the BrainBox via usb to a computer to tweak settings, and potentially download trip stats. Or would they prefer to wait longer, and pay more for a handlebar mounted display to be able to view things, and tweak settings on the bike.

Personally I think this would make it too close to what Kepler is making. I would prefer a cheaper, simpler offering with the display as an option.

- Adrian
 
Have you considered "Change Over" units? The user pays an initial ~$25 to cover 1 changeover preconfigured Arduino, and if you don't receive the original back from the user after sending them their upgrade, they don't qualify for any more upgrades. If you get it back in working order, the user just needs to pay postage for the next upgrade. Just a thought ...

Cheers,
GT
 
Yeah. That would work. But I am lazy by nature. It all sounds like too much work for me, and hassle for the user. I would much prefer people to be able to tweak things themselves if at all possible.

But TBH most people won't need to change anything. Unless they want to change throttle types and I can't sense it on the fly, or if they want to install/remove a PAS, or change the throttle logic mode. Everything else should be pretty universal if I get the auto battery cell count working.
 
adrian_sm said:
retundo said:
Writing sketches in arduino isn't that hard. Everyone with a little experience in programming can do it. So if you don't release the sourcecode some other guy (maybe me? :D ) will write a similar sketch and release the sourcecode, that's for sure. And you are worried about people "stealing" your hex file and use it on their own built brainboxes? I don't think that's a huge problem.

Good luck with the future development, it's interesting to see what you are doing :)

:lol:

I am quite happy for others to release their own code, schematics, hardware whatever. In fact I have already helped a couple of people that are planning to. But that is quite different to making it dead simple for people to override my brainbox and the legal limits it enforces, since I plan on selling these as complete kits that meet the local laws.

If you don't like what I am doing, just make your own. It is dead easy. :D

- Adrian

I didn't mean to be rude or anything like that, I really like what you're doing!

A small LCD isn't very expensive on ebay, usually a couple of dollars, I think the brainbox needs to include a LCD :) But also tweaking it with a computer would be a nice option.
 
I wasn't trying to be rude back. Sorry. :roll:

The LCD thing just takes a lot more effort once you factor in enclosures, mounting brackets, wiring it all up, waterproofing, etc.

I agree it would be awesome. But I don't think I have the motivation for it yet. Maybe BrainBox Mark 2. :D
 
adrian_sm said:
...Unless they want to change throttle types and I can't sense it on the fly, or if they want to install/remove a PAS, or change the throttle logic mode. Everything else should be pretty universal if I get the auto battery cell count working.
Throttle types - check. Add / remove PAS - check. Throttle logic, OK, can't think how to account for that in software :lol: But ... "Change throttle logic" - I can't really visualise what you mean though :?

One advantage of the changeover units is that the user never gets to peek at the code. Another one though is, if you think of your market, plug'n'play changeover units probably appeal more than having a technically challenged user "tweak" things. Now I'll shutup on this.

Just noticed the extra posts. LCD would certainly add to the "geek" appeal, but I understand completely that the extra effort isn't worth it (and will add more cost than a few dollars).

Edit: I didn't see either posts being rude guys :D
 
retundo said:
A small LCD isn't very expensive on ebay, usually a couple of dollars

Have you got a link? I don't know much about driving LCDs from Arduino, but all the cheap LCDs seem to need heaps of IOs to drive, like 11 or so from memory.

I would appreciate any tips.

- Adrian
 
adrian_sm said:
retundo said:
A small LCD isn't very expensive on ebay, usually a couple of dollars

Have you got a link? I don't know much about driving LCDs from Arduino, but all the cheap LCDs seem to need heaps of IOs to drive, like 11 or so from memory.

I would appreciate any tips.

- Adrian

There is something called shift registers, go and look on http://arduino.cc/playground/Code/LCD, with shift registers you can control a LCD with only 3 pins.

Search for HD44780 on ebay and you will find many cheap LCD that may work good for Brainbox m2 :)

A question about waterproofing, does the motor and ESC survive when it rains?
 
gtadmin said:
"Change throttle logic" - I can't really visualise what you mean though :?

At the moment I just have a single throttle logic which suits low power setups. It just ramps up to full power. This suits my style of commuter riding, but want suit others. For example if you just want to cruise along at match pace with other riders. For this you may want a different logic. There are a heaps of alternatives, just ask Kepler, he has tried a lot of different things. Like press the button, the drive then matches the current speed plus a bit. Then something like a quick release and repress increases the speed a bit.
 
retundo said:
There is something called shift registers, go and look on http://arduino.cc/playground/Code/LCD, with shift registers you can control a LCD with only 3 pins.

Search for HD44780 on ebay and you will find many cheap LCD that may work good for Brainbox m2 :)
Awesome. Thanks a lot for that.

A question about waterproofing, does the motor and ESC survive when it rains?
Motor - Yes.
ESC - No. You need to waterproof it. I have either put the whole ESC in an enclosure, with a hole for the heatsink to poke out, then silicone everything water tight. Or my next plan it to use Liquid Electrical Tape to directly water proof the ESC. I stole that idea from guys running RC cars that like to drive through water.

- Adrian
 
adrian_sm said:
...The LCD thing just takes a lot more effort once you factor in enclosures, mounting brackets, wiring it all up, waterproofing, etc. ...
adrian_sm said:
retundo said:
A small LCD isn't very expensive on ebay, usually a couple of dollars

Have you got a link? ...
:lol:
 
adrian_sm said:
deVries said:
Going retail outside of ES on a large scale is not practical 'now'. That's years away until eBikes become a typical product people buy outside of China.
I disagree. Now is absolutely the time to make something that non-ES people want. The big bike manufacturers are all developing integrated turnkey ebike solutions. Which makes sense for them, it ties people to their brand. But my design is aimed at bolting on to any brand bike. So no big name is going to develop something similar. This in my mind opens an opportunity, that I want to see if I can fill.
The problem with this reasoning, IMHO, is that retail bike stores are tied-in as dealers. Why would they sell your competitive product to upgrade a bike, when they could sell their customer a real eBike purpose made & make more money too? The Walmarts of the world will do the mass marketing & never sell kits. These friction drives are nothing new... some good FD designs have been marketed through ebay/Internet since the 1990's, so I think your marketing is going to be limited to Internet sales for years to come. Maybe in a few years there will be eBike retail stores, but I don't think even one exists in the USA *except* online. There are some e-scooter "moped" and/or e-motorcycle stores, but they won't be offering your kits to customers they don't normally have or sell to.

You'll have to figure-out a marketing plan to sell through bicycle stores, but I'm afraid that's probably a loser proposition considering their dealer relationships AND THE FACT INSIDE A BICYCLE STORE eBikes are NOT considered "real" bicycles, and sales people might consider eBikes to be for wimps, or for fat/old people, and are just not hip, cool, or desirable to sell yet... an eBike is almost anti-matter-bicycle or heresy inside a bicycle store. :oops: The whole acceptance psychology of the bike store owner has to change including the mindset of bicyclists for your product to win over many of these people. How much prejudice is "out there" to prevent market penetration inside bicycle stores is unknown, but it certainly exists.

Your product is bicycle centered, as an upgrade to an existing bicycle, so selling to a bicycle rider through a bicycle store is ideal but is also going to be a real challenge too, imho.

I love FD. :twisted: :!: I think it is way undervalued for what it can potentially do for eBikes, so I'm hoping for long-term success... :D I just think you will need years of persistence, meaning 5-10 years, or $6+ dollar a gallon gas in the USA to change people's transportation usage towards using electric vehicles & eBikes 'here' beyond 1% of the population that already drives by gas vehicles.

YOU are going to have to create your limited FD market & marketing/sales, mainly by Internet, over the long-term to make this a successful business beyond the ES hobby level in the USA, imo, but maybe some other countries will be much more receptive of your product??? :?: :mrgreen: It is very likely you will succeed in another country outside the USA before you will do well here. The psychology & mind shift is not really present in the USA to any large extent, and it will take $5-10/gallon gasoline before many will use an eBike for actual transportation needs beyond weekend warrior or recreational riding. Your FD is well suited for the weekend warrior or recreational rider, but getting the opportunity to sell your FD to that person inside a bicycle store is still going to be a tremendous challenge, imo. Maybe some other bicycle friendly countries will be much more receptive to sell your FD inside their bicycle stores? :?: :?: :?: :idea:

Of course, I have no proof for anything I just wrote above except for some observational experience, and these are just my limited opinions. I would be happy to learn I was too pessimistic in my predictions/beliefs about the marketing and sales challenges you will face in the near to long-term at least for the USA market.
 
I agree with a lot of your points on the hurdles my concept faces. It is great to read someone else's thoughts on the subject, and I am sure I will come back to this post as I develop my plans further.

Thanks again.

- Adrian
 
It is true that nearly all bicycle enthusiasts look at electric systems as a complete waste of time and renders a bicycle unusable. That being said, every person I have ever let ride one of my bikes comes away with a huge grin and becomes very excited about it.

I am looking at various relatively high-end bikes now that I can convert to turn-key electric bikes and I think making them relatively high performance, or EXTREMELY light weigh (which is what you are doing here), is what will attract bicyclists.

Matt
 
Back
Top