Archive for category Uncategorized

I2C Daisy-Chained Address Generator


Here is a simple circuit using a 4-bit binary adder (74HC283 for example), that takes an input address on 4 bits and add 1 to it:

  • 4-bit “A” input is connected to previous neighbor
  • 4-bit “B” input is tied to ground (“0”)
  • Input carry (Cin) is set to 1 to add 1
  • Output carry is not used
  • the 4-but “Q” output is then equal to A+1 and sent to the next neighbor in the chain
  • by having pull-up resistors on the “A” input, it sets it value to binary “1111” when this node is the first in the chain (no previous neighbor)

Leave a comment

STM32F103C8T6 boards: Blue Pill or Red Pill?

The Generic STM32F103 Pinout Diagram

The Generic STM32F103 Pinout Diagram

Not exactly related to Wi-Fi, but I am tinkering with the cheap STM32F103C8T6 boards that you can buy on AliExpress @ $1.52/piece here:

I received them exactly 1 month after I ordered them.

As I said: no Wi-Fi, but these boards can be nice as local I/O expansion boards, featuring numerous interfaces, large memory and a fast CPU…

First, I traced back this board to its original manufacturer (!!!) on TaoBao:

I am absolutely not fluent in Chinese, but Google helped me to understand that this board contains a 300 mA Richtek RT9193-33 LDO and a good quality Epson MC-306 crystal that is supposed to be better than cheaper cylinder-type 32 kHz crystals that are more sensitive to vibrations.

Second, my post title is a reference to Matrix of course, because of this seminal thread that I missed completely 1.5 years ago:

I got the Blue Pill, so it probably means that I am still in the Matrix 😉

It is a very informative thread, nevertheless. As for the ESP boards, it looks like there are many variants of the same board:

The one I got is the “version 3”, here is the corresponding (reversed-engineered) schematic:

This schematic has a minor RE bug: the U1 LDO is an RT9193, not an RT8183-B, which does not exist.

Third: another problem which is more serious as it is not because of RE but is a BIG design flaw on this board: the R10 USB pull-up resistor should be 1.5k as per the USB specs, not 10k. It causes this board not to enumerate correctly as an USB device. The solution is either to replace it with a correct 1.5k 0603 resistor, or to solder an 1.8k TH resistor in parallel between A12 and +3.3V:

BTW, here is another schematic from the original manufacturer, which features a different (but still wrong) 4.7k pull-up… to +5V!

Fourth: here is a nice board pinout diagram:

Fifth and last: this board features an STM32F103C8T6 (GP Performance Line LQFP48 with 64KB Flash, Industrial range), which differs from the upper STM32F103CBT6 (GP Performance Line LQFP48 with 128KB Flash, Industrial range) by… memory tests! Yes, the C8 ad CB share the same mask, and it is very likely that you could access the full 128KB and not only 64KB! It is reported to work (but of course, no guarantee) on many devices. Maybe good enough for some kind of logging tasks, though…

, , ,

Leave a comment

Hello world!

Welcome to! This is your very first post. Click the Edit link to modify or delete it, or start a new post. If you like, use this post to tell readers why you started this blog and what you plan to do with it.

Happy blogging!

1 Comment