1 Introduction

Because of its high sensitivity to initial conditions and its highly unpredictable and random nature, chaotic systems find applications in engineering. For instance, chaotic secure communication systems have proven their suitability in image processing [1], and more recently: They are subject of research for solving open security problems like in increased global networks, banks, private companies and military applications. On the one hand, several cryptographic techniques that seek preserving the privacy of transmitted information have been introduced in [2, 3]. On the other hand, yet there is the open problem on the development of electronic systems accomplishing security for information transmission. One solution has been the implementation of secure communication systems using chaotic oscillators based on piecewise-linear (PWL) functions [4, 5]. They allow generating multi-scrolls to increase unpredictability. In fact, there are many works highlighting advantages of multi-scroll chaotic attractors [616], which very often exhibit multistability [17].

The chaos generators implemented herein are based on PWL functions to generate multi-scroll chaotic systems in 1-D (one-direction), 2-D and 3-D. This multi-directionality is obtained through the addition of 1, 2 and 3 PWL functions, respectively. As one can infer, the dynamics of a multi-scroll and 3-D attractor is the more complex [18], whereby safety information transmission increases. However, it requires much more hardware resources so that a trade-off arises between the kind of oscillator and hardware.

It is worth mentioning that chaotic oscillators based on PWL functions have already been implemented using operational amplifiers [19], operational transconductance amplifiers [20], integrated circuits [16], field-programmable gate arrays (FPGA) [1], and so on. However, those realizations require a deep knowledge on integrated circuit design or behavioral programming. In this manner, this work provides a detailed description on using the open source and hardware platform of Arduino, which main advantage compared to previous realizations is the use of the integrated development environment (IDE) with preset functions that reduce the development time and complexity [21].

The manuscript is organized as follows: Sect. 2 describes the mathematical model of the multi-directional and multi-scroll chaotic oscillator based on PWL functions. Section 3 shows the maximum Lyapunov exponent value and bifurcation diagrams for several chaos generators. Section 4 shows the synchronization of 2-D and 3-D oscillators using Hamiltonian forms and observer approach from the seminal work [22]. Experimental results of 1-D, 2-D and 3-D chaotic oscillators, as well as the synchronization of 2-D chaotic oscillators, are given in Sect. 5. The implementation of the chaotic secure communication system and the transmission of a monochromatic image are described in Sect. 6. Finally, Sect. 7 presents the conclusions.

2 Multi-scroll chaotic oscillators

The authors in [20, 23, 24], introduced the multi-directional multi-scroll chaotic oscillator described by:

$$\begin{aligned} {\dot{\mathbf{X}}}= \mathbf{AX}+\mathbf{B} \varphi (\mathbf{CX}) \end{aligned}$$
(1)

where for a three-dimensional dynamical system the state vector becomes \({\mathbf {X}}=(x_1, x_2, x_3)^{T}\), \({\mathbf {C}}\) is an identity matrix, and

The system described in (1) generates n-scrolls in one-direction (1-D), \(n\times m \)-grid scrolls in 2-D, and \(n\times m\times l \)-grid scrolls in 3-D. In those cases, \(\varphi (CX)\) determines the directions that are generated as follows:

