So this is where the fun begins. Design all the electronics of 4B on a 36*36mm pcb. To do so I needed to narrow down the number of components to the bare minimum. And these are the main modules:
- MCU integrated with BLE Module
- 9-axis IMU
- Proximity Sensor for z-axis control
- Connectors for the servo-motors
- 3.3V LDO voltage regulator
- USB LiPo battery charger
The MCU will be responsible:
- Bluetooth communication
- Reading data from the IMU and proximity sensor on the I2C bus.
- Calculating the inverse kinematic equations to actuate the robot kinematic chain
- Setting out 12 PWM waveforms to the servo-motors
That's a bit too much to handle for one MCU, but given the available space on the board it has to work.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Hmm, the NRF52 would work, it comes in a small QFN package. There are IMUs like the BNO055 that do the fusion for you, unloading your MCU a bit. Proximity sensor such as VL6180 is tiny and its 10cm range should be enough. LDOs come in really tiny packages too. The servo sockets are going to take up most of the space — you might consider getting rid of them and instead soldering the wires to pads on the edges of the PCB. Generating the PWM for all the servos would be most conveniently done with an additional MCU or dedicated chip like PCA9685. And you can always have two PCBs one on top of the other, if you run out of space.
Are you sure? yes | no
Hi :) as the mcu i'm going to use the CYBLE-022001-00, a tiny ble module in a 10*10mm package. As you guested I picked the BNO055 IMU due to its internal fusion block and the VCNL4040M3O as the proximity sensor. Somehow I managed to fit the servo connectors, which makes it a bit simpler to re-assemble the robot.
Are you sure? yes | no
Oh, nice, that proximity sensor also gives you ambient light, so you could program some behaviors based on that,.
Are you sure? yes | no