Building a Programmable Robotics Controller With XBee, Arduino, 3D Printing and PCBs Part 1

Поділитися
Вставка
  • Опубліковано 6 чер 2024
  • Here's a fully programmable, battery powered, arduino controller which uses XBee to communicate wirelessly with any project you can think of! It's a work in progress, check back for the final thing!
    PCBs for this project made with JLCPCB: $2 for 1-8 Layer PCBs, get JLCPCB $54 new user coupons jlcpcb.com/?from=will
    Support me on Patreon! / nilheimmechatronics
    Discord Server: / discord
    Contact: enquiries@willcogley.com
    GitHub: github.com/ikkalebob/NM-bioni...
    MatterHackers site: www.matterhackers.com?aff=7517
    MatterHackers Silver PETG: www.matterhackers.com/store/l...
    MatterHackers Tough PLA White: www.matterhackers.com/store/l...
    Chapters:
    00:00 Building a Programmable Robotics Controller With XBee, Arduino, 3D Printing and PCBs Part 1
    01:23 Motivation
    02:17 Electronics
    03:26 PCB Design
    05:44 CAD Design
    07:07 XBee
    10:06 Next Steps
  • Наука та технологія

КОМЕНТАРІ • 73

  • @StormBurnX
    @StormBurnX Рік тому +4

    I love the idea of using a 3D printer for rapid prototyping the controller body (large layer size for fast printing) and then once it's dialed in nicely, creating a final version with really fine layer height (long-ass print but incredibly smooth) and then resin-dipping it for that ultimate surface smoothness... just my thought from seeing the thumbnail, anyway, time to watch and see what happens :D

  • @tinayoga8844
    @tinayoga8844 Рік тому +1

    More on surface mount. When a manufacture shows the pad size for a part they are assuming the solder will be paste applied through a stencil.
    JLC does offer a stencil service at a great price. But a stencil is not required for low density boards that don't use fine pitched components.
    (back to the pad size) The suggested pad size is often the minimum. It is assumed you want to cram as much together as possible. But if you are hand soldering a board it really helps if the pads are made oversized. I extend the pads where the soldering iron will be used to contact the pad. It helps to have an extra mm or two. It is more work modifying the footprints but it is really worth it when it comes to assembly. Even more so if you need to do any rework later. Maybe replacing a faulty switch. (more on this below)
    The soldering iron tip you used was ok but a finer tip would be desirable if you have difficulty soldering the parts. Smaller diameter solder also helps. I forget if I mentioned it in the last video but lead free solder sucks. 63/37 tin/lead solder has a lower melting point. It is what was normally used in industry before the EU put restrictions on imports of commercial products that used it. Lead free solder needs a higher temperature to work and even when it does the results look crappy in comparison to the leaded solder.
    I think you did a pretty good job in the design. It is always difficult getting multiple layered parts to fit properly together the first time. The 3D printed housing looks like crap. That's just the way it is with the layer lines. When you get the parts fitting the way you want then it would be worthwhile to put some effort into improving the surface before paint. Sanding, filler, repeat, sand then paint, the sand, then paint. I love the ability 3D printing gives us but it takes more effort into making it look good. Here is a video for inspiration. ua-cam.com/video/u0eKCRtysro/v-deo.html
    Cheap surface mount tactile switches. At one point we changed to some cheap switches. They were less than half the cost of the mane brand switches we used for more than a decade. We were buying 10,000 at a time so there was a significant saving, at first. The problem was the plating on the internal contacts. We found that after a while they were becoming intermittent. High humidity environments were part of the problem. We ended up switching to another brand (still cheaper than the first one we originally used) and we haven't had the problems since. Odds are you will probably not have the same issue but if you do you want to be able to replace them. (easier to do with leaded solder and larger pcb pads)
    As far as a smaller CPU board. I am a hardware designer. While I have done some programming for microcontrollers for products I am not a programmer. At one point I wanted to get back to doing home projects I decided to use the Arduino IDE because it was so easy to get started with it. The hardware was dirt cheap. There were tons of libraries, some good, some less so. I mainly use the ESP8266 and ESP32 modules because of the wifi capability. But I have also looked at the STMicroelectronics STM32F103C8T6 CPU used on a hobbyist board generally called the "Blue Pill". It has 32 IO pins available and I think it would be a good replacement for the large ATmega board. It is a 3.3 volt processor rather than 5 volts of the AVR parts.
    There are clones of the STM32F103C8T6 par being used on some versions of the Blue Pill boards. I have read they are ok, but have some differences compared to the original part. I don't have any experience with them. The "Black Pill" boards use a more advanced processor, STM32F411. The black pill boards only have the original part as far as I have read. I have some of these boards but have not had the time to use them in anything yet. They are higher performance than the STM32F103C8T6. Both are faster CPUs than the old microcontroller used in the ATmega board. If you were to use one of these the slower blue pill board would be better for you as it would use less power. Keep these in mind when you come to the point where you want to change to a smaller CPU board.

  • @lycanfpv9530
    @lycanfpv9530 Рік тому +1

    This is awesome I'm a hand amputee & I've been wantingvto get into building my own 1 handed controller

  • @drumbum7999
    @drumbum7999 Рік тому +2

    I just so happened to be fiddling with an esp32 and ps5 dualsense controller to control my robot right this very moment and just seen you uploaded this video. Brilliant!

  • @ToriKo_
    @ToriKo_ Рік тому +1

    I think the vision for this project is perfect and so commendable

  • @kevinmcaleer28
    @kevinmcaleer28 Рік тому +1

    Thanks for sharing such inspirational projects on UA-cam. I created a new Robot (Bubo-2T) based on the eye mechanism you shared how to build. I'm based in the North West too, probably a bit further west of Leeds than you! Thanks again @WillCogley

  • @saveplanet3977
    @saveplanet3977 Рік тому +1

    Mr.Cogley really enjoy learning from your videos. Once again thank you for disseminating knowledge.

  • @dadbear5316
    @dadbear5316 Рік тому

    I've wanted to make a controller like this for a long time, but never actually had anything to use it for. This looks great!

  • @AlynneTheFlorifant
    @AlynneTheFlorifant Рік тому

    Welcome back???? It's been years!!!!!
    EDIT: I'm so hecking happy for news

  • @Im_the_Trashman_
    @Im_the_Trashman_ Рік тому

    So happy this guy started uploading again

  • @vortexen3976
    @vortexen3976 Рік тому +1

    I would highly recommend using a teesny 4.0. they have essentially the same function as the mega 2560 but a lot smaller

  • @ValonDragon
    @ValonDragon Рік тому +1

    For making your 3D printed part smooth I suggest using woodfiller and sandpaper, then apply some paint to finish it

  • @technomindsindia
    @technomindsindia Рік тому +1

    I love it colour and design........ Specially these print layers are more beautiful than the smooth cad design..

  • @watchit9307
    @watchit9307 Рік тому

    just never stop uploading please

  • @mikhailpavlovskiy4100
    @mikhailpavlovskiy4100 Рік тому +2

    Will, thank you so much for coming back!! We’ve all been waiting for your videos so much!🫡🤙🤙

  • @martincastellano89
    @martincastellano89 Рік тому +3

    to improve the soldering a little bit you can use flux (it can be done really easily)

  • @sephirothbahamut245
    @sephirothbahamut245 11 місяців тому

    You can use a Teensy 4.1 instead of an Arduino. It's way smaller, it has incredibly greater processing performance, and has more analog pins than even the largest arduino that I'm aware of.

  • @hrofty
    @hrofty Рік тому +1

    Very nice project! I love when people explane their thougt process insted of just showing the final desing.
    For Analogue trigger buttons i strongly recommend using Hall Effect sensosrs and a magnets, Its much simplier and robust design then using pots. Ben Heck constantly rants about it in his vodeos and he have designed built and hacked hundreeds of controllers.

  • @robpalmer518
    @robpalmer518 Рік тому

    sooo glad youre back

  • @madcatandrew
    @madcatandrew Рік тому +1

    I am loving the Mega 2560 Pro Mini, that might be another thing to consider.
    Using one to drive a head with your eyes and mouth, some cat ears, and neck motors currently. Same number of pins but much more compact.

  • @fotmheki
    @fotmheki Рік тому

    For the trigger you can use a linear potentiometer instead of a rotary one

  • @netherstarbuild
    @netherstarbuild Рік тому +1

    this looks neat

  • @nathaniel7778
    @nathaniel7778 Рік тому

    As a cosplay builder i can say that you should print parts standing up so all the details are in walls and not as top latest. That way it's way cleaner and its easier to sand and paint for a clean finish. Hope that helps

  • @Ziraya0
    @Ziraya0 Рік тому +5

    edit: see madcatandrew's comment, mine has been made obsolete.
    The Arduino Mega is a lot bigger than it needs to be, I think you've demonstrated the skills to take a whack at taking the design files and adapt them into a different form. Especially if you used some internal layers, I think you could eliminate almost all of the empty surface area, potentially compacting the Mega by half. You could save some area by replacing the large sockets and the reset button with headers, which would also let you use remote sockets, placed wherever in the housing is externally appropriate, say on the side so you can have it plugged in while sitting normally on a surface. It might even be practical to fit all of these components onto the PCB that carries your joysticks; but I think you would find more uses for a compact mega in your projects

    • @standegrande3330
      @standegrande3330 Рік тому +2

      Another good alternative would be something like a teensy 4.1 or an esp-32... They're already very small so you would not need to deal with the hassle of designing a µC by yourself. And a nice bonus is that they are a LOT more powerful :D

    • @Ziraya0
      @Ziraya0 Рік тому

      @@standegrande3330 Smaller and more powerful but the Teensy has far fewer pins exposed compared to the mega, which seems to be a concern. There is the Adafruit Grand Central, a Cortex based Mega formfactor board, but it has a lot more components, and because the Cortex M4 operates at a higher frequencies, 120MHz instead of 16MHz, the trace layout has to be better to avoid noise problems.
      I think you could just take the public design files for the mega and make a compacted mega one step above trivially; but making a compacted M4 microcontroller board with 50ish pins, that is also any smaller than the mega, is going to be a challenge for most people, and a significant amount of labor for experts.
      That said, I very loosely remember certain M4 chips being capable of nearly 100 pins, 80~ GPIO. The sky's your oyster or whatever. I just think these are two very different endeavors.

    • @laupetre
      @laupetre Рік тому

      @@Ziraya0 A Teensy 4.1 has plenty of pins: 55 digital input/output pins, 35 PWM output pins
      18 analog input pins

    • @cavemaneca
      @cavemaneca Рік тому +1

      @@laupetre slight correction, but that's the total number of IO for the chip used on the Teensy 4.1
      The board itself only breaks out 41 GPIO to the edge of the board. A further 10 pins or so are available if you jumper wires directly to some SMD pads on the board.
      This is probably enough IO though for what Will is doing.

  • @simonl7784
    @simonl7784 Рік тому

    there are hall sensors that are 3pin and emulate a potentiometer. Because of their great sensitivity, you could mount magnets directly on your shoulder triggers. Cheers

  • @Inappropriatematt
    @Inappropriatematt Рік тому

    I’ll be watching the progress on this one like a hawk. Had nothing but issues with nrfs. I just have to make one small enough to hide in my hand. Luckily it won’t need as many outputs.

  • @artshurin
    @artshurin 10 місяців тому

    wow new sega dreamcast controller looks so awesome :3

  • @themakesmith4322
    @themakesmith4322 Рік тому

    Yes! He still uploads!!

  • @bartekdabrowski4224
    @bartekdabrowski4224 Рік тому +1

    For smd soldering use flux, it makes it a lot easier and by a lot I mean the difference between soldering something in 30 secs and breaking the board.

  • @transistorbrains
    @transistorbrains Рік тому

    Get yourself some decent magnification and your soldering will become a lot better. Also, SMD soldering has a steeper learning curve, but once you get it, it’s actually easier than through hole soldering

  • @HassanAhmed-zw2lt
    @HassanAhmed-zw2lt Рік тому

    Great content

  • @luke2642
    @luke2642 Рік тому

    Xbee looks simple but it's crying out for a wrapper library API where you can just send floats, strings, int arrays etc asynchronously and it just works and updates local variables or fires event handlers at the other end!

  • @sapiosuicide1552
    @sapiosuicide1552 2 місяці тому

    Incredible

  • @laupetre
    @laupetre Рік тому

    I would suggest switching from the arduino mega to the teensy 4.1 , it's way faster, and has plenty of pins

  • @TheTuddu
    @TheTuddu Рік тому

    Yeahhhhhhhhh dammmmmm ......... something fresh to watch......

  • @stefanguiton
    @stefanguiton Рік тому

    Awesome!

  • @JohnDlugosz
    @JohnDlugosz Рік тому +7

    BTW, the acronym "ASCII" is pronounced as a word, not an initialism. It rhymes with "pass key".

  • @nardhb
    @nardhb Рік тому

    Maybe it's easyer to use a hall effekt sensor for the triggers on the back. It woud reduce to only one movig part with a magnet and the sensor on the pcb. Maybe thats also the reason they dont sell it anymore.

  • @unpotatoedsalmon
    @unpotatoedsalmon Рік тому

    You could have the atmega2560 soldered onto the io board and potentially add a rp2040 on the side and replace the 1.2 oled display with a colored variant, if not replace the rp2040 would have a much better time processing data over the atmega

  • @IRI517
    @IRI517 Рік тому +1

    Can you show use how to make a spring lock suit

  • @santosvella
    @santosvella Рік тому

    Interesting use of start/finish chars. I've done work with tcp level coms which make use of STX hex 02 (Start of test) ETX hex 03(End of Text) and EOT hex 04 (End of transmission). For avoiding conflicts with visible chars maybe have a look? Pros? Avoid the logic you use in managing . The control chars are there for the reasons you need.

    • @JohnDlugosz
      @JohnDlugosz Рік тому +1

      If he wants to send a full range of 256 possible values, then it just changes which characters he needs to escape.

  • @kashyapkoshti
    @kashyapkoshti Рік тому

    You can easily do smd soldering by just replacing the tip of solder iron. Believe me it makes huge difference

  • @TradieTrev
    @TradieTrev Рік тому

    Reminds me of a n64 controller. That's a slick design, might give James Bruton some new ideas compared to his boxy controllers.

  • @RooMan93
    @RooMan93 Рік тому

    Those triggers look identical to the trigger assemblies found in the (original) Xbox S/Duke controllers

  • @Niocio01
    @Niocio01 Рік тому

    Take a look at teensy's they use the same Arduino ecosystem, is much more powerful, more compact while still hawing access to loads of I/O's.

  • @EnnTomi1
    @EnnTomi1 Рік тому

    i was just wondering, there is a market on controller thats still vacant. a competitive FPS controller, basically solving double claw problem.
    if you are able to design such thing with off the shelf parts, that should be a great start. since it is actually a market gets overlooked by all the companys.

  • @scottsrcshop
    @scottsrcshop Рік тому

    Yo…….. !!!!!!! Ahh I need this !

  • @kyogre342
    @kyogre342 6 місяців тому

    I’m trying to make something like the gmk keyboard joystick or the maxxstick (just look it up). Any idea what i should start with?

  • @Dust599
    @Dust599 Рік тому

    have you not seen the "mega2560 pro" boards? all the pins, much smaller footprint.

  • @yglnvbrs
    @yglnvbrs 11 місяців тому

    I enjoy the lack submarine jokes

  • @Lorem_ipsum_dolor_sit_amet
    @Lorem_ipsum_dolor_sit_amet Рік тому

    I recognized the 128x64 SSD1306 display straight away. Recently I've been hacking away at the Adafruit library for it, removing unnecessary library functions I don't need for my current project to save space for other libraries (SPI.h references for instance).
    Have you thought about using an ESP8266 or an ESP32. Small, powerful, WiFi/Bluetooth/ESPNow wireless interface, lots of GPIO (even more if you use an I2C or SPI adapter) and in the case of the ESP32, non volatile memory and two cores for two separate threads.

    • @Lorem_ipsum_dolor_sit_amet
      @Lorem_ipsum_dolor_sit_amet Рік тому

      Before I forget, look into the pcf8574 for expanding IO using I2C. Even if you're using an Arduino nano or an AIthinker ESP32 Cam board, you can massively expand your available IO using a few of those chips and they come in either tht or smd packages.

  • @J0SHUAKANE
    @J0SHUAKANE Рік тому

    Solidworks would make your life a lot easier.

  • @bitsRboolean
    @bitsRboolean Рік тому

    Have you used a Xbox Elite controller before? You've got so much space on the back I almost wonder if you could put in some paddles. How the it stands on the battery means you're not laying it down and accidentally clicking them either.
    Oh and what did you use for your battery contacts? I used some steel for a similar project but I'm worried about corrosion.

  • @NicksStuff
    @NicksStuff Рік тому

    Smooth trigger => hall effect sensor?

  • @ThisTort
    @ThisTort 27 днів тому

    hello! where did you guet the xbox cad drawing?

  • @davidberar5905
    @davidberar5905 Рік тому

    What colege did you studiu?

  • @marcusrenaud1817
    @marcusrenaud1817 Рік тому

    @willcogley hi will it be possible to get the heart files , thank you

  • @lycankid
    @lycankid 5 місяців тому

    are there any updates on this project?

  • @PrinzMidas
    @PrinzMidas Рік тому

    But with four dualsticks and no action buttons and no dpad, I would miss something and not use it for videogaming. By the way, it looks much heavier than common controler.

  • @HassanAhmed-zw2lt
    @HassanAhmed-zw2lt Рік тому

    How can I write to you, my friend, to report someone stealing your content?

  • @craigpreston4373
    @craigpreston4373 Рік тому

    When will you get interested into doing for five nights at Freddy’s animatronics?

  • @sammymiller6740
    @sammymiller6740 Рік тому

    wow this was 3 days ago most youtubers i know of has stopped making videos since the flu went viral

  • @jonjon3829
    @jonjon3829 Рік тому

    just get cracked version of nx or catia, why even bother paying if its not commercial

  • @craigpreston4373
    @craigpreston4373 Рік тому

    Why aren’t you doing five nights at Freddy’s animatronics?

  • @el-domo
    @el-domo Рік тому +1

    no no. How you solder is problematic and wrong. You move the tip and move it. Don't do this. Heat, melt, keep heating, then move avai. that's it.

  • @jonjon3829
    @jonjon3829 Рік тому

    i hate console controllers