Close

Introducing the FCM32F096KCU6

A project log for The [original] AI Business Card

Remaking my business card to run Eliza on a cheap ARM SOC.

dan-julioDan Julio 06/20/2024 at 18:270 Comments

Flashchip's website  is, eh, spartan - as well as insecure.  They list two families of micro-controllers - the F0 series and H0 series.  Clearly they're targeting the low end world.  They list the features and provide a Chinese datasheet for each chip.  It's funny because the datasheets are clearly modeled after ST's, right down to copying figures from them (thankfully...).  No tools.  No discussion about how to program them.

I scoured the internet and found a document that described differences between their F103 part and ST's F103 part.  It looked like they intended some  high degree of compatibility but not entirely (for example basing their F103 on a M4 core rather than the M3 core in ST's part).   I'm fairly new to the STM32 world and the document gave me hope that I would be able to use the STM32CubeIDE to at least create and compile the project.

At this point I emailed Flashchip asking if they had English specs and asking how they intend for people to program their parts.  I got a pretty immediate response from someone with the same name that I saw in the Chinese specs I downloaded earlier.  I think Flashchip is a pretty small company.  He sent me a translated datasheet as well as files that are intended to be grafted into ST, IAR or Keil tools that should support their chips.  I've attached the spec to this project.

The Flashchip F0 series looks a lot like ST's F0 series except with more memory, the formerly mentioned, and very useful, 5V compatibility and some interesting undocumented peripherals like a "LED light strip interface (LLSI)".  But none are a precise match (full clone) of any ST F0 part.

Sadly, after following the instructions to graft support for the FMC32F096 into STM32CubeIDE, I couldn't get ST's software to list that microcontroller as a possible target.  Maybe the add-ons would have worked with Keil's IDE but I wanted to use STM32CubeMX as the configurator (being lazy and all).

So I changed tactics.  I had selected the KCU6 variant because it was the smallest package, a 0.8mm QFN32, and would lead to the thinnest business card.  I looked at ST's website to find the closest match.  This seems to be the STM32F042K6 but it has only 32K Flash and 6K RAM (as opposed to 256K Flash and 24K RAM in the FCM32F096).  Even though there was a difference in memory sizes, the pinout, peripheral set and internal addresses seemed pretty much the same between the two devices so I changed my plan to base the project on the STM32F042K6 so I could use the STM32CubeMX configurator and STM32CubeIDE.  I'd deal with memory related problems later.

Now that I knew what pins to use (a grand total of 4: SWDIO, SWCLK, USBDM, USBDP), I could start the PCB layout.

Discussions