{"id":5,"date":"2025-12-25T11:04:00","date_gmt":"2025-12-25T11:04:00","guid":{"rendered":"https:\/\/atomsofttech.com\/blog\/?p=2849"},"modified":"2025-12-28T16:18:42","modified_gmt":"2025-12-28T16:18:42","slug":"custom-stm32l010-cc1101-rf-pcb","status":"publish","type":"post","link":"http:\/\/atomsofttech.com\/blog\/arm7-cortex-etc\/custom-stm32l010-cc1101-rf-pcb\/","title":{"rendered":"Custom STM32L010 + CC1101 RF PCB"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This project is a compact, low-power PCB designed around the <strong>STM32L010K4T6<\/strong> microcontroller paired with the <strong>CC1101 Sub-GHz RF transceiver<\/strong>. The goal of this board is to provide a flexible and efficient platform for wireless control, monitoring, or experimentation in the 300\u2013900 MHz ISM bands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The design prioritizes the 315\/433 Bands, low power consumption, and clean RF layout while remaining easy to prototype and expand.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/atomsoft.wordpress.com\/wp-content\/uploads\/2025\/12\/render.jpg\"><img decoding=\"async\" src=\"https:\/\/atomsoft.wordpress.com\/wp-content\/uploads\/2025\/12\/render.jpg?w=1024\" alt=\"\" class=\"wp-image-4816\"\/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Why STM32L010?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The STM32L010 was selected for several reasons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ultra-low power consumption (ideal for battery-powered devices)<\/li>\n\n\n\n<li>ARM Cortex-M0+ core with predictable performance<\/li>\n\n\n\n<li>Adequate flash and RAM for RF protocols and control logic<\/li>\n\n\n\n<li>Wide operating voltage range<\/li>\n\n\n\n<li>Strong tooling and ecosystem (STM32Cube, HAL\/LL)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Despite its small footprint, the L010 is more than capable of handling packet-based RF communication, timing-sensitive protocols, and peripheral control.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Why CC1101?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The CC1101 is a well-established Sub-GHz transceiver known for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Excellent sensitivity and range<\/li>\n\n\n\n<li>Support for common ISM bands (433 \/ 868 \/ 915 MHz)<\/li>\n\n\n\n<li>Flexible modulation schemes (OOK, FSK, GFSK, MSK)<\/li>\n\n\n\n<li>SPI interface with good MCU support<\/li>\n\n\n\n<li>Strong community adoption and documentation<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This makes it a great choice for custom RF solutions where off-the-shelf modules are too limiting.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Board Features<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>STM32L010K4T6 microcontroller<\/li>\n\n\n\n<li>CC1101 Sub-GHz RF transceiver<\/li>\n\n\n\n<li>SPI interface between MCU and RF chip<\/li>\n\n\n\n<li>External crystal support (RF + MCU if needed)<\/li>\n\n\n\n<li>Programming\/debug header (SWD)<\/li>\n\n\n\n<li>Decoupling and RF-friendly grounding layout<\/li>\n\n\n\n<li>Compact form factor suitable for enclosures<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Pinout &amp; Signal Mapping<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To make development and debugging easier, I mapped all critical signals clearly, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GPIO<\/li>\n\n\n\n<li>BOOT0 Pin<\/li>\n\n\n\n<li>SWD programming pins<\/li>\n\n\n\n<li>Power and ground references<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/atomsoft.wordpress.com\/wp-content\/uploads\/2025\/12\/stm32cc11_pins.png\"><img decoding=\"async\" src=\"https:\/\/atomsoft.wordpress.com\/wp-content\/uploads\/2025\/12\/stm32cc11_pins.png?w=799\" alt=\"\" class=\"wp-image-4821\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>D<\/em>imensions:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/atomsoft.wordpress.com\/wp-content\/uploads\/2025\/12\/stm32cc11_dim-1.png\"><img decoding=\"async\" src=\"https:\/\/atomsoft.wordpress.com\/wp-content\/uploads\/2025\/12\/stm32cc11_dim-1.png?w=880\" alt=\"\" class=\"wp-image-4824\"\/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">RF Layout Considerations<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Special care was taken with the RF section:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Short, impedance-aware RF traces<\/li>\n\n\n\n<li>Dedicated ground stitching around the CC1101<\/li>\n\n\n\n<li>Proper decoupling near the RF power pins<\/li>\n\n\n\n<li>Antenna routing kept clean and isolated from digital noise<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">While this version is still in the prototype stage, the layout follows proven Sub-GHz best practices.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Current Status &amp; Next Steps<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2705 Schematic complete<\/li>\n\n\n\n<li>\u2705 PCB layout complete<\/li>\n\n\n\n<li>\u2705 3D render generated<\/li>\n\n\n\n<li>\u23f3 First prototype fabrication (Awaiting <a href=\"https:\/\/oshpark.com\/\">OSHPark<\/a>)<\/li>\n\n\n\n<li>\u23f3 Firmware bring-up and RF testing<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once boards are in hand, I plan to validate RF performance, power consumption, and reliability before iterating further.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Final Thoughts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This project is part of an ongoing effort to build reliable, custom wireless hardware. It\u2019s small, efficient, and intentionally flexible \u2014 a solid base for many RF-driven applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">More updates will follow once the first boards arrive and testing begins.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This project is a compact, low-power PCB designed around the STM32L010K4T6 microcontroller paired with the CC1101 Sub-GHz RF transceiver. The goal of this board is to provide a flexible and efficient platform for wireless control, monitoring, or experimentation in the 300\u2013900 MHz ISM bands. The design prioritizes the 315\/433 Bands, low power consumption, and clean [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,9,15],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-arm7-cortex-etc","category-ir-rf","category-pcb"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":1,"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":3553,"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/posts\/5\/revisions\/3553"}],"wp:attachment":[{"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/atomsofttech.com\/blog\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}