The goal of this project is to create a versatile robotic platform for robotic competitions.
It started with a very primitive PCB design that featured just a few, mostly through-hole components and evolved into a much more complicated design with over a hundred SMD components.
Main features:
- NXP's FRDM dev boards, Arduino compatibility
- Two NEMA8 stepper motors
- Fits onto 100x100mm PCB for cheap manufacturing
- RGB LEDs
- OLED display
- Joystick
- Buzzer
- I²C battery voltage sensor
- Interchangeable sensor board
- FRDM dev boards, Arduino compatibility
- I initially started with my trusted FRDM-K64F dev board and later reduced the number of used pins and added the ability to switch to 5V logic levels for Arduino compatibility.
- There I made an error by not knowing that Arduino Uno has SCL and SDA connected to pins A5, A4. This makes I²C bus unusable if those two analogue pins are used.
- NEMA8 stepper motors
- I used Pololu's 20X30mm NEMA8 stepper motors paired with DRV8834 Low-Voltage stepper driver.
- Not a very wise choice. These motors have a problem with tight turns (especially with four wheels). For the next iteration, I will change to some geared stepper motor for added torque and one of the Trinamic drivers.
- Economically manufacturable PCB
- The PCB is little bit bigger than 100x100mm, but JLCPCB still accepts it as $2.00 order.
- RGB LED's
- There are nine WS2812 RGB LEDs on the underside. These can get quite bright and add a bit of visual flare.
- OLED display
- 128x32 I²C OLED display enables for easy interaction and configuration.
- Joystick
- One tiny SMD digital joystick can be used for interaction. Using it without the 3D printed cap won't make your fingers very happy though.
- In the second version (Mk2V2), I used I²C ADC and some resistors to save a few pins.
- Buzzer
- Simple audible feedback. The OLED display is quite slow, so this can be very useful.
- I²C battery voltage sensor
- The whole thing is powered by 2-cell LiPo battery, so this allows to monitor for over-discharge.
- Interchangeable sensor board
- Easily exchangeable sensor board makes developing additional designs very easy