Difference between revisions of "BoSL Board v0.5"
(22 intermediate revisions by 2 users not shown) | |||
Line 392: | Line 392: | ||
</gallery> | </gallery> | ||
− | == | + | == 2024 Apr 30 == |
Today we will explore adding USB-C and making a few more experimental changes to the BoSLboard. | Today we will explore adding USB-C and making a few more experimental changes to the BoSLboard. | ||
The first change made is to add decoupling capacitors to the ATtiny (U7) and the MCP65R41 (U6). Next The microUSB port was changed to a USB Type C connector. Two 5.1 kΩ resistors were used to pull CC1 and CC2 to GND. Each pair of D+ and D- pins were connected to each other. With these changes the device should be recognised as a USB 2.0 UFP device. | The first change made is to add decoupling capacitors to the ATtiny (U7) and the MCP65R41 (U6). Next The microUSB port was changed to a USB Type C connector. Two 5.1 kΩ resistors were used to pull CC1 and CC2 to GND. Each pair of D+ and D- pins were connected to each other. With these changes the device should be recognised as a USB 2.0 UFP device. | ||
+ | The track width of the antennas was changed to be a 50 Ω connection. | ||
+ | |||
+ | == 2024 May 16 == | ||
+ | |||
+ | A programming note and perhaps note for future board revisions. Turning off an I2C sensor via the power switches can cause the bus lines SDA and SCL to be held in a bad state, meaning no other sensors (including the RTC) will function properly. | ||
+ | |||
+ | == 2024 May 24 == | ||
+ | |||
+ | To make use of the BoSLboards easier, a shield will be designed which has sensor connectors on it. As these sensor connectors need to it through the 8mm diameter cable gland the options for the connector are fairly limited. One good candidate is the JST GH series, the 6 wire variant is able to fit through the cable gland when bend at the appropriate angle. The connections to be broken out are: | ||
+ | * UART 2 + 3v3 SWB | ||
+ | * UART 3 + 3v3 SWC | ||
+ | * Software Serial + 3v3 SWA | ||
+ | * Software Serial + VPP SWA | ||
+ | * I2C + 3v3 | ||
+ | * SPI + 3v3 | ||
+ | |||
+ | Each the of these connections (bar SPI) shall also have a ground and the 5th and 6th connectors shall be a reset line and a wake line which is connected to an interrupt pin. Attention has been paid to try keep the same pin combinations as in existing code, however care should be taken to check that the shield matches the code uploaded. | ||
+ | |||
+ | In the gallery below a rendering of the final shield design is presented. | ||
+ | <gallery> | ||
+ | Shield-front.png | BoSLboard connectivity shield front | ||
+ | </gallery> | ||
+ | |||
+ | == 2024 June 21 == | ||
+ | |||
+ | The BoSL v0.5.5-USB-C have now been tested. All changes are functional except for the GPS. I have tested the GPS for about half an hour but have not yet observed it able to acquire a signal. The weather is pretty bad today so perhaps this needs another test. While the push-push SD card is perfectly electrically function - SD cards can be read and written to without issue - the SD card is now elevated about 1 mm off the PCB. This makes it hard to insert. In light of this it may be better to revert back to the old push-pull SD card style. | ||
+ | |||
+ | == 2024 July 04 == | ||
+ | Please place the antenna facing upwards and avoid the antenna constantly pressing the reset button. | ||
+ | |||
+ | == 2024 August 30 == | ||
+ | |||
+ | Here is the test summary for the BoSL v0.5.6. One issue present is the SD card slot needs an updated footprint. Another is that the GNSS still doesn't work. | ||
+ | |||
+ | [ ] ATtiny | ||
+ | [X] GPIO | ||
+ | [X] LEDs | ||
+ | [?] MS5803 | ||
+ | [X] RTC | ||
+ | [X] RTC battery | ||
+ | [X] RTC interrupt | ||
+ | [X] SDHC | ||
+ | [ ] SIM700 | ||
+ | [X] Powerkey | ||
+ | [X] Status pin | ||
+ | [X] Reset pin | ||
+ | [?] CTS, RTS, DTR, DCD, ... | ||
+ | [X] Cellular | ||
+ | [X] HTTP | ||
+ | [X] FTP | ||
+ | [X] MQTT | ||
+ | [ ] GNSS | ||
+ | [X] Sleep | ||
+ | [X] DeepSleep = 35 µA | ||
+ | [X] Shutdown = 2.5 µA | ||
+ | [X] Power switches | ||
+ | |||
+ | The SDHC issue was amended in rev0.5.7. The GNSS antenna line was also rerouted to hopefully fix the GNSS reception issue. No other changes were made for rev 0.5.7. |
Latest revision as of 06:40, 30 August 2024
Contents
- 1 Pin Functions
- 2 ATtiny4 programming
- 3 2023 September 28
- 4 2023 November 26
- 5 2023 November 27
- 6 2024 February 1
- 7 2024 February 09
- 8 2024 February 12
- 9 2024 February 15
- 10 2024 February 16
- 11 2024 March 4
- 12 2024 March 12
- 13 2024 March 27
- 14 2024 Apr 18
- 15 2024 Apr 22
- 16 2024 Apr 30
- 17 2024 May 16
- 18 2024 May 24
- 19 2024 June 21
- 20 2024 July 04
- 21 2024 August 30
Pin Functions
pin | code name | digital | analogue | serial | note |
---|---|---|---|---|---|
SCLK | SD_SCLK | Y | N | SCLK | |
MISO | SD_MISO | Y | N | MISO | |
MOSI | SD_MOSI | Y | N | MOSI | |
CS | CS_EXTERNAL | Y | N | CS | |
D2 | 2 | Y | N | ||
D3 | 3 | Y | N | ||
D4 | 4 | Y | N | ||
D5 | 5 | Y | N | ||
A0 | A0 | Y | Y | ||
A1 | A1 | Y | Y | ||
A2 | A2 | Y | Y | ||
A3 | A3 | Y | Y | ||
A8 | A8 | Y | Y | software-serial | |
A9 | A9 | Y | Y | software-serial | |
A10 | A10 | Y | Y | software-serial | |
A11 | A11 | Y | Y | software-serial | |
A12 | A12 | Y | Y | software-serial | |
A13 | A13 | Y | Y | software-serial | |
A14 | A14 | Y | Y | software-serial | |
A15 | A15 | Y | Y | software-serial | |
SCL | SCL | Y | N | SCL | |
SDA | SDA | Y | N | SDA | |
SWA 3V3 | EN_SWA | Y | N | ||
D13 | 13 | Y | N | ||
D14 | 14 | Y | N | ||
SW VBAT | EN_SWVPP | Y | N | ||
RX2 | RXD2 | Y | N | Serial2 | |
TX2 | TXD2 | Y | N | Serial2 | |
3V3 SWB | EN_SWB | Y | N | ||
RX3 | RXD3 | Y | N | Serial3 | |
TX3 | TXD3 | Y | N | Serial3 | |
SWC 3V3 | EN_SWC | Y | N |
ATtiny4 programming
Please follow these instructions to program the ATtiny4 on the BoSL v0.5.3 and v0.5.4
- Connect an Arduino UNO to your computer
- Upload the | TIP_Programmer.ino to the Arduino UNO.
- Wire up an Arduino UNO to the BoSLboard as shown in the gallery. All connections can be made to the BoSLboard at the ATtiny TPI header on the top-right of the board (depicted in the gallery).
- Set the WDT jumper to the off position (as depicted in the gallery)
- Open the serial monitor of the Arduino UNO and follow the programming instructions. If everything is successfully set up you should see "ATtiny4 connected".
Notes: If you these steps do not work it could be that high voltage reset is required. Please try: disconnect SS (D10) from the Arduino UNO and connect the ATtiny RST pin to 12 V. Ensure that this is the only pin powered by 12 V. Reattempt the programming steps. Once you are able to see "ATtiny4 connected" follow the instructions at the top of the script to disable the high voltage reset fuse. If the connections are loose this programming may fail intermittently. Please ensure that all electrical connections are making good contact. Ensure that the 5V and GND are connected directly from the Arduino Uno. No external power or is needed for the BoSL board. For all uploading connected to the serial port of the Arduino UNO and confirm that Arduino UNO is selected as the board in the board menu.
Programming the ATtiny4 disable firmware
- Follow the steps above and confirm that you can see "ATtiny4 connected".
- Upload the ATtiny4_disable.ino script to the Arduino UNO.
- Press reset on the Arduino UNO
On success you should see the output in the serial monitor:
Successfully wrote program: 66 of 512 bytes in 0.1959999942 SecondsCurrent memory state: registers, SRAM +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0000: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0030: 00 00 00 00 00 00 03 00 00 74 00 03 00 00 00 00 0040: FE F3 81 FD 7E C0 FB E5 69 F5 A9 F3 BF FF D4 17 0050: 22 4E 2D CB 8E 7B 37 0B BB FE 74 D2 45 C7 00 11 NVM lock +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 3F00: FF FF configuration +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 3F40: FF FF calibration +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 3F80: 74 FF device ID +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 3FC0: 1E 8F 0A FF program +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 4000: 09 C0 10 C0 0F C0 0E C0 0D C0 0C C0 0B C0 0A C0 4010: 09 C0 08 C0 11 27 1F BF CF E5 D0 E0 DE BF CD BF 4020: 02 D0 0D C0 ED CF 4A B7 41 7F 44 60 4A BF 4A B7 4030: 41 60 4A BF 88 95 4A B7 4E 7F 4A BF FF CF F8 94 4040: FF CF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4070: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 40A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 40B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 40C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 40D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 40E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 40F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4100: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4110: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4130: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4140: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4190: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 41A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 41B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 41C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 41D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 41E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 41F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
2023 September 28
The BoSL board rev 0.5.0 arrived and its time to test how it works. Lets jump into it!
Straight out of the packet:
- Plugging in a battery the idle current 840 µA.
- Touching a screw driver to the F1 TEST pad lights up the test LED.
- When the WDT_EN jumper is closed the current jumps up to ~10 mA. This seems appropriate, if it enables the voltage on VPP.
From now on WDT_EN will be closed
- Voltage is good on 3V3 and VBAT. Measured (3.370V and 3.941V respectively).
- The bootloader could be programmed using the normal process of Arduino as ISP. Specifically I used the [[1]] board library and selected the ATmega640 board. I then used BOD: 2.7V, bootloader: yes UART0, clock: external 8MHz, EEPROM: EEPROM retain, compiler LTO: LTO disabled, pinout: AVR pinout.
- Idle current now 18 mA.
- I then plugged in the board via USB and it was recognised as a serial port.
- Programs could be uploaded via USB now, the serial monitor analogue read, and the RX,TX, LED, and USB, LEDs work.
- I could get a response form the SIM7000 when I made the following changes to the BoSLpass script.
- Replaced simCom soft serial object with Serial1
- set PWRKEY 38, DTR 44, and defined SIM_BUF_EN 25
- Pulled SIM_BUF_EN HIGH to turn on the voltage level converter.
- When I did this I could talk to the sim and recognise the simcard, but not register to the network. I suspect this is due to no Telstra reception here:
23:14:41.086 -> sending: AT+COPS=? 23:14:41.130 -> 23:37:12.814 -> 23:37:12.814 -> +COPS: (1,"vodafone AU","voda AU","50503",9),(1,"Optus AU","Optus","50502",9),,(0,1,2,3,4)
Firmware updates:
- Now that we have the more pins it would we wise to wrap each call which writes to the serial of the SIM7000 to first check CTS and RTS and see that we are allowed to send.
Errors:
- WDT_EN is not the correct name for the jumper as the WDT is disabled when closed. It should be not WDT_EN
- Add silkscreen for female pin headers
- Fix the pinout for U8, the MCP1700T-3302E which currently has the VPP and 3V3 swapped.
2023 November 26
Today I am testing the idle current draw of the BoSL board. First is to test the idle current when Q1 shuts off +BATT from VPP. All tests here are with WDT_EN open.
I swapped the orientation of U8 (MCP1700T-3302E) as it was incorrect. Doing this resulted in the idle current from 1.1 mA to 0.87 mA.
I do not notice any "floating rails" however if WDT_EN is enabled and then disabled it will take a long time for the VPP rail to return to 0V as the connected capacitors need time to discharge.
Removing the Zener diode for reverse current protection (D10) results in a current of 0.64 mA or a drop of approximately 200 μA.
The voltage measured on PB2 of the ATtiny4 (U7) is just indistinguishable from 0V, I do not think that the current leaking through the ATtiny to the ATmega via the WDT_KICK signal is a cause for the excessive current draw.
One the ATtiny (U7) was removed the idle current dropped to 2.7 μA, essentially zero. From this I conclude that the Zener diode D1 and the ATtiny U7 were using the majority of the current when WDT_EN is left open. Part of the reason the ATtiny was consuming ~600 μA of current is that it was not yet programmed. Programming the ATtiny will be a key next step in fixing the high power off current draw while still being able to use the ATtiny as a WDT.
Again with WDT_EN open VPP and 3V3 may appear floating however this is because there is residual charge in the capacitors which takes a long time to deplete.
WDT_EN closed sleep current
Here I will not investigate the smallest sleep current possible when WDT_EN is closed, that is when VPP and 3V3 have power.
Running a simple script which only has sleepMode(SLEEP_POWER_DOWN); sleep(); The total current draw of the board falls to 360 μA.
On U1, IN == VBAT and EN == 0V, so I do not believe that current is leaking through this pathway.
Despite the claimed 80 μA leakage of C1 (UWT1E331MNL1GS) in practice removing this capacitor had no discernible effect on the 360 μA idle current.
With D8,9,11 removed the idle current dropped to 180 μA. These diodes are used for connecting the SIM_PWRKEY and SIM_RESET between the SIM7000 and ATmega. (edit: maybe not)
2023 November 27
Programming the ATtiny4
To program the ATtiny4 I notice that PB0 (TPI_DATA) is also connected to the comparator and so will turn the board on and off whenever the data line is toggled. To prevent this I will cut the connection between R10 and C9 permanently keeping the board in the off state (no longer needed on >= v0.5.1). It is also necessary to ensure that WDT_DIS is not connected as this also will hold PB0 high. As a workaround you can hold the input to the MOFSET Q1 high while programming. The easiest way to do this is to connect the right pin on the WDT_DIS header to bottom right pin of Q1 (see image).
From the data sheet is appears that by default the reset pin is disabled and so a 12V signal must be applied to enable programming. This is correct once I used a 12V reset signal I could program the ATtiny4 using [[2]] this Arduino Uno script, a few resistors and jumper wires. This script can also be used to reenable the reset pin so 12V is no longer needed.
With the following program uploaded (given in as a hex file) the current of the BoSL v0.5 dropped to just 2.7 µA. This file puts the ATtiny into deep sleep mode.
:1000000009C010C00FC00EC00DC00CC00BC00AC08C :1000100009C008C011271FBFCFE5D0E0DEBFCDBFAC :1000200002D00DC0EDCF4AB7417F44604ABF4AB706 :1000300041604ABF88954AB74E7F4ABFFFCFF894C8 :02004000FFCFF0 :00000001FF
On the BoSL v0.5.2 is it not possible to program the ATtiny4 without hardware modification as PB0 (DATA) toggles the mosfet power switch (Q1) on and off which causes large voltage spikes on +BATT. A workaround for this is to hold the MOSFET gate high. I think going forward a possible hardware solution is to move the JP1 (WDT_DIS) jumper to pull the mosfet high rather than before the comparator. With this strategy it may also be good buffer the output of the comparator with a resistor to minimise extraneous current draw. This will need some investigation.
2024 February 1
With the above code which disables the ATtiny, on the BoSL v0.5.2 we can now get a Q1 off current of 2.7 µA, and a ATmega640 sleep current of 120 µA.
2024 February 09
Today I discovered, an issue with the undervoltage protection on the BoSL v0.5.2. At voltages near the cut off ~ 3.6 V a dangerous oscillation occurs in the switch-comparator system. As part of this oscillation the power MOSFET Q1 will rapidly turn on and off at a rate of ~ 300 Hz, this causes a ripple of about 700 mV on VPP. This is the rail which all components on the BoSL v0.5 other than the reset circuitry.
To resolve this issue there are a number of things to try. The first of which is adding decoupling capacitors. First: one to VREF and one to +VBATT. I added a 100 nF cap from VREF to GND and a 2.2 µF cap from +VBATT to GND, these changed the frequency of the oscillations but neither of them fixed the issue.
2024 February 12
For now the simplest solution is to remove the undervoltage cutoff. Anecdotally this hasn't been an issue in the past and, so it is better to give this feature more testing and release in a future version than to implement a bad version of it. To disable it the following adjustment to the circuit has been made:
Firstly, assuming that the WDT_EN jumper is left open, then when PB0 is high, the voltage at V- of U6 is 10/11 of +BATT or at least 3 V at a +BATT = 3.3 V. This is greater than 1.2 V and so the comparator will output low and Q1 will be in the on state. Alternatively when PB0 is low, the voltage at V- of U6 will also be 0 V. This is less than 1.2 V and so the comparator will be output high and Q1 will be in the off state. The new WDT_EN switch is connected behind R10 to enable programming of the ATtiny without causing switching of Q1. This means that if WDT_EN is connected with a jumper the voltage at V- will be given the connection through WDT_EN bypassing the ATtiny4 as desired. In the worst case scenario, when WDT_EN and PB0 are in opposite states then a maximum of 4.2 µA will flow at +BATT = 4.2 V. Normally this current will not flow as PB0 will be an input. Finally I have added two more poles to WDT_EN, one to permit WDT_EN to be tied to ground, this causes the board to be in a permanent off state. The last is disconnected which just allows for convenient storage of the jumper when not in use.
I have partially tested this change on the current BoSL v0.5.2 by swapping R11 = 10 MΩ, R10 = 3.3 MΩ, making no changes to the jumper (keeping it in the closed position) and programming the ATtiny4 with the low power firmware. With these changes I observed that I could not find the Q1 gate oscillation. Shutdown current remained at 2.5 µA, normal operating current did not seem to increase (~ 12 - 70 mA, depending on simCom, ATmega, ...), and sleep current of 35 µA.
With this analysis and these tests I am quite confidant that these changes will work as intended when incorporated into v0.5.3.
Adding further pins to the jumper required changing it to a right angle jumper and moving it towards the front of the board.
2024 February 15
I have finished the testing on the BoSL 0v5 and most tests passed without issue. The one issue I had was with mqtt. The SIM7000 would not connect to any MQTT server and error out after several minutes of waiting. Other protocols such as HTTP and FTP worked fine without any significant changes needed. As these other protocols work I am sceptical that mqtt is not working due to a hardware fault, more likely it is an issue with the modem firmware. I am unable to update the modem firmware on the SIM7000 the USB debug pins are not available. If this issue persists it may be possible to implement the mqtt protocol in software.
Test results:
[X] ATtiny [X] GPIO [X] LEDs [?] MS5803 [X] RTC [X] RTC battery [X] RTC interrupt [X] SDHC [ ] SIM700 [X] Powerkey [X] Status pin [X] Reset pin [F] CTS, RTS, DTR, DCD, ... [X] Cellular [X] HTTP [X] FTP [X] MQTT [X] GNSS [X] Sleep [X] DeepSleep = 35 µA [X] Shutdown = 2.5 µA [X] Power switches
2024 February 16
Today I am going to test more of the pins which connect the SIM7000 to the ATmega.
First off is the reset pin. I can confirm that pulling the reset pin low for 300 ms on the ATmega does reset the SIM7000 as desired.
Next is the the ring indicator RI: once configured via AT+CFGRI RI will be pulled low by the SIM7000 whenever an SMS or incoming data is received. This has been confirmed working.
Data terminal ready (DTR): this pin is used to put the model into sleep mode. I can confirm that this is working from the ATmega.
Data carrier detect (DCD): once configured via an AT command, this pin goes low when a data carrier is connected. I have not been able to get this working. I attempted connections over HTTP and FTP, both of which successfully transferred data however AT no point does the state of DCD change.
Ready to send (RTS): once configured on via AT+IFC=2,2, sending this pin high makes the SIM7000 stop the UART transmission until low again. This is also confirmed working.
Clear to send (CTS): once configured on via AT+IFC=2,2, this pin will be pulled high when the SIM7000 RX buffer is too full, this indicates to the ATmega that it should pause transition. Unfortunately it doesn't look like this pin is working either. First of all, the documentation does not claim that this pin indicates when the SIM7000 is not ready to receive responses, only when its RX buffer is full. Additionally, I have not been able to see this happen, even when sending AT commands to the SIM7000 in a tight loop.
When retested MQTT was also working.
2024 March 4
Removing the R11 is a safe workaround to fix the undervoltage cut-off instability issue on the v0.5.2. This fixes the issue as R11 formed half a voltage divider to measure the battery voltage and cut it off when it got too low. Removing R11 makes the output of this voltage divider VBAT instead of 0.36*VBAT and hence the cut-off no longer triggers near regular battery voltage levels. (It will trigger when the battery voltage reaches about 1.2 V at which point it can safely be considered dead). While this change means that the board will also keep operating regardless of if the WDT_DIS jumper is in place or not, this change does not impact power consumption or any other functionality of the board.
2024 March 12
According to my tests, for BoSL Board V0.5, only the following pins can be used as SoftwareSerial ports:
A10, A11, A12, A13, A14 and A15.
2024 March 27
The BoSL v0.5.3 arrived today. I need to perform a quick check to see that they are working and also determine how to program the ATtiny4 on them.
ATtiny4 programming
Using the same instructions as per the v0.5.2 except now without needing to connect use any workaround for Q1 (and with the WDT jumper in position "OFF") the ATtiny4 can easily be programmed. Note when programming ground should be connected to the Arduino Uno and the BoSL v0.5.3 should not be externally powered by a battery. Once programmed the board consumed 2.5 µA in shutdown mode (WDT jumper in position "OFF").
Comprehensive Test results
I have not tested the ? items as either they do not exist on the board I have, or there has been no change from v0.5.2, and so they have not been retested.
[X] ATtiny [X] GPIO [X] LEDs [?] MS5803 [X] RTC [X] RTC battery [X] RTC interrupt [X] SDHC [X] SIM700 [X] Powerkey [X] Status pin [X] Reset pin [?] CTS, RTS, DTR, DCD, ... [X] Cellular [X] HTTP [X] FTP [X] MQTT [X] GNSS [X] Sleep [X] DeepSleep = 35 µA [X] Shutdown = 2.5 µA [X] Power switches
In summary this board is working without known issues.
2024 Apr 18
For BoSL Board V0.5, the interrupt pins cannot be connected to ATMEGA interrupt pins position as they have been ocupied by the SIM module and SD card function.
If we want to use attachinterrupt function ( such as Raingauge project), the following pins can be used as PCINT pins with the combination use of digitalpintoPCINT function:
A8,A9,A10,A11,A12,A13,A14 and A15
Note: It needs to be used together with digitalPinToPCINT function
2024 Apr 22
v0.5.4 of the BoSLboard has been released for production. Changes include:
- Added labels to antenna connects
- Moved RTC battery to provide more DC input connector clearance
- Changed SDHC card slot to push-push style to for ease of use.
- Routing improvements
I have decided against switching to a USB type-C connected on this release as I do not yet have a solid understanding of how to set up a USB type-C connector to operate as a USB 2.0 device with all types of cables.
Here are renderings of the PCB:
2024 Apr 30
Today we will explore adding USB-C and making a few more experimental changes to the BoSLboard.
The first change made is to add decoupling capacitors to the ATtiny (U7) and the MCP65R41 (U6). Next The microUSB port was changed to a USB Type C connector. Two 5.1 kΩ resistors were used to pull CC1 and CC2 to GND. Each pair of D+ and D- pins were connected to each other. With these changes the device should be recognised as a USB 2.0 UFP device. The track width of the antennas was changed to be a 50 Ω connection.
2024 May 16
A programming note and perhaps note for future board revisions. Turning off an I2C sensor via the power switches can cause the bus lines SDA and SCL to be held in a bad state, meaning no other sensors (including the RTC) will function properly.
2024 May 24
To make use of the BoSLboards easier, a shield will be designed which has sensor connectors on it. As these sensor connectors need to it through the 8mm diameter cable gland the options for the connector are fairly limited. One good candidate is the JST GH series, the 6 wire variant is able to fit through the cable gland when bend at the appropriate angle. The connections to be broken out are:
- UART 2 + 3v3 SWB
- UART 3 + 3v3 SWC
- Software Serial + 3v3 SWA
- Software Serial + VPP SWA
- I2C + 3v3
- SPI + 3v3
Each the of these connections (bar SPI) shall also have a ground and the 5th and 6th connectors shall be a reset line and a wake line which is connected to an interrupt pin. Attention has been paid to try keep the same pin combinations as in existing code, however care should be taken to check that the shield matches the code uploaded.
In the gallery below a rendering of the final shield design is presented.
2024 June 21
The BoSL v0.5.5-USB-C have now been tested. All changes are functional except for the GPS. I have tested the GPS for about half an hour but have not yet observed it able to acquire a signal. The weather is pretty bad today so perhaps this needs another test. While the push-push SD card is perfectly electrically function - SD cards can be read and written to without issue - the SD card is now elevated about 1 mm off the PCB. This makes it hard to insert. In light of this it may be better to revert back to the old push-pull SD card style.
2024 July 04
Please place the antenna facing upwards and avoid the antenna constantly pressing the reset button.
2024 August 30
Here is the test summary for the BoSL v0.5.6. One issue present is the SD card slot needs an updated footprint. Another is that the GNSS still doesn't work.
[ ] ATtiny [X] GPIO [X] LEDs [?] MS5803 [X] RTC [X] RTC battery [X] RTC interrupt [X] SDHC [ ] SIM700 [X] Powerkey [X] Status pin [X] Reset pin [?] CTS, RTS, DTR, DCD, ... [X] Cellular [X] HTTP [X] FTP [X] MQTT [ ] GNSS [X] Sleep [X] DeepSleep = 35 µA [X] Shutdown = 2.5 µA [X] Power switches
The SDHC issue was amended in rev0.5.7. The GNSS antenna line was also rerouted to hopefully fix the GNSS reception issue. No other changes were made for rev 0.5.7.