logo elektroda
logo elektroda
X
logo elektroda

Something on F1C100s by piotr_go

piotr_go  31 14835 Cool? (+17)
📢 Listen (AI):

TL;DR

  • F1C100s experiments focus on a Chinese QFN88 SoC with ARM9, 32MB DDR1 RAM, LCD, camera, composite video, audio codec, touch, USB, SD, and DMA.
  • The setup uses a Lichee Pi Nano board and available interfaces to see what can be run from the system, with software taken from the linked download.
  • The chip's layout cost is approximately $2, making it an unusually cheap platform for embedded graphics and multimedia experimentation.
  • VGA at 640x480 already works through a converter board connected to the LCD connector.
  • The matching LCD touchscreen is still waiting to be brought up, and the final project goal remains undecided.
Generated by the language model.
Hello

I honestly admit that I do not know yet what exactly will be built. For now, I am trying to run what I can from the interfaces available in the system.

What is F1C100s? It is a Chinese SOC in the QFN88 housing with:
- ARM9 processor (not to be confused with Cortex A9)
- 32MB RAM (built-in DDR1)
- LCD controller
- camera input
- composite input / output (TV in / out)
- audio codec
- resistive touch controller for LCD
- USB / SD / MMU / DMA / Timers / ....
The layout cost is approximately $ 2.

I will be using the Lichee Pi Nano tile for my experiments.
Some time ago I bought a few items and they were waiting for their turn.



The soft on which I base my experiments can be downloaded HERE .

At the moment I was able to run VGA (640x480) through the converter board connected to the LCD connector.




I also have a matching LCD touchscreen that I will want to run.
Attachments:
  • Allwinner_F1C200s_User_Manual_V1.1.pdf (4.72 MB) You must be logged in to download this attachment.
  • Allwinner_F1C200s_Datasheet_V1.1.pdf (1.43 MB) You must be logged in to download this attachment.
  • vga-xboot.tar.gz (1.94 MB) You must be logged in to download this attachment.

About Author
piotr_go
piotr_go wrote 2904 posts with rating 3335 , helped 94 times. Been with us since 2003 year.

Comments

ArturAVS 24 Apr 2020 13:04

Cool baby :D It is a pity that I do not have enough programming knowledge, but with such resources (and dimensions) I would think of some SDR receiver. The built-in audio codec in the case of "W" can be... [Read more]

piotr_go 24 Apr 2020 15:17

Codec on the list of things to run, right after SD. Currently I deal with LCD and touch. Of course, it's about soft without using Linux, so that the whole thing starts in less than a second. [Read more]

ArturAVS 24 Apr 2020 17:02

While the DAC in the codec looks interesting (two 8-192kHz channels), the ADC is poor (one 8-48kHz channel). For the SDR you would need to provide an external two-channel ADC. What is this converter?... [Read more]

piotr_go 24 Apr 2020 17:16

Something on the "GM7123" scalak, probably ADV7123 clone. I have 800x480 torn from navigation. It works. I'll post a video tomorrow. [Read more]

ArturAVS 24 Apr 2020 17:42

I also have a few of them, I wonder if the pinout is correct. [Read more]

piotr_go 24 Apr 2020 23:55

LCD, touch, UART, SPI FLASH are already working, so that HMI display can be done. [Read more]

ArturAVS 25 Apr 2020 08:37

Watch https://www.youtube.com/watch?v=cwCxkLZRuN0 F1C100s probably has more computing power than STM32F407? [Read more]

piotr_go 25 Apr 2020 10:43

There is no FPU so there could be a problem. However, there is a similar SOC - V3s with Cortex A7 core and FPU. The housing is only slightly larger (LQFP128). [Read more]

ArturAVS 26 Apr 2020 07:47

In fact, I didn't look at the DS in this respect. Probably without FPU it will not be able to handle DSP processing in SDR. You mean something like that? https://www.ebay.com/itm/Lichee-Pi-Zero-A... [Read more]

piotr_go 26 Apr 2020 10:37

Yes. This one. ========= update 04/28/2020 ========= I was supposed to run the SD first, but I started working on the DAC first. Sound, DMA, interrupts are working. Now there is SD. =========... [Read more]

piotr_go 01 May 2020 14:19

========= update 05/02/2020 ========= I have pinpointed the cause of the low FPS. Data cache was disabled :D Now DOOM flashes in full screen. By the way, I launched hardware color indexing. [Read more]

piotr_go 18 May 2020 16:47

https://obrazki.elektroda.pl/8833326300_1589812869.png PCB ordered, I hope it does not sleep ........ :) F1C200s (64MB) + LCD + AV + USB-C + uSD + SPI + I2C + I2S + UART ... Dimensions: 50x50mm [Read more]

ArturAVS 18 May 2020 17:47

I can see that the work is progressing. [Read more]

piotr_go 19 Jun 2020 21:11