Table 1 Characteristics of multi-directional multi-scroll chaotic oscillators
  1. 1.

    Chaotic attractor of n-scrolls in 1-D. The value of \(\varphi (CX)\) is given by (2), where \(f(x_1; \alpha , k, h,p,q)\) is a saturated nonlinear function (SNLF) given by (3), being pq positive integers, k as the effective width of saturated plateau, ih denotes a displacement equal to \(\pm k\) with \(i=1\), \(\alpha =16.5\times 10^{-3}\), and s denotes the slope, which in this case is equal to \(\frac{k}{\alpha }\). Substituting (2) into (1), one gets (4)

    $$\begin{aligned}&\varphi ({\mathbf {CX}}) =\begin{pmatrix} f(x_1;\alpha ,k_1,h_1,p_1,q_1) \\ 0\\ 0 \end{pmatrix}\end{aligned}$$
    (2)
    $$\begin{aligned}&f(x; \alpha , k, h,p,q)\nonumber \\&\quad ={\left\{ \begin{array}{ll} (2q+1)k&{} x> qh+\alpha \\ s(x-ih)+2ik &{} \mid x-ih \mid \le \alpha \\ &{}-p\le i\le q \\ (2i+1)k&{} ih+\alpha< x{<} (i+1)h{-}\alpha \\ &{} -p\le i \le q-1\\ -(2p+1)k&{} x<-ph-\alpha \end{array}\right. }\end{aligned}$$
    (3)
    $$\begin{aligned}&\dot{x_1}=x_2 \nonumber \\&\dot{x_2}=x_3\nonumber \\&\dot{x_3}=-ax_1-bx_2-cx_3\nonumber \\&\qquad \,+d_1f(x_1;\alpha ,k_1,h_1,p_1,q_1) \end{aligned}$$
    (4)
  2. 2.

    Chaotic attractor of \(n\times m\) grid scrolls in 2-D. In this case, the value of \(\varphi (CX)\) is given by (5), where \(f(x_1; \alpha , k_1, h_1,p_1,q_1)\) and \(f(x_2;\alpha , k_2, h_2,p_2,q_2)\) are also defined as in (3). Substituting (5) into (1), one obtains (6)

    $$\begin{aligned} \varphi ({\mathbf {CX}})&=\begin{pmatrix} f(x_1;\alpha ,k_1,h_1,p_1,q_1)\\ f(x_2; \alpha , k_2, h_2,p_2,q_2)\\ 0 \end{pmatrix} \end{aligned}$$
    (5)
    $$\begin{aligned} \dot{x_1}&=x_2-\frac{d_2}{b}f(x_2; \alpha , k_2, h_2,p_2,q_2) \nonumber \\ \dot{x_2}&=x_3\nonumber \\ \dot{x_3}&=-ax_1-bx_2-cx_3\nonumber \\&\quad +\,d_1f(x_1;\alpha ,k_1,h_1,p_1,q_1)\nonumber \\&\quad +\,d_2f(x_2;\alpha ,k_2,h_2,p_2,q_2) \end{aligned}$$
    (6)
  3. 3.

    Chaotic attractor of \(n\times m \times l\) grid scrolls in 3-D. The value of \(\varphi (CX)\) is given by (7), where \(f(x_1; \alpha , k_1, h_1,p_1,q_1)\), \(f(x_2;\alpha , k_2, h_2,p_2,q_2)\) and \(f(x_3;\alpha , k_2, h_2,p_2,q_2)\) are again defined as in (3). Substituting (7) into (1), (8) is obtained,

    $$\begin{aligned} \varphi ({\mathbf {CX}})= & {} \begin{pmatrix} f(x_1; \alpha , k_1, h_1,p_1,q_1)\\ f(x_2; \alpha , k_2, h_2,p_2,q_2)\\ f(x_3;\alpha , k_2, h_2,p_2,q_2) \end{pmatrix} \end{aligned}$$
    (7)
    $$\begin{aligned} \dot{x_1}= & {} x_2-\frac{d_2}{b}f(x_2; \alpha , k_2, h_2,p_2,q_2) \nonumber \\ \dot{x_2}= & {} x_3-\frac{d_3}{b}f(x_3; \alpha , k_3, h_3,p_3,q_3)\nonumber \\ \dot{x_3}= & {} -ax_1-bx_2-cx_3\nonumber \\&+\,d_1f(x_1;\alpha ,k_1,h_1,p_1,q_1)\nonumber \\&+\,d_2f(x_2;\alpha ,k_2,h_2,p_2,q_2)\nonumber \\&+\,d_3f(x_3;\alpha ,k_3,h_3,p_3,q_3) \end{aligned}$$
    (8)
Fig. 1
figure 1

(Upper raw) Phase portraits and (lower raw) bifurcation diagrams for chaotic attractors of a 11 and b 20 scrolls in 1-D

The solution of the system Eq. (1) can be numerically obtained [25]. As this problem is an initial value one, one needs to provide initial conditions. In this case, we selected as initial conditions this vector: [0.1, 0, 0].

3 Lyapunov exponent and bifurcation diagrams

The study of multi-directional multi-scroll chaotic systems behavior has been of great importance, because it has been proven that the higher the directions and number of scrolls the more complex the dynamic behavior. To characterize chaotic systems, one can apply the following metrics: fractal dimension, entropy and maximum Lyapunov exponent (MLE). In particular, MLE is an asymptotic measure that characterizes the average growth rate (or contraction) of trajectories in a dynamical system due to small changes in the initial conditions [26, 27]. A high MLE value is taken as an indicator for a large increase in the system unpredictability, so that the system presents a more complex dynamic behavior. Table 1 shows MLE values, fractal dimension, and Kolmogorov–Sinai entropy of chaotic oscillators for 1-D, 2-D and 3-D. It can be emphasized that the system dynamics in 2-D and 3-D is more complex than in 1-D [18].

The system dynamics depends on one or more parameters, whereby their qualitative behavior can be altered when they change [28, 29]. Some phase-space portraits and bifurcation diagrams are shown in Figs. 12 and 3 from the cases listed in Table 1. In the cases of Figs. 1 and 2, the coefficients were set to \(a=b= c= d_1= d_2=d_3=0.7\), and in the case of Fig. 3: \(a=d_1=0.8\), and \(b=c=d_2=d_3=0.7\) [24]. Bifurcation diagrams were generated by selecting c as the bifurcation parameter, because it is the most sensitive factor.

Fig. 2
figure 2

(Upper raw) Phase portraits and (lower raw) bifurcation diagrams for chaotic attractors of a \(4\times 4\), b \(6\times 6\) and c \(20\times 20\) scrolls in 2-D

Fig. 3
figure 3

(Upper raw) Phase portraits and (lower raw) bifurcation diagrams for chaotic attractors of a \(4\times 4\times 4\), b \(6\times 6\times 6\) and c \(20\times 20\times 20\) scrolls in 3-D

4 Synchronization

Various applications based on chaos depend on a synchronization process to harness the special characteristics of unpredictability [30]. For instance, generalized Hamiltonian systems approach has been applied in [1] to implement a secure communication system by adding chaos to an image during the transmission, and subtracting the chaos in the receiving stage. More recently, the authors of [31] studied secure chaotic communication systems, where a dual transmission mechanism to improve security of information transmission channel is presented. Herein, we apply the synchronization approach based on Hamiltonian systems and observer approach, introduced in the seminal work [22].

4.1 Hamiltonian-based controller design for 2-D

Let us consider the approximation of the generalized Hamiltonian form described by:

$$\begin{aligned} \dot{x}=J(x)\frac{\partial H}{\partial x} + S(x)\frac{\partial H}{\partial x}, \quad x\in R^n \end{aligned}$$
(9)

where x is the state vector, H describes an energy function that is defined broadly positive in \(R^n\), J(x) and S(x) are square matrices, and it is assumed that the gradient vector \(\frac{\partial H}{\partial x}\) exists everywhere. The energy structure of the system is represented by J(x) and S(x), which must satisfy \(J(x)+J^T(x)=0\) and \(S(x)=S^T(x)\). A quadratic energy function is used herein, and it is described by:

$$\begin{aligned} H(x)=\frac{1}{2}\left( ax_1^2+bx_2^2+x_3^2\right) \end{aligned}$$
(10)

A special class of generalized Hamiltonian systems with destabilizing vector fields and linear output is given by:

$$\begin{aligned} \dot{x}&=J(y)\frac{\partial H}{\partial y} + S(y)\frac{\partial H}{\partial y}+F(y), \quad x\in R^n \nonumber \\ y&=C\frac{\partial H}{\partial y} \quad y\in R^m \end{aligned}$$
(11)

with y being the output vector, C is a constant matrix, and F(y) is a nonlinear function related to the PWL function [18]. Then, if the synchronization error is defined as \(\lim _{t \rightarrow \infty }[y(t)-\eta (t)]=0\), the nonlinear observer state associated with (11) is given by (12), where K is a constant matrix known as the observer gain. That way, the Hamiltonian system of (11) and its nonlinear observer (12) can be represented as a master–slave system [30].

$$\begin{aligned} \dot{\xi }&=J(y)\frac{\partial H}{\partial \xi } {+} S(y)\frac{\partial H}{\partial \xi }{+}F(y){+}K(y-\eta ), \quad \xi \in R^n\nonumber \\ \eta&=C\frac{\partial H}{\partial \xi } \quad \eta \in R^m \end{aligned}$$
(12)

The 2-D chaos generator model in Hamiltonian form of the master oscillator described by (6) is given by (13). The Hamiltonian energy function is expressed by (10), and therefore \(\frac{\partial H}{\partial x}= ax_1+bx_2+x_3\). The nonlinear observer used as a slave system is given by (14), where \(\frac{\partial H}{\partial \xi }= a\xi _1+b\xi _2+\xi _3\), y and \(\eta \) are defined in (11) and (12), and matrix C is given by (15).

$$\begin{aligned} \begin{bmatrix} \dot{x_1} \\ \dot{x_2}\\ \dot{x_3} \end{bmatrix}= & {} \begin{bmatrix} 0&\frac{1}{2b}&\frac{1}{2} \\ -\frac{1}{2b}&0&1\\ -\frac{1}{2}&-1&0 \end{bmatrix} \frac{\partial H}{\partial x}\nonumber \\&+\begin{bmatrix} 0&\frac{1}{2b}&- \frac{1}{2} \\ \frac{1}{2b}&0&0\\ -\frac{1}{2}&0&-c \end{bmatrix}\frac{\partial H}{\partial x}\nonumber \\&+\begin{bmatrix} -\frac{d_2}{b}f(x_2) \\ 0\\ d_1f(x_1)+d_2f(x_2) \end{bmatrix} \end{aligned}$$
(13)
$$\begin{aligned} \begin{bmatrix} \dot{\xi _1} \\ \dot{\xi _2}\\ \dot{\xi _3} \end{bmatrix}= & {} \begin{bmatrix} 0&\frac{1}{2b}&\frac{1}{2} \\ -\frac{1}{2b}&0&1\\ -\frac{1}{2}&-1&0 \end{bmatrix} \frac{\partial H}{\partial \xi }\nonumber \\&+\begin{bmatrix} 0&\frac{1}{2b}&- \frac{1}{2} \\ \frac{1}{2b}&0&0\\ -\frac{1}{2}&0&-c \end{bmatrix}\frac{\partial H}{\partial \xi }\nonumber \\&+\begin{bmatrix} -\frac{d_2}{b}f(x_2) \\ 0\\ d_1f(x_1)+d_2f(x_2)\end{bmatrix} \nonumber \\&+\begin{bmatrix} k_1&k_4\\ k_2&k_5\\ k_3&k_6\end{bmatrix} (y-\eta ) \end{aligned}$$
(14)
$$\begin{aligned} C= & {} \begin{bmatrix} \frac{d_1}{a}&\frac{d_2}{b}&0\\ a&\frac{d_2}{b^2}&0 \end{bmatrix} \end{aligned}$$
(15)
Fig. 4
figure 4

Phase-space portraits of the a master and b slave of the 2-D \(6\times 6\)-grid scroll chaotic attractors when they are synchronized

Fig. 5
figure 5

Numerical simulation results for the synchronization of 2-D \(6\times 6\)-grid scroll attractors: a synchronization in the phase-space and b synchronization error versus time

The numerical simulation for (13) and (14) is performed with \(a,b,c,d_1,d_2=0.7\), \(k_1=1\), \(k_2=2\), \(k_3=6\) and \(k_4=k_5=k_6=0\). In this case, different initial conditions for the master system and the slave system are used to verify the correct synchronization. Figures 4 and 5 show the phase-space portrait and synchronization error obtained when the 2-D chaotic attractor of \(6\times 6\)-grid scrolls is synchronized. The PWL function parameters for \(f(x_1)\) and \(f(x_2)\) are described in Table 1.

Figures 6 and 7 show the phase-space portraits and synchronization error when the 2-D chaotic attractor of \(20\times 20\)-grid scrolls is synchronized. \(f(x_1)\) and \(f(x_2)\) are modified by the PWL values listed in Table 1.

Fig. 6
figure 6

Phase-space portraits of the a master and b slave of the 2-D chaotic attractors of \(20\times 20\)-grid scrolls

Fig. 7
figure 7

Numerical simulation results for the synchronization of 2-D chaotic attractors of \(20\times 20\)-grid scrolls: a synchronization in the phase-space portraits and b synchronization error versus time

4.2 Hamiltonian-based controller design for 3-D

The master–slave synchronization for 3-D chaotic systems is performed from (16) and (17), respectively. The coefficient values are set to \(a=b=c=d_1=d_2=d_3=0.7\), and the values of the gain matrix for the observers are given by \(k_1=1\), \(k_2=2\), \(k_3=6\), \(k_4=1\), \(k_5=2\), \(k_6=6\) and \(k_7=k_8=k_9=0\) [18]. Different initial conditions for the master and slave systems were selected to verify the correct synchronization. Figures 8 and 9 show the phase-space portrait and synchronization error when the 3-D chaotic attractors of \(6\times 6\times 6\)-grid scroll are synchronized. Table 1 lists the PWL values for \(f(x_1)\), \(f(x_2)\) and \(f(x_3)\).

$$\begin{aligned} \begin{bmatrix} \dot{x_1} \\ \dot{x_2}\\ \dot{x_3} \end{bmatrix}= & {} \begin{bmatrix} 0&\frac{1}{2b}&\frac{1}{2} \\ -\frac{1}{2b}&0&1\\ -\frac{1}{2}&-1&0\end{bmatrix} \frac{\partial H}{\partial x}\nonumber \\&+\begin{bmatrix} 0&\frac{1}{2b}&- \frac{1}{2} \\ \frac{1}{2b}&0&0\\ -\frac{1}{2}&0&-c \end{bmatrix}\frac{\partial H}{\partial x}\nonumber \\&+\begin{bmatrix} -\frac{d_2}{b}f(x_2) \\ -\frac{d_3}{b}f(x_3)\\ d_1f(x_1)+d_2f(x_2)+d_3f(x_3) \end{bmatrix} \end{aligned}$$
(16)
$$\begin{aligned} \begin{bmatrix} \dot{\xi _1} \\ \dot{\xi _2}\\ \dot{\xi _3} \end{bmatrix}= & {} \begin{bmatrix} 0&\frac{1}{2b}&\frac{1}{2}\\ -\frac{1}{2b}&0&1\\ -\frac{1}{2}&-1&0 \end{bmatrix} \frac{\partial H}{\partial \xi }\nonumber \\&+ \begin{bmatrix} 0&\frac{1}{2b}&- \frac{1}{2} \\ \frac{1}{2b}&0&0\\ -\frac{1}{2}&0&-c \end{bmatrix} \frac{\partial H}{\partial \xi } \nonumber \\&+\begin{bmatrix} -\frac{d_2}{b}f(x_2) \\ -\frac{d_3}{b}f(x_3)\\ d_1f(x_1)+d_2f(x_2)+d_3f(x_3) \end{bmatrix} \nonumber \\&+\begin{bmatrix} k_1&k_4&k_7\\ k_2&k_5&k_8\\ k_3&k_6&k_9 \end{bmatrix} (y-\eta ) \end{aligned}$$
(17)
$$\begin{aligned} C= & {} \begin{bmatrix} \frac{d_1}{a}&\frac{d_2}{b}&d_3\\ 0&\frac{d_2}{b^2}&0\\ 0&0&\frac{d_3}{b} \end{bmatrix} \end{aligned}$$
(18)
Fig. 8
figure 8

Phase-space portraits of the a master and b slave of the 3-D chaotic attractors of \(6\times 6\times 6\)-grid scrolls

Fig. 9
figure 9

Numerical simulation results for the synchronization of 3-D chaotic attractors of \(6\times 6\times 6\)-grid scrolls: a synchronization in the phase-space portraits and b synchronization error versus time

Figures 10 and 11 show the phase-space portrait and synchronization error when the 3-D chaotic attractors of \(20\times 20\times 20\)-grid scrolls are synchronized. The functions \(f(x_1)\), \(f(x_2)\) and \(f(x_3)\) are modified by the PWL values listed in Table 1.

Fig. 10
figure 10

Phase-space portraits of the a master and b slave of the 3-D chaotic attractors of \(20\times 20\times 20\)-grid scrolls

Fig. 11
figure 11

Numerical simulation results for the synchronization of 3-D chaotic attractors of \(20\times 20\times 20\)-grid scrolls: a synchronization in the phase-space portraits and b synchronization error versus time

Fig. 12
figure 12

Experimental realization of chaotic oscillators in 1-D: a 3 scrolls, b 11 scrolls

figure a

5 Experimental results

In this section, we show experiments exploiting the open source software platform for Arduino Mega, with the software programming IDE. To observe the values of the state vectors saved into Arduino, in the analog domain, we use the communication protocol SPI (Serial Peripheral Interface) to communicate Arduino Mega and the Analog Shield card that includes an analog-to-digital converter (ADC) and a digital-to-analog converter (DAC) [21, 32]. Also, due to the flexibility and ease of use of Arduino’s platform, in the case when one does not have the Shield Analog card, one can use the Serial plotter tool included in the Arduino IDE software or even perform serial communication between Arduino Mega and Matlab.

5.1 Chaotic oscillators implementation using Arduino

As showed in [25], once a numerical method is selected to solve the set of differential equations like the ones described in (1), the next step is focused on verifying the generation of chaos by using mathematical software like Matlab. For instance, as can be seen in the Program Implementation 1 of Arduino, to develop the program for the implementation of chaotic oscillators, the user must have basic knowledge on programming the selected numerical method and set the parameters of the PWL function described in (3).

Figures 12 and 13 show the experimental generation of chaotic attractors in 1-D, 2-D and 3-D using Arduino. Basically, the program implementation 1 is the generic code for all these cases, one must change only the size of the PWL functions to generate multi-directional and multi-scrolls attractors.

5.2 Synchronization of multi-directional multi-scroll chaotic oscillators using Arduino

This subsection shows the experimental results obtained by implementing the master and slave systems on the Arduino Mega board. One can implement 1-D, 2-D and 3-D multi-scroll chaos generators by only defining the numerical method, number of scrolls and directions of the systems. The experiments realized herein use different initial conditions for the master and slave systems. In Fig. 14a, the states signals \(x_1\) and \(\xi _1\) of the master and slave 2-D chaotic oscillators of \(6 \times 6 \) scrolls are presented. Figure 14b shows the synchronization error in the phase-space, and finally Fig. 14c shows the response of the master system.

Figure 15a shows the signals \(x_1\) and \(\xi _1\) of the master and slave chaotic oscillators of \(20 \times 20 \) scrolls. Figure 15b shows the synchronization error in the phase-space, and finally Fig. 15c shows the response of the master system.

Fig. 13
figure 13

Experimental realization of chaotic oscillators in 2-D and 3-D: a \(4\times 4\) scrolls, b \(6\times 6\) scrolls, c \(20\times 20\) and d \(4\times 4\times 4\) scrolls attractors

Fig. 14
figure 14

Experimental synchronization results for a 2-D chaotic oscillator of \(6\times 6\) scrolls: a \(x_1\) and \(\xi _1\), b phase-space portrait between the master and slave states and c slave response

Fig. 15
figure 15

Experimental synchronization results for a 2-D chaotic oscillator of \(20\times 20\) scrolls: a \(x_1\) and \(\xi _1\), b phase-space portrait between the master and slave states and c slave response

Fig. 16
figure 16

Image details of darthvader: a EEPROM image, b transmitted image, c received image

6 Secure communication system applied to image processing

To test the synchronization schemes described in the previous section, a secure communication system is implemented to transmit a monochromatic image of \(64\times 64\) bits darthvader, which is stored into an EEPROM. In this case, the synchronization of a chaotic oscillator of \(6\times 6\) is used. The system of transmission and reception will consist of the Arduino Mega board (contains the master system and the image information stored in an EEPROM) and a PC (contains the slave system implemented in the Matlab software), in this case we used the RS232 communication protocol.

As it can be seen from (16) and (17), the slave synchronization system depends on the master system, i.e., to obtain the vector of the state variables of the slave system \([\xi _1; \xi _2; \xi _3 ]\), it is necessary to know the values of the states \(x_1\) and \(x_2\) of the master system. Therefore, it is not correct to use the values of \(x_1\) and \(x_2\) to encrypt the image because it would be sending the private key through the channel. Considering this feature, the value of \(x_3\) and the signal of the image darthvader are added to generate data as \(\hbox {Image}+x_3\). Therefore, the master system sends the information of \(x_1\), \(x_2\) and \(x_3+ \hbox {Image}\) through the communication channel. Since the master–slave system is fully synchronized, then the information is retrieved by \(\hbox {Image}+x_3-\xi _3\), as shown in Fig. 16.

7 Conclusions

This work showed the usefulness of Arduino for the experimental realization of multiple-directions multiple-scroll chaotic oscillators. The main advantage is that Arduino has an open source integrated development environment (IDE) with preset functions that reduce the development time and complexity. Experimental results for implementing 1-D, 2-D and 3-D of up to 20, \(20\times 20\) and \(20\times 20\times 20\) scrolls, respectively, have been presented. Using 2-D \(6\times 6\) and \(20\times 20\) scroll chaotic oscillators, a chaotic communication system has been implemented and tested by transmitting a monochromatic image. This example highlights Arduino’s advantages like simplicity of programming and hardware implementation.