Shared Projects by Pawelsky
Shared Projects by Pawelsky
FrSky S.Port to UART adapter v0.1
2 layer board of 0.35 x 0.30 inches (9.0 x 7.7 mm)
Uploaded:
March 4th 2019
Shared:
January 8th 2021
Total Price:
$0.50
This FrSky S.Port to UART adapter is a tiny (9x7.7mm) device that allows connecting the single wire, half-duplex inverted FrSky S.Port signal to a regular, n…
This FrSky S.Port to UART adapter is a tiny (9x7.7mm) device that allows connecting the single wire, half-duplex inverted FrSky S.Port signal to a regular, non-inverted, two wire UART.
List of components required:
- 2 * 2N7002 MOSFET in SOT-23 package
- 2 * 4.7k SMD resistor in 0603 package
- 1 * 330R SMD resistor in 0603 package
- 2 * 1x3 right-angle 2.54mm header pins (optional)
This FrSky S.Port to UART adapter is a tiny (9x7.7mm) device that allows connecting the single wire, half-duplex inverted FrSky S.Port signal to a regular, n…
This FrSky S.Port to UART adapter is a tiny (9x7.7mm) device that allows connecting the single wire, half-duplex inverted FrSky S.Port signal to a regular, non-inverted, two wire UART.
List of components required:
- 2 * 2N7002 MOSFET in SOT-23 package
- 2 * 4.7k SMD resistor in 0603 package
- 1 * 330R SMD resistor in 0603 package
- 2 * 1x3 right-angle 2.54mm header pins (optional)
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
Voltage divider v0.1
2 layer board of 0.35 x 0.25 inches (8.9 x 6.4 mm)
Uploaded:
August 17th 2014
Shared:
January 30th 2019
Total Price:
$0.40
Just a tiny voltage divider board
…
Just a tiny voltage divider board
Just a tiny voltage divider board
…
Just a tiny voltage divider board
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
DIY Cell Voltage S.Port Sensor v0.2
2 layer board of 1.30 x 0.70 inches (33.0 x 17.8 mm)
Uploaded:
February 11th 2017
Shared:
February 11th 2017
Total Price:
$4.55
HARDWARE

- resistors in 0805 package: 6 * 10k, 1 * 390ohm, 1 * 510ohm, 1 * 680ohm, 1 * 910ohm, 1 * 1.5k, 1 * 3.3k (and optionally 1 * 4.7k for protecting the 3.3V S.Port line from 5.0V Arduino serial - cut the jumper between solder pads if you install this resistor)
- 1 * 1x9 straight 2.54mm header pins (divided into 1, 1, 2, 5 sections)
- 1 * 1x14 right angle 2.54mm header pins (divided into 3, 4, 7)
NOTE 1: the 4 pin SERIAL connection is optional and used for uploading the code only - you don’t have to solder it in permanently. Make sure you always connect it TO THE SHIELD, not to the Arduino board itself! When uploading the code the Arduino board needs to be reset manually using the reset button.
NOTE 2: make sure you order the right angle pin headers that install flat on the board (see the picture below).
SOFTWARE
Load the code below (requires FrSky S-Port Telemetry and standard SoftwareSerial libraries)
/*
DIY Cell Voltage S-Port Sensor
(c) Pawelsky 20160123
Not for commercial use
*/
#include "FrSkySportSensor.h"
#include "FrSkySportSensorFlvss.h"
#include "FrSkySportSingleWireSerial.h"
#include "FrSkySportTelemetry.h"
#include "SoftwareSerial.h"
FrSkySportSensorFlvss flvss;
FrSkySportTelemetry telemetry;
float cell1DividerMultiplier = (10000.0 + 3300.0) / 3300.0 * 1.1 / 1023.0;
float cell2DividerMultiplier = (10000.0 + 1500.0) / 1500.0 * 1.1 / 1023.0;
float cell3DividerMultiplier = (10000.0 + 910.0) / 910.0 * 1.1 / 1023.0;
float cell4DividerMultiplier = (10000.0 + 680.0) / 680.0 * 1.1 / 1023.0;
float cell5DividerMultiplier = (10000.0 + 510.0) / 510.0 * 1.1 / 1023.0;
float cell6DividerMultiplier = (10000.0 + 390.0) / 390.0 * 1.1 / 1023.0;
float cell1Voltage = 0.0;
float cell2Voltage = 0.0;
float cell3Voltage = 0.0;
float cell4Voltage = 0.0;
float cell5Voltage = 0.0;
float cell6Voltage = 0.0;
void setup()
{
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
analogReference(INTERNAL);
telemetry.begin(FrSkySportSingleWireSerial::SOFT_SERIAL_PIN_4, &flvss);
}
void loop()
{
cell1Voltage = (float)analogRead(A5) * cell1DividerMultiplier;
cell2Voltage = (float)analogRead(A4) * cell2DividerMultiplier;
cell3Voltage = (float)analogRead(A3) * cell3DividerMultiplier;
cell4Voltage = (float)analogRead(A2) * cell4DividerMultiplier;
cell5Voltage = (float)analogRead(A0) * cell5DividerMultiplier;
cell6Voltage = (float)analogRead(A1) * cell6DividerMultiplier;
flvss.setData(cell1Voltage, cell2Voltage - cell1Voltage, cell3Voltage - cell2Voltage,
cell4Voltage - cell3Voltage, cell5Voltage - cell4Voltage, cell6Voltage - cell5Voltage);
telemetry.send();
}
This shield is meant for hobbyists and DIYers only. It has not been tested and there are no guarantees it will work. You can download the design file, modify it to your needs and build the board for yourself but you always use it at your own risk!
Not for commercial use!
HARDWARE

