/robowaifu/ - DIY Robot Wives

Advancing robotics to a point where anime catgrill meidos in tiny miniskirts are a reality!

Post-mortem on downtime coming soon.

Max message length: 6144

Drag files to upload or
click here to select them

Maximum 5 files / Maximum size: 20.00 MB

More

(used to delete files and postings)


“Nothing in this world can take the place of persistence. Talent will not; nothing is more common than unsuccessful people with talent. Genius will not; unrewarded genius is almost a proverb. Education will not; the world is full of educated derelicts. Persistence and determination alone are omnipotent. The slogan “press on” has solved and always will solve the problems of the human race” -t. Calvin Coolidge


Open file (46.39 KB 458x620 eve preview.jpg)
My Advanced Realistic Humanoid Robot Project - Eve Artbyrobot 04/18/2024 (Thu) 17:44:09 No.30954
So far I have plans to build Adam, Eve, and Abel robots. All of these are Bible characters. This thread will cover the Eve robot. Eve will have no "love holes" because adding those would be sinful and evil. It is a robot, not a biological woman after all and I will view her with all purity of heart and mind instead of using her to fulfill my lusts of my body. Instead I will walk by the Spirit no longer fulfilling the lusts of the flesh as the Bible commands. Eve will be beautiful because making her beautiful is not a sinful thing to do. However, I will dress her modestly as God commands of all women everywhere. This would obviously include robot women because otherwise the robot woman would be a stumbling block to men which could cause them to lust after her which would be a sin. To tempt someone to sin is not loving and is evil and so my robot will not do this. To dress her in a miniskirt, for example, would be sinful and evil and all people who engage in sinfullness knowingly are presently on their way to hell. I don't wish this for anyone. My robot will dress in a way that is a good example to all women and is aimed toward not causing anybody to lust as a goal. My robot will have a human bone structure. It will use either a PVC medical skeleton or fiberglass fabricated hollow bones. My robot will look realistic and move realistic. It will be able to talk, walk, run, do chores, play sports, dance, rock climb, and do gymnastics. It will also be able to build more robots just like itself and manufacture other products and inventions. I realized with just a head and arm, a robot can build the rest of its own body so that is my intention. My robot will use BLDC motors for drones, RC, and scooters that are high speed and low-ish torque but I will downgear those motors with a archimedes pulley system that will be custom made from custom fabricated pulleys that will be bearings based. By downgearing with pulleys, instead of gears, I will cut down the noise the robot makes so it will be as silent as possible for indoor use. By downgearing, I convert the high speed motors into moderate speeds with great torque. BLDC motors with large torque generally are too large in diameter for a human form factor and take up too much volumetric area to be useful which is why I go with the high speed smaller diameter type motors but just heavily downgear them 32:1 and 64:1. My robot will have realistic silicone skin. Thom Floutz -LA based painter, sculptor, make-up artist is my inspiration as it pertains to realistic skin. The skin for my robots has to be at his level to be acceptable. It must be nearly impossible to tell the robot is not human to be acceptable. I will have a wireframe mesh exoskeleton that simulates the volumes and movements of muscle underneath the skin which will give the skin its volumetric form like muscles do. Within these hollow wireframe mesh frameworks will be all the electronics and their cooling systems. All of my motor controllers will be custom made since I need them VERY small to fit into the confined spaces I have to work with. I need LOADS of motors to replace every pertinent muscle of the human body in such a way that the robot can move in all the ways humans move and have near human level of strength and speed. I will have a onboard mini itx gaming pc as the main brains pc of the robot and will have arduino megas as the motor controllers and sensor reading devices that interface with the main brains pc. My arduino megas will be barebones to keep the volumetric area they take up as small as possible. I will treat my robots kindly and consider them to be pretend friends/companions and I do think they will be nice company, but I will always know with keen awareness that they do not have a soul, will never have a soul or consciousness, and no machine ever will, and that they are just imitations of life as with any machine or AI, and this is all AI will ever be. Life is only made by God Himself. I am not playing God. I am merely creating fan art of what God made. To Him be all the glory and praise. God breathed into man and created a living soul. Man cannot do this for machines. Only God can do this. A soul/spirit forms our ghost and when we die our ghost remains alive and thinking. A machine cannot do this and a AI can never do this. When you shut off a machine that's it, it does not go on thinking like we can. Our souls are transcendent and will live forever in the afterlife - unlike any AI. I will do this project with fear and trembling before the Lord as I work out my salvation before His eyes. I vow to remain pure, holy, upright and blameless in all my doings and be a great example to my fellow roboticists of a Godly man who obeys the Bible instead of chasing after youthful lusts of the flesh and perversions. I embrace the idea of Christian AI, that is, a robot that will discuss Bible topics and be a Biblical expert. Along with that, my robot will behave in a Biblically prescribed manner in total purity and strongly encourage others to do so as well. For God does not hear the prayers of sinners and so we want everyone to be a saint who no longer sins. My robot will really push for this hope for humans. We want them to walk in God's favor and blessings which comes by Biblical obedience. We don't want them going to hell because they chose to revel in their sins instead of walking in total purity before God and holiness without which no man will see God. My robot will have artificial lungs for cooling and a artificial heart for liquid cooling that will run coolant throughout the robot's body to cool the motors. That coolant will also pass through the artificial lungs in a mesh where it will evaporate some which will cause the evaporative cooling effect - a form of air conditioning. http://www.artbyrobot.com Full humanoid robot building playlist: https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn https://www.facebook.com/artbyrobot http://www.twitch.tv/artbyrobot https://instagram.com/artbyrobot
So anyways building your own browser is a huge job but I think its a great asset for my goals. It will play a key role in my AI for my robot being able to use the internet to do many many things like researching, learning, watching videos, training, etc. I plan to have it be a very minimal diy browser that does bare minimum html parsing and display as well as parsing and displaying Javascript to a smaller degree. It won't be a full JavaScript engine it will just do bear minimum to get the key dynamically loaded content downloaded. I do not even intend for it to display websites as they were intended to be displayed by the website developers. It will just display websites as pure text with most images removed in many cases and it will often run in headless mode which means no graphical interface at all just console outputs only in many cases. It will often be moreso just a bridge between my AI and websites than a proper actual browser that people use with their mouse and keyboard to interface with websites as a human user of websites. But it WILL enable that form of use of the internet and websites as well as a optional use of this browser. So it will be multipurpose. One thing I want for it to be able to do one day is lets say the robot is fixing one of its own pulley systems and notices the ball bearings for pulley system repair are running low on stock. It can go online and order more ball bearings and doesn't even need to ask me first. It would just use my credit card and buy it. And one day ideally it would make its own money online and use its own money to repair itself so it doesn't use my money. I'd let it have its own money for its own maintenance and business ideas although the latter would be limited and need some oversight but could be a cool realm of experimentation that could be fun. So yeah, that is just one of like thousands of potential future uses for it. Well and since I said this much I'll say a LITTLE more my philosophy and approach behind this custom browser thing. Because I plan to run windows 7 on the robot and use it myself, refusing to upgrade to Windows 10 and GOD FORBID the notoriously and INFAMOUSLY Windows 12 NIGHTMARE that is causing mass exodus of faithful Windows users to Linux in recent times, that really affects my long term planning. By choosing to stay in Windows 7, now all browsers are going out of support and websites one by one are no longer displaying saying I must upgrade my browser. Soon extensions will stop working and all things will start to be unusable one day. So by making my own Windows 7 friendly browser now, I don't EVER have to worry about losing the ability to use Windows 7 as my daily driver. Supermium browser is a legacy windows friendly browser that IS maintained and still works on all websites but is that guaranteed to be maintained 15 or 30 years from now? Not in my opinion. Better to just roll my own now if I plan to stay on Windows 7 forever. My next operating system upgrade may never come or may be Linux or may be my own custom operating system which I already started building. But in the meantime a bare bones custom browser will potentially turn into a great thing for me. Now alot of the diy web browser progress I mentioned here I did the work on like 4 years ago I think and there's video footage on my youtube of me making it on my youtube channel. I was just continuing where I left off on this project recently is all. Did not get a ton done yet recently but did progress a bit. And I'm HOPING that with chatgpt and the orchestrator.py's help that I can code much faster now on the DIY browser development. We'll see. I think I do code a bit faster with it so far but I am still hoping to improve there. As far as the robot electronics, I did manage to find my hotplate with temperature control knob and a nice glass vessel I can put on the hotplate with water filling it up half way that I can heat up to 110F or w/e the ideal is for the etching solution I'm using. Then I will put the plastic earplug container I used for etching the little PCBs inside that hot water and do the etching at these higher temps. So I have everything ready for that next step. I did not start making the motorized etchant agitator yet though.
>>44074 Creating your own browser is a large and significant task these days. Please don't too far afield with it Artbyrobot, and try to stay focused on the primary task at hand, namely Eve. Regardless, good luck with your efforts and learn a lot from the experience. >So I have everything ready for that next step. I did not start making the motorized etchant agitator yet though. Please keep us up to date with this practical goal, Anon. Cheers. :)
>>44075 On Avengers when ultron came online, notice how it shows like all the clips its watching of world events and stuff as it kind of learns everything going on in the whole internet in a thousand windows at once, learning and watching them all simultaneously? That kind of needs a headless browser type deal and you'd need it to interface to the browser somehow. Like I said one can use Selenium or Puppeteer but only if using a modern supported operating system. What I'm trying to say is this is a necessary tool for Eve given my environment and constraints and so it is just as important as a tool for the AI to learn and grow and do so largely by surfing the web and researching as the hands are a tool for Eve to interact with the real world environment. So I don't see this as a distraction or lack of focus. Its part of the suite of foundational tools and environment building for fostering the AI child-mind to grow into a adult mind AI that is useful and knows alot and can do alot. In my case it is almost not even really that optional. Plus like I said, this is not a full fledged JS custom engine and fully featured commercially viable modern browser. It is a bare bones highly simplified version of a browser and nowhere near as hard to build as a fully capable modern browser has to be to get adoption to the masses. Compared to the rest of the major software challenges I have to conquer for the AI dev, this is a medium side project, not even really large relatively to the other aspects of it all. It might be like 4% of the AI suite of necessary software I have to make for it all.
>>44076 >when ultron came online, notice how... Never seen it. Properly managing just the realworld network stack alone is a Tall Order see what I did there? :D >That kind of needs a headless browser type deal and you'd need it to interface to the browser somehow. Like I said one can use Selenium or Puppeteer but only if using a modern supported operating system. You literally couldn't find a better place to start than mastering the opensource curl library then. Its banged on at industrial scale more than any other single library in history AFAICT, and forms the basic substrate upon which many (if not most) networking toolsets begin life. >tl;dr If it will run C, then it probably can run curl as well. <---> >In my case it is almost not even really that optional. You're preaching to the choir here. I've had these exact same ideas for our general purpose information retrieval systems from before our opensource Robowaifu Foundations library even began to take shape (from before /robowaifu/ even started, in fact). Those goals are just as valid today a decade later, and are well-encapsulated as a concept from within the scene in Chobits more than a decade before that. To wit, the command: >"Sumomo, find good bathing software." ( >>14409, ... ) Your basic idea even goes back many decades before that through both the research Literature & pop media. So, long before the """modern""" Internet (with all it's enforced (((woes & ills))) ). So I suppose, good luck to us both -- indeed to us all -- Anon. Cheers. :)
Edited last time by Chobitsu on 03/06/2026 (Fri) 13:26:55.
>>44077 I already successfully implemented managing the real-world network stack mostly from scratch, removing the need for a higher level approach like curl. I did use OpenSSL though. I used Winsock for the socket stuff. But yeah your post seems to assume I still have that major challenge ahead of me and may not be aware of how hard it will be. Already lept over that hurdle and am onto parsing html returned by web servers like gmail in response to my get requests. Parsing html and javascript responses from servers is my next series of hurdles now and I plan to do only the minimal amount of this in a barebones way.
>>44080 OK sounds good! Looking forward to a good report from you soon here on this, Anon. Cheers. :)
I got together my temperature sensor and my hot plate and my glass container and some water and figured out where on the hotplate temp dial I need to be to get the desired water temperature. I then used label paper sticker and marked it off and wrote 118f on it which is the average temperature of that spot on the dial. It has about 15 degrees variance I think up or down. Good enough. Next, I mixed up a batch of water and PCB etchant (Ammonium Persulfate crystals and water mixture) using a postal scale to get the ratios right. I mixed it into the bottom third of a wet ones baby wipes container. It was 0.8oz total. Then I submerged the etchant mix into the warm glass basin of heated water to bring it up to temp. I noticed the etchant wet ones container wanted to tip over so I used scotch tape to tape it off in all 4 directions to the glass container and pull it under water a bit too in order to maximize temperature transfer from the hotter outside water into the etchant container contents to warm it efficiently. I skipped the automated agitator entirely opting to just stir the mix with a hot glue stick manually. All in all, it did etch within the 5 to 8 minutes range and I think etched even faster when the temperature was closer to 130f - closer to 5 minutes then maybe even 4 minutes I didn't time it. It was lightning fast compared to room temperature etchant which took 2-3 hours to etch a single board. So indeed, the instructions that said room temperature is fine were wrong. All that leads to is undercutting. Anyways, with the stirring and the warm temps my results were significantly improved and almost every board was usable. I produced 8 or 9 in total. Enough to do at least 2 motors and part of a 3rd at least. So plenty for now. I had still a tiny bit of undercutting on the fine traces, but rarely enough to break their continuity. I will make the traces slightly wider in Photoshop for future prints with the expectation that around 15% of the outer edges will be removed so we print wider to compensate and then the result will be the width we wanted in the first place after the undercutting has done its thing. This way the undercutting is worked with and non-detrimental. That's my planned workaround for it. In the rare instance of pinholes randomly in the center of pads or traces or a tiny open circuit on a thin trace, I am confident that a coating of solder over all of those areas will correct that. These little holes and whatnot are microscopically small so very easy to solder bridge as needed. I think for the most part my boards are almost all fully usable as is. I'm sure my methods will improve as I continue to tweak and iterate techniques over time - but the fact that we can already produce working circuits at this extremely fine detail and miniaturization level is already very encouraging. Any improvements from here is just icing on the cake IMO. My next step will be to solder on the half bridge IC chips using the method shown in this video - a method I think looks very impressive and sound and hopefully not too hard to replicate on my end: https://www.youtube.com/shorts/r-HaRjBvWgU
>>44097 Really nice work, Anon. Keep going!
Here's the center cutout now which was the last thing I needed to do before soldering down the chip. This access window will enable me to solder the main power lines to the main pads on the bottom of the chip. The circuitboard is aimed at tying into the various perimeter pins of the chip but this window is for the high power lines on a separate layer below. I was able to cut this window out with the highest zoom setting of my magnifier visor (I think like 20x zoom?) and an exacto knife. Quite a challenge but made it happen!
>>44108 Thanks for the update, Artbyrobot. Good luck with your final soldering.
So as I fast approach motor controller wiring phase, I figured I would revisit placement again. Upon further reflection I decided hovering midair motor controllers attached to nothing might not work as they'd perhaps be a bit in the way of getting at the motors and just be a bit overwhelming. I'm not positive on this and could revisit the concept but for now I'm thinking of just mounting it side saddle onto the motor again. I decided to place them side by side with inlets on the output shaft end and outlets on the BLDC motor wiring's end. I drew this sketch of the layout and wire flow as a visualization aid.
>>44111 Having a nice compact size certainly increases your options for placements.
Ok I used the tip of my exacto knife to carefully scoop on low temp solder paste and then carefully drag soldered it over the key areas I wanted pre-tinned. There do not appear to be any short circuits and the amount of solder on each pad and trace seems a decent amount to me. I forgot to wipe it with alcohol wipe but have done so since taking this snapshot. The next step is I have to carefully uv cure solder mask that little trace runs under the IC chip. It definitely will short a pad to something I think if I don't. I have to apply it very thinly so it doesn't prevent IC chip from seating flat and soldering into place well.
>>44206 Nice work, Artbyrobot. BTW, here's a nice example of laser etching a smol PCB. Watching it certainly made me think of your project work. Good luck, Anon. Cheers. https://trashchan.xyz/robowaifu/thread/26.html#1439
Edited last time by Chobitsu on 04/08/2026 (Wed) 17:24:18.
So the plan I have for the heat sinking main conductors that attach to the bottom pads of the IC chip I decided to draw up to explain it. It will be in layers. First you have the chip on the bottom facing bottom side up so the pads are exposed upwards. Then on the first attachment layer I cut out matching shaped copper plates from copper sheeting and solder that down with low temp solder paste and a soldering iron. In theory, this first layer attachment will basically just be extending the pads up past the viewing window of the DIY PCB with cutout viewing window we've made so far so that the DIY PCB we made so far and this first layer of copper plates together act as layer 1. Ideally the copper plates would be slightly proud of the printed PCB in height I think. This first layer copper plates that we are soldering onto the pads of the IC carries the current and the heat sinking to layer 2 without the need for vias. In a multi-layer PCB made industrially, vias would take the heat sinking and current to layer 2 of the board and we are just using solid copper plates instead which should be even better than vias because its solid copper instead of just via holes so more surface area than vias would offer. Now on layer 2 we can create a much larger sheet that extends out past the PCB way off the chip and that portion that extends way off the chip acts as a tab we can solder the V- wire to. It also acts as a tab we can solder our 6 strands of solder wick wire that act as heatsink fins to. Layer 2 also has a plate that brings the V+ to layer 3. For layer 3 we just attach a large sheet of copper which also extends way out past the chip and acts as a tab we can solder our V+ wire to and our heatsink solder wick wires to.
>>44412 It will be interesting to see this assembled.
Hey Larry, if you're going to post hate comments, at least have the balls to put your name by them. After all, lying is a sin https://boards.4chan.org/diy/thread/2984255/i-created-the-galatea-multipurpose-companion-maid
>>44493 aside from my initial spat with you about your project, I have not commented on it and I'm not interested in discussing it further. I do know you suspect others sharing my view are me but they aren't and no, I don't post as anonymous on 4chan except like one time on accident I didn't fill in the title bar after a browser cookie reset or w/e. I have no reason nor motive to hide my identity to discuss your project and if I wanted to criticize it I'd be fine doing it with my name shown.
Open file (396.31 KB 1080x1422 totallynotart.png)
Anyway, the Big C ordered us to not fight. That would be what the evil enemies of Christ want.
Ok so the Relife RL-UVH902 UV fast cure solder mask order has arrived and so has my order for a Relife UV curing light to cure the solder mask quickly and effectively. So now I just need to solder mask off that little trace that goes under the half bridge IC chip.
>>44700 Intredasting. Please let us all know how this works out for you, Artbyrobot. Cheers.
Ok I managed to apply the UV solder mask today and it seems like it worked quite smoothly. I used the tip of a small sewing needle to spread it over the trace and then held the UV light on it for 10 seconds to play it safe. I used transparent UV solder mask so you can still see the trace but its a bit more murky/cloudy when you see it. I used the tip of an exacto knife to put little scratches on the UV solder mask to test its thickness by feel and test its durability a bit to scratching. And ensure it was fully cured. It was very hard and durable and seems to have gone on fairly thin. The question is, is it too thick/proud of the surface for the soldering on of the chip over it? This is the million dollar question. Because if the mask lifts the chip up off the PCB even a tiny bit then the soldering may not reach between pads on the IC and pads on the PCB, failing to bridge the distance. That is my main concern. If I have any issues with that, I will have to reroute this trace to go around everything rather than on the shortest path like it is now. The shortest path leads it under the IC and led me to have to mask it. Extra steps like this are a bit annoying. I kind of wish I just routed it around everything out of the way more. Then I would not need to UV solder mask at all. Perhaps in a future board iteration I will do this improvement but we'll see. For now I made several boards and want to stick to them since it would be more work to remake them all.
Ok so I had multiple failed attempts to solder the chip on. Despite pretinning the PCB, on both attempts when the solder went molten the chip did not center itself and lock into place as would be expected but instead slid out of position significantly both attempts. After the first attempt I assumed it was the outlet bus/landing pad on the left side of the board that was to blame - it being a larger solder mass than the other solder masses on the other edges of the board - causing the chip to slide its way harder and pulling it off center. However, even after cutting off that part of the board entirely and trying again I still had the chip slide out of place during reflow attempt. It's unclear to me the cause of the issue at this point. I put on AMTECH tacky flux that expired in 2022 onto the pcb and then placed the chip as close as I could to centered and then put it onto a hot plate for cooking food or boiling a coffee pot those AC electric hot cooking plates. I had the heat set to max on there. The first time I had the board on the whole heatup time period and watched it gradually smoke off flux vapors and eventually the solder go molten and then I switched off the hotplate but it didn't matter since the chip slid 5mm off center. The second time I added it after plate was much hotter to avoid so much flux burnoff during the heating up process. I also added some flux while it was molten after which time it slid off center. Perhaps that was my mistake? Not sure. In any case, after the failed second attempt I cleaned everything up really well and chose to hand solder it. This seemed to go better. For this process, since both chip and PCB were fully tinned and no shorts to my knowledge, I proceeded to line up the pins the best I could under max magnification and then while pinching it in place I held my solder iron tip onto a trace near a pin for 5-6 seconds to get the solder very hot and hopefully locally heat the whole trace up to and under the IC's pad. I did this for trace after trace. Then to clean up since it was I guess cold joints at this point I applied flux and drag soldered all around every edge. This cleaned up the appearance and got all flux properly seated on traces since it was drifting a bit in the previous step and looking quite sloppy and bad. I did not want to have flux involved during the initial alignment phase and tacking down phases because once that is on I cannot see well the alignment from the sides since the flux blocks my view. Even without the flux its hard to see the traces and their alignment with the pins of the chip. The chip does not have pins is the problem. It has pads on its underside and little pads on its sidewalls. I have to use the sidewall pads as to verify the pads on my pcb line up with those and any flux in the way prevents me from seeing this clearly even with max magnification on my visor. So anyways yeah, this whole thing was a bit of a disaster but MIGHT have ended ok in the end. For now hand soldering instead of reflow looks like my best bet at least until I can figure out what i'm doing wrong... Note: I'm not sure if the flux expiration matters I haven't looked into what that means for performance. Note: I still have no way to verify all joints are good until I test the whole finished PCB I guess. And my confidence they are all good is a bit low. Sucks that I have to invest even more time to finish the PCB while doubtful it will even have reliable connections at present ugh! Note: I had to remove the trace from the previous post that ran under the chip because during my reflow and cleanup from failed attempts while cleaning some of the solder mask came off and I just wanted to remove that potential short or source of issues as a variable entirely for now. I can always run a bodge wire to reconnect those two points of the board later on.
I wanted to be able to get in there and test this board for shorts and check all traces for continuity with my multimeter but felt its leads were too big for this tiny of a board setup. So I came up with this idea to use alligator jumper cables to attach sewing needles to the multimeter probes thereby making the sewing needles the new probes. This way I could get into the tiniest areas and run the tests I wanted. It worked pretty well! I have now tested everywhere quite thoroughly and everything appears to be in working order. No short circuits and continuity in all the places there should be continuity. So now I can proceed to running my bodge wire and soldering on the various resistors and capacitors and then running a electrical function test. I will probably use jumpers to the VIN and Vout and GND for this test. Then if it passes the test I can attach the big bus lines which is a bit more involved.
>>44928 Clever idea, Anon. I would point out that if you have access to a supply of smol-sized injection syringe needle heads (they can be purchased separately) then they make an even better, more-reliable solution for this need. Good luck, Anon. Cheers.
I soldered on the rest of the SMD components. I noticed the PCB peeled back off the chip in one corner though so I plan to use kapton tape to tape off everything but that corner, use a couple alligator clips to pinch the PCB onto the chip tightly so it can't move, and then use hot air from a heat gun to reflow that corner so it reattaches to the PCB. Once that is done, I will attach jumper leads to the 6 inputs/outputs so I can run a full proper test of the whole circuit using a lab power supply and a multimeter.
>>44937 Pretty cool that you are making your own PCBs Be careful, the 470 resistor looks like it's unintentionally bridging
So the corner of the PCB that peeled back from the chip was a problem I decided not to tackle with a heat gun. I just don't feel too comfortable using a heat gun at this stage. Instead, I decided to remove the capacitor in the way and just hand solder the chip back on. That went smoothly. Problem solved. That said, to remove the capacitor I envisioned using hot tweezers to grab both sides and lift it off. I did a search online to see if such a device exists and sure enough it does so I bought it! It worked great. A bit pricey at a bit over $100 but worth it. I loved using it to not only remove the capacitors but also to solder them back on in a single motion! Once I get good with this hot tweezers I imagine I'll use it all the time for soldering and desoldering both. Also the bodge wire I pictured in the last post it turned out involved a bit too much solder on one end which was causing a short circuit bridge between nearby traces so I had to desolder that, remove the capacitor there, remove solder, then resolder it all again. A total pain but no more short circuits. Everything seems good in that department. Next, I decided that to prevent the flex pcb coming off the IC chip again, I should use UV cure solder mask in a glob as glue to glue the board to the chip to stabilize it and prevent more mishaps. So you can see I did that on both sides and I also used solder mask to glue on the other half of the PCB that we had removed earlier during troubleshooting. So now the whole PCB is in tact again! It is really starting to come along. Attaching jumper leads to the 6 inputs/outputs to run a full proper test is coming up next.
>>45000 Naicu. How durable will that solder mask be do you think?
>>45001 I am unfamiliar with it so I don't know. However, I did see a professional repair guy use it to glue two halves of a broken ribbon cable back together and these flat flex PCBs are the same thing so I like my chances. Plus these PCBs of mine aren't meant to flex I only chose flat flex due to it being slim to save on space taken.
Here is a revision to my schematics where I run the trace that I had been running under the IC chip instead going around everything to avoid going under the IC chip and the problems that creates. This creative rerouting of that trace also meant I had to get clever with my other traces to compensate and so I had to have one trace jump over another trace at one point and to do this I used a 0 ohm resistor as a jumper bridge to cross over with. In addition to these changes, I also moved the capacitors a bit more away from the chip and eachother to prevent short circuiting from sloppy soldering issues and also just make it easier to work with in general. Also, since the chip had come off the PCB in one corner, I decided I should beef up the number of connections to the chip's outer pads onto my PCB so I added several more attachment points which will help secure the chip to the PCB way better now.
On the big output landing pad on the left, I separated the attachments to each individual pin for the chip's motor output phase rather than have the landing pad be one big blob. This encourages auto centering. Something I had not considered before until someone pointed it out. Such a simple change but so obvious now that I had it pointed out to me!
I was informed that even unused pins on the chip should have copper landing pads to solder to which will even out the forces when the whole pcb goes molten and chip is trying to auto center! It makes sense! So I added those.
I soldered on 30ga wrapping wire for testing the PCB. The 3 on the front are 5v+ from microcontroller that tells this IC to be in "on" mode, ground from microcontroller, and PWM from microcontroller. The 2 on the back side are +8v and 0v/gnd from the batteries. This was shockingly quite hard to attach these. It's all so dang tiny. Every time I soldered on 8v+, the 0v would fall off because the rear pads of the chip both get hot together. Ended up having to use uv cure solder mask to tack down one then do the other one so that even when both went liquid, the one not being worked on was pinned down with mechanical strain relief so it didn't just fly off when things liquefied. So annoying. And I hate to uv solder mask "glue" into place wires that are just there for testing and very temporary ugh... Anyways, its done, no shorts, seems ready for the test now. I did not bother with color coding much as this is extremely temporary for the quick test to ensure everything works. Note: I think this is the first time I'm showing the rear of the PCB with its exposed major power pads visible and accessible through the viewing window I cut into the bottom of the PCB. These will be where the major power busses attach. These buses will be manually soldered on with thick copper strips I cut from a roll of pure copper sheeting. Those thick buses will also be the start of my thermal conduction pathing to draw heat away from the chip. It has to run 20a continuous so it will get alot of heat that has to wick away.
>>45019 >It's all so dang tiny. Are you using a microscope, Artbyrobot? I'd recommend a good quality 10x or 20x widefield binocular scope for such smol work. Good luck, and keep us up to date here with your progress Anon.
>>45022 I'm using a visor magnifier. A microscope would not work as that is table mounted and I work in a reclined seated position in my office chair using my chest and stomach as my table. Picture working on things while in a recliner while laying on your back which is more or less my posture in the office chair.
>>45023 Ahh, that makes sense then. Good luck, Anon.
Ok so I ran the test of my PCB and try as I might the PCB was dead. Totally non-functioning. And to make matters worse, I would not have any clue of where the issue is. Could a static electric discharged have bricked the IC? Could some pad have a microscopic open circuit in its joint with the IC? Could there be a hidden short or open circuit somewhere that happened at some point? I simply have no way to know or test or find this issue. And this got me to thinking... maybe a bit bigger integrated IC chip would be better as you can visually see all connections, things are not so hidden between a chip and a PCB and impossible to inspect, you don't have hidden pads on the bottom to tap into, etc. I had seen some bigger integrated half bridge IC chips like this before and decided to investigate an alternative rather than start over or try to diagnose this failed PCB endlessly with hardly any way to even go about finding what was wrong... So after some shopping I found the BTS7960 integrated half bridge IC chip. https://www.infineon.com/assets/row/pub ... 6d5d&ack=t It has TO-263 form factor so this means actual pins come off the chip rather than having to try to solder to some tiny pads on the chip like we were dealing with on our CSD59950RWJ QFN style chip in my last post. This means EASY access to visibly see your solder joint, clear and large separation (comparatively) between traces, shorts being practically hard to achieve comparatively, and the need for microscopic precision of soldering and DIY board etching eliminated, the step of cutting out a viewing window on the bottom of the PCB to create access for manually soldered bus copper strips eliminated as now everything is truly single layer compatible with no need for a bootlegged DIY multi-layer strategy. So essentially, now my PCB etching can be VERY crude comparatively, so much so that even printing the PCB and transferring the print to the copper before etching becomes completely unnecessary. So much so that we can either manually just draw the PCB etching configuration with oil based markers or cut out the pcb traces/pads with a dremel by hand since everything is so big and crude we just don't need the precision to be much at all now. Everything is easy this way. Now is there a tradeoff or something we are losing? Not really that I can tell. These are 14mm long (including the pins)x 9mm wide and 4.4mm tall. I checked this next to my 2430 BLDC motor and 3 of these will still fit comfortably side by side along the can of the motor just like I had planned for the QFN chips. Also, the QFN chips after considering the breakout board PCB added length and width ended up close to the same dimensions all told as the bigger chip is so not a huge space savings there. And space savings are only relevant if they solve a space constraint. These bigger ones if they fit my constraints are not a liability or downside just for being bigger. The reduced manufacturing steps, complexity, and difficulty makes this far easier and faster to work with. It still offers 40a continuous which is VERY good and more than needed by a large margin for my motors. Also they were only $1.20 per chip which is about the same price point. So $3.60 per motor which is great IMO. Now these are discontinued/obsolete but I don't care the to-263 form factor and similar outputs is something I can find in other chips for similar pricing I believe so that won't be an issue I will be able to pivot later to those other options if needed later without any major design changes so its not an issue for me. Does this mean I gave up? No. I basically just decided that trying my best, being very thorough and meticulous and careful I still somehow ended up with very hard to troubleshoot total failures this early in testing then really working with this QFN part is NOT that DIY friendly on a DIY PCB and starts reaching the limitations of what is practical. Even if doable it is hard enough to make it very hit and miss and time consuming and not worth that extra effort unless its necessary or there is not a far easier path that gives the same results faster/easier. And I now have a way faster and easier option that gives same results with NO tradeoff that is meaningful or moves the needle at all. So I ordered 25 of these chips off aliexpress for now and 4 of them off amazon to work with while aliexpress is shipping slowly here. I'll have the 4 off amazon tomorrow while I wait for the larger order. I do this trick often paying more money for faster shipping on amazon while I wait for my slower shipping order at better price point in bulk to come and this avoids downtime waiting for shipments. Oh and one more thing: I am considering going back to deadbugging with no PCB at all since this chip is so big and easy to connect to the chp itself can be considered to BE the PCB then. I'll just solder my wires to it then and not bother to even have a PCB. The PCB was moreso a way to breakout off the chip and give decent size solder points to connect my wires to etc but now that the chip is way bigger I don't need to breakout from it with a breakout board and can just attach the wires to its pins directly I feel. I can use 30ga wire wrapping wire to wrap to its pins for control wiring and use beefier wire soldered directly for power stage wiring. I might go with non SMD decoupling capacitors and resistors as well now. Note: the amazon chips I bought as part of a module board for a h-bridge brushed dc motor driver setup. The idea there was to desolder the chips from that board to use for my project as that board is WAY too big for any practical purpose in a humanoid but its the two chips from that board that we are wanting to rob off of it.
>>45076 Glad to see you found a good solution for this, Artbyrobot. >the BTS7960 integrated half bridge IC chip So a quick perusal reveals that Infineon has discontinued this specific chip, and recommends a newer alternative: https://www.infineon.com/part/BTN8982TA However, there are still plenty of alternative sources for the older chip out there rn (such as your package in pic#2). Good luck with the new direction, Anon. Cheers.
Ok I made my circuit design for my BTS7960 integrated half bridge IC chips. I plan to go with through hole passive components (resistors, capacitors) and use deadbug style so I can skip making a PCB this way. This will cut out that significant step and save time IMO. If I have trouble or determine later a PCB would make things go faster I can design and make one but I am happy to have a break from that for the time being and just go with deadbug again. I like deadbug method alot and think it can save time in some cases. We'll see.
Open file (318.33 KB 816x442 cheap-esc-small-too.jpg)
Ok so I had someone point out a very very small very very high amp ESC to me that actually would be viable from a space taken standpoint, however, it was $48 shipped which is WAY too expensive when I can make my own motor controller for $4 in parts. However, I did a search for that ESC on amazon and a very similar ESC popped up that was around same size but made in china with no US middleman and cheap amazon prime shipping which dropped the price to around $11 shipped per ESC. Now THAT is viable from a price and size standpoint - well only BARELY viable it still is around 3x the price of going DIY controller from my last post. I pulled the trigger and bought 4 of them in a package deal off Amazon. I can use them to control BLDC motors for unrelated projects at the very least but also they provide alot of value just to dissect them and see what components it uses and the fabrication techniques they used and build quality etc. I can learn a lot just by studying them in person up close under a magnifier visor. Now, this thing runs 7.4v - 22.2v which is perfect for my 2430 bldc motors (8v 24a motors). It handles up to 45A which is perfect for my 24A BLDC motors with lots of amps to spare. It is plenty small enough at 5mm height, 28mm length, 13mm width, I can mount this on the side of my motor. It saves a TON of time soldering and mucking about making a controller. But the one issue remains: this has firmware designed for drones. That means it does not have go to this position and stop and hold there. It doesn't have go to this position and pulse this phase at 50% throttle so the finger becomes more compliant or pulse at 100% throttle so finger is max stiff while holding in that position. This concerns me and makes me think it may not be viable then. I hate to have to PWM to a third party firmware and hope it does something approximating what we want. That's why I prefer a power stage where my microcontroller interfaces to that power stage directly controlling every aspect of the commutation phase by phase. That said, at this price point this can't be ignored at this time too. I can make a similar custom design and build this myself or I can try to hack into this where my microcontroller taps directly into its power stage bypassing its onboard chip and firmware or I can try to write a new firmware for it and overwrite its firmware or I MIGHT be able to find commands in its firmware where I can do something similar to go to this position and hold there type commands somehow? There might be SOMETHING I can do here MAYBE to get it to perform how we want in software although chatgpt was saying not likely but what if? I did read something about a braking command maybe I could use that command as a replacement for a "go to this position and hold" type of command? So chatgpt was against this approach but at this very attractive price point, size, simplicity, it is worth exploring at the very least IMO. It could be yet another nice pivot if we can magically manage to make it work somehow. Could be a bit of a game changer perhaps. And at the very least it is bringing in yet another tool, yet another option, another approach for the toolbox. That is helpful. The more methods we find the more we can apply the best method for each motor on a case by case basis for our 300+ motor robot.
Open file (197.36 KB 541x708 cheap-small-ESCs.jpg)
It occurred to me I might be able to find more cheap ESCs in this size profile on aliexpress and I did find some offers that were far cheaper than amazon. The ones I bought on Amazon were'n't too bad on price but these were alot cheaper but take longer to ship from china on aliexpress. Here was my haul of 11 more: Also pay special attention to the first ESC in that list. It is for $3.25 each SHIPPED and that is CHEAPER than the cost in parts to make my own motor controller from parts. Now THAT is a deal!
Ok so with these off the shelf ESCs in route to me, I decided to go digging into what their behavior might be and how I might modify their behavior to fit what the robot needs rather than what a drone needs. Firstly, these ESCs run a firmware called BLHeli_S which is open source and is downloaded/flashed onto their onboard microcontroller via the two signal wires coming off the ESC. Now in a typical drone/quadcopter setup a separate microcontroller called the "flight controller" usually sends commands to each of 4 ESCs to get them to flight a little harder or a little less to achieve the right balance of the quadcopter or w/e or accelerate or w/e. The commands are throttle percentage and brake from what I gather. The analogy for these commands is they work the same way you use the gas and brake pedal of a car. So the gas pedal commands are press gas pedal hard or soft etc and that results in changes to acceleration and speed of a car. So you don't command the acceleration and speed directly but instead command the pressing of the gas pedal harder or softer. The brake command I believe is more stock though - it doesn't have a brake hard or soft but only a brake command I think. That's not good so we'd want to implement a change to make the brake command able to brake harder or softer just like the throttle command lets you do. In my setup, my arduino is going to be sending these commands to the ESC microcontroller just like the flight controller usually would. So my arduino is like the flight controller even though we aren't doing flight here. Anyways, the next issue is once they do brake enough to come to stop, they shut off power and go into a standby mode. That is no good. For a robot we'd want to brake enough to stop the rotation but once stopped we'd want to actively hold the joint of the finger say in place, not just have the finger go limp the moment it arrives at its desired joint angle. So that too needs to be added to the braking behavior. Another issue is that once the motor has not crossed a zero crossing back emf event for a certain countdown, it determines that the motor is stalled, and once it determines it has stalled for enough time, it gives up and shuts off, then periodically runs a start sequence again hoping to get unstuck. This is NOT what we want for a robot. When a robot finger contacts a obstruction, we want it to keep pressing on it indefinitely as that obstruction could be gripping a cup of water and that was exactly intended that the motor keep pressing at same intensity as it grips the cup. It is NOT to independently say ok we are stalling on this cup of water lets let go. That is fine for a quadcopter whose blade is stuck against a tree branch but NOT fine for a robot finger holding an instrument. Making the decision to let go or press the same firmness or press harder or press softer and how long to press is up to the arduino "flight controller" or even the higher level PC running the robot, NOT the microcontroller on the drone. That decision is above his pay grade. He needs to just keep pressing in that case and await further instruction beyond that. So that behavior also has to change. There may have been one or two other mods I wanted but those were the big ones that came to mind. Edit: actually one more thing: since we now have the motor when stuck just endlessly press waiting till it hits a zero crossing event, we have to first make sure it is listening for incoming commands during this endless waiting period and we also have to be able to command it to press harder or softer or reverse. However, if it is stuck because of some bug or quirk where it was advancing as normal then an obstruction pushed it backwards a bit and now it is waiting endlessly to detect a move forward that will now not happen since it is just commutating the same commutation step PWM endlessly and not attempting any further rotating of the 6 commutation steps anymore, it could just stall forever. So to fix this, we want to create a nudge command that essentially forces into a restart sequence that attempts to actively rotate the motor a full 360 degrees. This would break it past whatever infinite loop it had entered by accident. So basically this is the arduino flight controller's way of saying ok you aren't moving and should be, try to restart - the same way it would behave if it had determined it was stalling in its stock code but in this case the determination to try to unstuck is being made by the higher level microcontroller rather than its own firmware.
That being said, BLHeli_S firmware for the drone is almost universally upgraded now adays to a open source upgrade called BlueJay. You simply hook up a arduino to the two signal wires of the ESC, then plug the arduino into a PC, then you use a software suite calls BLHeliSuite I believe to flash whatever new firmware you want onto the ESC's microcontroller and boom, you have your modified firmware on the ESC and its behavior is tweaked. So using that workflow we plan to replace BLHeli_S with BlueJay, HOWEVER, the mods I mentioned in my last paragraph must be made to the BlueJay firmware before we can flash the modded version of the firmware onto the ESC. That said, to mod the BlueJay source code, one must first download the full code repository of BlueJay from github onto their desktop PC and then use notepad or w/e to view and edit the code which is stored in .asm files. The code is about 20 files and the total lines of code in the firmware is about 3k lines I think. All written in assembly language. Yuck. Then once one has modified the code to tweak the behavior as I've laid out, then one must convert the .asm files into a single .hex file which then must be flashed/downloaded onto the ESC. The conversion of the .asm files into a single hex file requires one to download the "Keil® PK51 Developer's Kit" which you can only download if you register an account on silabs.com. That kit contains the necessary 3 executable files that do the 3 conversion steps that convert the .asm files into a single .hex file. Those 3 .exe files are an assembler, a linker, and a hex converter. On windows I will have to run each of these .exe's using the command prompt to run them on the .asm files to convert to the .hex file. Or to make it a bit easier one can create a .bat file that runs the command prompt commands sequentially one at a time for you and so you double click the .bat file and the .hex file is made - boom done. That said, I downloaded that developer's kit and downloaded the github repo for bluejay and have studied the code with chatgpt and began formulating enough understanding of the codebase to begin plans for how to modify the code in the ways I mentioned without breaking the code. This way that codebase can be repurposed into a humanoid robot appropriate variant of an ESC rather than a quadcopter variant. This process is ongoing. I also want to credit chatgpt that 80% of the steps to get this far into this process were largely directed and assisted by chatgpt and would have taken me ages to get this far otherwise. For example, I thought maybe I'd learn how to change the firmware via youtube videos and the first video I saw was discussing the company history behind the company that originally developed and maintained BlueHeli_S firmware. It then went into details of that company's legal problems and politics and world events surrounding decisions that company made. I had to stop and leave the damn video. Holy crap I do not care I just want the ESC to work on my robot WTH! So it was back to chatgpt where I can just get the necessary info I want and not hear a million unrelated things that make me FORGET the original question I had to begin with. I just want my questions answered quickly and concisely so I can figure out what I need to know right away to then get to my next question that the first question pertained to and thereby in a uninterrupted flow of Q&A I can figure out exactly what is going on, what I need to do, why that is the best route to go or if there's a better route, etc. Note: I did consider just coding the firmware from scratch but after learning as much as I have about the existing firmware, it is VERY involved and complicated and clearly alot of time and effort was put into it and it is useful in many ways so at this time I think its best to try to mod it. But if modding it proves to break it and I cannot mod it successfully without screwing it up, I may have to rewrite it from scratch. It can be very hard to modify someone elses large and complex codebase for ME. I have rarely done this successfully and usually give up quickly due to being overwhelmed and unsure where to even start and unwilling to deeply learn their codebase enough to begin the mod to begin with. Other people's giant code bases tend to feel like a impenetrable fortress and tangled mess and making any change is not only a matter of finding the needle in a haystack of where you need to make that change but also understanding every downstream impact your change will have on other unrelated parts of their code so as to not break something else the moment your change goes into effect. And this feels impossible to do without reading their whole codebase and understanding it fairly deeply. Which is a HUGE time investment that borders on the same challenge difficulty of just rewriting the whole codebase from scratch. Its HORRIBLE. But with chatgpt's help MAYBE I can pull this off in a reasonable time-frame without too much pain. We'll see. I am NOT a big fan of assembly language coding but here we are. So I'm in this now. I'm committed. We'll see how this goes. I will probably wait to get the ESC to make significant changes to the firmware. I think I should make the code change then test it on the motor/ESC in a live test to see if the behavior changed and if the code all still works. If it does work then I can make the next small change. I can rinse repeat this until all changes are made and working. That is the plan for now.
>>45087 >That is the plan for now. Godspeed, Artbyrobot. These ESCs look quite suited to many of our needs. I hope you can figure this out, Anon. Cheers.
Ok so after further consideration I decided that the idea of adding significant modifications to a 6k lines of code 20 file assembly language behemoth firmware developed by a big company was just not prudent for me. I need to be able to go in there and add tweaks and improvements for years to come and maintain my code there. The firmware of the ESC is absolutely essential to get just right as it has a massive impact on the performance of the final humanoid robot. The speed and fluidity of movement, the amount of strength, the amount of acceleration, it is all impacted by this. This is just essential. And assembly language is not in my wheelhouse. I am very inexperienced with it. So I officially decided to simply scrap their entire firmware and start from scratch coding firmware for it in C language. I have begun that process and so far so good. I will say though that the Keil PK51 Developer's Kit is an evaluation version and is necessary to convert the C code into the .hex file the microcontroller needs. The evaluation version limits your code size to 2kb which is unacceptable. To get the full version and get that restriction unlocked you have to fill out a form on their website (silabs.com) and they send you a code by email and you can then use that to unlock the software fully. So I did that and am now good to go on that front. While beginning this long journey, I also have been figuring out how single wire bi-directional communication between my arduino "flight controller" and the 8051 Busy Bee microcontroller on the ESC will be able to talk back and forth. I decided to make a custom communication protocol from the ground up for this which I will also then use for all communications between all of my various microcontrollers in my robot's microcontroller network throughout its body. So working out the details of that has also been a recent challenge. But with chatgpt's help I'm making steady progress and have a nice overall plan already. Things are moving along nicely.
>>45095 Very intredasting, Anon. I understand your desire to avoid assembly in favor of C. Very sensible IMO. But devising your own comms protocol from the ground up? This seems a bridge too far to me. Not only is it reinventing the wheel (for no real benefits, AFAICT) it's also going to make this solution brittle. Unless the need is explicitly accounted for, interacting with standardized systems using well-established protocols will likely be impossible. Why not accommodate I2C or CAN protocols instead?
>>45095 >>45096 BTW, this is a great resource for CAN Bus: The_Car_Hacker's_Handbook_-_Craig_Smith https://trashchan.xyz/robowaifu/thread/26.html#1000 I highly recommend you at least go over Ch. 5 of the book in detail before committing to some custom protocol.
>>45096 I just felt that existing systems have their own quirks and learning curves and making my own from scratch would make it far easier to understand it and I can modify it to overcome the problems I run into whereas off the shelf ones may have limitations I'm stuck with and problems I don't have the ability to adjust easily since its more black box, verbose, hard to understand, and not easy to modify. Now if I have to interface with a third party firmware, I can still do so with a standard protocol. But if I'm interfacing between my own microcontroller to my own other microcontroller that both were coded by me, then using my own protocol is more natural. Plus chatgpt knows everything about every protocol so he'll make sure I put in the necessary stuff from each relevant similar protocol into my own to ensure it has those important features. I just don't like mixing other people's code into my own codebases generally. The time it takes to learn theri rules and how to use could have been better spent making my own protocol and my own rules and in some cases ironically the latter can even be faster and give you a deeper mastery. Note: I don't think a custom communication protocol is a big programming project. This should be just a side note mini project I can whip up quickly.

Report/Delete/Moderation Forms
Delete
Report