exactly what it sounds like. A robot controller for lego. 2 servo ports, 2 motor ports and 4 i2c ports for sensors n stuff. 11x7 studs approximately. 5 antistuds on either side. controlled by an NRF52840. WIP
complimentary pair MOSFETs. sacrificing a bit of RPM because now the motors will run at 3.3V, I resolved my conundrum. now I'm only using 4 PWM channels and using another pin to control direction. When the direction line is low, the PNP side will be PWM and the other is pulled to ground and when it's high, the NPN side will be PWM and the other pulled to ground. Should save a bit of space too.
soooo the motors had PWM and GND which is fine, right? no. that means they can be speed controlled but only in one direction. you could flip the connector but not in use. I changed it by adding 2 more MOSFETs so that both sides of the motor can be PWM controlled. I moved the pulldown resistors do the sink side of the MOSFETs from the PWM line so that when it's not being controlled its ground, letting the motors be spun in either direction. As I'm writing this I remembered that I only have 4 PWM channels. shit.
OK so I removed one of the motor connections because it turns out the NRF52840 only has 4 PWM channels. I could drop a servo but nah. Added QSPI flash for programs and USB pads for programming. I'm running out of room here so the flash goes at the top. Because this is a controller for LEGO creations, I've got to make some things to use it with. I've made some progress but it's a bit difficult without the motors and servos to build around. I have a car and a tank with a cannon launcher thingy. I want to make one autonomous and one remote controlled but I don't know which to make which.
laying out the board and components in EAGLE and finding parts n stuff on DigiKey
this is what i have so far. there is Neopixel on the board too. I don't know where to put the button. maybe I can use a 2020 Neopixel instead or maybe a button with an led.