The project presented here is made for applications such as Animatronics, Puppeteer, sound-responsive toys, and robotics. The board is Arduino compatible and consists of LM358 OPAMP, ATMEGA328 microcontroller, microphone, and a few other components. The project moves the RC servo once receives any kind of sound. The rotation angle depends on the sound level, the higher the sound level the biggest the movement, in other words, the movement of the servo is proportional to the sound level. The microphone picks up the soundwave and converts it to an electrical signal, this signal is amplified by LM358 op-amp-based dual-stage amplifier, D1 helps to rectify the sinewave into DC, and C8 works as a filter capacitor that smooths the DC voltage. ATmega328 microcontroller converts this DC voltage into a suitable RC PWM signal.
The project is Arduino compatible and an onboard connector is provided for the boot-loader and Arduino IDE programming. Arduino code is available as a download, and Atmega328 chips need to be programmed with a bootloader before uploading the code. Users may modify the code as per requirement. More information on burning the bootloader is here: https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoToBreadboard
Direct Audio Input: The audio input signal should not exceed 5V, It is important to maintain the input audio signal at this maximum level, otherwise it can damage the ADC of ATMEGA328.
Features
Supply 5V to 6V DC (Battery Power Advisable)
RC Servo Movement 180 Degrees with Loud sound
Direct Sound Input Facility Using 3.5MM RC Jack
On Board Jumper Selection for Micro-Phone Audio or External Audio Signal
On Board Trimmer Potentiometer to Adjust the Signal Sensitivity
Flexible Operation, Parameters Can be Changed using Arduino Code
/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = A2; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(6); // attaches the servo on pin 6 to the servo object
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 60)
val = map(val, 0, 60, 0, 180); // scale it for use with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}
The LILYGO T5 4.7 inchE-Paper ESP32 Development Board is an exciting 4.7″ e-paper display integrated with an ESP32 WiFi/Bluetooth module. The board’s processor is ESP32-WROVER-E with 16MB of FLASH memory and 8MB of PSRAM. The ESP32 module supports Wi-Fi 802.11 b/g/n and Bluetooth V4.2+BLE and can easily be programmed with Arduino IDE, VS Code, or ESP-IDF. The board can be purchased on Alliexpress for 38.33 EUR + shipping or Tindie for 28.13 + shipping. This display is ideal for building a weather station that will fetch weather data from OpenWeatherMap via simple API usage. So in this tutorial, we will follow the steps to make a weather station like the photo above. We will work on a Windows PC to program the display, but the same can be done in Linux or Mac OS.
Specifications
MCU: ESP32-WROVER-E (ESP32-D0WDQ6 V3)
FLASH: 16MB
PRAM: 8MB
USB to TTL: CP2104
Connectivity: Wi-Fi 802.11 b/g/n & Bluetooth V4.2+BLE
Onboard functions: Buttons: IO39+IO34+IO35+IO0, Battery Power Detection
Power Supply: 18650 Battery or 3.7V lithium Battery (PH 2.0 pitch)
First of all, we will need to install the USB to Serial (CH343) Drivers if we don’t have this done previously. Depending on your Windows version you will need:
Next click Tools, and select Boards: -> Boards Manager . It will open the left pane with a list of boards. Type ESP32 into the search field. Find ESP32 by Espressif Systems, and click Install.
Preparing the Code
Download LilyGo-EPD47 library to the C:\Users\YOUR_USERNAME\Documents\Arduino\libraries folder on your system:
Download and extract LilyGo-EPD-4-7-OWM-Weather-Display to your directory with Arduino projects. This directory is normally located in C:\Users\YOUR_USERNAME\Documents\Arduino.
The project folder name should match the name of the source code file (OWM_EPD47_epaper_v2.5). This is done to avoid the unnecessary step of moving the files later.
Open Arduino IDE 2.0, click File, -> Sketchbook, -> OWM_EPD47_epaper_v2.5.
The sketch requires ArduinoJson Library to successfully build.
Click Tools, ->Manage libraries. The pane with Library Manager will open, then type ArduinoJson into the search field. Find ArduinoJson by Benoit Blanchon, click Install.
Then click the tick button on the top menu to compile the code. If everything is successful it should show:
Once you verify that the code is compiled you can move on to the next step.
Configuring Parameters
Open the file owm_credentials.h and configure ssid, password, apikey, City, and Country.
The project is fetching data from openweathermap.org so you will need to create a new free account in order to get API key.
Power Saving
The project code supports power saving, so if you’re flashing in the early before 08.00 or after 23.00, you might notice that nothing appears on the display.
To change the power-saving options open file OWM_EPD47_epaper_v2.5.ino and change WakeupHour and SleepHour to a value that suits your schedule.
Uploading the Code
Connect the LilyGO T5 4.7-inch e-paper display to your PC-> Select the board from the dropdown in the toolbar. Search for the ESP32 Wrover module and click Ok.
Click the Upload button.
If the flashing is successful, your weather will be displayed on the e-paper like the photos below.
This is an original design of a GPS tracker designed on Elab and it is intended to be used as a security device for beehives, but it is not limited to this. It can be used everywhere a motion-activated GPS tracker is needed, like your car, bike, or even your boat. It is a GPS tracker controlled by simple SMS commands and designed for reliability,low power consumption, and easeof use. It features a MEMS accelerometer that is used to intelligently detect movement and once triggered it will power on the GPS module and will try to acquire the current coordinates. The location details will be transmitted to the owner’s smartphone via a simple SMS and then follow update the coordinates at predefined intervals.
Key Features:
Remote management via simple SMS commands
High reliability – no need to babysit the tracker due to crashes and resets
Long battery life – over 1 year standby on a single charge (2500mAh battery)
3-axis high-sensitivity MEMS Accelerometer
Intelligent Triggering – it will not be triggered by accidental movement
Selectable Trigger Sensitivity Level
Description of Operation
The tracker has 3 main modes of operation, detailed below:
Standby
Ready
Tracking
Standby mode
In standby mode, the GSM and GPS modules are powered down and the microcontroller is in sleep mode, resulting in a current draw of approximately 70uA, mainly by the accelerometer (MMA7660). The accelerometer is used to detect movement caused by a possible thief. If the accelerometer is triggered 1 or 2 or 3 times (depending on the sensitivity level) inside of a 60-second window then the device will enter tracking mode. While in standby mode the tracker will also enter ready mode approximately every 12 hours, triggered by the microcontroller’s internal RTC. This is to check for incoming commands and battery status etc.
Ready mode
The ready mode is entered by the microcontroller’s internal RTC and when the tracker is first powered on. In this mode, the tracker will power up the GSM module and wait for any SMSs to come in and process them. The tracker will stay in ready mode for 5 minutes before returning to standby mode unless an SMS command has instructed the device to enter tracking mode (BEE+TRIGGER).
Tracking mode
Tracking mode is entered when manually instructed to by the BEE+TRIGGER command or after the accelerometer triggers (1 or 2 or 3 movements detect depending on sensitivity level) within a 60-second window, from either standby or ready modes. In tracking mode, the tracker will power up both the GSM and GPS modules and begin to send tracking alert SMSs to the number configured by the BEE+NUMBER command. The device will continue to stay in tracking mode until the BEE+CLEAR command is received or while the accelerometer is detecting movement and/or the GPS module has a lock and the speed is greater than 10KPH. If neither of these conditions is met for 6 minutes then the tracker will send a tracking stopped SMS and return to standby mode, or ready mode if the RTC was triggered within the last 5 minutes.
Power up and Battery Status
In ready and tracking modes if the battery voltage falls below the threshold voltage (3650mV default) then a low battery alert SMS will be sent to the number configured by BEE+NUMBER. Approximately every 30 days (60 RTC triggers) an automated status SMS is also sent to the number configured by BEE+NUMBER.
When power is first applied to the device the tracker will be in ready mode and it will check for incoming SMS and then go to sleep. This is the ideal time to configure the tracker with the BEE+NUMBER number. This is the number that tracking messages, monthly status reports, and low battery alerts will be sent. The phone number is stored in the microcontroller’s FLASH memory and it will be permanently saved, even if battery power is removed. At power-up, the tracker will send a status SMS and also ignore any movement detected by the accelerometer for the first 60 seconds.
The Hardware
Hover images for details
Block Diagram
MCU
The tracker uses an ST STM32F030K6 microcontroller (ARM Cortex-M0, 32-bit RISC core), with 32KB of flash, and 4KB of RAM, and operates at up to 48MHz. The STM32F030K6 microcontroller operates in the -40 to +85 °C temperature range from a 2.4 to 3.6V power supply. A comprehensive set of power-saving modes allows the design of low-power applications. Currently, the firmware is taking roughly 24KB of flash (with debugging output enabled) and 1.7KB of RAM. The microcontroller is running at 8MHz and is supplied with 3V.
GSM module
The GSM module is a SIMCom SIM800C and uses the UART bus to communicate with the MCU. The GSM module is power-gated with a P-MOSFET, controlled by the MCU, as its own low-power modes are not sufficient for this project. SIM800C supports Quad-band 850/900/1800/1900MHz, it can transmit Voice, SMS and data information with low power consumption. With a tiny size of 17.6*15.7*2.3mm, it can smoothly fit into our small board. The module is controlled via AT commands and has a supply voltage range 3.4 ~ 4.4V.
GPS module
The GPS module is a u-blox NEO-6M and uses the I2C bus to communicate with the MCU. There is also a UART connection to the microcontroller as a fallback if the I2C interface does not work (usually the case with Chinese fakes). So, the tracker will work with the original NEO-6M as well as Chinese fake modules. The microcontroller implements the UART interface in software (via timer interrupts), operating at 9600 baud. The GPS module is power-gated with a P-MOSFET, controlled by the MCU, as its own low-power modes are not sufficient. The NEO-6M is powered in the range of 2.7 – 3.6V and has a size of 12.2 x 16 x 2.4mm. More details and design considerations can be found in the Hardware Integration Manual of NEO-6 GPS Modules Series and u-blox 6Receiver Description.
Supported GPS modules:
U-blox NEO-5M
U-blox NEO-6M
U-blox NEO-7M
U-blox NEO-M8N
Various Chinese fakes using AT6558 and similar (if the PCB footprint is the same then it will probably work)
Accelerometer
The accelerometer IC is the MMA7660FC and uses the I2C bus to communicate with the MCU. The MMA7660FC is a ±1.5g 3-Axis Accelerometer with Digital Output (I2C). It is a very low power, low profile capacitive MEMS sensor featuring a low pass filter, compensation for 0g offset and gain errors, and conversion to 6-bit digital values at a user-configurable sample per second. In OFF Mode it consumes 0.4 μA, in Standby Mode: 2 μA, in Active mode 47 μA and is powered in the range 2.4 V – 3.6 V. The accelerometer is always active, set up to create an interrupt whenever a shake or orientation change is detected, and is configured with a sampling rate of 8Hz (higher sampling rates improve detection, but also increase power consumption). The interrupt will wake up the microcontroller, where it will run through the main loop. In this loop it checks the interrupt status, and if set it will clear the interrupt and increment a counter at a maximum of once per second. The counter is reset every minute. If the counter reaches 3 the tracker is activated.
Battery Charger
The Li-Ion battery charging IC is MCP73832, which has a user-programmable charge current and the battery charge rate is set to 450mA. It includes an integrated pass transistor, integrated current sensing, and reverse discharge protection. It is usually recommended to charge Lithium batteries at no more than 0.5C, so the recommended minimum battery capacity to use with the tracker is 900mAh.
With a 2500mAh battery, standby current of 70uA, and waking up every 12 hours for 5 minutes with an estimated average current of 15mA the battery life should be approximately 1.5 years. A poor GSM signal can reduce battery life.
Status LEDs
LED
Description
States
LED1
Battery charging state
OFF: Battery not charging (no USB power or battery fully charged) ON: Charging
LED2
GSM state
OFF: GSM is powered off FAST BLINK: GSM is not connected to a network (usually no signal or no SIM) SLOW BLINK: GSM is connected to the network
LED3
MCU Operating mode
OFF: Standby mode ON: Ready or tracking mode
LED4
GPS state
OFF: GPS is powered off FAST BLINK: GPS is acquiring a lock SLOW BLINK: GPS has a lock
SMS Commands
Command
Description
BEE+STATUS
Returns battery voltage - temperature - GSM signal strength - tracking enabled - is tracking - last GPS coordinates -sensitivity level.
BEE+CLEAR
If the tracker has been triggered this will clear it and stop tracking until the next trigger.
BEE+TRIGGER
Manually trigger tracking (will trigger even if disabled with BEE+DISABLE). Tracking will stay enabled until BEE+CLEAR is received.
BEE+ENABLE
Enable tracking triggers
BEE+DISABLE
Disable tracking triggers.
BEE+NUMBER=0123499988
This sets the mobile number to send tracking - low battery warning and monthly status SMSs to. Other command replies are sent to the number that the command was sent from.
BEE+NUMBER=+441234999888
International numbers must start with + then the country code.
BEE+SENSE=1/2/3
This is the sensitivity level - 1 high sensitivity - 2 medium sensitivity - 3 low sensitivity.
LOW BATTERY: (battery voltage)mV (threshold voltage mV)
LOW BATTERY: 3400mV (3650mV)
Programming
The device firmware can be programmed via the SWD interface, which is the 4-pin programming header on the PCB marked RST (reset), SWD (SWDIO), SWC (SWCLK) and GND (ground). An ST-LINK/V2 USB adapter is needed to program the device, which is available from ebay, aliexpress, and other places for less than £3.
3D Render
Debugging
Debugging data is sent out of the UART interface through the TX pin of the debugging header on the PCB, at 115200 baud. This pin is also shared with the SWD interface (SWC). The RX pin is unused but made available for possible use in the future.
Format
(<time>)(<module>)<message>
“time” is in milliseconds and only increments while the microcontroller is not in standby mode. “module” is either “DBG” (general messages), “TRK” (tracker), “GSM”, “GPS”, “SMS”, “MGR” (MGR is the SMS manager which controls when queued SMSs are sent, retried etc.)
A 3D model of the enclosure is designed using Solidworks with overall dimensions of 60 x 20 x 112 mm. The enclosure has two holes, one for the charging micro USB connector and one to fit a mini rocker power switch. The provided design files (download .STEP and .STL files below) can be used to print your own enclosure in your desired color and material. The screws used to secure the enclosure are M3 x 10mm countersunk screws. Design is made by professional engineer janangachandima and you can find his services on the Fiverr page.
This is a DC-DC step-up converter based on LM2585-ADJ regulator manufactured by Texas Instruments. This IC was chosen for its simplicity of use, requiring minimal external components and for its ability to control the output voltage by defining the feedback resistors (R1,R2). NPN switching/power transistor is integrated inside the regulator and is able to withstand 3A maximum current and 65V maximum voltage. Switching frequency is defined by internal oscillator and it’s fixed at 100KHz.
The power switch is a 3-A NPN device that can standoff 65 V. Protecting the power switch are current and thermal limiting circuits and an under-voltage lockout circuit. This IC contains a 100-kHz fixed-frequency internal oscillator that permits the use of small magnetics. Other features include soft start mode to reduce in-rush current during start-up, current mode control for improved rejection of input voltage, and output load transients and cycle-by-cycle current limiting. An output voltage tolerance of ±4%, within specified input voltages and output load conditions, is specified for the power supply system.
Specifications
Vin: 10-15V DC
Vout: 24V DC
Iout: 1A (can go up to 1.5A with forced cooling)
Switching Frequency: 100KHz
Schematic is a simple boost topology arrangement based on datasheet. Input capacitors and diode should be placed close enough to the regulator to minimize the inductance effects of PCB traces. IC1, L1, D1, C1,C2 and C5,C6 are the main parts used in voltage conversion. Capacitor C3 is a high-frequency bypass capacitor and should be placed as close to IC1 as possible.
All components are selected for their low loss characteristics. So capacitors selected have low ESR and inductor selected has low DC resistance.
At maximum output power, there is significant heat produced by IC1 and for that reason, we mounted it directly on the ground plane to achieve maximum heat dissipation.
Block Diagram
Measurements
Thermal Performance
Photos
If you would like to receive a PCB, we can ship you one for 6$ (worldwide shipping) click here to contact us
Parts List
Part
Value
Package
MPN
Mouser No
C1 C2
33uF 25V 1Ω
6.3 x 5.4mm
UWX1E330MCL1GB
647-UWX1E330MCL1
C3
0.1uF 50V 0Ω
1206
C1206C104J5RACTU
80-C1206C104J5R
C4
1uF 25V
1206
C1206C105K3RACTU
80-C1206C105K3R
C5 C6
220uF 35V 0.15Ω
10 x 10.2mm
EEE-FC1V221P
667-EEE-FC1V221P
D1
0.45 V 3A 40V Schottky
SMB
B340LB-13-F
621-B340LB-F
IC1
LM2585S-ADJ
TO-263
LM2585S-ADJ/NOPB
926-LM2585S-ADJ/NOPB
L1
120 uH 0.04Ω
30.5 x 25.4 x 22.1 mm
PM2120-121K-RC
542-PM2120-121K-RC
R1
28 KΩ
1206
ERJ-8ENF2802V
667-ERJ-8ENF2802V
R2 R3
1.5 KΩ
1206
ERJ-8ENF1501V
667-ERJ-8ENF1501V
R4
1 KΩ
1206
RT1206FRE07931KL
603-RT1206FRE07931KL
LED1
RED LED 20mA 2.1V
0805
599-0120-007F
645-599-0120-007F
Connections
Gerber View
Simulation
We’ve done a simulation of the LM2585 step-up DC-DC converter using the TI’s WEBENCH online software tools and some of the results are presented here.
The first graph is the open-loop BODE graph. In this graph, we see a plot of GAIN vs FREQUENCY in the range 1Hz – 1M and PHASE vs FREQUENCY in the same range. This plot is useful as it gives us a detailed view of the stability of the loop and thus the stability and performance of our DC-DC converter.
Bode plot of open control loop
What’s interesting on this plot is the “phase margin” and “gain margin“. The gain margin is the gain for -180deg phase shift and phase margin is the phase difference from 180deg for 0db gain as shown in the plot above. For the system to be considered stable there should be enough phase margin (>30deg) for 0db gain or when phase is -180deg the gain should be less than 0db.
On the plot above we see that the phase margin is ~90deg and that ensures that the DC-DC converter will be stable over the measured range.
The next simulation graph is the Input Transient plot over time.
Input Transient simulation
In this plot, we see how the output voltage is recovering when the input voltage is stepped from 10V to 15V. We see that 4ms after the input voltage is stepped the output has recovered to the normal output voltage of 24V.
The next graph is the Load Transient.
Load Transient simulation
Load transient is the response of output voltage to sudden changes of load or Iout. We see that the output current suddenly changes from 0,1A to 1A and that the output voltage drops down to 23,2V until it recovers in about 3ms. We also see that when the load is reduced from 1A to 0,1A, output voltage spikes up to ~25,5V, then rings until it recovers to 24V in about 4ms.
The last graph shows the Steady State operation of DC-DC converter @ 1A output.
This graph shows the simulated output voltage ripple and inductor current. We see that output voltage ripple is ~0,6Vpp and the inductor current has a peak current of 2,4A. The inductor we used is rated at max 5,6A DC so it can easily withstand such operating current and without much heating of the coil.
Operating point data (Vin=13V, Iout=1A)
Operating Values
Pulse Width Modulation (PWM) frequency
Frequency
100 kHz
Continuous or Discontinuous Conduction mode
Mode
Cont
Total Output Power
Pout
24.0 W
Vin operating point
Vin Op
13.00 V
Iout operating point
Iout Op
1.00 A
Operating Point at Vin= 13.00 V,1.00 A
Bode Plot Crossover Frequency, indication of bandwidth of supply
Cross Freq
819 Hz
Steady State PWM Duty Cycle, range limits from 0 to 100
Duty Cycle
48.3 %
Steady State Efficiency
Efficiency
93.2 %
IC Junction Temperature
IC Tj
65.2 °C
IC Junction to Ambient Thermal Resistance
IC ThetaJA
34.9 °C/W
Current Analysis
Input Capacitor RMS ripple current
Cin IRMS
0.14 A
Output Capacitor RMS ripple current
Cout IRMS
0.48 A
Peak Current in IC for Steady State Operating Point
IC Ipk
2.2 A
ICs Maximum rated peak current
IC Ipk Max
3.0 A
Average input current
Iin Avg
2.0 A
Inductor ripple current, peak-to-peak value
L Ipp
0.50 A
Power Dissipation Analysis
Input Capacitor Power Dissipation
Cin Pd
0.01 W
Output Capacitor Power Dissipation
Cout Pd
0.035 W
Diode Power Dissipation
Diode Pd
0.45 W
IC Power Dissipation
IC Pd
1.0 W
Inductor Power Dissipation
L Pd
0.16 W
Configuring Output Voltage
The output voltage is configured by R1, R2 according to the following expression (Vref=1,23V)
VOUT = VREF (1 + R1/R2)
If R2 has a value between 1k and 5k we can use this expression to calculate R1:
R1 = R2 (VOUT/VREF − 1)
For better thermal response and stability it is suggested to use 1% metal film resistors.
Nixie tubes need about ~180Vdc to light up and thus on most devices, a DC-DC converter is needed. Here we designed a simple DC-DC switching regulator capable of powering most of Nixie tubes. The board accepts 12Vdc input and gives an output of 150-250Vdc. The board is heavily inspired by Nick de Smith’s design.
Description
The module is based on the MAX1771 Step-Up DC-DC Controller. The controller works up to 300kHz switching frequency and that allows the usage of miniature surface mount components. In the default configuration, it accepts an input voltage from 2V to Vout and outputs 12V, but in this module, the output voltage is selected using the onboard potentiometer and it’s in the range 150-250Vdc. The maximum output current is 50mA @ 180Vdc.
The MAX1771 is driving an external N-channel MOSFET (IRF740) and with the help of the inductor and a fast diode, high voltage is produced.
MOSFET has to be low RDSon, the diode has to be fast Mttr, typically < 50nS, and capacitors have to be low ESR type to have good efficiency.
Precautions must be taken as this power supply uses high voltages. Build it only if you know what you are dealing with. Don’t touch any of the parts while in use.
Pay attention on the placement of C1 tantalum capacitor, as the bar indicates the anode (positive lead)
Schematic
Parts List
Part
Value
LCSC.com
R1
1.5M - 0805 SMD
C118025
R3
10k 0805
C269724
R4
5k trimmer SMD
C128557
Rs
0.05 Ohm - 0805 SMD
C149662
C1
100uF Tantalium SMD
C122302
C2, C3
100nF - 0805 SMD
C396718
C4
4.7uF / 250V SMD
C88702
C5
100nF / 250V SMD 1210
C52020
IC
MAX1771 SO-8
C407903
L1
100uH / 2.5 A
C2962892
Q1
IRF740 D2PAK (TO-263-2)
C39238
D2
ES2F-E3, ES2GB
C145321, C2844160
X1, X2
Screw Terminal - P=3.5mm
C474892
Oscilloscope Measurements
Efficiency
The module’s efficiency is calculated for two output currents (50mA and 25mA) at 180Vdc voltage output and 12V input. In the first case, the Pout = 8.1W while the Pin=10.96W, so efficiency is calculated at 73.9%. In the second case, the Pout = 4.1W while the Pin=5.52W, so efficiency is calculated at 74.2%. We see that for lower currents efficiency is a little greater than for the maximum current of 50mA.
This is a minimal and small clock based on PIC16F628A microcontroller and DS1307 RTC IC. It is able to only show the time on a small 7-segment display with a total of 4 segments. The display we used is a 0.28″ SR440281N RED common cathode display bought from LCSC.com, but you can use other displays as well such as the 0.56″ Kingbright CC56-21SRWA. This project is heavily inspired by the “Simple Digital Clock with PIC16F628A and DS1307” in the case of schematic and we also used the same .hex as”Christo”.
Schematic
The schematic is straight forward. The heart is the PIC16F628A microcontroller running on the internal 4MHz oscillator, so no external crystal is needed. This saves us 2 additional IOs. The RESET Pin (MCLR) is also used as input for one of the buttons. All display segments are connected to PORTB and COMs are connected to PORTA. The RTC chip is also connected to PORTA using the I2C bus.
The refresh rate of the digits is about 53Hz and there is no visible flickering. The display segments are time-multiplexed and this makes them appear dimmer than the specifications. To compensate we are going to use some low resistors on the anodes. “Christo” tested it with different values for current limiting resistors R1-R7 and below 220Ω the microcontroller starts to misbehave (some of the digits start to flicker) above 220 Ohm everything seems OK. On the display we used the two middle dots are not connected to any pin on the package, so for the seconds’ indicators, we used the “comma” dots. These pins are connected to the SQW pin of the DS1307, which provides a square wave output with 1 sec period. The SQW pin is open drain, so we need to add a pull-up resistor. Τhe value of this resistor is chosen at 470Ω, after some trial and error testing. On the input side of the MCU, there are two buttons for adjusting the MINUTES and HOURS of the clock as indicated on the schematic. Onboard there is also an ICSP Programming connector, to help with the firmware upload. Finally, there is one unused pin left (RB7), which can be used for additional functionality, like adding a buzzer or an additional LED.
The DS1307 RTC needs an external crystal to keep the internal clock running and a backup battery to keep it running while the main power is OFF. So, the next time you power ON the clock the time would be current. To keep the overall board dimensions small we used a CR1220 battery holder with the appropriate 3V battery. Power consumption is about 35-40mA @ 5V input.
Code
According to the author, the code is written and compiled with MikroC Pro and uses the build-in software I2C library for communicating with RTC chip. If you want to use MPLAB IDE for compiling the code you should write your own I2C library from scratch. For programming the board we used PICkit 3 programmer and software. In this case, in the “Tools” menu check the option “Use VPP First Program Entry“.
The code for this project is listed below. Additionally, you will need the “Digital Clock (PIC16F628A, DS1307, v2).h” file which can be found on the .zip in downloads below. Compiled .hex file is also provided on the same .zip file.
#include "Digital Clock (PIC16F628A, DS1307, v2).h"
#define b1 RA6_bit
#define b2 RA5_bit
// b1_old, b2_old - old state of button pins
// hour10, hour1 - tens and ones of the hour
// min10, min1 = tens and ones of the minutes
byte b1_old, b2_old, hour1, hour10, min1, min10;
// definitions for Software_I2C library
sbit Soft_I2C_Scl at RA0_bit;
sbit Soft_I2C_Sda at RA7_bit;
sbit Soft_I2C_Scl_Direction at TRISA0_bit;
sbit Soft_I2C_Sda_Direction at TRISA7_bit;
// correct bits for each digit
// RB6 RB5 RB4 RB3 RB2 RB1 RB0
// g f e d c b a
// 0: 0 1 1 1 1 1 1 0x3F
// 1: 0 0 0 0 1 1 0 0x06
// 2: 1 0 1 1 0 1 1 0x5B
// 3: 1 0 0 1 1 1 1 0x4F
// 4: 1 1 0 0 1 1 0 0x66
// 5: 1 1 0 1 1 0 1 0x6D
// 6: 1 1 1 1 1 0 1 0x7D
// 7: 0 0 0 0 1 1 1 0x07
// 8: 1 1 1 1 1 1 1 0x7F
// 9: 1 1 0 1 1 1 1 0x6F
// BL: 0 0 0 0 0 0 0 0x00
const byte segments[11] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x00};
//***********************************************//
// Sets read or write mode at select address //
//***********************************************//
void DS1307_Select(byte Read, byte address) {
Soft_I2C_Start();
Soft_I2C_Write(0xD0); // start write mode
Soft_I2C_Write(address); // write the initial address
if (Read) {
Soft_I2C_Stop();
Soft_I2C_Start();
Soft_I2C_Write(0xD1); // start read mode
}
}
//********************************//
// Initialize the DS1307 chip //
//********************************//
void DS1307_Init() {
byte sec, m, h;
DS1307_Select(1, 0); // start reading at address 0
sec = Soft_I2C_Read(1); // read seconds byte
m = Soft_I2C_Read(1); // read minute byte
h = Soft_I2C_Read(0); // read hour byte
Soft_I2C_Stop();
if (sec > 127) { // if the clock is not running (bit 7 == 1)
DS1307_Select(0, 0); // start writing at address 0
Soft_I2C_Write(0); // start the clock (bit 7 = 0)
Soft_I2C_Stop();
DS1307_Select(0, 7); // start writing at address 7
Soft_I2C_Write(0b00010000); // enable square wave output 1 Hz
Soft_I2C_Stop();
}
m = (m >> 4)*10 + (m & 0b00001111); // converting from BCD format to decimal
if (m > 59) {
DS1307_Select(0, 1); // start writing at address 1
Soft_I2C_Write(0); // reset the minutes to 0
Soft_I2C_Stop();
}
if (h & 0b01000000) { // if 12h mode (bit 6 == 1)
if (h & 0b00100000) // if PM (bit 5 == 1)
h = 12 + ((h >> 4) & 1)*10 + (h & 0b00001111);
else
h = ((h >> 4) & 1)*10 + (h & 0b00001111);
}
else
h = ((h >> 4) & 3)*10 + (h & 0b00001111);
if (h > 23) {
DS1307_Select(0, 2); // start writing at address 2
Soft_I2C_Write(0); // reset the hours to 0 in 24h mode
Soft_I2C_Stop();
}
}
void incrementH() { // increments hours and write it to DS1307
hour1++;
if ((hour10 < 2 && hour1 > 9) || (hour10 == 2 && hour1 > 3)) {
hour1 = 0;
hour10++;
if (hour10 > 2)
hour10 = 0;
}
DS1307_Select(0, 2);
Soft_I2C_Write((hour10 << 4) + hour1);
Soft_I2C_Stop();
}
void incrementM() { // increments minutes and write it to DS1307
min1++;
if (min1 > 9) {
min1 = 0;
min10++;
if (min10 > 5)
min10 = 0;
}
DS1307_Select(0, 0);
Soft_I2C_Write(0); // reset seconds to 0
Soft_I2C_Write((min10 << 4) + min1); // write minutes
Soft_I2C_Stop();
}
void main(){
// pos: current digit position;
// counter1, counter2: used as flag and for repeat functionality for the buttons
// COM[]: drive the common pins for the LED display
byte pos, counter1, counter2, COM[4] = {0b11101111, 0b11110111, 0b11111011, 0b11111101};
CMCON = 0b00000111; // comparator off
TRISA = 0b01100000;
TRISB = 0b00000000;
b1_old = 1;
b2_old = 1;
counter1 = 0;
counter2 = 0;
pos = 0;
Soft_I2C_Init();
DS1307_Init();
while (1) {
DS1307_Select(1, 1); // select reading at address 1
min1 = Soft_I2C_Read(1); // read minutes byte
hour1 = Soft_I2C_Read(0); // read houts byte
Soft_I2C_Stop();
min10 = min1 >> 4;
min1 = min1 & 0b00001111;
hour10 = hour1 >> 4;
hour1 = hour1 & 0b00001111;
if (b1 != b1_old) { // if the button1 is pressed or released
b1_old = b1;
counter1 = 0;
}
if (!b1_old) { // if the button1 is pressed
if (counter1 == 0)
incrementH(); // increment hour
counter1++;
if (counter1 > 50) // this is repeat functionality for the button1
counter1 = 0;
}
if (b2 != b2_old) { // if the button2 is pressed or released
b2_old = b2;
counter2 = 0;
}
if (!b2_old) { // if the button2 is pressed
if (counter2 == 0)
incrementM(); // increment minutes and reset the seconds to 0
counter2++;
if (counter2 > 50) // this is repeat functionality for the button2
counter2 = 0;
}
TRISA = TRISA | 0b00011110; // set all 4 pins as inputs
switch (pos) { // set proper segments high
case 0: PORTB = segments[hour10]; break;
case 1: PORTB = segments[hour1]; break;
case 2: PORTB = segments[min10]; break;
case 3: PORTB = segments[min1]; break;
}
TRISA = TRISA & COM[pos]; // set pin at current position as output
PORTA = PORTA & COM[pos]; // set pin at current position low
pos++; // move to next position
if (pos > 3) pos = 0;
}
}
PCB
PCB is designed with Autodesk EAGLE and design files are available in downloads below. The overall dimensions of the board are 35.56 x 36.61 mm and we used almost SMD components.
Spare PCBs are available for shipment around the world. If you would like to get some drop us a line.
This is a 60V to 5V – 3.5A step down DC-DC converter based on TPS54360B from Texas Instruments. Sample applications are: 12 V, 24 V and 48 V industrial, Automotive and Communications Power Systems. The TPS54360 is a 60V, 3.5A, step down regulator with an integrated high side MOSFET. The device survives load dump pulses up to 65V per ISO 7637. Current mode control provides simple external compensation and flexible component selection. A low ripple pulse skip mode reduces the no load supply current to 146 μA. Shutdown supply current is reduced to 2 μA when the enable pin is pulled low.
Under-voltage lockout is internally set at 4.3 V but can be increased using the enable pin. The output voltage start up ramp is internally controlled to provide a controlled start up and eliminate overshoot. A wide switching frequency range allows either efficiency or external component size to be optimized. Frequency fold back and thermal shutdown protects internal and external components during an overload condition.
Note: The output voltage is set by a resistor divider from the output node to the FB terminal. It is recommended to use 1% tolerance or better divider resistors, choose R5, R6 for other output voltages.
It is strongly recommended to use adequate air flow over the board to ensure it doesn’t go at thermal shutdown. See thermal profile below.
Setting Output Voltage
The following table lists the R5 values for some common output voltages assuming R6= 10.0kΩ
Features
Supply Input 8.5V-60V
Output 5V (Output Voltage adjustable with R5, R6)
Output Current 3.5A
100 kHz to 2.5 MHz Switching Frequency
Optional JST connector for 5V Fan
Current Mode Control DC-DC Converter
Integrated 90-mΩ High Side N-Channel MOSFET
High Efficiency at Light Loads with Pulse Skipping Eco-mode™
Low Dropout at Light Loads with Integrated BOOT Recharge FET
146 μA Operating Quiescent Current
1 µA Shutdown Current
Internal Soft-Start
Accurate Cycle-by-Cycle Current Limit
Thermal, Overvoltage, and Frequency Fold back Protection
PCB Dimensions 55.50mm x 24.64mm
Schematic
Parts List
PCB
Thermal Image
You can see on the thermal images below that at 60V input – 5V @2A output the IC gets too hot (>105ºC) and if we go for higher outputs (2.5-3A) the IC gets in thermal cut-off. To avoid this situation you can use a small 5V FAN to blow air on the board or probably use a heatsink attached to the board.
Measurements
The efficiency is calculated based on the (Pout/Pin)*100%. For 60V input and 5V @3A output the input current is 0.32A, so Pin=19.38W. Pout=5V*3A=15W, so e=77.39% with Pdis = 4.58W
This tiny board is designed to drive a bidirectional DC brushed motor of large current. DC supply is up to 50V DC. A3941 gate driver IC and 4X N Channel Mosfet IRLR024 used as H-Bridge. The project can handle a load of up to 10A. Screw terminals are provided to connect the load and load supply, and 9 Pin header connector is provided for easy interface with the microcontroller. An on board, shunt resistor provides current feedback.
The A3941 is a full-bridge controller for use with external N-channel power MOSFETs and is specifically designed for automotive applications with high-power inductive loads, such as brush DC motors. A unique charge pump regulator provides full (>10 V) gate drive for battery voltages down to 7 V and allows the A3941 to operate with a reduced gate drive, down to 5.5 V. A bootstrap capacitor is used to provide the above-battery supply voltage required for N-channel MOSFETs. An internal charge pump for the high-side drive allows DC (100% duty cycle) operation.
The full bridge can be driven in fast or slow decay modes using diode or synchronous rectification. In the slow decay mode, current recirculation can be through the high-side or the low side FETs. The power FETs are protected from shoot-through by resistor R7 adjustable dead time. Integrated diagnostics provide an indication of under voltage, over temperature, and power bridge faults, and can be configured to protect the power MOSFETs under most short circuit conditions.
The A3941 is a full-bridge MOSFET driver (pre-driver) requiring a single unregulated supply of 7 to 50 V. It includes an integrated 5 V logic supply regulator. The four high current gate drives are capable of driving a wide range of N-channel power MOSFETs, and are configured as two high-side drives and two low-side drives. The A3941 provides all the necessary circuits to ensure that the gate-source voltage of both high-side and low-side external FETs are above 10 V, at supply voltages down to 7 V. For extreme battery voltage drop conditions, correct functional operation is guaranteed at supply voltages down to 5.5 V, but with a reduced gate drive voltage. The A3941 can be driven with a single PWM input from a Microcontroller and can be configured for fast or slow decay. Fast decay can provide four-quadrant motor control, while slow decay is suitable for two-quadrant motor control or simple inductive loads. In slow decay, current recirculation can be through the high-side or the low-side MOSFETs. In either case, bridge efficiency can be enhanced by synchronous rectification. Cross conduction (shoot through) in the external bridge is avoided by an adjustable dead time. A low-power sleep mode allows the A3941, the power bridge, and the load to remain connected to a vehicle battery supply without the need for an additional supply switch. The A3941 includes a number of protection features against under voltage, over temperature, and Power Bridge faults. Fault states enable responses by the device or by the external controller, depending on the fault condition and logic settings. Two fault flag outputs, FF1 and FF2, are provided to signal detected faults to an external controller.
Features
High current gate drive for N-channel MOSFET full bridge
High-side or low-side PWM switching
Charge pump for low supply voltage operation
Top-off charge pump for 100% PWM
Cross-conduction protection with adjustable dead time
6V Lead acid (SLA) battery charger project is based on BQ24450 IC from Texas instruments. This charger takes all the guesswork out of charging and maintaining your battery, no matter what season it is. Whether you have a Bike, Robot, RC Car, Truck, Boat, RV, Emergency Light, or any other vehicle with a 6v battery, simply hook this charger maintainer up to the battery. The BQ24450 contains all the necessary circuitry to optimally control the charging of lead-acid batteries. The IC controls the charging current as well as the charging voltage to safely and efficiently charge the battery, maximizing battery capacity and life. The IC is configured as a simple constant-voltage float charge controller. The built-in precision voltage reference is especially temperature-compensated to track the characteristics of lead-acid cells, and maintains optimum charging voltage over an extended temperature range without using any external components. The low current consumption of the IC allows for accurate temperature monitoring by minimizing self-heating effects. In addition to the voltage- and current-regulating amplifiers, the IC features comparators that monitor the charging voltage and current. These comparators feed into an internal state machine that sequences the charge cycle.
For low charging current, you can use SMD Q1 transistor on the bottom of PCB, for higher charging currents you should use a through-hole (TO247) transistor, like TIP147 on the top of PCB.
The circuit has been designed for PNP transistor (Q1) that’s why the PCB jumper is shorted to R8 by default. You can also use an NPN transistor, in this case, Omit R6, Use R2, Jumper has to be shorted the other way.
The DRV101 is a low-side power switch employing a pulse-width modulated (PWM) output. Its rugged design is optimized for driving electromechanical devices such as valves, solenoids, relays, actuators, and positioners. The DRV101 module is also ideal for driving thermal devices such as heaters and lamps. PWM operation conserves power and reduces heat rise, resulting in higher reliability. In addition, an adjustable PWM potentiometer allows fine control of the power delivered to the load. Time from dc output to PWM output is externally adjustable. The DRV101 can be set to provide a strong initial closure, automatically switching to a soft hold mode for power savings. The duty cycle can be controlled by a potentiometer, analog voltage, or digital-to-analog converter for versatility. A flag output LED D2 indicates thermal shutdown and over/under current limit. A wide supply range allows use with a variety of actuators.
Heat activated cooling fan controller is a simple project which operates a brushless fan when the temperature in a particular area goes above a set point, when temperature return normal, fan automatically turns off. The project is built using LM358 Op-amp and LM35 temperature Sensor. Project requires 12V DC supply and can drive 12V Fan. This project is useful in application like Heat sink temperature controller, PC, heat sensitive equipment, Power supply, Audio Amplifiers, Battery chargers, Oven etc
The SMD SO8 LM35 used as temperature sensor, LM358 act as comparator and provides high output when temperature rise above set point, high output drive the Fan through driver transistor. The LM35 series are precision integrated-circuit temperature devices with an output voltage linearly-proportional to the Centigrade temperature. The LM35 device has an advantage over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does not require any external calibration or trimming to provide typical accuracy of ±¼°C at room temperature. Temperature sensing range 2 to 150 centigrade. LM35 provides output of 10mV/Centigrade.
Arduino Pro has introduced a groundbreaking solution for IoT development with the launch of 4G global connectivity for its Portenta board, now available in a compact Mini-PCIe form factor. This innovation enables developers to swiftly create IoT devices with seamless global 4G cellular connectivity and GNSS capabilities.
Arduino made a significant announcement at Embedded World 2024, unveiling expansions to its esteemed Portenta line tailored for professional applications. These extensions integrate cellular connectivity, marking a notable advancement in the capabilities of Arduino’s Portenta platform. The Arduino Pro 4G module provides global cellular coverage and GNSS positioning in a mini-PCIe form factor. The company also unveiled a carrier board targeting its existing Portenta family and the new 4G module.
They introduced two new Arduino Pro 4G modules, each featuring a different system-on-module (SoM) design and adopting the mini-PCIe card form factor. One side of these modules features an edge connector, while the other side includes antenna connectors.
One of the 4G boards is tailored for the EMEA (Europe, Middle East, and Africa) region and incorporates a Quectel EC200A-EU modem. The other 4G board offers global coverage and employs a Quectel EG25-G modem, additionally providing global navigation satellite system (GNSS) positioning. The GNSS support encompasses GPS, GLONASS, BeiDou (COMPASS), Galileo, and QZSS, ensuring comprehensive positioning capabilities.
The Arduino Pro 4G modules support 4G, 3G, and 2G networks, making them versatile for various applications such as remote maintenance, fleet management, smart cities, and smart buildings. With their mini PCI-E card form factor, integration into devices is straightforward. Arduino’s carrier board simplifies prototyping, and the off-the-shelf connector facilitates easy deployment onto custom boards.
The Portenta Mid Carrier combines a Portenta C33, Portenta H7, or Portenta X8 development board with the Arduino Pro 4G module. Together, you can build devices that use Wi-Fi and cellular connectivity. The carrier board for the Arduino Pro 4G modules features numerous connectors and breakouts tailored for Portenta high-density expansion headers. Notably, it includes dedicated connectors for USB-A and Ethernet, enhancing connectivity options for users. It also features JTAG interfaces for debugging and the same connector styles as the Arduino GIGA for a display shield and camera.
All three products are now available from the Arduino Store — the Arduino Pro 4G Global (with GNSS) module at $65 and the EMEA module for €29. Neither comes with antennas, but Arduino offers Antenna Kits for each. The Portenta Mid Carrier costs $65.
Syntiant, a leading provider of on-device deep learning solutions, has introduced its latest innovation: the NDP250 Neural Decision Processor. Boasting an impressive 30 giga-operations per second (GOPS) performance, the NDP250 sets a new standard for efficiency in AI processing. This third-generation chip represents a significant leap forward, offering five times the speed of its predecessor, the Core 2.
“Our NDP250 builds on two generations of neural network architectures to deliver 30 GOPS, making it our fastest, highest-performing chip yet,”
says Syntiant CEO Kurt Busch, who unveiled the chip at Embedded World.
Designed for always-on voice and vision applications, the NDP250 can power various tasks, from speech synthesis to image recognition. Its advanced architecture, including the innovative Core 3 engine, enables seamless multitasking while operating within a microwatt power envelope.
Busch further emphasizes the versatility and efficiency of the NDP250, stating, “Compatible with a host of architectures while running multiple different layers simultaneously at significantly less power than existing solutions, the NDP250 with our new Core 3 engine is the ideal real-time speech interface for large language models. It can bring powerful AI to battery-powered, always-on vision applications in automotive security, appliances, cameras, smart displays, and video doorbells.” He highlights the transformative impact of the NDP250, noting that applications that once demanded power measured in watts can now operate with power measured in microwatts.
The NDP250 adopts a familiar approach seen in the company’s previous “Neural Decision Processors,” but with the introduction of the new third-generation Syntiant Core 3 architecture. This upgrade brings significant enhancements, with the company claiming a fivefold increase in performance compared to its second-generation counterparts, all without increasing power requirements. The chip’s architecture includes an Arm Cortex-M0 processor alongside Syntiant’s Core 3 and a HiFi3 programmable digital signal processor (DSP). Additionally, it features a dual 11-wire direct image interface, dual PDM digital microphone interface, I2S with PCM support, and quad-SPI and dual-I2C buses, complemented by 58 general-purpose input/output (GPIO) pins.
According to Syntiant, the NDP250 excels in handling multiple heterogeneous networks concurrently, supporting over six million total neural parameters when operating in eight-bit precision mode. It can accommodate various neural network architectures, including 1D, 2D, and depthwise convolutional neural networks (CNNs), fully-connected networks, and recurrent neural networks such as Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) networks. Besides real-time speech recognition and voice synthesis tasks, the chip is capable of efficiently running always-on image recognition models while consuming less than 30mW of power.
Syntiant is showcasing the NDP250 at its booth during Embedded World 2024, located at Hall 2 Booth #2-238. The company has confirmed that the chip is currently available for sampling; however, it has not provided a timeline for general availability.
The Team at Tangram Vision has recently introduced Self-Calibrating HiFi 3D Sensor a cutting-edge depth sensing solution designed primarily for robotics applications. The camera module integrates high-fidelity 3D sensing with on-device AI capabilities, to provide a Plug-‘n’-Play experience for Depth Sensing and Edge AI applications.
The sensor is built around the Texas Instruments Jacinto processor with a dedicated deep-learning matrix multiply accelerator (MMA) that runs at up to 8 TOPS (tera-operations per second) at 1.0GHz. The device also has 16 GB of onboard RAM with a custom-made Optiocs system.
This custom sensor system uses special optics to capture detailed depth information from its 2.2-megapixel cameras and laser projectors, covering a wide136° area. It’s incredibly precise too, with less than a one percent depth error up to 16 feet away. Plus, it automatically fixes alignment issues while it works.
Moreover, its dual connectivity options USB-C and PoEEthernet provide flexibility during development and reliability in deployment scenarios. The sensor also supports sensor fusion and offers multiple mounting options, making it adaptable to various robotics setups.
The company demonstrated the sensor’s capabilities with real-time applications like multi-target pose estimation, objectidentification, and 3Dscenesegmentation using TI’sDeepLearningLibrary(TIDL). These features, along with support for ROS2, enable easy integration into robotics projects.
HiFi 3D Sensor Features and Specifications:
Sensor Type: Designed for high-fidelity 3D sensing with self-calibration.
Integration: Seamlessly integrates with ROS 2 for robotic applications.
On-Device AI: Equipped with on-device AI for real-time data processing.
Resolution: Offers 2.2MP global shutter cameras for high-resolution imaging.
Field-of-View: Provides a wide 136° DFOV for comprehensive data capture.
Active Texturing: Utilizes dual laser pattern projectors for enhanced surface texturing.
Accuracy: Delivers highly accurate depth measurements with sub-1% error.
Neural Processing Unit (NPU): Features a powerful TI Jacinto™ processor for neural network processing.
Memory: Includes 16 GB of onboard memory for data storage and processing.
Software Applications: Compatible with TI Deep Learning Library (TIDL) for various tasks.
Compatibility: Native ROS 2 support for seamless integration into robotics projects.
Self-Calibration: Automatically recalibrates misalignments without calibration targets.
Sensor Fusion: Supports synchronization of multiple sensors for data fusion.
Dual Connectivity: Offers USB-C and PoE Ethernet options for connectivity.
Mounting Options: Multiple mounting options with drilled and tapped holes for easy installation.
The HiFi 3D Sensor is currently available for preorder on Kickstarter for $478.00, excluding shipping costs. For additional details, you can visit their product page.
The BIGTREETECH Pi 2 is a powerful single-board computer (SBC) powered by the Rockchip RK3566 chipset. It boasts 2GB of LPDDR4 RAM and a 32GB eMMC module, offering robust performance and ample storage capacity. With features like Gigabit Ethernet, dual-band Wi-Fi, and Bluetooth 5.2, it ensures seamless connectivity options. Additionally, the inclusion of a 40-pin GPIO header, USB 3.0, CSI, DSI, and a PCIe 2.1 interface enhances its versatility for various projects. It can be conveniently powered from a 12V – 24V DC input, all packed within a compact 94 x 56mm form factor.
The SBC is powered by a Rockchip RK3566 which features a Quad-core 64-bit Cortex-A55 cores running up to 1.8GHz, accompanying that is the ARM Mali G52 2EE GPU, but it lacks the NPU that we see in modern SBCs.
Rockchip RK3566 SoC: Quad-core 64-bit Cortex-A55 CPU (up to 1.8GHz) with ARM Mali G52 2EE GPU.
Memory/Storage:
2GB LPDDR4
32GB eMMC
1x MicroSD card slot
Display/Audio:
1x Micro HDMI
1x 2-line DSI
3.5mm Audio jack
Camera:
1x 2-line CSI
Connectivity:
1x 10/100/1000Mbps Ethernet
Dual-band 2.4G/5G Wi-Fi
Bluetooth 5.2
Expansion:
M.2 Key
I/O Interfaces:
40-pin GPIO header
USB:
1x USB 3.0 Type-A
3x USB 2.0 Type-A
Power:
12V – 24V DC
Mechanical:
94 x 56mm
Pricing details for the BIGTREETECH Pi 2 have not been released yet, but both products are set for official launch on April 20th. For further information and updates, visit the BIGTREETECH online store.
The ESP32 PowerFeather is a Low Power, solar-capable, Li-ion/LiPo powered IoT development board in a Feather-compatible format. The board is built around an ESP32-S3 and supports up to 18V DC input meaning you can directly connect your soler pannel to this board.
Previously, we wrote about the DFRobot’s FireBeetle 2, which also supports solar charging. However, the narrow 4.5V – 6V input voltage range of the board made it impractical for real-world use.
The ESP32-S3 PowerFeather board is powered by the ESP32-S3 chip with a dual-core processor at 240MHz, 512KB SRAM, 384KB ROM, 2MB PSRAM, and 16MB Flash, additionally, it has Charging status LED (red), user LED (green) along with User and Reset buttons.
The board has a firmware-controllable charger IC, a battery fuel gauge, and other hardware/circuitry to give users the utmost flexibility in power management and monitoring. The application firmware can enable or disable charging on-demand, set the maximum battery charging current, get an estimate of the battery’s charge and health, turn off a 3.3 V output rail, and much more!
ESP32-S3 PowerFeather Specifications
ESP32-S3-WROOM-1-N8R2:
240 MHz Dual-Core Xtensa LX7 Processor
RISC-V / FSM Ultra Low Power Coprocessor
8 MB Quad-SPI Flash
2 MB Quad-SPI PSRAM
512 KB SRAM
16 KB RTC SRAM
Interfaces:
Radio
2.4 GHz Wi-Fi 802.11b/g/n on PCB antenna
Bluetooth 5 LE + Mesh on PCB antenna
Connectors
USB 1.1 Full-Speed OTG on USB-C connector
I2C on STEMMA QT connector
Pin Holes
23 I/O on the two 1×16 2.54 mm pitch header pin holes
Set maintained supply voltage (can be used to set MPP voltage)
Battery Monitoring
Voltage measurement
Temperature measurement
Current measurement (charge/discharge)
Charge estimation
Health & cycle count estimation
Time-to-empty and time-to-full estimation
Low charge, high/low voltage alarm
Battery Management
Enable/disable charging
Set max charging current
Others
3V3 enable/disable
VSQT enable/disable
FeatherWing enable/disable via EN pin
Power States:
Ship mode
Shutdown mode
Power cycle
Battery Protections:
Undervoltage Detect @2.2 V, Release @2.4 V
Overvoltage Detect @4.37 V, Release @4.28 V
Discharge overcurrent @1.5 A
Trickle charging safety timer @1 hr
Temperature-based charging current reduction based on JEITA, cutoff at 0 °C and 60 °C.
Power:
Input
5 V, 2 A max on VUSB USB-C connector
5 V – 18 V, 2A max on VDC header pin
4.2 V max, 2 A max on BATP and BATN JST PH Li-ion/LiPo battery connector
Output
3.3 V, 1 A max shared between the board, 3V3 header pin, and VSQT STEMMA QT connector
3.3 V – 4.2 V, 3 A max shared between the board and VBAT header pin
5 V – 18 V, 2 A max shared between board and VS header pin
Current Consumption:
Deep-Sleep, Fuel Gauge Enabled (Initial) 26 μA
Deep-Sleep, Fuel Gauge Enabled (Settled) 18.5 μA
Deep-Sleep, Fuel Gauge Disabled 18 μA
Ship Mode, Fuel Gauge Disabled 1.5 μA
Shutdown Mode, Fuel Gauge Disabled 1.4 μA
Physical:
Board Dimensions: 65 mm L x 23 mm W x 7 mm H
Feather-compatible format, FeatherWing support
Board Features
USB-C connector
Two 2.5 mm mounting holes
Two 1×16 2.54 mm header pin holes
Thermistor pinhole
2-pin JST PH Li-ion/LiPo battery connector
4-pin JST SH STEMMA QT connector
Green user LED
Red charger status LED
User button
Reset button
On-board PCB antenna
The company offers extensive documentation, including hardware descriptions and a getting-started guide with Arduino and ESP-IDF SDK, providing users easy access to the board’s power management and monitoring features. On the hardware side, the board is compatible with hundreds of existing FeatherWing and STEMMA QT modules, facilitating faster prototyping. A few more details may also be found on the official website.
The ESP32-S3 PowerFeather is priced at around $30, and it’s available at Elecrow. It’s a bit pricy compared to other ESP32-S3 boards but if you are working with solar power the software and hardware support will make that up for it.
At Embedded World 2024, OKdo and DEBIX in a joint venture have announced DEBIX Infinity Industrial SBC. The SBC is powered by an NXP i.MX 8M Plus Quad Lite processor, and features dual GbE ports, dual-band Wi-Fi, Bluetooth 5.2, and many other features.
The NXP i.MX 8M Plus is a quad-core ARM Cortex-A53 CPU clocked at 1.6 GHz. It also has a dedicated 800 MHz Cortex-M7 processor core for real-time application. But the only downside of this SBC is that it does not have any NPU, ISP, or video decoding/encoding capabilities. Although there is no specific Video decoder in the SoC, the board supports HDMI, MIPI DSI, and LVDS for different display configurations.
As this is an Industrial Class SBC the paper specs suggest that it can be operated within a temperature range from -20°C to 70°C.
Taking a look at this SBCs expansion capabilities it has support for a PCIe x1 interface (accessible via a 19-pin 0.3mm pitch FPC socket) and a 40-pin GPIO header. It also includes USB 3.0 ports and various serial communication interfaces.
3.5mm audio jack with headphones and microphone signals
1x SPDIF digital audio input/output
Digital audio via HDMI
Networking:
Gigabit Ethernet RJ45 port with optional PoE
Additional LAN port via 12-pin header
Dual-band (2.4GHz & 5GHz) Wi-Fi 5 and Bluetooth 5.0 via KEIIOT K019-CW43-DW module from KERTONG Polytron Technologies, ceramic antenna
Expansion:
40-pin headers with 3x UART, 2x SPI, 2x I2C, 2x CAN, 1x PWM, 2x GPIO, 5V power supply, system reset, ON/OFF
1x PCIe x1 FPC socket
USB:
2x USB 3.0 Host Type-A
Power:
5V/3A DC (via Type-C)
Operating Temperature:
-20°C to 70°C
Dimensions: 85.0 x 56.0mm
This SBC is compatible with a range of operating systems including Android 11, Yocto-L5.10.72_2.2.0, Ubuntu 22.04, and Windows 10 IoT Enterprise. That guarantees flexible use.
At the time of writing the DEBIX Infinity Industrial SBC can be purchased from both okdo and RS-Components. The board comes in two variants: the 2GB version is priced at £47.25 (approximately $61.46), whereas the 4GB version with 32GB eMMC will cost you £62.95 (approximately $82.01).
After the succession of LinkStar-H68K, Seed Studio has announced LinkStar-H68K-1432 V2 a pocket-sized router powered by the Rockchip RK3568 SoC. The most interesting feature of this router is that it features 2x 1GbE and 2 x 2.5GbE ports with dual-band Wi-Fi6 and a 4K-capable HDMI 2.0 output. Not only that it will also come with Android 11 preinstalled, so it’s more like a media server rather than a router.
The RK3568 is a Quad-core 64-bit CPU with a Cortex-A55 CPU running at 2.0GHz it also has an ARM-G522EEGPU with support for 4K 60FPS video output. Additionally, the device has multiple storage options! including a 32GB onboard eMMC, a microSD card slot for more, and a USB 3.0 Type-C port (now with SATA support) all these features with that 2.5GbE network connectivity make it a good NAS.
This device features improved thermal management, replacing the standard mesh finish with an integrated heat dissipation strip for better cooling. Additionally, the router now supports a wider power input voltage range of 5-24V, including convenient powering via a 5V Type-C connection.
Seeedstudio LinkStar-H68K-1432 Specifications
Processor: Rockchip RK3568 quad-core 64-bit Cortex-A55, up to 2.0GHz
GPU: ARM G52 2EE
NPU: 1 TOPS@INT8
Storage:
32GB onboard eMMC
1x SD card slot for storage expansion
NIC:
2x 1G Ethernet NIC RTL8211F
2x 2.5G Ethernet NIC RTL8125B
Wireless: Dual-band 2.4G/5G Wi-Fi 6 M7921E module
Video Output: 1x HDMI2.0 interface for 4K output
Multi-Media:
Supports 4K@60fps H.265/H.264/VP9 video decoding
Supports 1080@60fps H.265/H.264 video encoding
Supports 8M ISP, HDR
USB:
1x USB 3.0 Type-A
1x USB 3.0 Type-C (supports storage expansion, 5V-20V wide voltage DC input, power requirement >10W)
1x USB 2.0 Type-A
Power Supply:
Supports CC line PD fast charging
Supports 5V-20V wide voltage DC input, power requirement >10W (12V DC interface power supply canceled)
Power Consumption: 7.5W (With fully loaded network port)
Operating Temperature: -10°C to 55°C
Dimensions: 80 x 60 x 40mm
The router supports OpenWRT and Armbian operating systems, enabling specialized network configurations such as VPN, game servers, print serving, and ad-blocking setups.
Seon Rozenblum, better known as Unexpected Maker, has recently launched what they claimed to be the world’s smallest fully-featured ESP32-S3 module it packs all the peripherals, and wireless connectivity features of an ESP32-S3 module and features the tiny package size as the original TinyPICO Nano. The board will come in two varieties one with an Onboard antenna and the other with an u.FL connector onboard making sure that it will fit your needs.
The board centers on ESP32-S3FN8, boasting 2x Xtensa LX7 cores clocked at 240MHz, alongside 1x RISC-V, 1x FSM, 512K SRAM, 8MB PSRAM, 8MB Flash, and 27 GPIO pins.
Dual-core 32bit Xtensa LX7 microcontroller up to 240MHz
RISC-V ULP Co-processor
512KB SRAM
2.4GHz Wifi 4 (802.11b/g/n)
Bluetooth 5.0 BLE + Mesh
Memory: 8MB QSPI PSRAM
Flash: 8MB to 16MB depending on the model.
JTAG: Yes
ADC: 2x 12-bit SAR/20 chan
DAC: 3
PWM Channels: 5x TX chan, 5x RX chan
LED: Onboard RGB LED
NeoPixel Support: Yes (up to 1515 Neopixels)
Antenna: Onboard or External u.FL
Release Date: July 2023
For simplicity, the company offers a comprehensive pinout diagram to streamline the setup process. The diagram clearly showcases the pinouts for both USB and external Vin connections, making it easy to get started.
The board is completely open-sourced and a set of resources including essential files like 3D STEP files, KiCAD symbols and footprints, reference designs, PDF schematics, and high-resolution pinout reference cards for the NanoS3 board on the Unexpected Maker ESP32-S3 GitHub repository.
The NanoS3 ships with the latest version of CircuitPython that supports the ESP32-S3. It also ships with the UF2 bootloader, so you can easily update your NanoS3 with the latest CircuitPython firmware, whenever you desire.
The Unexpected Maker NANOS3 board is priced around $19.00 and can be found on their shop page.
Back in June 2022, Espressif unveiled the ESP32-C5, their first dual-band SoC. But since then we haven’t heard any update on that part nor has any development board been showcased, but that changed very recently as they released an official design guide for an ESP32-C5 Test Board.
When the board was first released, it was marketed only as a dual-band chip. Now, with the board out we can see that it also has support for Zigbee 3.0 and Thread 1.3, which means that the company has also included a 802.15.4-based radio within the chip.
This new board design by Espressif features two SMA connectors one for 2.5GHz and another for 5GHz radio. It also has dual USB-C ports one goes through a USB-to-UART bridge and another directly connects to the ESP32-C5 port additionally it has two 12-pin GPIO headers, Boot and Reset buttons, an RGB LED, and a 2-pin header for current measurements.
ESP32-C5 Test Board Specifications:
Processor: Single-core 32-bit RISC-V processor with clock speeds up to 240 MHz.
Memory: 400KB on-chip SRAM, 384KB on-chip ROM, and support for external flash storage.
Wireless Connectivity:
Dual-band 802.11ax WiFi 6 (2.4GHz and 5GHz) with backward compatibility for older WiFi standards (802.11b/g/n).
Bluetooth 5.0 LE.
802.15.4 radio for Zigbee 3.0 and Thread 1.3.
Storage: 4MB SPI flash.
I/O:
USB Type-C port for USB Serial/JTAG (USB 2.0 full speed).
USB Type-C to UART port.
12-pin GPIO headers (J5 and J6).
Boot and Reset buttons.
Other Highlights:
Power and RGB LEDs.
32.768 KHz and 48 MHz crystals.
5V to 3.3V DC/DC switching regulator for power efficiency.
More design details about the board can be found in the user guide provided by Espressif. At the time of writing, I couldn’t find any software details in the guide, but it’s likely to be supported by ESP-IDF. That means it will probably also be supported by the Arduino IDE. The company hasn’t made any official announcements yet, but when they do, we’ll likely see a lot of third-party boards launched at the same time.
Silicon Labs’ most energy-efficient Wireless SoC to date with energy harvesting-ready capabilities
Silicon Labs, a leader in secure, intelligent wireless technology for a more connected world, today announced their new xG22E family of Wireless SoCs, Silicon Labs’ first-ever family designed to operate within the ultra-low power envelope required for battery-free, energy harvesting applications. The new family consists of the BG22E, MG22E, and FG22E. As Silicon Labs’ most energy-efficient SoCs to date, all three SoCs will enable IoT device makers to build high-performance, Bluetooth Low Energy (LE), 802.15.4-based, or Sub-Ghz wireless devices for battery-optimized and battery-free devices that can harvest energy from external sources in their environments like indoor or outdoor ambient light, ambient radio waves, and kinetic motion.
To help device manufacturers build a complete energy harvesting solution, Silicon Labs is also announcing their partnership with e-peas, a provider of industry-leading Power Managed Integrated Circuits (PMICs) designed for energy harvesting. Through this partnership, Silicon Labs and e-peas co-developed two energy harvesting shields for Silicon Labs’ new, energy-optimized xG22E Explorer Kit. To better develop within the tight constraints that energy harvesting requires, the new xG22E Explorer Kit allows developers to customize the peripherals and debugging options that best match their application and get highly accurate measurements to better build their applications and devices with the energy harvesting shields. The energy harvesting shields are each tuned and optimized for different energy sources and energy storage technologies. They are custom-fit to slot onto the Explorer Kit. Notably, one of the shields uses e-peas’ latest AEM13920 dual-harvester, which allows it to pull energy simultaneously from two distinct energy sources, like indoor or outdoor light, thermal gradients, and electromagnetic waves without sacrificing on energy conversion efficiency. The second co-developed shield is based on e-peas’ AEM00300 shield, and is dedicated to harvesting power from random pulsed energy sources.
“As the market for energy harvesting and low-power solutions grows, Silicon Labs remains dedicated to enhancing our wireless MCU and radio stack capabilities to advance the development of battery-free IoT solutions,” said Ross Sabolcik, Senior Vice President for the Industrial and Commercial Business Unit at Silicon Labs. “Our efforts to prioritize energy efficiency and increase device longevity underscore our commitment to fostering a more sustainable IoT ecosystem.”
xG22E Designed to Address Energy Efficiency Challenges for the IoT
The evolution and widespread deployment of the Internet of Things (IoT) faces a significant challenge related to powering low-complexity, small-form-factor devices. Traditional sources like mains power or batteries pose scalability and maintenance issues. The emergence of the Ambient IoT addresses this challenge by introducing a class of connected devices primarily powered through energy harvesting from ambient sources like radio waves, light, motion, and heat.
Silicon Labs aims to build a device that can address one of the significant challenges in Ambient IoT: creating a platform that can optimize its energy consumption and prolong its lifespan. The xG22E family comes equipped with several features designed to minimize energy use and make it the platform of choice for energy harvesting, including:
Ultra-fast, low-energy cold start for applications starting from a zero-energy state to transmit packets and then rapidly return to sleep. An xG22E device wakes up in only eight milliseconds and uses only 150 micro-Joules, or roughly 0.003% of the energy needed to power a 60-watt equivalent LED lightbulb for one second.
Energy conserving deep sleep swift wake-up reduces wake-up energy by 78% compared to other Silicon Labs devices.
Power-efficient energy mode transition to smoothly transition in and out of energy modes by mitigating current spikes or inrush, which can harm energy storage capacity.
Multiple deep sleep wake-up options, such as RFSense, GPIO, and RTC wake-up sources from the deepest EM4 sleep mode, are ideal for extended storage.
Energy Harvesting Applications Enable a More Sustainable IoT
Energy harvesting and conservation technologies offer significant benefits across industries, including reduced energy costs, elimination of battery dependence, and reduced operational carbon footprint by changing energy consumption sources and minimizing battery waste. It also complements many existing IoT applications. For example, electronic shelf labels are being rapidly adopted by retailers across the globe to allow for more accurate pricing, inventory management, and even loss prevention. However, with a single location having as many as thousands of labels, they require a lot of batteries. Fortunately, electronic shelf labels do not need a lot of power, nor do they require always-on connectivity, making them an excellent fit for energy harvesting. By using Ambient IoT energy sources, retailers can reduce or eliminate their need for batteries for shelf labels. Other examples in the consumer space include television remote controls that use solar energy and movable, wireless light or appliance switches.
Silicon Labs actively supports companies developing successful low-power devices and pursuing battery-free designs, fostering an environmentally sustainable leadership within their respective fields.
To learn more about how to begin developing battery-free IoT devices using Silicon Labs, be sure to visit: