Skip to content

Commit 43a243a

Browse files
Project/rares.banila (#1270)
* Add project for rares.banila * Attempt to fix svg file fail * Added Hardware Schematics as .svg * Changed schematics from .svg to .webp * Add software section to documentation & update the progress log --------- Co-authored-by: Irina Bradu <72762129+irina-b-dev@users.noreply.github.com>
1 parent c4eb77c commit 43a243a

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

  • website/versioned_docs/version-acs_cc/project/2026/rares.banila

website/versioned_docs/version-acs_cc/project/2026/rares.banila/index.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,12 @@ Completed work on the first stage signal amplifier and successfully tested one c
4040

4141
### Week 5 - 11 May
4242

43+
Successfully completed and tested the entire front-end circuit and finished building the hardware. Designed the schematic of the entire circuit.
44+
4345
### Week 12 - 18 May
4446

47+
Created the software for reading the amplified signals using the ADC, processing the signal and displaying the relevant values on the I2C display.
48+
4549
### Week 19 - 25 May
4650

4751
## Hardware
@@ -89,12 +93,20 @@ The format is
8993

9094
## Software
9195

92-
WIP
96+
The software is written in Rust using the embassy bare-metal asynchronous framework. It handles strict real-time data acquisition from the ADC, heavy Digital Signal Processing (DSP) for radar signals, and driving the graphical UI.
9397

9498
| Library | Description | Usage |
9599
|---------|-------------|-------|
96-
| [st7789](https://github.com/almindor/st7789) | Display driver for ST7789 | Used for the display for the Pico Explorer Base |
97-
| [embedded-graphics](https://github.com/embedded-graphics/embedded-graphics) | 2D graphics library | Used for drawing to the display |
100+
| [embassy-stm32](https://github.com/embassy-rs/embassy) | Hardware Abstraction Layer (HAL) | Used to initialize and control the STM32 MCU peripherals, specifically the hardware ADC for reading radar pins and the I2C bus. |
101+
| [embassy-executor](https://github.com/embassy-rs/embassy) | Async RTOS Executor | Used to run the main execution loop for the embedded application. |
102+
| [embassy-time](https://github.com/embassy-rs/embassy) | Timekeeping library | Used to create the 300µs Ticker for timing gaps between ADC radar samples. |
103+
| [microfft](https://crates.io/crates/microfft) | Fast Fourier Transform library | Executes the complex 256-bin FFT to transform the time signal into discrete Doppler speed bins. |
104+
| [micromath](https://crates.io/crates/micromath) | Fast embedded math library | Provides fast f32 approximations for trigonometry (cos, atan2, asin, sqrt) required for the cross-spectrum phase analysis and diagonal speed compensation. |
105+
| [num-complex](https://crates.io/crates/num-complex) | Complex number data structures | Required to store the real and imaginary voltage components used during the FFT and Blackman windowing prep. |
106+
| [ssd1306](https://crates.io/crates/ssd1306) | OLED display driver | Used to interface with and flush pixel data to the 0.96" OLED screen over I2C. |
107+
| [embedded-graphics](https://github.com/embedded-graphics/embedded-graphics) | 2D graphics library | Used for drawing the geometric lines for the UI trajectory arrow and rendering the text fonts. |
108+
| [heapless](https://crates.io/crates/heapless) | Memory-safe data structures | Used for fixed-capacity, stack-allocated String buffers to format the speed and angle text without requiring a dynamic memory allocator. |
109+
| [defmt](https://github.com/knurling-rs/defmt) & [panic-probe](https://crates.io/crates/panic-probe) | Debugging and logging | Standard tooling used to handle panics and print highly efficient debug logs directly to the probe over RTT. |
98110

99111
## Links
100112

0 commit comments

Comments
 (0)