SmartBond™ DA14682 and DA14683
Single-chip high-security Bluetooth 5 solution with expandable memory
The SmartBond DA14682 and DA14683 are the world’s first single-chip solutions for Smart Home, Industrial and wearable devices that meets the highest security standards. These highly integrated System-on-Chip (SoC) devices support Bluetooth 5 as well as Bluetooth mesh, and include a range of dedicated features to ensure cutting-edge security for both consumers and developers.
As part of our SmartBond range, both SoCs offer industry-leading performance from the lowest power consumption and smallest footprint. Their flexible architecture ensures plenty of processing capacity when you need it while saving power when you don’t. It also allows the devices to manage multi-sensor arrays and enables always-on sensing.
Both devices offer extensive memory capacity and differ only in their memory configuration. Specifically, the DA14683 supports unlimited external Flash for maximum design flexibility while the DA14682 includes 8 Mbits of onboard Flash, making it ideal for applications with tight space constraints. Both options allow you to benefit from over-the-air updates.
To further simplify your development, our SmartSnippets™ software and versatile Hardware Development Kits help you optimize your software for power consumption.
Lifecycle status
Benefits
Highest level of security
IPv6 connectivity
Lowest system power
Lowest system BoM
Smallest system size
Applications
Wearables
Smart Home
Cloud connected applications
Industrial
Human Interface Devices
Virtual reality remotes
Banking
Packages
AQFN-60 (6.0 x 6.0 x 0.9 mm)
WLCSP-53 (3.4 x 3.0 x 0.5 mm)
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersDevelopment Kits and Reference Designs
Hardware Development Kits based on DA14682 and DA14683 |
---|
DA14683 Development Kit USB |
DA14683 Development Kit Pro |
Relevant reference designs |
---|
Smart USB Dongle |
SmartBond™ DA14583 IoT Sensor Development Kit - Quick Start Video
SmartBond™ DA14583 IoT Sensor Development Kit
SDK 5.0.x Introduction
SDK 5.0.x Introduction (Chinese)
Production Line Tool Kit Webinar
You can no longer post questions or comments on this page. All product forum activity on the Dialog Semiconductor website has been migrated to a new platform called RenesasRulz. Renesas Electronics Corporation (“Renesas”) will be the service provider and processor managing this move on behalf of Dialog Semiconductor PLC. (“Dialog Semiconductor”). Please post your questions there:
DA1468x
3 months ago
After i2c2 is enabled, it is always blocked when reading I2C data
Posted by xuguodong 45 points 3 repliesHi Dialog,
I2c1 is used to read IMU data and works normally. On this basis, i2c2 is configured to read TP information. After i2c2 is enabled (add the following code 1 / 2 / 3), the data is read through i2c2 and is always blocked. It should be stuck in AD_ i2c_ transac。 Please help me check where my configuration is wrong. Thank you.
The code is as follows:
Code1:
I2C_BUS(I2C2)
#ifdef CFG_CST816D
I2C_SLAVE_DEVICE_DMA(I2C2, CST816D, 0x6A, HW_I2C_ADDRESSING_7B, HW_I2C_SPEED_STANDARD, 4);
#endif
I2C_BUS_END
Code2:
#ifdef CFG_CST816D
Cst816D_Reset();
i2c_dev2 = ad_i2c_open(CST816D);
if(Cst816D_Probe(i2c_dev2) == true) {
Cst816D_Init(i2c_dev2);
}
#endif
Code3:
bool Cst816D_Probe(i2c_device i2c_dev)
{
uint8_t chip_id_addr = 0xA7;
uint8_t chip_id = 0;
printf("\n\r E TP Chip Id: %x\n\r", chip_id);
error_code = ad_i2c_transact(i2c_dev, &chip_id_addr,
1, &chip_id, 1);
if (error_code != 0) {
printf("\n\r TP One Unsuccessful read transaction with error code: %d!!!\n\r",
error_code);
}
printf("\n\r TP Chip Id: %x\n\r", chip_id);
return 0;
}
SDK1.0.14
Thanks.
3 months ago
Hi PM_Dialog,
Thank you for your reply.
First updtae configuration the GPIOs for the I2C2 block,plz help me check. Other information will be updated later.
As follow:
# define IMU_PORT_SCL HW_GPIO_PORT_0
# define IMU_PORT_SDK HW_GPIO_PORT_2
# define IMU_PIN_SCL HW_GPIO_PIN_7
# define IMU_PIN_SDK HW_GPIO_PIN_3
# define TP_PORT_SCL HW_GPIO_PORT_1
# define TP_PORT_SDA HW_GPIO_PORT_1
# define TP_PIN_SCL HW_GPIO_PIN_0
# define TP_PIN_SDA HW_GPIO_PIN_5
static const gpio_config gpio_cfg[] = {
HW_GPIO_PINCONFIG(IMU_PORT_SCL, IMU_PIN_SCL, OUTPUT, I2C_SCL, true),
HW_GPIO_PINCONFIG(IMU_PORT_SDK, IMU_PIN_SDK, INPUT, I2C_SDA, true),
HW_GPIO_PINCONFIG(TP_PORT_SCL, TP_PIN_SCL, OUTPUT, I2C2_SCL, true),
HW_GPIO_PINCONFIG(TP_PORT_SDA, TP_PIN_SDA, INPUT, I2C2_SDA, true),
// This is critical for the correct termination of the structure
HW_GPIO_PINCONFIG_END
};
3 months ago
Hi xuguodong,
The pin configuration seems to be correct. Please share the quested debugging information so that we can check.
Thanks, PM_Dialog
3 months ago
Hi xuguodong,
Thanks for your question online. Could you also share the code you are using for I2C1 interface?
The code seems OK, but of course, we can debug it as we don’t have the specific I2C interface.
May I ask if you have BLE activity? Please keep in mind that the BLE interrupt is served with higher priority than the I2C.
Additionally, I would suggest to add a BKPT inside the ad_i2c_transact(), run it in debug mode, step in the code and share more debugging information? For example, in which point the code gets stuck?
And a last question, did you configure the GPIOs for the I2C2 block?
HW_GPIO_FUNC_I2C2_SCL = 21, /**< GPIO as I2C2 SCL */
HW_GPIO_FUNC_I2C2_SDA = 22, /**< GPIO as I2C2 SDA */
Since you are using the I2C peripheral block, please check out our I2C tutorial : http://lpccs-docs.dialog-semiconductor.com/tutorial_da1468x_adapters_concept_part_2/index.html
PS : it would be very helpful if you could probe the I2C lines and share a logic analyzer trace.
Thanks, PM_Dialog