(SOLVED) i2C Error in PID Tuning of MultiwiiConf GUI 2.3 (GPS UBLOX) - MAHOWIK BalancingWii

Hi again hehehe, I'm still developing my project about Mahowik BalancingWii with NRF24L01. All features in the robot work as expected! But, In this case, I would like to add GPS Module (UBLOX) in my Self Balancing Robot.

Here's the schematic:

In config.h, I activate this follows:

#define GPS_BAUD 57600
#define UBLOX
#define I2C_GPS
#define USE_MSP_WP

PROBLEM:
When I click START button in MultiwiiConf GUI 2.3, i2C shows Error with certain values.

Trial-Error:

  1. i2C error when no GPS Module pins connected
  2. Multiwiiconf GUI froze as soon as I clicked on START Button (with pins connected).

NOTE:
I also did this with my Micro Quadcopter with the same version of MultiwiiConf GUI, 2.3, but it didnt show error or frozen with or without pins connected.

You need to post all the code in code tags. Not sure that wiring diagram is complete either.

But, there are 28 files that contains hundreds and thousands lines of codes each of them. I use multiwii 2.3 that was modified by Mahowik (BalancingWii project) and I also modified it in order that I can use NRF24L01 as TX and RX in the firmware.

If you dont mind, here's the link (go to my Github Repo).

Really, 28 x 100's of thousands LOC and it runs on an Arduino? Impressive.
I can't help any more due to lack of wiring and code plus unexplained acronyms. Good luck.
We don't chase links.

LOL. Come on, please. Since it is impossible for me to write/paste ALL the codes all in this forum. I hope you can understand it. PLEASE ... I got stuck on this

I have seen self balancing bots done with much less code but I don;t remember where.

Yes, less code is awesome, bro. I'm just a beginner. The Multiwii firmware was written by many experts long time ago and Mahowik modified it to be able to build a self balancing robot with rich features with it and mahowik use PPM that is not available (Bluetooth module or PPM Receiver) with me now. So, I modified it to be able to use PWM with NRF24L01 and all works! But I want MORE. That's why, here, I got stuck when I add UBLOX GPS module in the firmware.

If there are 28 files with thousands of lines of code there is no way I can learn the code in any sort of reasonable time.
You need to produce some debug data of some sort, you can't expect anyone to understand your code and determine what is wrong with it with no help. What we need is a I did this expecting that and got something else. All that in debug print statements.
I am done for now.

Is it serial or I2C? You show it hooked to a serial port.These lines are contradictory:

# define GPS_BAUD 57600
# define I2C_GPS

I've used the UBLOX with real flight controllers, serial on an available UART.

a7

1 Like

Oops! LOL. you're absolutely correct. Yes, It got conflict. and It works now! Thanks.
(But, please dont say multiwii is not real flight controller)

That's "hundreds and thousands". Still lotsa code, but to a degree needs never be looked at and/or is available elsewhere if.

Multiwii is configured through header file edits and set up with a configurator program.

I suppose it is a real flight controller, ppl use it to fly, but it cannot compare favorably with some flight control ecosystems that are much more sophisticated and mature, not to mention bringing 10 to 50 times the resources to bear on the tasks.

a7

1 Like

Yes, multiwii firmware (2.5) actually needs more development but I dont know why the developers then stopped. Perhaps, it could be caused by the capacity of Arduino board - since I see many gets esp32, STM even raspberry, etc for robotic projects. But, As a beginnner, I try to optimize, modify the firmware the best I can.

I dont know, no esp8266, no esp32, no stmX with my current projects. All is about arduino board (Promini, UNO, Nano, etc - LOL).

IN FACT, with arduino board, my diy drone and another projects runs powerful and easy to do maintenance :heart_eyes:

Note: I've been building Racing quadcopter with MULTIWII Firmware now. And later, I and my friend will do drone racing.