- resistors in 0805 package: 6 * 10k, 1 * 390ohm, 1 * 510ohm, 1 * 680ohm, 1 * 910ohm, 1 * 1.5k, 1 * 3.3k (and optionally 1 * 4.7k for protecting the 3.3V S.Port line from 5.0V Arduino serial - cut the jumper between solder pads if you install this resistor)
- 1 * 1x9 straight 2.54mm header pins (divided into 1, 1, 2, 5 sections)
- 1 * 1x14 right angle 2.54mm header pins (divided into 3, 4, 7)
NOTE 1: the 4 pin SERIAL connection is optional and used for uploading the code only - you don’t have to solder it in permanently. Make sure you always connect it TO THE SHIELD, not to the Arduino board itself! When uploading the code the Arduino board needs to be reset manually using the reset button.
NOTE 2: make sure you order the right angle pin headers that install flat on the board (see the picture below).
SOFTWARE
Load the code below (requires FrSky S-Port Telemetry and standard SoftwareSerial libraries)
/*
DIY Cell Voltage S-Port Sensor
(c) Pawelsky 20160123
Not for commercial use
*/
#include "FrSkySportSensor.h"
#include "FrSkySportSensorFlvss.h"
#include "FrSkySportSingleWireSerial.h"
#include "FrSkySportTelemetry.h"
#include "SoftwareSerial.h"
FrSkySportSensorFlvss flvss;
FrSkySportTelemetry telemetry;
float cell1DividerMultiplier = (10000.0 + 3300.0) / 3300.0 * 1.1 / 1023.0;
float cell2DividerMultiplier = (10000.0 + 1500.0) / 1500.0 * 1.1 / 1023.0;
float cell3DividerMultiplier = (10000.0 + 910.0) / 910.0 * 1.1 / 1023.0;
float cell4DividerMultiplier = (10000.0 + 680.0) / 680.0 * 1.1 / 1023.0;
float cell5DividerMultiplier = (10000.0 + 510.0) / 510.0 * 1.1 / 1023.0;
float cell6DividerMultiplier = (10000.0 + 390.0) / 390.0 * 1.1 / 1023.0;
float cell1Voltage = 0.0;
float cell2Voltage = 0.0;
float cell3Voltage = 0.0;
float cell4Voltage = 0.0;
float cell5Voltage = 0.0;
float cell6Voltage = 0.0;
void setup()
{
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
analogReference(INTERNAL);
telemetry.begin(FrSkySportSingleWireSerial::SOFT_SERIAL_PIN_4, &flvss);
}
void loop()
{
cell1Voltage = (float)analogRead(A5) * cell1DividerMultiplier;
cell2Voltage = (float)analogRead(A4) * cell2DividerMultiplier;
cell3Voltage = (float)analogRead(A3) * cell3DividerMultiplier;
cell4Voltage = (float)analogRead(A2) * cell4DividerMultiplier;
cell5Voltage = (float)analogRead(A0) * cell5DividerMultiplier;
cell6Voltage = (float)analogRead(A1) * cell6DividerMultiplier;
flvss.setData(cell1Voltage, cell2Voltage - cell1Voltage, cell3Voltage - cell2Voltage,
cell4Voltage - cell3Voltage, cell5Voltage - cell4Voltage, cell6Voltage - cell5Voltage);
telemetry.send();
}
This shield is meant for hobbyists and DIYers only. It has not been tested and there are no guarantees it will work. You can download the design file, modify it to your needs and build the board for yourself but you always use it at your own risk!
Not for commercial use!
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
Teensy 3.2 CAN + MicroSD + IO shield v0.2
2 layer board of 1.50 x 0.70 inches (38.1 x 17.8 mm)
Uploaded:
October 16th 2015
Shared:
December 18th 2016
Total Price:
$5.25
This Teensy 3.2 shield allows to communicate with the CAN bus with up to 1Mb/s speed. It includes the MicroSD push-push type slot to allow easy data logging….
This Teensy 3.2 shield allows to communicate with the CAN bus with up to 1Mb/s speed. It includes the MicroSD push-push type slot to allow easy data logging. It does not have its own power regulator (which makes it cheaper and easier to build) and relies on Teensy 3.2 built in regulator providing up to 250mA for input voltages in the 3.6V-6V range. It also has place for up to 4 resistor dividers that increase the maximum voltage you can measure using the analog I/O pins.
Here is a RC Groups thread from which it has originated: http://www.rcgroups.com/forums/showpost.php?p=27129264&postcount=1
The shield has following pins broken out:
- CAN bus (CAN +, CAN GND, CAN H, CAN L)
- Serial ports (TX, RX and GND for Teensy’s Serial1 and Serial3)
- Analog pins (I/O1, I/O2, I/O3 and I/O4 mapped to Teensy’s A9, A8, A7 and A6 accordingly - optionally via a resistor divider)
- Note that pin 9 can be used for card detection (shorted to GND when card inserted, floating otherwise)
Following components are needed to assemble this board:
- 1 * TI SN65HVD230, SN65HVD231 or SN65HVD232 (recommended) CAN transceiver in the SOIC-8 package
- 1 * MicroSD card push-push type slot matching the Suntech ST-TF-003A or Adam Tech MCSP-08-C-SG dimensions
- 1 * 1x18 straight 2.54mm header pins (divided into 1, 1, 2, 2, 2, 4, 6 sections)
- 1 * 2x7 straight 2.54mm header pins
- 1 * 120ohm resitor in 0805 package (optional, only needed if you require CAN bus termination)
- 4 * resitor pair in 0805 package (optional, only needed if you require resistor dividers, resistor pair values depend on the division ratio you need to achieve - see below for some examples)
Here is how the shield looks like when assembled (notice the place for the optional terminating resistor next to the transceiver chip)
The below picture shows how the shield shall be stacked together with Teensy and also provides pins description.
Before soldering the shield to the Teensy board make sure the blink sketch is loaded to prevent setting used pins into the state that could damage the boards (e.g. setting pin 9 high when the Micro SD card is inserted would short it directly to GND).
One important thing to remember when powering the Teensy with the shield is to not connect it to the USB when it is powered from the CAN bus. If for some reason you need to do it there are two options:
- Disconnect the CAN + wire
- Cut the VIN-VUSB pad at the bottom of Teensy (note that after you do that you’ll need to power Teensy from the CAN bus, or other external source every time when uploading a new sketch)
Resistor dividers
Each of the four I/O lines can have a resistor divider installed. The picture below shows which resistor belongs to which I/O line
When no divider is used the R1 pads for a particular I/O line shall be soldered together and the R2 pads for the same line shall be left open. The maximum voltage that can be mesured without the divider is 3.3V.
When a divider needs to be used both R1 and R2 pads of a particular I/O line shall be populated with appropriate resistors.
Here are some example resistor values for typical RC world usage:
- R1 = 3.0kOhm, R2 = 4.7kOhm
max measured voltage = 5.4V (this is useful when measuring data form sensors that provide up to 5.0V output) - R1 = 22kOhm, R2 = 4.7kOhm
max measured voltage = 18.7V (this is useful when measuring voltage of battery packs up to 4S) - R1 = 22kOhm, R2 = 3.0kOhm
max measured voltage = 27.5V (this is useful when measuring voltage of battery packs up to 6S)
Note that these resistor values are calculated to be used with 3.3V analog reference voltage
From software perspective following libraries have been tested to work fine with this shield:
- For CAN bus - teachop’s FlexCan library
- For MicroSD - either Arduino’s built in SD library or gremain’s SdFat library
- For resistor dividers - Pawelsky’s ResistorDivider library
This shield is meant for hobbyists and DIYers only. Although this board has been used and tested for quite a while there are no guarantees it will work. You can download the design file, modify it to your needs and build the board for yourself but you always use it at your own risk!
Not for commercial use!
This Teensy 3.2 shield allows to communicate with the CAN bus with up to 1Mb/s speed. It includes the MicroSD push-push type slot to allow easy data logging….
This Teensy 3.2 shield allows to communicate with the CAN bus with up to 1Mb/s speed. It includes the MicroSD push-push type slot to allow easy data logging. It does not have its own power regulator (which makes it cheaper and easier to build) and relies on Teensy 3.2 built in regulator providing up to 250mA for input voltages in the 3.6V-6V range. It also has place for up to 4 resistor dividers that increase the maximum voltage you can measure using the analog I/O pins.
Here is a RC Groups thread from which it has originated: http://www.rcgroups.com/forums/showpost.php?p=27129264&postcount=1
The shield has following pins broken out:
- CAN bus (CAN +, CAN GND, CAN H, CAN L)
- Serial ports (TX, RX and GND for Teensy’s Serial1 and Serial3)
- Analog pins (I/O1, I/O2, I/O3 and I/O4 mapped to Teensy’s A9, A8, A7 and A6 accordingly - optionally via a resistor divider)
- Note that pin 9 can be used for card detection (shorted to GND when card inserted, floating otherwise)
Following components are needed to assemble this board:
- 1 * TI SN65HVD230, SN65HVD231 or SN65HVD232 (recommended) CAN transceiver in the SOIC-8 package
- 1 * MicroSD card push-push type slot matching the Suntech ST-TF-003A or Adam Tech MCSP-08-C-SG dimensions
- 1 * 1x18 straight 2.54mm header pins (divided into 1, 1, 2, 2, 2, 4, 6 sections)
- 1 * 2x7 straight 2.54mm header pins
- 1 * 120ohm resitor in 0805 package (optional, only needed if you require CAN bus termination)
- 4 * resitor pair in 0805 package (optional, only needed if you require resistor dividers, resistor pair values depend on the division ratio you need to achieve - see below for some examples)
Here is how the shield looks like when assembled (notice the place for the optional terminating resistor next to the transceiver chip)
The below picture shows how the shield shall be stacked together with Teensy and also provides pins description.
Before soldering the shield to the Teensy board make sure the blink sketch is loaded to prevent setting used pins into the state that could damage the boards (e.g. setting pin 9 high when the Micro SD card is inserted would short it directly to GND).
One important thing to remember when powering the Teensy with the shield is to not connect it to the USB when it is powered from the CAN bus. If for some reason you need to do it there are two options:
- Disconnect the CAN + wire
- Cut the VIN-VUSB pad at the bottom of Teensy (note that after you do that you’ll need to power Teensy from the CAN bus, or other external source every time when uploading a new sketch)
Resistor dividers
Each of the four I/O lines can have a resistor divider installed. The picture below shows which resistor belongs to which I/O line
When no divider is used the R1 pads for a particular I/O line shall be soldered together and the R2 pads for the same line shall be left open. The maximum voltage that can be mesured without the divider is 3.3V.
When a divider needs to be used both R1 and R2 pads of a particular I/O line shall be populated with appropriate resistors.
Here are some example resistor values for typical RC world usage:
- R1 = 3.0kOhm, R2 = 4.7kOhm
max measured voltage = 5.4V (this is useful when measuring data form sensors that provide up to 5.0V output) - R1 = 22kOhm, R2 = 4.7kOhm
max measured voltage = 18.7V (this is useful when measuring voltage of battery packs up to 4S) - R1 = 22kOhm, R2 = 3.0kOhm
max measured voltage = 27.5V (this is useful when measuring voltage of battery packs up to 6S)
Note that these resistor values are calculated to be used with 3.3V analog reference voltage
From software perspective following libraries have been tested to work fine with this shield:
- For CAN bus - teachop’s FlexCan library
- For MicroSD - either Arduino’s built in SD library or gremain’s SdFat library
- For resistor dividers - Pawelsky’s ResistorDivider library
This shield is meant for hobbyists and DIYers only. Although this board has been used and tested for quite a while there are no guarantees it will work. You can download the design file, modify it to your needs and build the board for yourself but you always use it at your own risk!
Not for commercial use!
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
Mini CAN Hub v0.2
2 layer board of 0.69 x 0.61 inches (17.5 x 15.5 mm)
Uploaded:
July 9th 2015
Shared:
July 29th 2015
Total Price:
$2.10
Mini CAN Hub v0.2 for DJI flight controllers
All you need to assemble this mini hub are 4 Molex Microfit 1x4 vertical PCB headers ([43650-0427](http://www…
Mini CAN Hub v0.2 for DJI flight controllers
All you need to assemble this mini hub are 4 Molex Microfit 1x4 vertical PCB headers (43650-0427). When soldering the headers start with the two closer to the middle of the PCB (on both sides). Then solder the other two.
You can connect it to your controller using standard DJI CAN cable.
Mini CAN Hub v0.2 for DJI flight controllers
All you need to assemble this mini hub are 4 Molex Microfit 1x4 vertical PCB headers ([43650-0427](http://www…
Mini CAN Hub v0.2 for DJI flight controllers
All you need to assemble this mini hub are 4 Molex Microfit 1x4 vertical PCB headers (43650-0427). When soldering the headers start with the two closer to the middle of the PCB (on both sides). Then solder the other two.
You can connect it to your controller using standard DJI CAN cable.
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
- SERVICES
- Upload Your File
- Prototypes
- HELP
- Support
- If you can't find what you're looking for, please contact us at [email protected]
- CONNECT
- Shared Projects
- Log in / Sign up