diff --git a/docs/blocks/comments.md b/docs/blocks/comments.md
index cb0e62f3e8d..0dfc5fd793c 100644
--- a/docs/blocks/comments.md
+++ b/docs/blocks/comments.md
@@ -28,7 +28,7 @@ input.onButtonPressed(Button.A, function () {
})
```
-You know, of course, that the button press event means that the user has acknowleged your greeting. If you shared your program with someone else though, they might not understand why you wanted to add the button press to the program.
+You know, of course, that the button press event means that the user has acknowledge your greeting. If you shared your program with someone else though, they might not understand why you wanted to add the button press to the program.
## Block comments
diff --git a/docs/blocks/pause-until.md b/docs/blocks/pause-until.md
index 2d3cdbf84b9..5137f97d130 100644
--- a/docs/blocks/pause-until.md
+++ b/docs/blocks/pause-until.md
@@ -11,7 +11,7 @@ Sometimes you need to wait in one part of a program for something to happen some
## Parameters
* **condition**: a [boolean](/types/boolean) condition that restarts the program when it becomes ``true``.
-* **timeOut**: an optional paramenter which is a [number](/types/number) of milliseconds to wait for the **condition** to become ``true``. The pause ends when the timeout has elapsed even if **condition** is still ``false``.
+* **timeOut**: an optional parameter which is a [number](/types/number) of milliseconds to wait for the **condition** to become ``true``. The pause ends when the timeout has elapsed even if **condition** is still ``false``.
### ~hint
diff --git a/docs/courses/blocks-to-javascript/command-responder.md b/docs/courses/blocks-to-javascript/command-responder.md
index 99de5cd2d85..cef2406aa98 100644
--- a/docs/courses/blocks-to-javascript/command-responder.md
+++ b/docs/courses/blocks-to-javascript/command-responder.md
@@ -38,7 +38,7 @@ radio.onReceivedString(function (receivedString) {
})
```
-Find the **(+)** symbol on the ``||logic:if then||`` block and click it 4 times to make **3** ``||logic:else if||`` sections and **1** ``||logic:else||`` section. For each ``||logic:else if||`` condition, copy the condtion from ``||logic:if then||`` and put in the strings for the remaining 3 commands. Also, for each one, set ``response`` to the proper ``||input:Input||`` value. Finally, in the ``||logic:else||`` section, set ``response`` to `0` in case an unknown command is received.
+Find the **(+)** symbol on the ``||logic:if then||`` block and click it 4 times to make **3** ``||logic:else if||`` sections and **1** ``||logic:else||`` section. For each ``||logic:else if||`` condition, copy the condition from ``||logic:if then||`` and put in the strings for the remaining 3 commands. Also, for each one, set ``response`` to the proper ``||input:Input||`` value. Finally, in the ``||logic:else||`` section, set ``response`` to `0` in case an unknown command is received.
```blocks
let response = 0
diff --git a/docs/courses/blocks-to-javascript/complex-conditionals.md b/docs/courses/blocks-to-javascript/complex-conditionals.md
index ad79c6f6098..15b953db030 100644
--- a/docs/courses/blocks-to-javascript/complex-conditionals.md
+++ b/docs/courses/blocks-to-javascript/complex-conditionals.md
@@ -79,7 +79,7 @@ if (input.buttonIsPressed(Button.A) || input.buttonIsPressed(Button.B)) {
}
```
-We can create the same conditional check as in the code above but with a different form. Changing the code slighlty, we can insert an ``||logic:else if||`` and put one of the button press conditons inside of it. This version checks for either button press like before but it needs another ``||basic:show icon||`` which adds more code.
+We can create the same conditional check as in the code above but with a different form. Changing the code slightly, we can insert an ``||logic:else if||`` and put one of the button press conditions inside of it. This version checks for either button press like before but it needs another ``||basic:show icon||`` which adds more code.
```blocks
@@ -96,7 +96,7 @@ basic.forever(function () {
## Conditional expressions
-Often you will need to set a boolean variable to remember the result of a conditional test. If we want to set a boolean variable called ``cold`` to `true` when the tempurature is less than `10` degress, we could do it using an ``||logic:if then else||`` block.
+Often you will need to set a boolean variable to remember the result of a conditional test. If we want to set a boolean variable called ``cold`` to `true` when the temperature is less than `10` degrees, we could do it using an ``||logic:if then else||`` block.
```block
let cold = false
@@ -130,7 +130,7 @@ if (input.temperature() < 10) {
}
```
-Now let's use the condtion in the ``||logic:if then else||`` block to set the string variable ``heatMessage`` directly. To do this we need to switch over to the JavaScript editor. Instead of using the result of the conditional expression to set the value of the variable, the expression will determine a value option for ``heatMessage``.
+Now let's use the condition in the ``||logic:if then else||`` block to set the string variable ``heatMessage`` directly. To do this we need to switch over to the JavaScript editor. Instead of using the result of the conditional expression to set the value of the variable, the expression will determine a value option for ``heatMessage``.
To set the variable based on the result of the expression, the value options are placed right after the expression using a `?`. The the value option for a `true` result is stated first and then followed by a `:` with the value option for a `false` result after that. It looks like this:
@@ -138,4 +138,4 @@ To set the variable based on the result of the expression, the value options are
let heatMessage = input.temperature() < 10 ? "COLD" : "WARM"
```
-The ``heatMeassage`` variable is set to the string saying ``"COLD"`` if the temperature is less than `10` degrees celsius or to ``"WARM"`` when it's `10` degrees or warmer.
+The ``heatMessage`` variable is set to the string saying ``"COLD"`` if the temperature is less than `10` degrees celsius or to ``"WARM"`` when it's `10` degrees or warmer.
diff --git a/docs/courses/blocks-to-javascript/conditional-loops.md b/docs/courses/blocks-to-javascript/conditional-loops.md
index 3dbe2d2e87b..120b20557f4 100644
--- a/docs/courses/blocks-to-javascript/conditional-loops.md
+++ b/docs/courses/blocks-to-javascript/conditional-loops.md
@@ -6,7 +6,7 @@ Work with your conditional loop blocks in JavaScript and make them do more.
## ~
-The conditional loops let you run some part of a program multiples times while some condtion remains true. In MakeCode these conditional loops are in the **[while](/blocks/loops/while)**, **[for](/blocks/loops/for)**, and **[repeat](/blocks/loops/repeat)** blocks:
+The conditional loops let you run some part of a program multiples times while some condition remains true. In MakeCode these conditional loops are in the **[while](/blocks/loops/while)**, **[for](/blocks/loops/for)**, and **[repeat](/blocks/loops/repeat)** blocks:
```block
while (true) {}
@@ -43,7 +43,7 @@ One thing you may not have expected is that the ``||loops:repeat||`` block is ac
## While Loop
-The ``||loops:while||`` loop is probably the simplist of the loops. It has just a single condition that, while true, causes the code inside the loop to continue to run. The loop here will show the number in the ``count`` variable on the screen until ``count`` reaches the value of `5`.
+The ``||loops:while||`` loop is probably the simplest of the loops. It has just a single condition that, while true, causes the code inside the loop to continue to run. The loop here will show the number in the ``count`` variable on the screen until ``count`` reaches the value of `5`.
```block
@@ -113,7 +113,7 @@ for (let index = 4; index >= 0; index--) {
}
```
-You'll now see in the simulator that the value displayed on the screen counts down from `4` to `0`. This form of the **for** loop is too complicatied for blocks so when you switch back to the Blocks editor the entire loop is shown in a grey block.
+You'll now see in the simulator that the value displayed on the screen counts down from `4` to `0`. This form of the **for** loop is too complicated for blocks so when you switch back to the Blocks editor the entire loop is shown in a grey block.
```block-ignore
for (let index = 4; index >= 0; index--) {
diff --git a/docs/courses/blocks-to-javascript/writing-functions.md b/docs/courses/blocks-to-javascript/writing-functions.md
index f33349e49b7..0886c7cc7fc 100644
--- a/docs/courses/blocks-to-javascript/writing-functions.md
+++ b/docs/courses/blocks-to-javascript/writing-functions.md
@@ -96,7 +96,7 @@ You see that we used, or called, the function **showMyName** two times and didn'
You can see that a function is really useful when you want to reuse some code, especially if it's a lot of code! But wait, functions are even more powerful when you can send them some information to work with!
-The **showMyName** function would really be awesome if it could display anyone's name. So, how can we make it do that? Well, let's use a _parameter_. A parameter is like a variable but it's a special variable only for the function. It allows your program to send, or _pass_, a value to the function. Just like a variable, the parameter has a [type](/types) for the value passed in it. To use a parmeter with a function, we need to work with its code in the JavaScript editor since using a parameter makes the function too complex to be a block.
+The **showMyName** function would really be awesome if it could display anyone's name. So, how can we make it do that? Well, let's use a _parameter_. A parameter is like a variable but it's a special variable only for the function. It allows your program to send, or _pass_, a value to the function. Just like a variable, the parameter has a [type](/types) for the value passed in it. To use a parameter with a function, we need to work with its code in the JavaScript editor since using a parameter makes the function too complex to be a block.
Go over to the JavaScript editor and change the function's name from **showMyName** to just **showName**. Give it a parameter to display anyone's name by inserting ``name: string`` in between the `(` `)` after the function name.
diff --git a/docs/courses/csintro-educator.md b/docs/courses/csintro-educator.md
index f0c8a3e1c8d..d18e33840de 100644
--- a/docs/courses/csintro-educator.md
+++ b/docs/courses/csintro-educator.md
@@ -32,7 +32,7 @@ Any of the individual course material items are also available as a separate dow
### [Standards and assessments](https://onedrive.live.com/?authkey=%21ALunv1kXkaA0RLg&id=416406873CB120AB%21521&cid=416406873CB120AB)
* [Assessment guide](https://onedrive.live.com/view.aspx?cid=416406873cb120ab&page=view&resid=416406873CB120AB!528&parId=416406873CB120AB!521&authkey=!ALunv1kXkaA0RLg&app=Word)
-* [Assesment guide (PDF)](https://onedrive.live.com/?authkey=%21ALunv1kXkaA0RLg&cid=416406873CB120AB&id=416406873CB120AB%213751&parId=416406873CB120AB%21521&o=OneUp)
+* [Assessment guide (PDF)](https://onedrive.live.com/?authkey=%21ALunv1kXkaA0RLg&cid=416406873CB120AB&id=416406873CB120AB%213751&parId=416406873CB120AB%21521&o=OneUp)
* [Standards alignment guide](https://onedrive.live.com/view.aspx?cid=416406873cb120ab&page=view&resid=416406873CB120AB!527&parId=416406873CB120AB!521&authkey=!ALunv1kXkaA0RLg&app=Word)
* [Standards alignment guide (PDF)](https://onedrive.live.com/?authkey=%21ALunv1kXkaA0RLg&cid=416406873CB120AB&id=416406873CB120AB%213752&parId=416406873CB120AB%21521&o=OneUp)
diff --git a/docs/courses/csintro-educator/preview.md b/docs/courses/csintro-educator/preview.md
index b1c33c0c55a..0a294cb4659 100644
--- a/docs/courses/csintro-educator/preview.md
+++ b/docs/courses/csintro-educator/preview.md
@@ -1,6 +1,6 @@
# Educator materials preview
-The materials are designed to allow educators to deliver a Computer Science curriculum to students in a structured format that introduces them to new concepts with engaging activites and projects. In addtion to the individual lesson materials, there are course guides, overviews, and assessment guides help the teacher along in presenting the course.
+The materials are designed to allow educators to deliver a Computer Science curriculum to students in a structured format that introduces them to new concepts with engaging activities and projects. In addition to the individual lesson materials, there are course guides, overviews, and assessment guides help the teacher along in presenting the course.
These materials give the teacher who's new to the subject an already prepared lesson series which they can start to teach with right away. For educators that have wanted to introduce a Computer Science course into their classroom but have yet to develop the course material for one, use these materials and start teaching now!
@@ -12,13 +12,13 @@ Each lesson has classroom presentation slides that let you introduce students to
## Educator guides
-Every lesson has a complete guide to describe the lesson goals, activities, and indended outcomes.
+Every lesson has a complete guide to describe the lesson goals, activities, and intended outcomes.

## Student workbook
-The student workbook is for the student to follow. It sets the lesson goals and clearly describes the making and coding activites.
+The student workbook is for the student to follow. It sets the lesson goals and clearly describes the making and coding activities.

diff --git a/docs/courses/csintro/algorithms/unplugged.md b/docs/courses/csintro/algorithms/unplugged.md
index 38708147e34..b56de5a626c 100644
--- a/docs/courses/csintro/algorithms/unplugged.md
+++ b/docs/courses/csintro/algorithms/unplugged.md
@@ -1,6 +1,6 @@
# Unplugged: What's your function & crazy conditionals
-This is a classroom activity that teachers might choose to run with a classrom of students.
+This is a classroom activity that teachers might choose to run with a classroom of students.
Materials
* Pencils
diff --git a/docs/courses/csintro/arrays/unplugged.md b/docs/courses/csintro/arrays/unplugged.md
index ecae802d7c2..ac550f19a1e 100644
--- a/docs/courses/csintro/arrays/unplugged.md
+++ b/docs/courses/csintro/arrays/unplugged.md
@@ -9,7 +9,7 @@ This activity asks you to carefully consider something that comes naturally to y
## Initial Sort
* Mix up the order of the numbered pieces of paper. Then, put them in a line.
-* Place the pieces in numberical order: but you must do this by moving **only one piece of paper at a time** to its proper place.
+* Place the pieces in numerical order: but you must do this by moving **only one piece of paper at a time** to its proper place.
* Once the papers have been sorted, ask yourself the following:
>* How did you sort the papers into the right order?
>* Did you see a pattern?
diff --git a/docs/courses/csintro/making.md b/docs/courses/csintro/making.md
index 2a3ebb46a5d..0c122894d99 100644
--- a/docs/courses/csintro/making.md
+++ b/docs/courses/csintro/making.md
@@ -1,6 +1,6 @@
# Making with micro:bit
-This lesson introduces the design thinking process as a way to design something that meets someone else's needs. By focusing on building the micro:bit into a pysical object, you'll gain experience in working with a piece of hardware that has a specific size and weight, and that needs to be supported and held securely.
+This lesson introduces the design thinking process as a way to design something that meets someone else's needs. By focusing on building the micro:bit into a physical object, you'll gain experience in working with a piece of hardware that has a specific size and weight, and that needs to be supported and held securely.

diff --git a/docs/courses/csintro/making/project.md b/docs/courses/csintro/making/project.md
index 38558b39276..a02999369e8 100644
--- a/docs/courses/csintro/making/project.md
+++ b/docs/courses/csintro/making/project.md
@@ -51,7 +51,7 @@ _Pink Piggy_

_Ladybug_
-
+
_Caterpillar_

diff --git a/docs/courses/logic-lab/elements.md b/docs/courses/logic-lab/elements.md
index 746d6d306be..8c81d1f4020 100644
--- a/docs/courses/logic-lab/elements.md
+++ b/docs/courses/logic-lab/elements.md
@@ -4,7 +4,7 @@ Whether creating equations in Boolean algebra or using them in your programs, yo
## Notation
-Boolean (logical) equations are expressed in a way similar to mathmatical equations. Variables in Boolean expressions though, have only two possible values, ``true`` or ``false``. For an equation using a logical expression, the equivalant sides of the equal sign ,``=``, will be only ``true`` or ``false`` too.
+Boolean (logical) equations are expressed in a way similar to mathematical equations. Variables in Boolean expressions though, have only two possible values, ``true`` or ``false``. For an equation using a logical expression, the equivalent sides of the equal sign ,``=``, will be only ``true`` or ``false`` too.
The following list shows the basic notation elements for variables and operators in Boolean expressions:
@@ -24,7 +24,7 @@ An equation to show logically equivalent expressions (where both sides have the
## Logical operators
-All Boolean expressions result from a combination of conditions and operators. These operators join individual conditons together and evaluate into a single ``true`` or ``false`` condition. The following are the basic logical operators. Their use in both Boolean algebra and in code is shown along with their truth table.
+All Boolean expressions result from a combination of conditions and operators. These operators join individual conditions together and evaluate into a single ``true`` or ``false`` condition. The following are the basic logical operators. Their use in both Boolean algebra and in code is shown along with their truth table.
### Identity
diff --git a/docs/courses/logic-lab/expressions.md b/docs/courses/logic-lab/expressions.md
index 9f025d855bb..15ce61bc968 100644
--- a/docs/courses/logic-lab/expressions.md
+++ b/docs/courses/logic-lab/expressions.md
@@ -14,7 +14,7 @@ By taking some facts and putting them into a logical form, we can make an arithm
You see the AND, NOT, and OR in the example word equations? These are our logical _operators_. Every day we make decisions when we think about one or more facts together using these operators. Sometimes, it's necessary for all facts to be true in order for the conclusion to be true. This is the case when the AND operator is used. When analyzing facts with the OR operator, only one fact needs to be true for the conclusion to be true also.
-Making a decision may require more than just one or two facts. When this happens, another operator is needed to combine the facts together to make a conclusion. In the last example word equation, you actually might not be floating if just those two condtions are true. To correctly prove that you're actually floating, you need to state that you're in water too.
+Making a decision may require more than just one or two facts. When this happens, another operator is needed to combine the facts together to make a conclusion. In the last example word equation, you actually might not be floating if just those two conditions are true. To correctly prove that you're actually floating, you need to state that you're in water too.
* **(**``I can swim`` **OR** ``I'm in a boat``**) AND** ``I'm in water`` **=** ``I'm floating``
@@ -76,9 +76,9 @@ The logic equation now doesn't include the result variable ``Q`` but instead the
### ~ hint
-#### De Morgan's Thereom
+#### De Morgan's Theorem
-That last equation, ``~(A · B)`` = ``~A + ~B``, demonstrates an inportant property in Boolean algebra. It's called De Morgan's Thereom which says that the inverse (NOT) of a conjunction (AND) is logically equivalent to the disjunction (OR) of two inverses (NOT). Also, the inverse (NOT) of a disjunction (OR) is logically equivalent to the conjunction (AND) of two inverses (NOT).
+That last equation, ``~(A · B)`` = ``~A + ~B``, demonstrates an important property in Boolean algebra. It's called De Morgan's Theorem which says that the inverse (NOT) of a conjunction (AND) is logically equivalent to the disjunction (OR) of two inverses (NOT). Also, the inverse (NOT) of a disjunction (OR) is logically equivalent to the conjunction (AND) of two inverses (NOT).
This easier understood by seeing the Boolean equations for both cases:
@@ -92,7 +92,7 @@ This easier understood by seeing the Boolean equations for both cases:
## Truth tables
-A truth table is a way to see all possible condtions for the variables in a logical expression and to chart the results. Using the truth statement about when it's freezing outside and you have no coat, here's the truth table showing the possible conditions and their results:
+A truth table is a way to see all possible conditions for the variables in a logical expression and to chart the results. Using the truth statement about when it's freezing outside and you have no coat, here's the truth table showing the possible conditions and their results:
It's freezing | I have no coat | I feel cold
-|-|-
@@ -137,7 +137,7 @@ T | F | T
T | F | F
-To write a Boolean equation for when you feel cold, we find the condtions in the table where ``Q`` is ``true``. Here we see that you will feel cold only in one row, when condition ``A`` is ``true`` and condtion ``B`` is ``false``. The Boolean equation for these conditions is this:
+To write a Boolean equation for when you feel cold, we find the conditions in the table where ``Q`` is ``true``. Here we see that you will feel cold only in one row, when condition ``A`` is ``true`` and condition ``B`` is ``false``. The Boolean equation for these conditions is this:
``A · ~B`` = ``Q``
diff --git a/docs/courses/logic-lab/logic-gates.md b/docs/courses/logic-lab/logic-gates.md
index f045bb6140c..80d3bde0bc5 100644
--- a/docs/courses/logic-lab/logic-gates.md
+++ b/docs/courses/logic-lab/logic-gates.md
@@ -30,7 +30,7 @@ The AND gate has a flat input side and round output side.
### Exclusive OR (XOR) gate
-The exclusive or gate symbol is just like the OR gate but it has an additonal curved line crossing the inputs.
+The exclusive or gate symbol is just like the OR gate but it has an additional curved line crossing the inputs.

@@ -56,7 +56,7 @@ T| F | T
T | T | F
-There are two conditions where the result column has ``true`` values. The first conditon is when ``A`` is ``false`` and ``B`` is ``true`` which is expressed as ``~A · B``. The second conditon is when ``A`` is ``true`` and ``B`` is ``false`` which is expressed as ``A · ~B``. Our XOR expression is ``true`` when one of these conditions are ``true`` which is written like:
+There are two conditions where the result column has ``true`` values. The first condition is when ``A`` is ``false`` and ``B`` is ``true`` which is expressed as ``~A · B``. The second condition is when ``A`` is ``true`` and ``B`` is ``false`` which is expressed as ``A · ~B``. Our XOR expression is ``true`` when one of these conditions are ``true`` which is written like:
``A ⊕ B`` = ``(~A · B) + (A · ~B)``
@@ -68,7 +68,7 @@ let B = false
let Q = (!A && B) || (A && !B)
```
-Coverting the equation to logic gates makes the following diagram. Notice how each gate "connects" the variables together just like the logic blocks in the code above.
+Converting the equation to logic gates makes the following diagram. Notice how each gate "connects" the variables together just like the logic blocks in the code above.

@@ -76,7 +76,7 @@ However, if we take the other two unused conditions from the truth table that ma
``~(A ⊕ B)`` = ``(~A · ~B) + (A · B)``
-To get back to ``A ⊕ B`` we have to negate this negative equation. Then, with the help of [De Morgan's Thereom](/courses/logic-lab/expressions#de-morgan-s-thereom), we get a different equation for XOR but it's still logically equivalent to the original one.
+To get back to ``A ⊕ B`` we have to negate this negative equation. Then, with the help of [De Morgan's Theorem](/courses/logic-lab/expressions#de-morgan-s-thereom), we get a different equation for XOR but it's still logically equivalent to the original one.
``A ⊕ B`` = ``(A + B) · ~(A · B)``
diff --git a/docs/courses/logic-lab/programmable.md b/docs/courses/logic-lab/programmable.md
index 1b614cab7e2..c597a5d9524 100644
--- a/docs/courses/logic-lab/programmable.md
+++ b/docs/courses/logic-lab/programmable.md
@@ -135,7 +135,7 @@ if (pins.digitalReadPin(DigitalPin.P6) > 0) {
You can test different input combinations by connecting the other ends of alligator clip leads on pins **P0** and **P1** to either **GND** or **3V**. The **GND** pin will make a ``false`` input value and **3V** will make a ``true`` input value.
-If you have an expansion connector for your @boardname@, you can use the combined logic script and the logic observer code to check each ouptput. Move the other end of the alligator clip lead connected to the observer pin **P6** to each of the outputs **P2**, **P3**, and **P4** to see the result of the logic operation programmed for those pins.
+If you have an expansion connector for your @boardname@, you can use the combined logic script and the logic observer code to check each output. Move the other end of the alligator clip lead connected to the observer pin **P6** to each of the outputs **P2**, **P3**, and **P4** to see the result of the logic operation programmed for those pins.
If you just have the @boardname@ by itself, you can test each logic function using only the scripts for each logic gate. Just put the script inside a ``||loops:forever||`` loop and place a ``||basic:show string||`` block with the logic letter after each ``||pins:digital write pin||``.
diff --git a/docs/courses/ucp-science/body-electrical/setup-procedure.md b/docs/courses/ucp-science/body-electrical/setup-procedure.md
index a98f90663d0..57341d7499f 100644
--- a/docs/courses/ucp-science/body-electrical/setup-procedure.md
+++ b/docs/courses/ucp-science/body-electrical/setup-procedure.md
@@ -3,7 +3,7 @@
## Setup
1. Plan and design the experiments.
-2. Connect the wires to the microbit with connections at pin **0** and the ground pin (**GND**). Pin **0** will detect any electrical current flowing between it and the ground. The human body is always sending out electrical current from the nervous system to the muscles.
+2. Connect the wires to the micro:bit with connections at pin **0** and the ground pin (**GND**). Pin **0** will detect any electrical current flowing between it and the ground. The human body is always sending out electrical current from the nervous system to the muscles.
3. Coil the stripped ends of the copper wires and tape them to the skin in different areas of the body with the painters tape.
4. Plan and design data collection documents.
5. Program the @boardname@s.
@@ -18,7 +18,7 @@ This project will use to microbits to collect and record data using MakeCode as
## Option 2 — MakeCode and a USB connection
-MakeCode allows data to be directly read from the microbit when it is attached using USB cable. Data can be sent from the microbit to the browser using serial data connection over WebUSB. The data collected over the serial connection can be graphed and the data can be downloaded. A limit of only about the last 20 seconds of data can be downloaded as a ``"data.csv"`` file. This allows the collection of data in real time. This file can be opened in a spreadsheet for further analysis. Many different kinds of experiments can be performed using this data logging technique.
+MakeCode allows data to be directly read from the micro:bit when it is attached using USB cable. Data can be sent from the micro:bit to the browser using serial data connection over WebUSB. The data collected over the serial connection can be graphed and the data can be downloaded. A limit of only about the last 20 seconds of data can be downloaded as a ``"data.csv"`` file. This allows the collection of data in real time. This file can be opened in a spreadsheet for further analysis. Many different kinds of experiments can be performed using this data logging technique.
### on Start event
@@ -29,7 +29,7 @@ MakeCode allows data to be directly read from the microbit when it is attached u
### forever event
-1. Set the ``ekg`` or ``bodyElectricity`` variable to get its value from the “analog read pin (0)”. This detects and electrical current that is sent through the body between the 2 taped wires connected to the body and the microbit. This is an analog reading that gets converted to a digital number between 0 - 1024.
+1. Set the ``ekg`` or ``bodyElectricity`` variable to get its value from the “analog read pin (0)”. This detects and electrical current that is sent through the body between the 2 taped wires connected to the body and the micro:bit. This is an analog reading that gets converted to a digital number between 0 - 1024.
2. The next line uses a ``||basic:serial write value||`` (``"EKG"`` and the value stored in the ``ekg`` variable) to send the value back to MakeCode through the USB connection to the computer and @boardname@.
```blocks
@@ -55,7 +55,7 @@ The same data from the ``"data.csv"`` file might look like this in a spreadsheet

-Do some more meaurements:
+Do some more measurements:
1. Try graphic the data in different ways in the spreadsheet.
2. Try collecting data for another area on the body.
@@ -75,13 +75,13 @@ The ``||basic:forever||`` event read the electricity on pin **0** and stores it
```blocks
// Body Electricity Project
basic.showString("EKG")
-let bodyElectricty = 0
+let bodyElectricity = 0
radio.setGroup(99)
// forever loop that collects body electricity and send it over the radio
basic.forever(() => {
- bodyElectricty = pins.analogReadPin(AnalogPin.P0)
- radio.sendNumber(bodyElectricty)
+ bodyElectricity = pins.analogReadPin(AnalogPin.P0)
+ radio.sendNumber(bodyElectricity)
})
```
@@ -94,13 +94,13 @@ The ``||radio:on received number||`` event reads the number value sent from the
```blocks
// Body Electricity Receiver
basic.showString("BODY ELEC")
-let bodyElectricty = 0
+let bodyElectricity = 0
radio.setGroup(99)
// Radio Receiver event
radio.onReceivedNumber(function (receivedNumber) {
- bodyElectricty = receivedNumber
- serial.writeValue("Body Electricty", bodyElectricty)
+ bodyElectricity = receivedNumber
+ serial.writeValue("Body Electricity", bodyElectricity)
})
```
diff --git a/docs/courses/ucp-science/data-collection/setup-procedure.md b/docs/courses/ucp-science/data-collection/setup-procedure.md
index 3e53d7c779d..028691e7045 100644
--- a/docs/courses/ucp-science/data-collection/setup-procedure.md
+++ b/docs/courses/ucp-science/data-collection/setup-procedure.md
@@ -99,7 +99,7 @@ radio.onReceivedNumber(function (receivedNumber) {
### Radio receiver code with serial write
-This code is the same as above but one additional line of code is added to write to the word `"Celisus"` and the temperature to MakeCode to the USB serial connection. This is the same as described peviously in [Option 2](#option-2-makecode-and-a-usb-connection).
+This code is the same as above but one additional line of code is added to write to the word `"Celsius"` and the temperature to MakeCode to the USB serial connection. This is the same as described perviously in [Option 2](#option-2-makecode-and-a-usb-connection).
```blocks
@@ -108,7 +108,7 @@ basic.showString("TEMPERATURE RECEIVER SERIAL")
radio.setGroup(99)
radio.onReceivedNumber(function (receivedNumber) {
basic.showNumber(receivedNumber)
- serial.writeValue("Celisus", receivedNumber)
+ serial.writeValue("Celsius", receivedNumber)
})
```
diff --git a/docs/courses/ucp-science/electricity/setup-procedure.md b/docs/courses/ucp-science/electricity/setup-procedure.md
index 2b759d31bfc..25a30681629 100644
--- a/docs/courses/ucp-science/electricity/setup-procedure.md
+++ b/docs/courses/ucp-science/electricity/setup-procedure.md
@@ -27,7 +27,7 @@ You can tabulate your readings like this:
**4.** Plan and design data collection documents.
**5.** Program the micro:bit.
-**6.** When the battery is connected to the micro:bit. buttton **A** will give a reading. Button **B** will give a reading in millivolts converted from the digital reading on pin **0**.
+**6.** When the battery is connected to the micro:bit, button **A** will give a reading. Button **B** will give a reading in millivolts converted from the digital reading on pin **0**.
**7.** Experiment with different batteries. Use good batteries and some older batteries.
**8.** Report on the findings and observations in the experiments.
diff --git a/docs/courses/ucp-science/rocket-acceleration/build.md b/docs/courses/ucp-science/rocket-acceleration/build.md
index afb2f641c3a..876ddb691fa 100644
--- a/docs/courses/ucp-science/rocket-acceleration/build.md
+++ b/docs/courses/ucp-science/rocket-acceleration/build.md
@@ -26,7 +26,7 @@ In order to launch the rocket, you need to deliver compressed air to the rocket.
#### Caution!
-The bottle rocket is launched when enough pressure builds up to push it off the launcher base. You don't always know when exaclty enough pressure exists to push the rocket up. To avoid being hit by the rocket, don't stand too close (you and anyone watching, and especially, don't stand directly over the rocket!) to it while you're adding pressure to the launcher.
+The bottle rocket is launched when enough pressure builds up to push it off the launcher base. You don't always know when exactly enough pressure exists to push the rocket up. To avoid being hit by the rocket, don't stand too close (you and anyone watching, and especially, don't stand directly over the rocket!) to it while you're adding pressure to the launcher.
It may launch with enough force to hurt you if you're hit by it!
diff --git a/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md b/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md
index b220fdce1ae..596f154962d 100644
--- a/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md
+++ b/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md
@@ -54,7 +54,7 @@ basic.forever(() => {
})
```
-### Reciever @boardname@ Code
+### Receiver @boardname@ Code
This receiver @boardname@ uses the ``||basic:on start||`` event to set up the title on the @boardname@ when started, the radio group.
@@ -95,7 +95,7 @@ Try graphing the data in different ways in the spreadsheet.
## Rocket Launch Video
-Watch the demostration [rocket launch](https://drive.google.com/open?id=10h-uL7ajoS4_M7vZWW5LqdqSgt7PCj7Q) video.
+Watch the demonstration [rocket launch](https://drive.google.com/open?id=10h-uL7ajoS4_M7vZWW5LqdqSgt7PCj7Q) video.
## Questions
@@ -113,7 +113,7 @@ Set up the experiment to collect data when a @boardname@ is drown several feet o
### Develop Other Hypotheses and Experiments
-Research what acceleration on a skateboard at a skatepark or other types of movement as in a car. What about a ride at an amusement park?
+Research what acceleration on a skateboard at a skate park or other types of movement as in a car. What about a ride at an amusement park?
## ~button /courses/ucp-science/rocket-acceleration/resources
NEXT: Resources
diff --git a/docs/courses/ucp-science/temperature/setup-procedure.md b/docs/courses/ucp-science/temperature/setup-procedure.md
index 0a3aadeebee..2fede31b2e2 100644
--- a/docs/courses/ucp-science/temperature/setup-procedure.md
+++ b/docs/courses/ucp-science/temperature/setup-procedure.md
@@ -124,7 +124,7 @@ radio.onReceivedNumber( function(receivedNumber) {
#### Radio receiver code with serial Write
-This code is the same as above but one additional line of code is added to write to the word “Celisus” and the temperature to the MakeCode app to the USB serial connection. This is the same as described in the **Project 2** section above.
+This code is the same as above but one additional line of code is added to write to the word "Celsius" and the temperature to the MakeCode app to the USB serial connection. This is the same as described in the **Project 2** section above.
```blocks
let temperature = 0
@@ -132,7 +132,7 @@ basic.showString("TEMPERATURE RADIO RECEIVER SERIAL")
radio.setGroup(99)
radio.onReceivedNumber( function(receivedNumber) {
basic.showNumber(receivedNumber)
- serial.writeValue("Celisus", receivedNumber)
+ serial.writeValue("Celsius", receivedNumber)
})
```
diff --git a/docs/device/incompatible.md b/docs/device/incompatible.md
index 98f074ab591..a48caa16be2 100644
--- a/docs/device/incompatible.md
+++ b/docs/device/incompatible.md
@@ -1,4 +1,4 @@
-# Incompatibile Hardware
+# Incompatible Hardware
A newer version of @boardname@ usually adds hardware features which also bring new support from MakeCode to let you use them in your programs. This might be new blocks (or API's), and parameters to let code your programs for these new features.
diff --git a/docs/examples/gameofLife.md b/docs/examples/gameofLife.md
index 0da12a30991..18488a1d44d 100644
--- a/docs/examples/gameofLife.md
+++ b/docs/examples/gameofLife.md
@@ -27,7 +27,7 @@ input.onButtonPressed(Button.A, () => {
show();
})
-//Use button B for reseting to random initial seed state
+//Use button B for resetting to random initial seed state
input.onButtonPressed(Button.B, () => {
reset();
show();
@@ -111,7 +111,7 @@ function gameOfLife() {
}
}
- //Count the live cells in the current row exlcuding the current position.
+ //Count the live cells in the current row excluding the current position.
if ((y - 1 >= 0) && getState(state, x, y - 1)) {
count++;
}
@@ -119,11 +119,11 @@ function gameOfLife() {
count++;
}
- // Toggle live / dead cells based on the neighbour count.
- // Any live cell with fewer than two live neighbours dies, as if caused by underpopulation.
- // Any live cell with two or three live neighbours lives on to the next generation.
- // Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
- // Any live cell with more than three live neighbours dies, as if by overpopulation.
+ // Toggle live / dead cells based on the neighbor count.
+ // Any live cell with fewer than two live neighbors dies, as if caused by underpopulation.
+ // Any live cell with two or three live neighbors lives on to the next generation.
+ // Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
+ // Any live cell with more than three live neighbors dies, as if by overpopulation.
switch (count) {
case 0: setState(result, x, y, false); break;
case 1: setState(result, x, y, false); break;
diff --git a/docs/lessons/charting/challenge.md b/docs/lessons/charting/challenge.md
index 3df69cdd75e..891276bde46 100644
--- a/docs/lessons/charting/challenge.md
+++ b/docs/lessons/charting/challenge.md
@@ -45,7 +45,7 @@ radio.onReceivedNumber(function (receivedNumber) {
```
## ~
-Notice that moving the @boardname@ the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd @boardname@. There is a single LED turned on with the 1st @boardname@. Additionally, the graphs will reflect 0 acceleation for the 1st @boardname@. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
+Notice that moving the @boardname@ the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd @boardname@. There is a single LED turned on with the 1st @boardname@. Additionally, the graphs will reflect 0 acceleration for the 1st @boardname@. In this scenario, if you are adjusting the acceleration in the simulator, you are also changing your chart that will be produced.

@@ -53,7 +53,7 @@ Notice that moving the @boardname@ the farthest direction in the x direction wil
NOTE: The colors of the charts reflect the color of the @boardname@ simulator. In this instance, the @boardname@s are blue and green. So the colors of the line graphs reflect the colors of the @boardname@
## ~
-After running this simulation several seconds by moving the @boardname@ side to side in the x direction, you are ready to graph or chart the accceleration of the @boardname@. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
+After running this simulation several seconds by moving the @boardname@ side to side in the x direction, you are ready to graph or chart the acceleration of the @boardname@. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.

diff --git a/docs/lessons/digi-yoyo/challenges.md b/docs/lessons/digi-yoyo/challenges.md
index 1815602ee8a..e10473861e5 100644
--- a/docs/lessons/digi-yoyo/challenges.md
+++ b/docs/lessons/digi-yoyo/challenges.md
@@ -38,7 +38,7 @@ while (count > 0) {
## Challenge 2
-Inside of the while loop, let's add a ``||basic:pause||`` that waits for one seccond so that we have a pause between each number as it's counting down. Also, let's show ``||variables:count||``!
+Inside of the while loop, let's add a ``||basic:pause||`` that waits for one second so that we have a pause between each number as it's counting down. Also, let's show ``||variables:count||``!
```blocks
let count = 0;
diff --git a/docs/lessons/magic-8/challenges.md b/docs/lessons/magic-8/challenges.md
index 1ef791aaf35..ef034252e8f 100644
--- a/docs/lessons/magic-8/challenges.md
+++ b/docs/lessons/magic-8/challenges.md
@@ -84,7 +84,7 @@ input.onGesture(Gesture.Shake, () => {
basic.clearScreen()
let randomNumber = randint(0, 4)
if (randomNumber == 4) {
- basic.showString("DEFINATELY")
+ basic.showString("DEFINITELY")
} else if (randomNumber == 3) {
basic.showString("TRY AGAIN")
} else if (randomNumber == 2) {
diff --git a/docs/lessons/seismograph/activity.md b/docs/lessons/seismograph/activity.md
index 99101e638e3..c921f3b682d 100644
--- a/docs/lessons/seismograph/activity.md
+++ b/docs/lessons/seismograph/activity.md
@@ -61,7 +61,7 @@ basic.forever(() => {
## 6.
-At rest, the @boardname@ is always subject to Earth gravity, whose magnitude is measured around ``1023``. Substract ``1023`` to measure a data close to ``0``.
+At rest, the @boardname@ is always subject to Earth gravity, whose magnitude is measured around ``1023``. Subtract ``1023`` to measure a data close to ``0``.
```blocks
basic.forever(() => {
@@ -82,7 +82,7 @@ Data Analysis: We now need to use the @boardname@ to Analyze Data and chart for
## 7.
-First, notice that moving the @boardname@ in the simulator in any direction, you will change the acceleration value, which is being displayed as the same color as the @boardname@ simulator. Also, notice that by moving the @boardname@ simulator, there is a changing acceleration value. Second, the flat colored horizontal line will start a waving line to display the value of the strength as measured in milli-gravities. Finally, notice that the LED display will fluctate based on the movement of the @boardname@ simulator.
+First, notice that moving the @boardname@ in the simulator in any direction, you will change the acceleration value, which is being displayed as the same color as the @boardname@ simulator. Also, notice that by moving the @boardname@ simulator, there is a changing acceleration value. Second, the flat colored horizontal line will start a waving line to display the value of the strength as measured in milli-gravities. Finally, notice that the LED display will fluctuate based on the movement of the @boardname@ simulator.

@@ -98,7 +98,7 @@ Click or tap the **Download** button for the seismograph program to run the prog
A black line should appear directly beneath the colored line. The black line measures the @boardname@ acceleration. And the colored line measures @boardname@ simulator acceleration.
-Run the acceleration experiment by vigarously moving the plate in any direction or move the object below the @boardname@ (such as a table).
+Run the acceleration experiment by vigorously moving the plate in any direction or move the object below the @boardname@ (such as a table).
Every time the @boardname@ moves in any direction, you generate data points that can be reviewed in Excel later. The more attempts to move the @boardname@, the more data to be reviewed in Excel.
@@ -106,7 +106,7 @@ Every time the @boardname@ moves in any direction, you generate data points tha
## 10.
-Please find seismogrph experiment obervations:
+Please find seismograph experiment observations:
First, notice that moving the @boardname@ in any direction, you will change the acceleration value, which is being displayed as a milli-gravities value. By moving the @boardname@, there will be a changing acceleration value.
@@ -116,11 +116,11 @@ Second, the horizontal line will move to plot the value of the strength as measu

-Third, notice that the LED display fluctates based on the movement of the @boardname@.
+Third, notice that the LED display fluctuates based on the movement of the @boardname@.

-Now we are ready to graph or chart the accceleration of the @boardname@. We want a printout of the @boardname@ acceleration graphed in Excel.
+Now we are ready to graph or chart the acceleration of the @boardname@. We want a printout of the @boardname@ acceleration graphed in Excel.
## 11.
diff --git a/docs/projects/electric-guitar/code.md b/docs/projects/electric-guitar/code.md
index f87e0c88f20..4fdf3fe0e2b 100644
--- a/docs/projects/electric-guitar/code.md
+++ b/docs/projects/electric-guitar/code.md
@@ -2,7 +2,7 @@
Let's add code so that whenever we press or touch the foil chords it will produce sound.
-From the [Make](/projects/electric-guitar/make.md) project, we know that whenever user touches the chords, sound will be produced and diffrent chords will produce diffrent sounds.
+From the [Make](/projects/electric-guitar/make.md) project, we know that whenever user touches the chords, sound will be produced and different chords will produce different sounds.
## Code your electric guitar
diff --git a/docs/projects/guitar/pinpress.md b/docs/projects/guitar/pinpress.md
index bcf9fe37f88..dbfd595187a 100644
--- a/docs/projects/guitar/pinpress.md
+++ b/docs/projects/guitar/pinpress.md
@@ -66,7 +66,7 @@ https://youtu.be/PAIU-vHqyGU
**The electric signal traveled from pins, between your hands to `GND` and the @boardname@ detected the electric signal!**
-How is the touch dectected? Find out in this video:
+How is the touch detected? Find out in this video:
https://www.youtube.com/watch?v=GEpZrvbsO7o
diff --git a/docs/projects/jonnys-bird.md b/docs/projects/jonnys-bird.md
index fd26a0bee16..e846e9c5234 100644
--- a/docs/projects/jonnys-bird.md
+++ b/docs/projects/jonnys-bird.md
@@ -4,7 +4,7 @@ The ``||music:play sound||`` block lets you create and play complex sounds beyon
## Use acceleration to set frequency
-The acceleration in the `X`and `Y` dimensions are used to set the frequencies of the sound. Make two variables named ``||variables:currFreq||`` and ``||variables:lastFreq||``. One variable will hold the value for the current freqency as an input of accleration in the `X` direction. The other will remember the previous frequency value.
+The acceleration in the `X`and `Y` dimensions are used to set the frequencies of the sound. Make two variables named ``||variables:currFreq||`` and ``||variables:lastFreq||``. One variable will hold the value for the current frequency as an input of acceleration in the `X` direction. The other will remember the previous frequency value.
Get a ``||loops:forever||`` block and pull the ``||variables:set currFreq||`` and ``||variables:set lastFreq||`` blocks into it. Change the value for ``||variables:set lastFreq||`` from `0` to ``||variables:currFreq||``.
diff --git a/docs/projects/puma-rs-computer-shoe/calibration.md b/docs/projects/puma-rs-computer-shoe/calibration.md
index 7df840fffa8..e60b08e050b 100644
--- a/docs/projects/puma-rs-computer-shoe/calibration.md
+++ b/docs/projects/puma-rs-computer-shoe/calibration.md
@@ -30,7 +30,7 @@ pre-filled measurement data. Replace the **Distance**, **Time**, and **Steps** v
Add or remove measurement rows depending on how much accuracy you want for your calibration.
To put the template into your spreadsheet program, copy all the rows including the header of the sample template. Open a new worksheet and paste in the rows copied from here. Select the first column of the
-worksheet and use "Text to Columns" to split the data into seperate columns. Set the comma as the delimiter.
+worksheet and use "Text to Columns" to split the data into separate columns. Set the comma as the delimiter.
### Sample template
diff --git a/docs/projects/robot-unicorn.md b/docs/projects/robot-unicorn.md
index 4656244771c..f39f9b673ac 100644
--- a/docs/projects/robot-unicorn.md
+++ b/docs/projects/robot-unicorn.md
@@ -184,7 +184,7 @@ basic.showLeds(`
`)
```
-## Everythin Else
+## Everything Else
Here's where you can find all the templates you need to make the Robot Unicorn.
diff --git a/docs/projects/rotary-dial-radio.md b/docs/projects/rotary-dial-radio.md
index f870aef8dd5..0b834334030 100644
--- a/docs/projects/rotary-dial-radio.md
+++ b/docs/projects/rotary-dial-radio.md
@@ -25,7 +25,7 @@ If you skim through the WikiPedia on "rotary dial phones", you'll quickly learn
## Digging into the phone
-Fortunately for us, the bottom of the phone is easily removed by pressing lever. It reveals the internals of the phone. One can see the two massive bells to ring the phone and some other capacitors and circuitery.
+Fortunately for us, the bottom of the phone is easily removed by pressing lever. It reveals the internals of the phone. One can see the two massive bells to ring the phone and some other capacitors and circuitry.

diff --git a/docs/projects/v2-cat-napping.md b/docs/projects/v2-cat-napping.md
index 1ffbf3c6565..73ed6104858 100644
--- a/docs/projects/v2-cat-napping.md
+++ b/docs/projects/v2-cat-napping.md
@@ -23,7 +23,7 @@ logging = false
Let's give Lychee some control over when she wants to start and stop logging data on the @boardname@.
-■ From the ``||input:Input||`` category, grab a ``||input:on button [A] pressed||`` container and drag it into your workspace. Then, grab a ``||variables:set [logging] to [0]||`` block from ``||variables:Varables||`` and snap it inside of your ``||input(noclick):on button [A] pressed||`` container.
+■ From the ``||input:Input||`` category, grab a ``||input:on button [A] pressed||`` container and drag it into your workspace. Then, grab a ``||variables:set [logging] to [0]||`` block from ``||variables:Variables||`` and snap it inside of your ``||input(noclick):on button [A] pressed||`` container.
■ From the ``||logic:Logic||`` category, grab a ``||logic:||`` argument and snap it in to **replace** the ``0`` argument. Go back to the ``||variables:Variables||`` category, grab a ``||variables:logging||`` variable and snap it in to **replace** the empty ``||logic(noclick):<>||`` in the ``||logic(noclick):not <>||`` statement.
✋🛑 Take a moment to help Lychee answer the following question: _What is happening every time she presses the A button?_
diff --git a/docs/reference/bluetooth/about-bluetooth.md b/docs/reference/bluetooth/about-bluetooth.md
index 5716be71925..154ead86616 100755
--- a/docs/reference/bluetooth/about-bluetooth.md
+++ b/docs/reference/bluetooth/about-bluetooth.md
@@ -20,11 +20,11 @@ The Attribute Table contains something like a series of records of various types
## Attributes
-Services, Characteristics and Descriptors are all types of Attribute. Hence Generic Attribute Profile, Attribute Table and something called the Attribute Protocol. All attributes have a type which is identified by a UUID (Universally Unique Identifer). Some Attributes are defined by the Bluetooth SIG, the technical standards body for Bluetooth and these have UUIDs which are 16 bits in length. Some Attributes are custom designed for a particular device by the product team and these have 128 bit UUIDs. The @boardname@ uses a mixture of 16 bit and 128 bit UUIDs.
+Services, Characteristics and Descriptors are all types of Attribute. Hence Generic Attribute Profile, Attribute Table and something called the Attribute Protocol. All attributes have a type which is identified by a UUID (Universally Unique Identifier). Some Attributes are defined by the Bluetooth SIG, the technical standards body for Bluetooth and these have UUIDs which are 16 bits in length. Some Attributes are custom designed for a particular device by the product team and these have 128 bit UUIDs. The @boardname@ uses a mixture of 16 bit and 128 bit UUIDs.
## Structure
-Services, Characteristics and Descriptors are organised in a hierarchy with Services at the top and Descriptors at the bottom. Services contain one or more Characteristics. A Characteristic owns zero or more Descriptors. Zero because Descriptors are completely optional whereas a Service must contain at least one Characteristic.
+Services, Characteristics and Descriptors are organized in a hierarchy with Services at the top and Descriptors at the bottom. Services contain one or more Characteristics. A Characteristic owns zero or more Descriptors. Zero because Descriptors are completely optional whereas a Service must contain at least one Characteristic.

@@ -48,7 +48,7 @@ Permissions are to do with security and further describe the security conditions
## Descriptors
-Descriptors contain meta data which either augments the details relating to the Characteristic which the Descriptor belongs to or allows the configuration of a behaviour involving that Characteristic. Notification messages are switched on or off using a special descriptor called the Client Characteristic Configuration Descriptor for example.
+Descriptors contain meta data which either augments the details relating to the Characteristic which the Descriptor belongs to or allows the configuration of a behavior involving that Characteristic. Notification messages are switched on or off using a special descriptor called the Client Characteristic Configuration Descriptor for example.
## Profile
@@ -76,7 +76,7 @@ The @boardname@'s accelerometer (motion detector), magnetometer (digital compass
* there's a Device Firmware Update (DFU) service which allows new @boardname@ code to be flashed to the device over Bluetooth instead of over USB
* there's a UART service which allows arbitrary data to be exchanged with the @boardname@ in a way resembling traditional serial communications.
-Everything you can do with the @boardname@ over Bluetooth is achieved through read, write and notify operations. Not all characteristics support all three so check the profile documentation. Often there are Characteristics whose purpose is to allow you to write configuration values which control other behaviours. Technically these are called Control Points. For example you can specify the frequency with which accelerometer data is sampled before it is transmitted as a Notification message to your application.
+Everything you can do with the @boardname@ over Bluetooth is achieved through read, write and notify operations. Not all characteristics support all three so check the profile documentation. Often there are Characteristics whose purpose is to allow you to write configuration values which control other behaviors. Technically these are called Control Points. For example you can specify the frequency with which accelerometer data is sampled before it is transmitted as a Notification message to your application.
## Want to Know More?
diff --git a/docs/reference/game/change.md b/docs/reference/game/change.md
index 704e178c86e..03f18a3e896 100644
--- a/docs/reference/game/change.md
+++ b/docs/reference/game/change.md
@@ -6,7 +6,7 @@ Change a value for a [sprite](/reference/game/create-sprite) property by some am
game.createSprite(0,0).change(LedSpriteProperty.X, 0);
```
-The value of a sprite propery is changed by using either a positive or negative number. Giving `1` will increase a property value by `1` and giving a `-1` will decrease it by `1`.
+The value of a sprite property is changed by using either a positive or negative number. Giving `1` will increase a property value by `1` and giving a `-1` will decrease it by `1`.
## Parameters
diff --git a/docs/reference/input/set-sound-threshold.md b/docs/reference/input/set-sound-threshold.md
index 7b5357c03f9..cb18e7ddf20 100644
--- a/docs/reference/input/set-sound-threshold.md
+++ b/docs/reference/input/set-sound-threshold.md
@@ -22,7 +22,7 @@ This block requires the [micro:bit V2](/device/v2) hardware. If you use this blo
## Parameters
-* **sound**: the type of sound to dectect: `loud` or `quiet`.
+* **sound**: the type of sound to detect: `loud` or `quiet`.
* **threshold**: the sound level [number](/types/number) which makes a sound event happen.
## Example #example
diff --git a/docs/reference/led/plot-bar-graph.md b/docs/reference/led/plot-bar-graph.md
index 385ece04efb..0e08bb99545 100644
--- a/docs/reference/led/plot-bar-graph.md
+++ b/docs/reference/led/plot-bar-graph.md
@@ -32,7 +32,7 @@ Show a bar graph of the [acceleration](/reference/input/acceleration)
in the `x` direction of the @boardname@.
The @boardname@'s `x` direction is from left to right (or right to left).
The faster you move the @boardname@ in this direction,
-the taller the lines in the bar graph will be. The **high** paramter is `1023` which sets the highest possible value of acceleration to show. Also, record the acceleration value by sending it to the serial port.
+the taller the lines in the bar graph will be. The **high** parameter is `1023` which sets the highest possible value of acceleration to show. Also, record the acceleration value by sending it to the serial port.
```blocks
basic.forever(() => {
diff --git a/docs/reference/pins/i2c-read-buffer.md b/docs/reference/pins/i2c-read-buffer.md
index d061b2ab375..2cd6cc93d8c 100644
--- a/docs/reference/pins/i2c-read-buffer.md
+++ b/docs/reference/pins/i2c-read-buffer.md
@@ -26,7 +26,7 @@ This function needs real hardware to work with. It's not supported in the simula
#### Repeated start
-A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to read data miltiple times from the device at once, it can happen without interruption. A start conditon is sent (if **repeated** is `true`) each time a buffer is read without a matching stop condition. When the last buffer is read, the stop conditon can be sent by setting **repeated** to `false`. For single reads, don't use **repeated** or set it to `false`.
+A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to read data multiple times from the device at once, it can happen without interruption. A start condition is sent (if **repeated** is `true`) each time a buffer is read without a matching stop condition. When the last buffer is read, the stop condition can be sent by setting **repeated** to `false`. For single reads, don't use **repeated** or set it to `false`.
#### Reserved addresses
diff --git a/docs/reference/pins/i2c-read-number.md b/docs/reference/pins/i2c-read-number.md
index 9211ec73813..af9d1f9877d 100644
--- a/docs/reference/pins/i2c-read-number.md
+++ b/docs/reference/pins/i2c-read-number.md
@@ -24,7 +24,7 @@ This function needs real hardware to work with. It's not supported in the simula
#### Repeated start
-A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to read multiple numbers from the device at one time, it can happen without interruption. A start conditon is sent (if **repeated** is `true`) each time a number is read without a matching stop condition. When the last number is read, the stop conditon can be sent by setting **repeated** to `false`. For single reads, don't use **repeated** or set it to `false`.
+A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to read multiple numbers from the device at one time, it can happen without interruption. A start condition is sent (if **repeated** is `true`) each time a number is read without a matching stop condition. When the last number is read, the stop condition can be sent by setting **repeated** to `false`. For single reads, don't use **repeated** or set it to `false`.
#### Reserved addresses
diff --git a/docs/reference/pins/i2c-write-buffer.md b/docs/reference/pins/i2c-write-buffer.md
index 1be771ca6e9..29796d51d16 100644
--- a/docs/reference/pins/i2c-write-buffer.md
+++ b/docs/reference/pins/i2c-write-buffer.md
@@ -26,7 +26,7 @@ This function needs real hardware to work with. It's not supported in the simula
#### Repeated start
-A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to write data multiple times from the device at once, it can happen without interruption. A start conditon is sent (if **repeated** is `true`) each time a buffer is written without a matching stop condition. When the last buffer is written, the stop conditon can be sent by setting **repeated** to `false`. For single writes, don't use **repeated** or set it to `false`.
+A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to write data multiple times from the device at once, it can happen without interruption. A start condition is sent (if **repeated** is `true`) each time a buffer is written without a matching stop condition. When the last buffer is written, the stop condition can be sent by setting **repeated** to `false`. For single writes, don't use **repeated** or set it to `false`.
#### Reserved addresses
diff --git a/docs/reference/pins/i2c-write-number.md b/docs/reference/pins/i2c-write-number.md
index 879ad59f91a..29a9530022f 100644
--- a/docs/reference/pins/i2c-write-number.md
+++ b/docs/reference/pins/i2c-write-number.md
@@ -25,7 +25,7 @@ This function needs real hardware to work with. It's not supported in the simula
#### Repeated start
-A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to write multiple numbers from the device at one time, it can happen without interruption. A start conditon is sent (if **repeated** is `true`) each time a number is written without a matching stop condition. When the last number is written, the stop conditon can be sent by setting **repeated** to `false`. For single writes, don't use **repeated** or set it to `false`.
+A [repeated start condition](http://www.i2c-bus.org/repeated-start-condition/) is set to help make sure that when you want to write multiple numbers from the device at one time, it can happen without interruption. A start condition is sent (if **repeated** is `true`) each time a number is written without a matching stop condition. When the last number is written, the stop condition can be sent by setting **repeated** to `false`. For single writes, don't use **repeated** or set it to `false`.
#### Reserved addresses
diff --git a/docs/reference/pins/touch-set-mode.md b/docs/reference/pins/touch-set-mode.md
index 7a4951e2c87..e3fb71dab1b 100644
--- a/docs/reference/pins/touch-set-mode.md
+++ b/docs/reference/pins/touch-set-mode.md
@@ -22,7 +22,7 @@ This block requires the [micro:bit V2](/device/v2) hardware. If you use this blo
### ~
-## Paramters
+## Parameters
* **target**: the pin or logo you want to set the touch mode for: ``P0``, ``P1``, ``P2``, or ``logo``.
* **mode**: the mode to use for touch detection: ``capacitive`` or ``resistive``.
diff --git a/docs/reference/serial/set-baud-rate.md b/docs/reference/serial/set-baud-rate.md
index 0c5726696bd..f47b0e8941b 100644
--- a/docs/reference/serial/set-baud-rate.md
+++ b/docs/reference/serial/set-baud-rate.md
@@ -13,7 +13,7 @@ The baud rate of the serial connection is the speed at which it will transmit da
#### Bits and bauds
Baud, or _baud rate_, is a very old measure of data speed. It originates from the early days of _teletype_ when characters of the alphabet were transmitted over telegraph wires. Signal changes on the wires are used to encode a sequence of bits that represented a character in a message. The baud rate is how many times per second these signal changes happen. When binary data (digital bits) is transmitted over an analog system, like telegraph or telephone wires, the bits are _modulated_ by
-a signal changing scheme to represent them. Sometimes mutliple bits are transmitted in a signal
+a signal changing scheme to represent them. Sometimes multiple bits are transmitted in a signal
change which makes the actual _bit rate_ faster than the baud rate.
### ~
diff --git a/docs/reference/serial/set-write-line-padding.md b/docs/reference/serial/set-write-line-padding.md
index 02e05063623..a823da26f3a 100644
--- a/docs/reference/serial/set-write-line-padding.md
+++ b/docs/reference/serial/set-write-line-padding.md
@@ -6,7 +6,7 @@ Sets the padding length for text lines written to the serial port.
serial.setWriteLinePadding(0)
```
-When text is written to the serial port as a "line", it can have an amount of padding to keep the line at a certian length. If the write line padding is set to `32` and the length of text sent with [write line](/reference/serial/write-line) is only `15` characters, then additional `space` characters are added to make the line length `32` characters.
+When text is written to the serial port as a "line", it can have an amount of padding to keep the line at a certain length. If the write line padding is set to `32` and the length of text sent with [write line](/reference/serial/write-line) is only `15` characters, then additional `space` characters are added to make the line length `32` characters.
Also, the padding length will account for the NEWLINE characters that terminate the line.
@@ -14,7 +14,7 @@ Also, the padding length will account for the NEWLINE characters that terminate
#### Serial input buffers
-Some devices that you connect a @boardname@ to with the serial port might collect the text you send to them in a buffer before they transfer it to a program that will process it. You can ensure that the connected device will respond to your messege by using padding to make the text you sent transfer out of the connected device's input buffer right away. If you know that the device connected to your @boardname@ will release the text in its input buffer when `64` characters are collected, you can set the write line padding length to `64` before you send your message.
+Some devices that you connect a @boardname@ to with the serial port might collect the text you send to them in a buffer before they transfer it to a program that will process it. You can ensure that the connected device will respond to your message by using padding to make the text you sent transfer out of the connected device's input buffer right away. If you know that the device connected to your @boardname@ will release the text in its input buffer when `64` characters are collected, you can set the write line padding length to `64` before you send your message.
### ~
@@ -29,7 +29,7 @@ In this case, the output will NOT be:
`Hello Serial!\r\n`
-Instead, it will include addtional space characters to make the line length `24` characters:
+Instead, it will include additional space characters to make the line length `24` characters:
`Hello Serial! \r\n`
diff --git a/docs/teachertool/validator-plans.json b/docs/teachertool/validator-plans.json
index 48b264bcbeb..fc584084d02 100644
--- a/docs/teachertool/validator-plans.json
+++ b/docs/teachertool/validator-plans.json
@@ -526,7 +526,7 @@
]
},
{
- ".desc": "sound level check in if statement wtih two variables set blocks",
+ ".desc": "sound level check in if statement with two variables set blocks",
"name": "soundlevel_gt_condition",
"threshold": 1,
"checks": [
diff --git a/docs/types/sound.md b/docs/types/sound.md
index fbc999a68c6..06940da9b0e 100644
--- a/docs/types/sound.md
+++ b/docs/types/sound.md
@@ -53,7 +53,7 @@ The triangle wave is has symmetrical a rising and a falling edge. It makes the s
### Square wave
-A square wave has both verical rising and falling edges with a flat section on the top and bottom. The flat sections match the volume set for the sound. Square waves are sometimes used to represent digital data and will make an "electronic" sound.
+A square wave has both vertical rising and falling edges with a flat section on the top and bottom. The flat sections match the volume set for the sound. Square waves are sometimes used to represent digital data and will make an "electronic" sound.
