Rukus: Pocket Robotics Control Computer banner

Rukus: Pocket Robotics Control Computer

49 devlogs
81h 24m 14s

A modular robotics control platform for small mobile robots!
It features MCU, motor driver, and radio communication, which allows users to focus on programming instead of dealing with hardware hassle.

Features:

  • Minimal size (45mm x 45mm)…

A modular robotics control platform for small mobile robots!
It features MCU, motor driver, and radio communication, which allows users to focus on programming instead of dealing with hardware hassle.

Features:

  • Minimal size (45mm x 45mm)
  • Robust power rail, handling 12V to 5V/3.3V conversion
  • Powerful computation as it uses RP2040 (dual core!!!)
Demo Repository

Loading README...

Hung-Chi Wang

Reflow attempt 2!!

After waiting for another two weeks I finally received the new PCBs and yes there was some significant progress but also it’s still not fully functional

What works

  • Instead of reflowing the entire board, I decided to play safe and only reflowed the AP62401. This confirms if my board can actually turn 12V into 5V, and if it can acc feed it into the next stage (which is the RT6150B)
  • At first I forgot to solder the two 22uF caps, which prevented the output from correctly providing a stable 5V. But then ofc I populated the two big caps, and it turned out 4.7V, which was close enough for the RT6150P!!!
  • Then I decided to populate the entire board including the RT6150B and all the other ICs including RP2040, crystal, TB66112FNG, and USB-C
  • At first the 3V3 indicator light didn’t turn on till I realized how i didn’t wipe out the bridges on the RT6150 (almost burnt it damnn). Finally RT6150 didn’t betray me lol, it gave out 3.18V to the RP2040 which ig enough for the RP2040 to run

What failed

  • Even tho my laptop successfully detected my RP2040 and could somehow transfer data (?) it just kept rebooting no matter what
  • I tried to fix it by reflowing the flash again and thought it might help but NOPE. Then I swapped out the flash and replaced it with a new one and it FAILED AGAIN. I then reflowed the crystal again to make sure it’s not because the clocking issue but guess what NOPE. Then I swapped out with a working one but still the issue remained……….
  • I really dont think it’s cuz of the RP2040 but just in case I still reflowed it but bruh I don wanna sacrifice my thing again

Conclusion

The issue might because somehow the parts were burnt because of my initial mistake whne i frogot to clean up the bridges on the RT6150 (which i truly doubt). I mean the 3.3V indicator light didn’t even light up, which shows how the short circuit might only happened internally in the regulator rather than dumping excessive voltage……….
Anyways Imma try again these days, wait for the next update

Attachment
0
Hung-Chi Wang

After learning so much about impedence I finally implemented signal integrity
This is board is very messy both electrically and signally and the reason is bc of how it’s a 2-layer board and signal lines and buck converters are all on the same GND
I was playing around with the calculator and redrawing traces in kicad while watchin videos from Phill’s lab and this really helped me alot while implementing the signal lines D+ and D-
Next up I’ll reroute everything like all the GPIOs cuz they will be used for SPI and thus the lengths and widths are all very important

Attachment
0
Hung-Chi Wang

