AtomS3 - Ability to programmatically disconnect the onboard MPU6886 to prevent potential address conflicts with external I2C devices or use of the pins G38/G39 for non-I2C uses.
Best posts made by Cairnus
-
[Product Revision] Modify AtomS3 MPU6886 connection to prevent address conflicts
-
[Product Revision] Stepper Driver with AtomS3 support (& other improvements)
- Add a STM32F0 that communicates via I2C
- Move RST, FLT, EN & VIN(sense) (G39/G38/G5/G8) to STM32F0
- (Optional) Add port with 4 external Digital I/O pins using spare STM32F0 pins (for limit switches & accessory triggers)
- (Optional) Add Grove Ports (I2C pass-through using G38/G39 & Generic using G5/G8)
-
[Firmware] Please Post Firmware for Stepmotor Driver Module v1.1
I'm trying out the Core2 with Stepmotor Driver Module,
where's the firmware source for the Stepmotor Driver Module v1.1? -
RE: [Product Revision] TailBat with Battery Management that doesn't suck
The current one does suck, lol. Mainly only good as a UPS or if you need to run your thing for only a few hours since you can't sleep for longer standby use.
Latest posts made by Cairnus
-
[Firmware] Please Post Firmware for Stepmotor Driver Module v1.1
I'm trying out the Core2 with Stepmotor Driver Module,
where's the firmware source for the Stepmotor Driver Module v1.1? -
RE: ATOMIC Stepmotor Base (DRV8825) Example Doesn't Work...
@jaxsuks I had issues with their library as well, I switched to AccelStepper and had to figure out why mine didn't work either, turned out to be the reset pin needed to be pulled high.
Hm, can't figure out how to mark text as code...so here it is...#include <AccelStepper.h> int pin_en = 5; int pin_direction = 7; int pin_step = 6; int pin_reset = 39; int pin_voltage = 8; int pin_fault = 38; int microstep = 1; AccelStepper stepper(AccelStepper::DRIVER, pin_step, pin_direction, true); float stepperGetVoltage() { int input = analogRead(pin_voltage); float voltage_divider = 5.999; // 7.5k & 1.5k float voltage_adc_max = 3.3; float voltage = voltage_divider * voltage_adc_max * (float(input) / 4095); return voltage; } bool stepperHasFault() { return digitalRead(pin_fault); } void stepperReset() { digitalWrite(pin_reset, LOW); delay(100); digitalWrite(pin_reset, HIGH); } void stepperSetup() { pinMode(pin_voltage, INPUT); pinMode(pin_fault, INPUT); pinMode(pin_reset, OUTPUT); digitalWrite(pin_reset, HIGH); stepper.setEnablePin(pin_en); stepper.setPinsInverted(false, false, true); } void setup() { stepperSetup(); stepper.enableOutputs(); stepper.setMaxSpeed(200); int steps = 800; steps = steps * microstep; stepper.moveTo(800); } void loop() { // Pin Pong with 4 Revolutions if (stepper.distanceToGo() == 0) { stepper.moveTo(-stepper.currentPosition()); } stepper.run(); }
-
RE: [Product Revision] TailBat with Battery Management that doesn't suck
The current one does suck, lol. Mainly only good as a UPS or if you need to run your thing for only a few hours since you can't sleep for longer standby use.
-
[Product Revision] Stepper Driver with AtomS3 support (& other improvements)
- Add a STM32F0 that communicates via I2C
- Move RST, FLT, EN & VIN(sense) (G39/G38/G5/G8) to STM32F0
- (Optional) Add port with 4 external Digital I/O pins using spare STM32F0 pins (for limit switches & accessory triggers)
- (Optional) Add Grove Ports (I2C pass-through using G38/G39 & Generic using G5/G8)
-
[Product Revision] Modify AtomS3 MPU6886 connection to prevent address conflicts
AtomS3 - Ability to programmatically disconnect the onboard MPU6886 to prevent potential address conflicts with external I2C devices or use of the pins G38/G39 for non-I2C uses.