How to flash a LEGO Mindstorms brick and program it in another language I have a basic LEGO Mindstorms kit which I wanted to use for testing a very simple object-avoidance project. 

I am trying to find a relatively simple way to flash the brick and upload scripts to it for executing, preferably something simple like Python or C++. I've been looking around the Internet for a few weeks now and have found almost nothing. 

I see some instructions how to flash the brick with some generic firmware, but no more information how to get to the point of programming it the way I need. I see the most popular source for programming the NXT in Python is NXT-Python. However, there is 1) no documentation 2) outstanding bugs on the ultrasonic sensor that has not been addressed since 2015 and 3) only executes the program on the PC and sends command to the brick, rather than uploading the program to the brick. 

I see that NXT is usually programmed in the language NXC, which fortunately has an extensive documentation in PDF form. However, this language (based in C) seems like an entire beast of its own, and idk if I would have the time or patience to master an entirely new language just to program for this one small project. Furthermore, the GUI for NXC seems to be only for windows, but I'm using Ubuntu. 

NXC seems to be translatable from Python using the PyNXC library. However, it also doesn't seem to have any documentation except a couple of examples, and otherwise just pointing to the NXC tutorials. 

Anything I am missing here, or is that the entire length and breadth of programming the NXT? I have a feeling there has got to be something more straight forward, as other people online talk about programming the NXT in python as if it was easy. 

Thanks
I've had great success with Bricx Command Center or BricxCC (as mentioned in this post) on my NXT using NXC (which is easy to pick-up when you already have a C/C++ foundation like you've mentioned).

Installation, using the supplied drivers and connecting via USB is a breeze :)

Hope this helps!