aboutsummaryrefslogtreecommitdiffstats
path: root/README-Picardy2020.md
blob: e2dc30bf812110077f7320e90c9f998381bcc21d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Picardy 2020
============

A reinterpretation of the [Picardy 2m SSB transceiver](http://f6feo.homebuilder.free.fr/transceiver_PICARDY.html) by F6FEO
combined with the [Anglian 3L transverter](http://www.g4ddk.com/Products.html).
Additional inspirations: uBitx, the KN-Q7, LimeRFE and EI9GQ's "Building a Transceiver" book. Many thanks to all the
designers behind these projects.

The hardware design is licenced under the "CERN Open Hardware Licence Version 2 - Permissive", see *cern_ohl_p_v2.txt*.
The firmware is MIT-licenced.

* Designed in KiCad
* Meant to be used with a microwave transverter and stand-alone 144MHz
  * For transverter usage, no PA reduces current consumption.
  * For stand-alone, see MMRF1021 amplifier below.
* Using a STM32F103C8T6 controller
  * Programmed in [Rust](https://rust-lang.org/)
  * Si5351 clock source (generates HF clocks)
  * An LCD display
* Discarded ideas
  * Include a Lars Widenius GPSDO originally published on [eevblog](https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/?all)
  * Offer a 10MHz output refclk for a transverter
  * Instead, have a 25MHz ref input, and use an external reference
  * Use the Si5351 to generate the VHF LO at 116 MHz
    * It wasn't clean enough, so a separate [XTAL LO board](./lo_board/) was designed
    * With a 114.286 MHz crystal, we get a first IF of 29714 kHz

*First QSO done with this transceiver and MMRF1021 amplifier on 2020-12-07*

On RX, an [LNA4ALL](http://lna4all.blogspot.com/) LNA was used. On TX, 2x SPF5189Z, a bandpass filter to remove the LO,
and the [MMRF1021](http://git.mpb.li/git/mmrf1021-pa/about/) amplifier were used, giving about 200mW output power on the
very first trial.

Later, the external bandpass and 2x SPF5189Z were replaced by an internal bandpass with less insertion loss and a single
SPF5189Z.


*First 3cm QSO done with Picardy 2020 as IF transceiver on 2020-02-21*

Using a Downeast Microwave 10368CK transverter.


TODO
====

* Where does the 1.6kHz offset come from?

Open questions
==============

* CW
  * Does the trick with the DC bias to leak the LO work ?
    * Not tested, but plan B done (J306)
    * Use an additional PWM output for plan B?
  * Put sidetone volume setting before RV303?
    * Hook up to LM386 BYPASS?

Issues
======

* Coupling between VHF filter coils was way too large
  * Fixed, replacement of coupling caps.
* SEQ0 is used in inverted-logic in baseband, and noninverted for power relay
  * Due to inconsistent naming
  * Ugly fix on K603 side, use SEQ0n, SEQ1, SEQ2
* G6K-2F-RF all have the Y footprint, not the equidistant one.
  * And they have additional GND flaps too, which are not in the Kicad footprint library
  * Can be kludged-in
* 5V jumper is less useful as hoped
  * Intention: disable VHF stuff
  * Unintended effect: removes LCD backlight
* C319 and C326 are redundant
* BC856W wrong footprint
* R327 upsets DC offset of audio amp, added 2.2uF capacitive decoupling in series with 1k
  * PTT makes loud click, assemble with 100nF only, still loud
  * Connected LM386 back to 8V, through 0 Ohm instead of 10 Ohm (was on 12V through 10 Ohm because DCDC noise). Still
    loud.
  * Investigate other muting schemes.
    * Connecting BYPASS to GND generates click
    * 2N3819 based muting according to G3YCC works better.
  * Assemble 1k + 100nF for coupling, revert to 12k for R329, use 20k for R326 to slow down the transition a bit
* 2m LPF from LimeRFE use values I don't stash
  * 20pF done with 2x 10pF
* SW: ADC input for buttons looks messed up...
  * Four buttons instead of 7 are enough anyway
* Connect 3V3 LDO to 12V directly
* Also, replace DCDC by L7808 to improve spectral purity
  * Actually there would be more to be gained with a DCDC on 5V or 3V3!
* Added a LM360T LDO for the MMRF1021 so that it can be powered from 3S LiPo (11.1V) and Pb (13.8V) batteries
* Add 2.2uF caps near consumers
  * Replace C535, C536
  * Replace C343, C315
  * Next to R508
  * Next to R305
  * Parallel to C331
  * Parallel to C607
  * Next to R306
  * Next to R504
  * Next to R328
  * Next to R515
* Reduce RF coupling
  * Added 100pF caps on microphone connector and CW input
  * Added 22pF on DC jack, DIN

PCB Assembly Plan
=================

1. DCDC converter for 8V and LDOs
   * Check output voltages
   * Check drop under load

2. STM32F103C8T6
   * Programming
   * Sidetone low-pass
   * Probably need to do a UI proto already

3. Si5153
   * Check I2C works

4. 8V and 5V relay
   * Check switching with microcontroller and validate resistors

5. Baseband
   * Crystal filter shape
   * RX and TX filter shape
   * Receive path: IF mixer, crystal filter relay, IF AGC, BFO mixer, AGC measure, AF amp, SPKR
      * Verify LO levels into SA602A: at least 200mVpp
   * Transmit path: Mic amp

6. Anglian
   *  LO filter shape
   *  LO amp. Mixer needs +7dBm
   *  All passives
      * Verify correct voltages for amplifiers
      * Verify PIN currents (Between 20mA and 60mA, below 0.8V)
      * Verify filter shapes
   *  IF amplifiers, both RX and TX
   *  VHF amplifiers
   *  VHF bandpass filter
   *  Mixer

7. External switching relay


Tuning
======

IF gain (R307)

Define if we need C361, C360

Ensure LO1 and BFO voltage level at TP301 TP302



Additional remarks
==================

Very good [explanations](https://groups.io/g/BITX20/topic/si5351a_facts_and_myths/5430607) about DDS vs DPLL from Hans Summers

Si5153 test before PCB fab:

* It seems the desired frequency plan can be achieved:
  * clk0: LO1 = 28 - 4.9152 + VFO, i.e. from 23 to 25
  * clk1: VHF-LO = 144 + 28 and 144 - 28, i.e. 116 MHz
  * clk2: BFO = 4.91521
  * See `freqplan.py`
* This ended up being too noisy and was replaced by an external VHF LO, with LO1 and BFO generated with Si5153
  * No 116MHz crystals on mouser, but 114.285MHz are available, HF bandpass filters recalculated.