diff --git a/.DS_Store b/.DS_Store index 9130fa0..fad7aa7 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Cacao-backups/Cacao-2026-07-08_230728.zip b/Cacao-backups/Cacao-2026-07-08_230728.zip deleted file mode 100644 index 900b225..0000000 Binary files a/Cacao-backups/Cacao-2026-07-08_230728.zip and /dev/null differ diff --git a/Cacao-backups/Cacao-2026-07-09_180444.zip b/Cacao-backups/Cacao-2026-07-09_180444.zip deleted file mode 100644 index fbdcd3d..0000000 Binary files a/Cacao-backups/Cacao-2026-07-09_180444.zip and /dev/null differ diff --git a/Cacao.kicad_prl b/Cacao.kicad_prl index 4efbf0e..5eec52a 100644 --- a/Cacao.kicad_prl +++ b/Cacao.kicad_prl @@ -1,6 +1,6 @@ { "board": { - "active_layer": 5, + "active_layer": 0, "active_layer_preset": "", "auto_track_width": true, "hidden_netclasses": [], diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..51a03bf --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,43 @@ +# Cacao - Multi-Channel Signal Acquisition Board + +Cacao is a compact 12-channel audio-frequency signal-acquisition board built around the RP2350. It explores how modern, accessible components can consolidate multi-channel acquisition, buffering, storage, and Ethernet communication onto a single 80 x 50 mm PCB. + +![Cacao PCB - 3D render](figures/Recto.png) +![Cacao PCB - 3D render](figures/Verso.png) + + + +## Overview + +Cacao was developed independently as a proof of concept alongside an industrial R&D internship. The project acts as a technical calling card: a complete architecture, schematic, and dense PCB layout designed to demonstrate what can be achieved with a modern microcontroller and cost-effective audio-conversion hardware. + +Twelve differential audio inputs are digitized by three TLV320ADC5140 ADCs at 44.1 kHz. The RP2350 collects and processes the resulting data before sending it over 100BASE-TX Ethernet through a W5500 or storing it locally on a microSD card. + +## Key Features + +- RP2350 in the 80-pin package with internal flash +- 12 differential audio-input channels +- Three TLV320ADC5140 four-channel ADCs synchronized by a 2.5 ppm clock +- 44.1 kHz acquisition with planned 12- or 16-bit sample handling +- W5500-based 100BASE-TX Ethernet output +- 8 MB external RAM for acquisition buffering +- MicroSD storage for standalone data capture +- USB-C 5 V power input +- 3.3 V buck supply for the digital electronics +- Separate low-noise 3.3 V analog rail using an LP5907MFX-3.3/NOPB LDO +- Four-layer, 80 x 50 mm PCB with more than 200 components +- Components on both sides, with most passive components placed on the back + +The Micro-USB connectors are used as compact keyed connectors for the differential analog channels and their 5 V amplifier supply. They are **not USB data ports**. + +## Engineering Focus + +The principal layout challenge was integrating 12 analog channels, three synchronized ADCs, local buffering, storage, Ethernet, and the required power architecture within an 80 x 50 mm footprint. Particular attention was given to separating low-noise analog supplies from the general digital rail, maintaining clean reference and return paths, and placing a large number of passive components without increasing the board area. + +An alternative future configuration could replace the W5500 and external RAM with a W6300 connected through QSPI, reducing the number of separate devices while retaining high-speed Ethernet communication. + +The firmware will have to be as efficient as possible to allow 10-12 channels at the same time to be sampled and transferred to the W5500. + +## Project Status + +V1.0 is currently in production at Aisler.com and will be assembled by myself \ No newline at end of file diff --git a/figures/Recto.png b/figures/Recto.png new file mode 100644 index 0000000..484aa36 Binary files /dev/null and b/figures/Recto.png differ diff --git a/figures/Verso.png b/figures/Verso.png new file mode 100644 index 0000000..be553f8 Binary files /dev/null and b/figures/Verso.png differ diff --git a/gerber_to_order/Cacao_50.0x80.0mm_for_JLCPCB.zip b/gerber_to_order/Cacao_50.0x80.0mm_for_JLCPCB.zip new file mode 100644 index 0000000..064a3d0 Binary files /dev/null and b/gerber_to_order/Cacao_50.0x80.0mm_for_JLCPCB.zip differ diff --git a/gerber_to_order/Cacao_50.0x80.0mm_for_PCBWay.zip b/gerber_to_order/Cacao_50.0x80.0mm_for_PCBWay.zip new file mode 100644 index 0000000..6a0ba29 Binary files /dev/null and b/gerber_to_order/Cacao_50.0x80.0mm_for_PCBWay.zip differ diff --git a/~Cacao.kicad_pcb.lck b/~Cacao.kicad_pcb.lck new file mode 100644 index 0000000..36ab61c --- /dev/null +++ b/~Cacao.kicad_pcb.lck @@ -0,0 +1 @@ +{"hostname":"Mac","username":"rohmermaxime"} \ No newline at end of file diff --git a/~Cacao.kicad_sch.lck b/~Cacao.kicad_sch.lck new file mode 100644 index 0000000..36ab61c --- /dev/null +++ b/~Cacao.kicad_sch.lck @@ -0,0 +1 @@ +{"hostname":"Mac","username":"rohmermaxime"} \ No newline at end of file