I want this controller to be cheap, functional, easy to use, pocket sized.
[to be completed]
An Arduino based pocket-sized bluetooth controller for your electric longboard (or else)
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
I want this controller to be cheap, functional, easy to use, pocket sized.
[to be completed]
As said before, the controller will feature an internal battery charger. Today I decided to use the MCP73831, so I rapidly drew a schematic (to be honest, I just copied the typical application from the datasheet) and carved it on the CNC.
Again, a wofis (worked on first shot).
It's made with tht components, but on the final board will be smd, which means ridiculously small.
Love it when things just work
Easier to solder than I thought
The LED turns on when charging, off when battery full or disconnected.
Really happy with the result, totally recommend the device. I will not upload this schematic because it's not strictly part of the controller, but something very similar will appear on the final version :)
Still, you can get the schematic for this standalone version at GitHub/elmameto/chargy
This morning I've been working on a receiver board. This is the first prototype so, unlike the transmitter, it's meant to work at 5V. This way you can use your onboard BEC without any other electronics.
The board features:
Remember that this is a (working) prototype. The final board will be much smaller and thinner, as everything will be SMD.
You can find the board design on GitHub
Just finished carving the board. Went like a charm. 10% of the time carving, 25% drilling, 65% milling it out.
The board mounts an HC-06 BT module. You can also use an HC-05, but you have to configure it first, since I forgot the prepare the board for the AT-MODE pin...
Way better than a perf board...
The real surprise? It worked first shot.
For real.
I mean, I plugged it in and it worked. Is that even legal??
Added a primitive 3d printable enclosure for the controller. You can grab it on GitHub. The hole on the top part is thought to be used to place a photo resistor, as a presence sensor.
Any thoughts on that?
I don't really like the idea to keep a button constantly pressed...
More photos later ;)
[The guide is not complete, is more kind of a guideline]
Gather the PCB and solder on it the various headers and the bluetooth model. Be sure to use the 3.3V version of the Arduino pro mini. You can either solder the Arduino on the board or place a header to make it detachable.
Customize the firmware
At the beginning of the sketch there are a bunch of #define lines that allow you to configure many parameters, the most important of which are the ones regarding the bluetooth communication (and they have to mach with the receiver's parameters).
[Will add a detailed description some day]
Flash the firmware on the Arduino
On this board you obviously need to flash the TX.ino firmware (found in the files tab). You can use the programming header available on the PCB. For general instructions on how to flash an Arduino pro mini look here.
Note that you need to remove the RX and TX jumpers before flashing, otherwise the bt module will interfere with the communication and you'll get not in sinc error.
[I'll upload a pinout of the board as soon as I can]
Create an account to leave a comment. Already have an account? Log In.
Ahahah man I'm sorry for your hallway!
First of all, thanks for your appreciation, means a lot to me :)
The momentary switch is almost a necessity on a controller like this, in fact that is already implemented. What I mean is that the PCB has a connector made to attach a momentary switch and the firmware is constantly checking if it's pressed. Right now, I'm using the controller "PCB in the hand", without any case, so the switch would be really hard to use. That's why it's connector is constantly shorted by that white jumper you can see in the image gallery, and removing it would cause the board to stop.
Also, on startup, even if the switch is pressed, the firmware waits until the accelerator is all the way down before start sending any non-zero acceleration to the longboard. That prevents you from accidentally turning on the controller full speed and destroying everything.
Also, I don't really like the switch thing... I think it becomes uncomfortable after a while, so I'm considering other options, like:
- A photoresistor, that calibrates every time you turn on the controller. Not the safest thing in the world...
- A touch sensor. Maybe a little bit of an overkill, and you couldn't use it with gloves...
- Modulated infrared distance sensor. I think this is the best in the list, and I'll try implementing it someday (if no better idea jumps out)
Let me know what you think, totally open to suggestions :)
I'd be inclined to implement something on the board itself, to be sure that someone is still standing on it!
Thinking of failure modes for a switch on the controller, if you fall off, you may be inclined to hold tighter to the controller than drop it, preventing it from operating.
Obviously, you could cover a sensor on the board, but you could equally well tape over the switch on the controller if you wanted to defeat it!
Perhaps as you do for the accelerator dial, require that the user climb off the board (activate the dead man switch in some way to "prove" that it is functional) while the board is stationary, before accepting any motion controls?
Thanks! Still at the beginning, but may become something interesting :)
Become a member to follow this project and never miss any updates
I had the same issue as you for on my electric mountainboard. using a nunchuck or X-box trigger was just asking for disaster. Every bump turns into the board trying to get out from under you!
Have you considered adding a momentary switch to allow for deadman cutoff? The rotary is definitely a good way to go to prevent bumps from pulling you off, but the lack of a spring return (which would likely get you back to bumps causing throttle movement) means your board can become a missile if you get knocked off. I've been fortunate enough that my mountain board didn't get away from me (because I was inside a building testing it) but scrubbing the skidmarks off a hundred yards of hallway took a good afternoon to do.