https://obrazki.elektroda.pl/4475895000_1592593526_thumb.jpg Tested, it works. Now it just stayed soft. Some simple OS would be handy to be able to load programs from the card. I'll take care... [Read more]

Anonymous 19 Jun 2020 22:00

How is it, some? Just linux :) https://www.thirtythreeforty.net/posts/2020/02/trying-the-allwinner-f1c200s/ [Read more]

piotr_go 19 Jun 2020 22:16

Nah, and will I wait 3-5 seconds for it to take off? :) I'll try to write something myself. I'll see what comes out of this. I already have drivers for everything. Today I launched a new display... [Read more]

blue_17 20 Jun 2020 01:16

Maybe some interface for PS @ or USB to the keyboard because I am proud to play it :D I ask kindly :) [Read more]

ArturAVS 20 Jun 2020 05:57

Pretty neat tile came out. [Read more]

piotr_go 20 Jun 2020 10:48

I forgot about the USB completely, I don't have this driver. It will probably come off a bit because the USB chapter has only 3 pages in PDF. ... unless I connect via UART using this . [Read more]

FAQ

TL;DR: The F1C100s is a US$2 Allwinner SoC that bundles 32 MB DDR1, VGA/LCD, audio and USB; “the whole thing starts in less than a second” [Elektroda, piotr_go, #18643031; #18643646]. Why it matters: You can build sub-second-boot HMIs, handheld SDRs or retro-gaming tiles with minimal BOM.

Quick Facts

• Package: QFN-88, 10 × 10 mm [Elektroda, 18643031] • Integrated RAM: 32 MB DDR1 @ 133 MHz [Allwinner F1C100s Datasheet] • Core: ARM926EJ-S @ 400 MHz (no FPU) [Datasheet] • Typical cost: US$1.8–2.2 in 1k lots [Elektroda, post #18643031] • Video out: RGB-TTL up to 800×480; CVBS in/out supported [Datasheet]

What makes the F1C100s attractive for hobby projects?

It combines CPU, 32 MB RAM, LCD, audio, camera and SD in one low-cost chip, so you need only power, flash and a few passives to start a GUI project [Elektroda, piotr_go, post #18643031]

Does the F1C100s include a floating-point unit?

No. The ARM926EJ-S core lacks an FPU, which complicates real-time DSP; users aiming at SDR moved to the V3s Cortex-A7 with VFP [Elektroda, 18645296]

How do I flash code without JTAG?

  1. Install sunxi-fel.
  2. Hold or disconnect the SPI-flash so the ROM enters FEL mode.
  3. Run “make flash” from the sample Makefile to push SPL and image via USB [Elektroda, 19037216]

Is there a ready "hello-world" project?

Yes. The archive linked in the first forum post contains minimal SPL, driver library and a C ‘hello world’ that runs from SRAM, useful for bare-metal starts [Elektroda, 19039228]

Can it run Linux?

Mainline Linux boots on the chip; boards like Lichee Pi Nano ship with it, but cold-boot takes 3–5 s and uses more RAM, which some projects avoid [Elektroda, 18769854]

What is the fastest observed bare-metal boot time?

Author reports <1 s from reset to GUI on his HMI demo, thanks to NOR flash and no OS layers [Elektroda, 18643646]

How do I bring up an 800×480 RGB-TTL LCD?

  1. Wire LCD data lines to the SoC RGB pins and supply 3.3 V logic.
  2. Drive the LED backlight with a constant-current boost inverter; adjust the sense resistor per panel [Elektroda, 21252755]
  3. Program timing registers (HSYNC, VSYNC, PLL) per panel datasheet [Datasheet].

Can I capture composite video and show it on the LCD?

Yes, if you expose the CVBS pin block, understand its undocumented registers, and write a driver to DMA frames into LCD memory. "If you find a description of the CVBS registers and write the appropriate driver, why not." [Elektroda, piotr_go, post #20926914]

How to add better stereo ADC for SDR?

Use an external dual-channel 24-bit codec (e.g., PCM1802) on I²S; disable the internal mono ADC and clock the external part from MCLK. Forum users noted the built-in ADC tops at 48 kHz and one channel only [Elektroda, ArturAVS, post #18643842]

What differs between F1C100s and Allwinner V3s?

V3s swaps the ARM9 for a Cortex-A7 with VFP, doubles RAM to 64 MB, adds Ethernet MAC and comes in LQFP-128, making it drop-in for projects needing floating point and LAN [Elektroda, 18645296]

Any performance pitfalls?

Leaving the data cache disabled can slash frame-rate; enabling it raised Doom from low FPS to full-screen smooth play in the demo [Elektroda, 18660812]

What is typical power draw?

Bare-metal VGA demo measured ~200 mA @ 5 V including LCD backlight; SoC alone idles near 90 mA @ 1.2 V core and 3.3 V IO (Allwinner Power Table). An overload or short on backlight boost is a common failure edge-case.
Generated by the language model.
%}