I use multiple tools depending on the work that I am doing. Generally speaking, here are some of the tools I use most often:
For Coding:
- Python, C, C++ and JavaScript (and all their most common frameworks & libraries).
- When needed, CUDA and Open AI's Triton for GPU kernels.
- Pytorch for AI/ML work.
- Warp terminal.
- Cursor for AI IDE.
- Jupyter Notebooks (my playground to test stuff and a lot of AI prototyping work).
- For training models: GPUs mostly from Runpod (RTX4090s, RTX6000s for smaller model runs and H100 nodes with infiniband for larger runs).
- A custom built linux PC that I build this back in 2020 with a set of two RTX 3090s. Waiting to upgrade them to new the RTX 5090s - mostly for testing stuff locally like robot simulators.
- AWS, GCP, Render, Supabase, etc depending on the application.
For Robotics and hardware development:
- For CAD: CATIA V5, SolidWorks and more recently, Onshape.
- For electronics and PCB design: Altium.
- 3D SpaceMouse for CAD and PCB design (I love it).
- For robot simulation: MuJoCo and Nvidia's Isaac Sim
- ROS
- For robot compute: Nvidia Jetson, Raspberry Pi (for very simple stuff), the small Odroid computers and custom PCBs with ARM chips.
- For microcontrollers programming, mostly Atmel, Microchip, STM32s, with their (bad) compilers and IDEs; sometimes use the compilers from Mikroelektronika.
- For PCB manufacturing, a few, depending on quality. For prototyping JLCPCB.
- For CNC, machining and molding: many suppliers mostly from China.