-
I did my own Espruino game controller a few months ago, which was basically a BLE HID keyboard with specific buttons.
I would be interested in looking into code for that if its open.
provide Espruino community with some game controllers examples will be very positive
I agree, it would be nice if there was such a device based on espruino for gaming or remote controlled cars/robots.
By the way, I really love the bolidJS project !
thanks, hopefully there will be big update after Christmas
-
Is the idea to build a joystick with espruino or be able to talk to the hacked Joy-Con like device? Personally I think it makes more sense to hack existing controller. Some of them even use processors that can be flashed with espruino. I did a quick hack of "daydream" like controller for a device called miraprism controller. There is lots of similar available to buy.
Long time ago I have build a controller from scratch and wasnt happy about it. Mainly because cheap knob modules you can buy have small usable range of movement. If you spend more money for proper modules you might as well buy already made whole thing.
Right now I am working on web joystick app that will communicate with my espruino over Web Bluetooth. Then I can just use it from my phone.
This is the project I need the joystick for. There is few post discussing joysticks options there: bolidJs
I would be interested if anyone comes up with a solution that can talk to espruino device. -
-
Thanks @allObjects for looking into it. Its not a big deal for me since I can just use number instead like you suggested. I wanted to know if its a real issue or just my poor js knowledge. It would be good to let know to whoever is maintaining the plugin. I bet there is an easy fix for it.
-
Hi All, I started using testing plugin in the IDE. I found an issue with boolean value setting. It could be my very basic knowledge of JS but here it is.
I am trying to change the value of a boolean variable with a button from the testing plugin. This is the code:var my_bool = true; var bool_test = function(){ if (my_bool) console.log("true"); else console.log("false"); }; setInterval(bool_test, 1000);
then I run the program and test. After toggling the test button, my_bool variable is still true. Same code works fine with numeric values.
-
Thanks @Gordon I will use that as an example. That will be nice option for controlling it. I didnt know about that project and its using espruino! Its cool, might be a nice Christmas gift for my toddler. They also have a web app controller so it might be a good starting point.
I think I have my three options: phone webapp, Bangle watch and IDE testing plugin.
BTW quick google search and I found this: https://www.instructables.com/ESP32-Bluetooth-BLE-Remote-Control/
I think it should work for me as well. I have something similar. I made a post about in the past.
Probably the best and default option should be just using a phone with a webapp anyway. -
@allObjects No worries, I will work it out.
Separate joystick is the approach I had for the previous attempt without espruino. If I did it again with espruino board I would keep it as a separate project. I think there might be already project like this by someone else. There are two reasons I wanted to avoid it:- one is that its a separate piece of gear. I wanted to be able to use whatever is around the house and if there are no controllers just use the phone with an android app. As discussed above the HID approach is not an option. Custom phone app using web bluetooth is one that makes most sense to me.
-second is that the last time when I had my own custom built joystick I didnt like the performance. There are knobs modules you can get from china but they have very little angular movement giving signal. You end up with something thats hard to fine control it.
- one is that its a separate piece of gear. I wanted to be able to use whatever is around the house and if there are no controllers just use the phone with an android app. As discussed above the HID approach is not an option. Custom phone app using web bluetooth is one that makes most sense to me.
-
-
@allObjects Thanks, thats really helpful. I can design simple controller GUI with this. I wasnt aware of that feature of the WebIDE. There is very little info on it. The only info post I found on the forum has a broken youtube link http://forum.espruino.com/conversations/261647/
Fortunately I found some other tutorial videos on youtube. This will keep me going.
Is there any chance to reuse communication mechanisms used in that framework for a standalone web app? I think I will have to write some simple joystick webapp at the end that can be loaded from phone.
BolidJS is functional. I didnt attach the wheels yet so its just hanging for testing. There are two small PCB bugs but I was able to get it working anyway. I will fix it for the release. I am gathering photos from assembly so I can put some step by step instructions and videos. Christmas will be busy :) -
-
Hello All! I have the board mostly assembled. I will make an update on that later. Right now I am checking the peripherals and would be nice to have the communication with control device working.
Initially I thought I will use a bluetooth joystick or an app on the android phone making it work as a joystick. Nice option would be to control it from bangle watch. For that my mdb42q board on the rc car would need to be able to take commands from BLE HID device? Is that even possible? I couldnt find any examples or tutorials on doing this direction so I suspect there is a reason for that.
The other option is to write custom app for browser using web bluetooth. Any examples for js web browser joystick would be appreciated as well. Thanks! -
-
True, most of the fun is in the making. The thing is that its nice if the project is in some way unique. Anyway, I wouldnt abandon it. Its not much more effort to drive it to the end. Another reason is that I hope people like it enough to build based on the design files or leverage for their own projects.
-
I have seen the first video, super cool. The guy is really good at micro-mechanics which I am not at all. The second video I havent seen. It looks good. I wonder if they are off the shelf and you can buy it. Maybe I shouldnt bother with my PCB car and just get one of those.
The wheels I get from china, one EUR for 10 wheels :) I dont want to post a link that will get inactive. Just search "mini rubber wheel" on aliexpress. There is lots of shops selling them, I use 16mm. They are not exact fit for the motor axles so I use wire insulation to make tight fit which sucks. -
Just looked up the LB1930 and DRV8833 on digikey. Considering drv8833 is two in one it makes very little difference in price. DRV8833 is a better chip with higher output current so maybe its better to stick with it.
I never used the end points in the old version. I just added trimming. It would be nice to have a feedback I guess but was too lazy. The idea was to have the T bar making contact to the pads connected to IOs once the limit is reached. I think there will be debouncing problems. It would be nicer to have some position sensor but it will increase the cost and complexity.
The argument of having lower force for the trapezoid design would be actually important. Those steppers arent too strong.
I would rather have Gordon do the selling in his shop ;) I dont think its good enough to make any significant sale volume.
Saying that, today I bought an RC car for my 2 years old and its absolute rubbish. On/off steering and on/off acceleration. Controlling is terrible. I already think to stick espruino in there and fix it;)
I didnt study lean design. If you point me to some materials I wouldnt mind having a look. -
Honestly I wasnt even aware of this. Its great thing to learn about. I guess my implementation is just parallel.
If I get it right it would be enough to just move the rotation points on the T bar toward the middle. The problem with that would be that right now the T bar slides with the plastic screw on the stepper. If T bar gets tilted then it would get stuck?
Thanks for pointing that out. Thats interesting problem. I didnt send out the gerbers for fabrication yet.
As for the drivers I used TI drv8830 drivers for old implementation. This time I will go for LB1930 as they seem cheaper and more widely used for hobby stuff. They are used for one of espruino tutorials I think. -
Its all open so you can build one on your own anyway. I suppose you could put it up in your shop as a kit if it turns out any good.
Yeah, there is so many ideas and so little time :) I am hoping for the bolid to be just a beginning of series of projects.
One of the options I put on the bolid is using supercap instead of 3xAAA batteries. I bought them for some other project that I am working on (which I might post eventually). I hooked it up to the bolid breadboard and it worked great. The cool thing is you can draw a lot of current from them so its nice for the car as it needs initial higher current to get it moving. I bought 15F 5.6V which was reasonably cheap. I think you could get like 20minutes of fun out of it. I measure the voltage drop on it so I can adjust PWM to keep constant torque. Also its super fast to charge.Dont get me started on mini robots :)
-
Thanks Gordon.
I use micro stepper. They are strong enough to move the steering mechanism and are less bulky than servos.
micro_stepper.png
I did consider micro linear servo but the torque isnt that much greater I think and they are more expensive. Those little steppers you can get from china for less than one EUR. Also its fun to control it:) I would put the link to the shop but there is so many of them and links get inactive after a while so its better to google for it.
It is 4 motors but I have a driver per axis so its front and back separate drive. In reality I apply the same power to all. Because there is no gear once you have them going they draw less current so I dont know if you save much power by powering just one axis.
m20_motor.png . I tested out lots of them and they vary a lot. The best one for me was M20. It might depend on the vendor as well possibly? They cost less than one EUR.
Finally this is the pogopin I used. The weight of the car is so little its even too stiff. pogopins.png. I am hoping that this time if I dont use the support boards and solder directly to motor terminals it will add some more suspension action.
I am fabricating 5 boards. I could send out two preassembled with smd components to anyone interested to get involved with it :) I dont have enough mdb42q and motors so you would have to add these by yourself. -
Thanks! I added the schematic and layout pdfs to the repo bolidJs_schematic.pdf and bolidJs_layout_all.pdf .
In the same folder there are gerber files in zip archive which can be viewed even online.About the steering, I made some cutouts to allow for 45deg turns. I was concerned with that for the first version. As it turned out the wheels stick out quite a lot from the chassis plus the suspension was so high the wheel had a small gap under anyway. This time I didnt add little boards that the motor gets glued to and suspension is soldered to. I think I will get away with soldering pogopins directly to the motor terminals. I am still not sure if it will work so I might squeeze those boards in before I send it out for fabricating.
Another thing is that when turning, the wheel that goes forward is way in front outside the board. This is a problem when the car hits something. It can snip the pogopin. I added pads where I want to solder a wire formed to work as a bumper in front. I wanted to have smallest possible pcb so didnt want to make a bumper as a part of the layout. -
Hi everyone,
While ago I built an RC car. The requirements were:
- minimum amount of components
- mechanics all made from pcb cutouts
- minimum cost
That resulted in some design decisions like using 4 small dc motors (no gear) so they can be directly attached to the wheel. Also used pogo-pins soldered to the pcb as suspension and hinges for steering.
Back then I was more bare metal embedded guy so I used some LPC micro with lots of modules for communication and so on.
It worked pretty well. You can see the video here:
rc pcb car
I decided to redesign it with expruino as a control device and add some other improvements. Since the mdb42q module has the regulator already I could drop the dc/dc converter and the wireless communication module. I added third battery in series since I dont have a boost from the DC/DC anymore.
I did some breadboard testing for motors and stepper with espruino and it seems all good. The repo is public and you can find it here: bolidJs repo Right now its just schematic, pcb and some messy test scripts.
I used to have pcb joystick but this time I will just control it from phone or any hid device I think.
I will sent out the board for fabrication this week so any feedback is welcome before it goes :)I will make some updates once I have the board assembled. This post is for some sense of accomplishment after a week of pcb design and testing espruino with peripherials :)
- minimum amount of components
-
Hello,
For skin impedance measurement low frequency signal is used around 200Hz so there is no tissue damage. I would say you need to hack in two electrodes to get a valid data. One touching wrist and the other on top to close the circuit with your other hand finger.
skin impedance measurement
and
skin impedance for wearable
and
bio measurements watch -
-
Project update:
I spend some time over Christmas break on the web joystick for the BolidJS. I feel like it should be separate project that could be used for other RC things. That might be idea for future or a fork of a current joystick. Anyway the code is here: repo WebJoystick and can be tested here: test WebJoystick
Right now its very prototype like with lots of debug features.
Main things to address:
The code needs some refactoring as well :) I feel like the tiny dash controls will have to be replaced with something that scales. Any suggestions for a library with gauges and graphs are welcome.