HOHOHOHO after tons of trials and errors Im ready to order the board for the 4th time!!!
I fixed a bunch of stuff (alr just look at the following):

  • Changed caps to 1206
  • COnnected STBY (what an upgrade huh you can finally turn on or off the motor driver!?
  • Added another copper pour for VBUS
    I ran DRC for everything im abt to order again and rerendered the perfect demo lol
    LETS HOPE THIS WE MAKE THE SHOT cuz bruh if we dont i have nothign else to say…….
Attachment
0
Hung-Chi Wang

Spent some time adding the radio (nrf24l01) but WHY DOES IT LOOK SOOOOO CHOPPED
ngl it genuinely looks like frankenstein lol
Anyways I havent acc finished routing it but I willll
Im also planning to order the two versions so that I can know if it’s actually bc of the radio that causes issues

Attachment
0
Hung-Chi Wang

Fixed the RT6154A by diconnecting the VINA and VIN, i mean it’s acc the same fix as the RP2040 devboard so dont be surprised if they look the same lol
Btw I also tried the optimize the power route even more cuz of how FB resistors should be closer to the IC
Now let’s hope it’s acc rock solid

Attachment
0
Hung-Chi Wang

OMG I couldnt believe it acc worked!!!
Imagine adding ur own antenna and put everything togethr and it just magically worked!?
THIS IS INSANE, check out the video to see how it replaces my original setup
Btw next up, combine nrf24l01 with the robotic module!!

0
Hung-Chi Wang

OOOOOOOO guess what I finally got to reflow my nrf24l01 module!! And at the start it couldnt really communicate cuz of a bridge between two pins (i forgot what they were) but then i figured out using my super sharp eyes and unbridged them using my PINECILLLLL
I also spent alot of time fixing the layout which then I realized how 10uF input caps dont need to be 1206……..(wat a waste of time/space bruh :(
But amyways a huge success in the radio module even tho I still need to test out if it can acc blast out and receive messages……..

Attachment
0
Hung-Chi Wang

Ok just made a couple more changes before ordering the board

  • Rearranged the TP pads to reduce clusters
  • Added a 0.1uF cap near the motor control pins
  • Added a couple more copper planes for VBUS and VSYS
Attachment
0
Hung-Chi Wang

WOOOOO made a couple big changes!!

  • Replaced the big expensive inductor for RT6154AGQW with a 1206
  • Fixed TONS OF LAYOUT ISSUE, such as inductor placement, capacitor placements for buck convertors etc
  • Added 12V and VBUS copper plane (new skill GET
  • Redrew many traces such as Aout1/2 with much thicker ones (1mm)
    And now the entire thing looks much much much solid ig :)
Attachment
0
Hung-Chi Wang

Spent an hour organizing the crystal cluster cuz it looked kinda ugly and too close to each other which made them kinda hard to solder……anyways here’s the new result

Attachment
0
Hung-Chi Wang

After the failure, just in case it’s bc of any design issue here’s a couple changes I made:

  • Removed RUN by simply crossing it out
  • Replaced 10uF cap for AP62401WU with ceramic cap
  • Removed PSYNC as it occupies GPOI23 and I just wanna get it work so bascially removed some complexity
  • Added a couple TP pads just to make sure i wont blow anything up again when testing lol
Attachment
0
Hung-Chi Wang

GUYSSS I finally got my boards and gave the very first shot!
I gotta be honest popularizing the board is the most boring process, and it took me almost 1 and a half hour……And after spending almost one more hour of repairing I FAILED TRAGICALLY
But anyway here’s the result (look at the picture below
***Note that the hours were recorded the day before but now I finally have time to devlog

Attachment
Attachment
0
Hung-Chi Wang

Finished and ordered my custom radio module!

  • Cleaned up DRC (pls ignore lots of clearance issues as it was simply bc of the custom antenna
  • Sorted out BOM
  • Added tons of vias
  • Removed solder mask (acc i wanted to test out both with and without solder mask
  • Submitted my order
  • Rendered the custom board
Attachment
1

Comments

iwantpizza10
iwantpizza10 about 1 month ago

cool project! unfortunately i think you may have left a shipping address in that screenshot

Hung-Chi Wang

Spent some time on routing the my radio PCB, checking DRC, and re-arranging the layout
*** Damnn I just realized that I shouldn’t switch 0402 components to 0603 cuz the radio might somehow be detuned……..

0
Hung-Chi Wang

Finished prototyping using my RP2040 custom devboard!!!
This basically validates my design for the PCB as it uses the exact same parts except different PWM pins
*** Note that I haven’t added nrf24l01 in my design as radio is very unpredicatable

1

Comments

Anass Zakar
Anass Zakar about 2 months ago

cool stuff! good luck!

Hung-Chi Wang

YAYYYYYY this time I prototyped on my RP2040 devboard and DRV8833 even tho I gotta use an Arduino Uno for power supply. I tried to power L298N from my custom board but it didn’t work cuz the current spikes are crazyyyyy. But anyways huge success, next up imma connect it to my radio nrf24l01 and see how it goes

0
Hung-Chi Wang

Huge success!!! I finally made two custom RP2040 boards communicate with each other through nrf24l01, and next up imma wires them to my custom board

0
Hung-Chi Wang

Just tested out the transmitter, while testing out my RP2040 custom devboard!!! (huge success)
Pins:

  • CSN: GP12
  • MOSI: GP7
  • CE: GP11
  • SCK: GP6
  • MISO: GP4
0
Hung-Chi Wang

DAMNNNN I just picked all the parts manually……guys MANUALLY
IT TOOK ME SO MUCH TIME (look at the price :( SO EXPENSIVE
*** BTW I also discovered how I accidentally used 0603 for a 10uF cap, but we got solutions lol

Attachment
0
Hung-Chi Wang

Damn I kinda messed up the reference number and the parts………I didn’t know that I needed to use 0402 lol
Anyways we can finally get into PCB layout and routing!!!

Attachment
0
Hung-Chi Wang

OOOOOOOO finally got to the most exciting part cuz guys radio is very sensitive to any changes!!!
But anyways WE GOT THIS lol
Btw i also picked the cyrstal (YXC Crystal Oscillators X49SD16MSD2SC) from LCSC let’s hope it works

Attachment
0
Hung-Chi Wang

DAMNNNNN easyeda cannot export to kicad for some reason………So I gotta draw a new one myself. Anyways after spending some time here’s the beautiful result

Attachment
0
Hung-Chi Wang

Here’s a couple things I changed before moving on to nrf24l01 radio

  • Changed 0603 47uF capacitors to 1206 so that it can handle 25V spikes
  • Rerouted everything around the two capacitors
  • Double checked the schematic and cleaned up the layout
Attachment
0
Hung-Chi Wang

After struggling for 2 hours, finally replaced the two inductors with 4mm x 4mm one!!!
*** You’ll see how much I struggled in lapse lol

Attachment
0
Hung-Chi Wang

NOOOOOOOOO I just noticed that I picked the wrong inductors……….I accidentally picked the 0201 one and that doenst allow enough current (like nowhere close)
*** Look at the highlighted part

Attachment
0
Hung-Chi Wang

WOOOO I spent so much time on fixing and rerouting AP62401WU……

  • Added a Schottky diode to prevent current from leaking back feeding to AP62401WU
  • Changed the placements of AP62401WU output capacitors as they may generate tons of voltage ripples and malfunction other delicate ICs (look at the highlighted components)
Attachment
0
Hung-Chi Wang

Well well well for the past two hours I was designing my nrf24l01 antenna and trying to implement it into my design
I thought I couldve just imported other people’s designs but HELL NAH
Here are a couple options that I can refer to tho

  • AN043
  • AN2731
  • AN91445
    But ofc i lean towards the first one and im probly gonna copy that too lol
Attachment
0
Hung-Chi Wang

Alr last devlog before ordering!!
Double checked everything including adding more vias and ran DRC twice
One last glance at my beautiful PCB :)

Attachment
0
Hung-Chi Wang

I spent some time on reading RP2040’s datasheet again and learned that there’s only two SPI and I2C engines, with 8 slices of PMW

  • Read RP2040’s datasheet
  • Fixed PMWA and PMWB routing
  • Rerouted USB-C cuz I decided to swap it with the 01x04 pin header
    **Now you can see all the parts beside USB-C are rerouted and USB-C is also moved to the top-right corner
Attachment
Attachment
Attachment
0
Hung-Chi Wang

Here’s wat i did for the past two hours

  • Added a 100uF polarized capacitor to prevent 12V spikes
  • Rerouted the 12V connection part AGAIN OMGGG
  • Edited RT6154AGQW footprint
  • Cleaned up DRC errors
Attachment
Attachment
0
Hung-Chi Wang

Finally finished routing!!!

  • Rerouted “EVERYTHING” for the two voltage converters (you can see it in my lapse
  • Reassigned PWMB to GPIO27 so that I could add some more vias
  • Routed everything and cleaned up the silkscreen
Attachment
Attachment
Attachment
0
Hung-Chi Wang

OMG this is getting frustrated!!! I really should’ve used 4 layer board lol
Cuz now Im having two troubles

  • Some GND pins are still unconnected
  • There are two pins far apart……but they are blocked by traces from MCU DAMN
Attachment
Attachment
0
Hung-Chi Wang

After two and a half hour of hard work, I almost finished the routing!!!!

  • 0.18mm
  • 0.20mm
  • 0.30mm
  • 0.50mm
  • 1.00mm
    There’s really nothing to say about this process, it’s just fun lol
Attachment
Attachment
0
Hung-Chi Wang

I roughly positioned all the main components and changed the number of output pins to allocate for GND and 3V3

  • Motor driver at the front, far away from RP2040 chip
  • 45mm x 45mm dimension
    *** I would still need to change the order of pin headers to reduce intersections as much as possible
Attachment
Attachment
0
Hung-Chi Wang

Completed the schematic for AP62401 (12V to 5V) and TBTB6612FNG!!!
Damn and I just realized that TBTB6612FNG is actually the chip itself lol
Any way here’s a little diagram explaining how the power supply works:
12V –> AP62401 (12V to 5V) –> RT6154AGQW (5V to 3V3) –> MCU
–> TBTB6612FNG –> Motors

Attachment
Attachment
0
Hung-Chi Wang

I was figuring out how to wire the RT6150AGQW

  • Pico schematic uses RT6150B-33GQW but apparently no one is selling it or it’s too expensive
  • Ricktek only shows the minimal design so I have to figure the math
    R1 = R2*(Vout/Vfb - 1)
  • Imported symbol and footprint for both RT6150AGQW and MBR120VLSFT1G
  • Fixed the symbol to stay organized
Attachment
Attachment
0
Hung-Chi Wang

I roughly completed my schematic while referring to pico schematic
Here are sth I noticed:

  • Should use RT6154A instead of MCP1700x-330xxTT for larger current
  • Add schottky diodes if external power supply is needed
  • Connect GPIO24 and 23 to RT6154A to monitor whether the board is either using battery or USB to switch between PWM and power saving mode
Attachment
Attachment
0
Hung-Chi Wang

For the past hour I was reading TB6612FNG schematic and trying to apply it to my own. But here were the problems:

  • I wanted to supply my RP2040 through both USB (5V) and battery (12V)
  • What pins should I keep and crossed out cuz I wanted it to be minimal
Attachment
1

Comments

Hung-Chi Wang
Hung-Chi Wang 4 months ago

There was another image showing my shcematic but I DONT KNOW WHY IT’S GONE