Quentin Santos

Obsessed with computers since 2002

I have always been fascinated with computers. Nowadays, I mostly use Rust, but I started out with a QuickBASIC book from the local library when I was in elementary school. I also got a Master in computer science from ENSL and a PhD in cryptography from ENS.

Contact me at qsantos@qantos.fr.

Latest articles

  • Fixing the RP2350-USB-A not working as USB host
    tl;dr: you need to desolder R13, the resistor closest the pin 6 of the board, as indicated by the red arrow in the cover picture of this article Context I am currently toying around with emulating a USB device. However, I also wanted to be able to plug a keyboard in, so I needed a second USB port. Since I am not at the stage where I would design my own boards, I only use dev boards. I found exactly what I needed for my purposes with the RP2350-USB-A: It is still relatively cheap at ~5 €, features a USB-C port… Read more: Fixing the RP2350-USB-A not working as USB host
  • The serial TX path seems to be down
    The previous series of articles about UART was initially motivated by an error I was getting when using the ESP-Prog. I could have jumped straight to the conclusion, but I took the time to really understand what was going on, and we are finally reaching the end of this investigation. Connecting to “real” UART again I already used the ESP-Prog in previous articles, but this part was written before any of them, so it goes back to some fundamentals. The main change from the first article is that we will be using the ESP-Prog (~13 € on AliExpress) instead of any… Read more: The serial TX path seems to be down
  • Transistors in reverse and redundant circuits
    The mystery In the previous article, I briefly mentioned a slight difference between the ESP-Prog and the reproduced circuit, when it comes to EN: Focusing on EN, it looks like the voltage level goes back to 3.3V much faster on the ESP-Prog than on the breadboard circuit. The grid is horizontally spaced at 2ms, so it takes about 0.8ms for the breadboard circuit to cross 2V, and about 0.2ms for the ESP-Prog. Zooming in I actually noticed this when observing the behavior of the breadboard circuit with my oscilloscope when trigering a reboot into bootloader mode. This uses the same… Read more: Transistors in reverse and redundant circuits
  • The missing part of Espressif’s reset circuit
    In the previous article, we peeked at the reset circuit of ESP-Prog with an oscilloscope, and reproduced it with basic components. We observed that it did not behave quite as expected. In this article, we’ll look into the missing pieces. An incomplete circuit For a hint, we’ll first look a bit more closely at the schematics of the ESP-Prog. Of course, we find the automatic reset circuit itself: But, right next to it, we find another circuit that can set the electrical level of ESP_EN and ESP_IO0_B: We can find the physical location of these components in the PDF that… Read more: The missing part of Espressif’s reset circuit
  • Reproducing Espressif’s reset circuit
    I recently discussed how Espressif implements automatic reset, a feature that lets users easily update the code on an Espressif microcontroller. There are actually more subtleties than a quick look would suggest, and I spent a fair bit of time investigating them. This article and the next two present (The missing part of Espressif’s reset circuit and Overanalyzing a minor quirk of Espressif’s reset circuit) what I have learned. The current article simply focuses on reproducing that circuit with basic components, both to make sure we understand what it is made of, and to be able to play with it… Read more: Reproducing Espressif’s reset circuit

All articles