C.H.I.P. – Blog. by Next Thing https://ntcblogbackup.wpengine.com News & Notes. Process & Projects. No BS. Srsly. Thu, 09 Nov 2017 03:16:07 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.5 Turn Your Pringles Can into an Amazon Echo with C.H.I.P.! https://ntcblogbackup.wpengine.com/turn-your-pringles-can-into-an-amazon-echo-with-c-h-i-p/ Tue, 15 Nov 2016 22:55:13 +0000 http://blog.nextthing.co/?p=413

A while back, Sam Machin built a $10 Amazon Echo using C.H.I.P.! To celebrate the occasion, we all sat around and ate some Pringles chips. Then it hit us! Sam’s project needed an enclosure, and that now empty Pringles can was perfect.

Wasting no time at all, we bundled up all the electronics, Dave got creative with building a nifty cardboard support structure, and we shoved everything inside. The result, Pringles Alexa! Here’s how to build one.

pringles_amazon_alexa_powered_by_chip

Parts

  • C.H.I.P.
  • Pringles can
  • Scraps of cardboard
  • 3.7V LiPo battery
  • Pringles Alexa DIP (see the end of the write-up for the schematic and full BOM)

Tools

  • Soldering iron, solder, and protective eyewear
  • Needle nose pliers
  • Tweezers
  • Hot glue gun and glue

Part 1: Alexa Setup

1. Create an Amazon Developer Account

You’ll need to create an Amazon developer account for this project. Pringles Alexa uses the Amazon Alexa services to interpret voice commands and retrieve answers. Use your laptop and create an account here.

TIP: About half the project steps use the dashboard, so you might want to bookmark it for convenience.


2. Add a New Device

voiceservice

Create a device using the dashboard wizard. Click on the Alexa tab, select Add Device and click on the Alexa Voice Service icon.


3. Name Your C.H.I.P.

dogeinfo

Fill in the Device Type ID and Display Name, with the name of your C.H.I.P., then click the [Next] button.

Each field is case and space sensitive, so pick something you will remember, and that’s easy to type multiple times. We used sandcastle, but you can use whatever name you want.


4. Create a Security Profile

dogesec
Click on the drop-down menu Select Security Profile and select Create a new profile.

Fill out the Security Profile Name with the same name you used on the previous step for Device Name. Enter in whatever you want in the Security Profile Description, then click the [Next] button.


5. Configure the Security profile and Credentials

dogeauthsec

Select Web Settings and then click on the [edit] button near the top right of the page. You need to add the IP address of your C.H.i.P. in the Allowed Origins and the Allowed Return URLs, so click on [Add Another].

In the Allowed Origins enter the following:
http://localhost:5000

Add a second line to this section with your C.H.I.P.’s IP address. You’ll likely have to boot up your C.H.I.P., determine the IP address by typing ip addr show wlan0.
http://10.0.0.100:5000

In Return URL type:
http://localhost:5000/code
http://10.0.0.100:5000/code

Note: Remember again to swap out the 10.0.0.100 for your C.H.I.P.’s IP address.

Save the settings, but keep your browser window open to the security configuration tab. You’ll need to set up some code on C.H.I.P. before you can fill out the Authorization Token field.


Note: That’s all the dashboard setup you need to do right now, but keep this page open. During the setup on C.H.I.P., you’ll need to enter in the long ID and secret strings from the webpage into a C.H.I.P. config file.


PART 2: C.H.I.P. Setup

This project was created on a C.H.I.P. running the 4.3 GUI image. Our newer, 4.4 image implements some changes that are not compatible with this code. As such, you’ll need to flash your C.H.I.P. with the 4.3 GUI. For more information on the differences between 4.3 and 4.4, please see the online C.H.I.P. docs.

1. Install the Required Software

From the Terminal program, update C.H.I.P.’s list of packages by typing the following command, then press enter.
sudo apt update

Install the prerequisite software:
sudo apt install git libasound2-dev memcached python-pip python-alsaaudio mpg321


2. Clone the Git Repository

Sam Machin created this project and hosts his code on Github. To get a copy of his code, you’ll need to use git to clone his repository.
git clone https://github.com/sammachin/AlexaCHIP


3. Install More Required Software

Change directories to AlexaCHIP.
cd AlexaCHIP

Run pip to install some more required software that is not available in the Debian repositories.
sudo pip install -r requirements.txt


4. Configure Device Security

creds

Refer to the Amazon Developer Dashboard page from Step 4 of the previous section and select Security Profile, then General. This will display all of the fields necessary for your C.H.I.P.’s credentials, except for one. Input all the fields available into your creds.py file.
mv example_creds.py creds.py

Then open then file for editing and copy in the strings.
nano creds.py


5. Authorization Token

authtoken
Run python python ./auth_web.py, which starts a webserver on C.H.I.P. used to finalize the security credentials with Amazon.

On your laptop, use a web browser to visit C.H.I.P.’s IP address at port 5000. For example, I directed my web browser to 10.0.0.100:5000. Then enter in your Amazon username and password for your AWS account and

Note: You can determine your IP add by typing ip addr show wlan0 from the command line.


5. Change the Button’s GPIO Number

412

Open setup_gpio.sh with Nano and replace the number 409 with 412. When Sam wrote this project, he chose to use C.H.I.P.’s 409, but the version we built uses 412.
nano ~/AlexaCHIP/setup_gpio.sh

main412

You also need to edit main.py and change filename = ‘/sys/class/gpio/gpio409/value’ to read filename = ‘/sys/class/gpio/gpio412/value’.
nano ~/AlexaCHIP/main.py

Once you’ve made the edit, save and quit Nano.


6. ALSA Sound Configuration

alsa

Use Nano to open the ALSA configuration file at /usr/share/alsa/alsa.conf. Find the line that says, pcm.front cards.pcm.front and change it to read pcm.front cards.pcm.default. Save your work, exit Nano, and reboot your C.H.I.P..
sudo nano /usr/share/alsa/alsa.conf
sudo reboot


7. Modify main.py

Edit your main.py script based on jitto’s modifications to main.py.

-	with open('recording.wav') as inf:
+	with open('recording.wav', 'rb') as inf:

-	data = r.content.split(boundary)
+	data = r.content.split(boundary.encode('utf-8'))

-	audio = d.split('\r\n\r\n')[1].rstrip('--')
+	audio = d.split(b'\r\n\r\n')[1]

Note: It’s really easy to incorrectly edit this line! Not only do you need to remove .rstrip(‘–‘), but you also need to add the letter b to d.split(b’\r\n\r\n’)[1].

-   with open('recording.wav', 'w') as rf:
+	with open('recording.wav', 'wb') as rf:

-	audio = ""
+	audio = b""


8. Install Python3

Install Python 3 to take advantage of the code changes jitto implemented.
sudo apt install python3-pip

Use pip3, the Python package manager, to install a few required libraries.
sudo pip3 install python3-memcached pyalsaaudio

Reboot your system.
sudo reboot


9. Run setup_gpio script by typing

Run setup_gpio.sh as root to configure the button’s GPIO pin. You’ll need to run this script each time you start PringlesAlexa.
sudo setup_gpio.sh


10. Tweaking the Volume

alsa
You may need to play around with the volume output of C.H.I.P.’s mixer to obtain clear playback. There are a few ways to do this, but the easiest is to type the following amixer command in at the command prompt.
amixer set ‘Power Amplifier’ 55%

A second option — and one that’s more visual — is to run alsamixer, which is a ncurses based front-end for controlling the onboard mixer.
alsamixer

Note: Press the ESC key to quit the mixer.


11. Run the Client Software

To start the Pringles Alexa, simply run the command below.
sudo python3 main.py

After a moment you’ll hear a voice say, “Hello!” At this point, the system is ready to rock. Simply hold down the button and start your question off by saying, “Alexa” and pose your question.


Part 3: Custom Microphone and Speaker Circuit

We built a custom DIP that integrates the microphone, amp, speaker, and button into a single board that fits snugly inside a Pringles tube. You’ll find the schematic and bill of materials below. But if you’re looking for a less DIY option, you can use a USB sound card with audio in and out. You’ll still need to wire a button to GPIO 412.

Schematic

schematic

Bill of Materials

Qty Value Device Package Parts Description
1 LED5MM LED5MM LED1 LED
1 .47uF C-USC0805 C0805 C9 CAPACITOR, American symbol
1 0.1uF C-USC0805 C0805 C10 CAPACITOR, American symbol
1 100nF C-USC0805 C0805 C3 CAPACITOR, American symbol
2 1uF C-USC0805 C0805 C6, C8 CAPACITOR, American symbol
1 2K R-US_R0805 R0805 R2 RESISTOR, American symbol
1 2X20-CHIP-HEADERS2X20-PTH-CHIP 2X20-CHIP-HEADERS 2X20CHIP-TH J1 Through hole layout with chip reference
1 3300pF C-USC0805 C0805 C4 CAPACITOR, American symbol
1 4.3K R-US_R0805 R0805 R1 RESISTOR, American symbol
3 4.7uF C-USC0805 C0805 C1, C2, C5 CAPACITOR, American symbol
1 470uF C-USC0805 C0805 C7 CAPACITOR, American symbol
1 ALCO-1571294-3 ALCO-1571294-3 ALCO-1571294-3 U3
1 ELECTRET-MIC ELECTRET-MIC AOM-4454P-4 MIC1
1 PAM8403 PAM8403 PAM8403 U2
1 R100 R-US_R0805 R0805 R3 RESISTOR, American symbol
1 SPEAKER SPEAKER SPEAKER-CDS-25148-L100 U5

chipLogo64x64

Whether you’re ordering socks or checking the weather, make sure to share how you’re using Pringles Alexa. Leave a comment below, Tweet a photo, or describe your full build on the forums. We can’t wait to hear from you!

]]>
All that Good Pre-Order Shipping Info! https://ntcblogbackup.wpengine.com/all-that-good-pre-order-shipping-info/ Thu, 16 Jun 2016 15:59:31 +0000 http://blog.nextthing.co/?p=660

Pre-orders are shipping soon and we’re just as excited as you (this post assumes that you pre-ordered and are excited).

UPDATED: For more up-to-date shipping information and estimates, please visit the NTC forum.

Pre-order shipments are scheduled to begin on June 25th!  Address confirmation emails will be sent over the next 48 hours. If for some reason you do not receive the email, you can confirm your address at track.getchip.com.

TL;DR

  • Address confirmations are necessary.
  • We’re shipping by order number, in batches over the next month.
  • Orders with PocketC.H.I.P. may be delayed slightly.
  • Shipping takes 2 weeks on average and is trackable.
  • Customers outside of the US may be subject to duties and taxes.

Now for detailed information in larger than fine print…


Address Confirmations Are Necessary

We’re only shipping to confirmed addresses because we want to be sure your pre-order gets to you. It is better to catch an address change before shipping than after. If you haven’t moved, confirmation is a breeze.


Order Number

We will ship to those who confirmed their address according to order number. Those who pre-ordered on Cyber Monday will have their orders shipped first.


Shipping in Batches

With tens of thousands of pre-orders, we’ll be shipping in small, manageable batches. Based on our recent experience fulfilling Kickstarter rewards, it may take up to 4 weeks to fulfill all of the pre-orders placed to date.

While it’s difficult to say exactly when your pre-order will ship, we can narrow it down a bit. The following are estimates based on pre-order date, and assume you confirmed your address. If your pre-order includes a PocketC.H.I.P., your shipment may not make these estimates.

  • NOV 2015 pre-orders are estimated to ship by JUN 30.
  • DEC 2015 – JAN 2016 pre-orders are estimated to ship by JUL 9.
  • FEB 2016 – APR 2016 pre-orders are estimated to ship by JUL 17
  • MAY 2016 pre-orders are estimated to ship by JUL 22.
  • JUN 2016 pre-orders are estimated to ship by JUL 25.

PocketC.H.I.P.s

The response to PocketC.H.I.P. has been nothing short of overwhelming. We’re already moving forward with another manufacturing run but the lead time for PocketC.H.I.P.’s battery grew while purchasing components, resulting in a slight delay in our production schedule.

If your pre-order includes a PocketC.H.I.P., your package may not ship until the last week of July. We recognize this is not ideal and we’ll be as transparent as we can throughout this process.


Shipping

Once your pre-order ships, you’ll be emailed a notification with a tracking number. Shipments come from our warehouse in Hong Kong. On average, Kickstarter backers in the US received their shipment two weeks from their notification.


Duties & Taxes

 

All shipments outside of the United States may be subject to additional duties and taxes. These are based on the value of the items in your pledge. Each country has a different cutoff amount. For more information, check your national government’s customs policies.


Tracking

Over the course of its journey, your shipment may appear “stuck” in one location for several days. It is still in transit, either between scanning points or moving through customs.

Once it arrives in your country, last-mile delivery is handled by your local postal service, which may provide an accurate delivery estimate.


Thanks for your enthusiasm and your patience through the shipping process. Your pre-order will be on its way in no time and it will be worth the wait.

If you have any questions, please check the NTC forums or email ahoyahoy@nextthing.co.

]]>
How I Became a Hacker Using PICO-8 on PocketC.H.I.P. https://ntcblogbackup.wpengine.com/how-my-programming-journey-began-with-free-software-pre-installed-on-a-49-gameboy/ Thu, 02 Jun 2016 18:07:01 +0000 http://blog.nextthing.co/?p=478 Playing the PICO-8 game Celeste on Mega PocketC.H.I.P.!

Playing the PICO-8 game Celeste on Mega PocketC.H.I.P.!

To be completely honest, I didn’t get PICO-8 the first time I saw it back in October of 2015. At first glance, it was difficult to see why I’d love game developer software.

Now it’s June 2016, PICO-8 ships for free on PocketC.H.I.P. and I can’t stop playing with it.

PICO-8 is a modern interpretation of the 8-bit game consoles of the 1980s. Having grown up with the SNES and the SEGA Genesis, I was game to be thrown back into my childhood. Knowing that PICO-8 provides you all the tools needed to change any aspect of any game is a cool thought, but outside of context, it can be a difficult concept to grasp. Then I became obsessed with Celeste, a 2D jumping, puzzle game, and the gaps began to fill in themselves.


Leveling Up

Celeste is difficult, but in the best way. The puzzles themselves are challenging, as is the execution necessary to complete them. It’s beautifully rendered, the sound effects are fun, and the music is still stuck in my head. It’s the kind of game that you want to be really good at.

PICO-8_5

When I started playing, I was anything but good.  I wasn’t able to make the jump on the first level (yes, the first…) so I opened the editor to explore the creative tools PICO-8 offers. Discovering the map editor, I added a few ‘bridges’ to make level one a bit more beatable. It took about a minute and a half to make the change, load the game with my change and beat the first level.

PICO-8_9

Of course, level two was difficult as well, but the experience of changing the game was a game-changer for me. In addition to playing, my brain was actively looking what I would change next.


Change Everything

PICO-8_5
Celeste looks great as a redhead, but after entering the game editor, I thought “what if she went punky and dyed her hair neon green?”

PICO-8_6

After reloading the game with the hair change, I found that when she jumps, her red ‘roots’ show. If this ‘hair trail’ wasn’t in the sprite editor, how could I change it?


No Cheat Codes, Just Source Code

The answer certainly would lie in the source code. Somewhere. To be honest I still haven’t found it. While searching, I was distracted by a handful of other lines of code, namely the line that controlled Celeste’s jump height.

PICO-8_8

Thus began an intense period of trial and error, adjusting single values in the code to see what would happen to the gameplay experience. Speed. Acceleration. Gravity. Thanks to the help from a young girl at Maker Faire, I’m now experimenting with removing entire lines. Like the line that controls the death on the spikes. Exploring the source code is now just as much fun as the game itself.


The Game Within the Game

So now Celeste represents two different games for me. One in which I try to become the world’s best Celeste player (on PocketC.H.I.P.). That crown will be hard to win. Tina has been speed running Celeste for a month now, and she is really good.

PICO-8_9

The other in which I dig through code to see what I can change. Now that my feet are wet, I’m looking to see what lessons I can transfer to the other games available. It’s a sense of discovery that I’ve not had in a long long while and I hope (and foresee) others having a similar experience. Hacking PICO-8 games is fun and an organic introduction to the way games work.


What lies ahead

splore

With the tools available, the next step is making my own game. While I’ve not had the time yet, Crunch has! Using the tutorials in the latest PICO-8 Fanzine, he was able to make a game from scratch on PocketC.H.I.P. in around 3 hours. Check out CrunchBall.

I can’t wait to play (and hack) the games the C.H.I.P.ster community creates following Crunch’s footsteps. I’ll see if I can’t get him to write briefly about his experience. You hear that Crunch?! You’ve been challenged!

]]>
C.H.I.P.s & DIPs: 5 New Community Accessory Boards https://ntcblogbackup.wpengine.com/c-h-i-p-dips-5-new-community-accessory-boards/ Thu, 19 May 2016 13:00:40 +0000 http://blog.nextthing.co/?p=496 Spinach you'll want to have!

Look closely behind the Spinach DIP and all its spinachy goodness and you’ll spot C.H.I.P.!

A few weeks ago Kolja Windeler’s Queso DIP was featured in a blog post. Queso connects to C.H.I.P. and adds four additional USB ports, plus handles power.

But Queso is not the only DIP JKW, as he’s known on the forums, is working on. He currently has five more DIPs in development! Make sure to use the forums and let JKW know if you have questions about his awesome new DIPs!

DIPs are add-on boards for C.H.I.P. that connect directly to it and expand its functionality. A good DIP design doesn’t add every possible feature all in one board, but focuses on adding one or two new features. That’s why there are so many different DIPs starting to appear on the forums –each DIP is meant to specialize.


Enough DIPs for a Party

menu

DIP Menu created by JKW

Salsa DIP brings realtime control to C.H.I.P., which is great for controlling motors and blinking lights. The awesome four-wheel drive vehicle in the video below is powered by C.H.I.P. and Salsa DIP.


Onion DIP has a built-in relay, which is great for controlling external devices and it also includes a small prototyping area for wiring up your own custom circuit. It’s a bit like the Relay DIP that Gus created for my RocketC.H.I.P. project.

(Thanks to iot_steve from the forums for pointing out that the Onion DIP does have a realtime clock.)

Onion DIP rendered in circuit design software.

Onion DIP rendered in circuit design software.


Spinach DIP is filled with 32 powerful, multicolored LEDs that are controllable directly from C.H.I.P.. The video below shows a C.H.I.P. and Spinach DIP in action, but it’s extremely bright and difficult to see the boards. Scroll to the top of the page for a more clear image of the Spinach DIP.


Guacamole DIP is still in the works, but it’s designed to take a digital audio source and convert the output to an analog signal. From the listener’s perspective, the analog signal is a much more rich, full sound compared to the digital signal.

This conversion is actually done by a specialized component known as a digital-to-analog converter or DAC for short. If you’re interested in a more detailed explanation of how a DAC works, check out this site.


Not in WiFi range? No problem. The Hummus DIP provides a wired ethernet connector for C.H.I.P.. Believe it or not, there are actually some projects where having a wired ethernet connection, not WiFi, is a must.

A good example are DIY cluster computers, where multiple boards are wired together to cooperatively perform computational tasks at very high speeds. Since each board needs to quickly communicate with the others, wired connections are the preferred data transport method.

Hummus DIP provides wired ethernet to C.H.I.P.

Hummus DIP provides wired ethernet to C.H.I.P.

Community DIPs

These DIPs are all community created, so you won’t find them anywhere but the forums. Thanks to their open source hardware design, the files and tools are available for you to make your own. If you’re looking for more info on any of the DIPs in this post, just click the included links and ask questions in the forum.

Stay current on all the DIPs by checking the community run wiki. While you’re browsing, make sure to check out the C.H.I.P.sters’ projects and hardware hacks over on Hackster.io.

]]>
Try PocketC.H.I.P. at Maker Faire Bay Area! https://ntcblogbackup.wpengine.com/try-pocketc-h-i-p-at-maker-faire-bay-area/ Tue, 17 May 2016 19:13:21 +0000 http://blog.nextthing.co/?p=536
Super-Mega PocketC.H.I.P. with Dave for scale

Super-Mega PocketC.H.I.P. with Dave for scale

Come see, use, and learn about, PocketC.H.I.P. this weekend during Maker Faire Bay Area, May 21-22 in San Mateo, CA.! This is your first change to get your hands on PocketC.H.I.P..

And don’t miss Dave’s talk, PocketC.H.I.P. or: How and Why We Made the SciFi Device from our Childhood, Sunday at 4:00 PM on the Center Stage.

Go Hands-on with PocketC.H.I.P.

map

The Faire is the first major public appearance of PocketC.H.I.P. and we can’t wait to share our work with you.

We’ll be based in Expo Hall (aka Zone 2) in our Super-Mega booth full of PocketC.H.I.P.s.

Maker Faire Hours

  • Saturday, May 21 10:00 AM – 7:00 PM
  • Sunday, May 22 10:00 AM – 6:00 PM

If you’re in the area and attending the Faire, make sure to stop by and say, “Ahoy!”

]]>
Flash your C.H.I.P.s without an Internet Connection! https://ntcblogbackup.wpengine.com/flash-your-c-h-i-p-s-without-an-internet-connection/ Tue, 10 May 2016 23:33:51 +0000 http://blog.nextthing.co/?p=527

Today we’re pleased to release a new version of the C.H.I.P. Flasher for Chrome. The Flasher now includes a way upgrade your C.H.I.P. without needing a persistent internet connection, and a new user interface. Nice work Howie and Tina!

Upgrading an Old Flasher

Great news, this should happen automatically, so just head over to the Flasher and follow the onscreen directions.

If you want to make sure you have the latest version, type in chrome://extensions/ (You’ll need to type the address in manually, since chrome:// hyperlinks do not work as you’d expect) and look for the C.H.I.P. Flasher icon. If it says 3.0.0, then you’re using the latest and greatest release.


Installing From Scratch

If you have never used our Flasher before, make sure you have the latest version of Chrome, and head to flash.getchip.com for onscreen instructions.


Using Offline Flashing

flasher_local_file

Once you have the latest version of the Flasher, browsing to flash.getchip.com will show you all of the available C.H.I.P. images, plus a new “Choose a file” button.

To get started with offline flashing, first download an image you want to store locally on your computer by clicking on the cloud with a down arrow icon. This saves a .chp file to your computer, which is just a fancy file-extension we use for C.H.I.P. flashable images.

Once the download completes, click on the “Choose a file…” icon in the Flasher and select the local image you just downloaded. The flasher will then walk you through the rest of the installation process.


Total Offline Flashing

With the Flasher extension installed and an image downloaded, you don’t need an internet connection. Rather than using the flash.getchip.com website, you can access the locally stored Chrome extension directly. This method of access is the only difference between the Offline Flashing and Totally Offline Flashing.

To use the Totally Offline Flashing method, type chrome://apps/ (again, you’ll need to type this in manually), in the location bar and press Enter.

Example of the chrome://apps window for offline flashing.

Example of the chrome://apps window for offline flashing. Your installed apps may vary.

Click on the C.H.I.P. Flasher icon and then follow the onscreen instructions.


Share Your Experience with Us

This new Flasher version opens the door for exciting new features we can’t wait to release. For a full list of changes in the latest Flasher, see Howie’s forum post, and make sure to share with us you experiences using the software.

]]>
Add 4 More USB Ports to C.H.I.P. Thanks to Open Source Hardware https://ntcblogbackup.wpengine.com/add-4-more-usb-ports-to-c-h-i-p-thanks-to-open-source-hardware/ Thu, 28 Apr 2016 13:00:59 +0000 http://blog.nextthing.co/?p=481 4

C.H.I.P. smothered in Queso DIP Photograph by JKW

C.H.I.P.ster Kolja Windeler (JKW on the forums) built an accessory board called Queso DIP that’s basically like attaching a powered USB hub directly to C.H.I.P.

The Queso DIP connects directly to C.H.I.P.’s header pins and provides 4 additional USB ports, plus it can power attached USB device and C.H.I.P.. This means you can plug-in anything from a webcam to USB hard drive and the Queso DIP will take care of the power management.

JKW also built Queso to handle higher input voltages (7-28V DC) than C.H.I.P. can normally use, and the DIP regulates these down to a USB-friendly level. In fact, he’s even used an old laptop charger to power Queso, a couple USB devices, and C.H.I.P.. Something you’d never want to do directly to C.H.I.P., but Queso takes care of it.

Of course, before you connect any power supply to Queso or C.H.I.P, you should consult the specs of the DIP, power supply, and C.H.I.P. closely. And if you’re not confident with what you find, don’t be shy about asking questions in our forums. Electricity is no joke!

Queso DIP: lots of power, lots of ports

Queso DIP: lots of power, lots of ports

Speaking of specs, JKW’s design files are open source and available on his github page. You’ll also find other resources like the list of parts (aka Bill of Materials) you need to build one of these boards. Or, if sourcing parts and soldering isn’t your thing, check the forums thread where JKW occasionally takes group orders.

Open Source Hardware in Action

Though we at NTC don’t have anything to do with the design or manufacturing of the Queso DIP directly, we’re huge fans and excited that JKW is creating accessories for C.H.I.P.! Community created hardware is a great result of C.H.I.P.’s open source hardware.

We’re committed to open source hardware and software because it encourages, enables, and fosters community participation and ultimately makes us all better off.

]]>
C.H.I.P. Does Embedded Linux Conference Things with the Free Electrons Team https://ntcblogbackup.wpengine.com/c-h-i-p-does-embedded-linux-conference-things-with-the-free-electrons-team/ Thu, 07 Apr 2016 17:36:05 +0000 http://blog.nextthing.co/?p=428 Maxime (left) and Boris (right) helping Dr. K. scheme his future Linux presentation

Maxime (left) and Boris (right) helping Dr. K. scheme his future Linux presentation

This week in San Diego, Richard and Dr. K. joined up with Maxime, Antoine, and Boris from Free Electrons for the Linux Foundation’s Embedded Linux Conference.

The conference offers Linux developers who work on embedded systems — basically any device that isn’t a laptop, desktop, or large server– the chance to learn about new technologies, present their latest research, and to finally meet each other in person.

With the focus on embedded devices, this was the perfect place for the Free Electrons team to update other developers on their work with us on C.H.I.P. and PocketC.H.I.P., and ultimately get our code into mainline Linux — a slow and steady process.

For developers and users alike having C.H.I.P. in mainline Linux means there is no need to patch or customize the Linux kernel to get Next Thing Co. hardware working properly. It means the code is already in the official Linux kernel. This saves everyone from the huge frustration of configuring the device, plus it’s the responsible thing for us to do as we build a Linux-powered product, and we’re working hard to make this a reality.

While Richard and Dr. K. were busy demoing C.H.I.P., PocketC.H.I.P., and PockulusC.H.I.P., the Free Electrons team members were giving C.H.I.P. specific presentations covering accessory boards, flash storage, and 3D acceleration. Currently, only the slides are available from the presentations, but the post will be updated as soon as the video recordings are released.

NTC+FE

Using DT Overlays to Support the C.H.I.P.’s CapesDIPs:

Antoine Ténart thoroughly explained how C.H.I.P. uses Device Tree to identify attached accessories and load any necessary drivers to get it working. It removes the big hassle for users to try to figure out how to configure attached devices.

If you’re thinking of developing hardware to attach to C.H.I.P., or simply want to know how we get C.H.I.P. to recognize when a PocketC.H.I.P. is attached to it, then Antonie’s slides are necessary reading.

Expect more from us about how to use Device Tree with custom DIPs in the near future, and while you wait take a look at the community DIPs already in the works.


Modernizing the NAND Framework: The Big Picture

Boris Brezillon took a deep dive into the inner workings of NAND flash storage. It’s a very, very low-level discussion of the flash storage found on C.H.I.P., but it’s vital for us to understand these details so we can provide reliable, stable storage.


Bringing display and 3D to the C.H.I.P Computer

Maxime Ripard rounded out the presentations discussing his work on C.H.I.P. and PocketC.H.I.P. 3D acceleration and the current state of other project working to get Mali400 — the graphics hardware on C.H.I.P. — working in Linux.


The guys were even able to track down Linus Torvalds the founder of Linux. Thanks for OS!

Dr. K. sporting his custom tote with Linus Torvalds and Richard

Dr. K. sporting his custom tote with Linus Torvalds and Richard

]]>
PockulusC.H.I.P. or: How an April Fool’s Joke Turned PocketC.H.I.P. into the Most Affordable VR Headset in the World! https://ntcblogbackup.wpengine.com/pockulusc-h-i-p-or-how-an-april-fools-joke-turned-pocketc-h-i-p-into-the-most-affordable-vr-headset-in-the-world/ https://ntcblogbackup.wpengine.com/pockulusc-h-i-p-or-how-an-april-fools-joke-turned-pocketc-h-i-p-into-the-most-affordable-vr-headset-in-the-world/#comments Fri, 01 Apr 2016 08:24:02 +0000 http://blog.nextthing.co/?p=418 Some assembly required

Some assembly required

PockulusC.H.I.P. started as a joke. But then we actually got it working. That’s right, the most affordable standalone virtual reality headset in the world started as a joke and it works!

PockulusC.H.I.P. is an example of just how flexible and extensible PocketC.H.I.P. is. In addition to the things we’ve already shown you with PockulusC.H.I.P. –playing games and making music — we designed PocketC.H.I.P. to be built upon, hacked, and extended. Our 3D printable Pockulus bezel is just the first after-market modification for PocketC.H.I.P., with many more in development.

All it takes to turn PocketC.H.I.P. into PockulusC.H.I.P. is a 3D printable VR bezel. It’s outfitted with two lenses (to give you the perfect 3D perspective) that compression fit into the PocketC.H.I.P. enclosure. Just strap PockulusC.H.I.P. to your face and experience the new reality!

Thomas looked at how other inexpensive VR devices integrate their electronics with headsets. Finding a design close to PocketC.H.I.P.’s viewing angle, he adapted the bezel to fit the PocketC.H.I.P. screen size and snap-fit tabs.

VRi

Printing the VR bezel takes about 20 hours, though your print time will vary based on printer and slicer settings. Dial up the resolution and print slowly, since this hunk of extruded plastic will be pressed against your face. Go for a comfort fit by adding foam padding for hours of painless, uninterrupted play.

Print your own today!

Print your own PockulusC.H.I.P. VR Bezel today!

But a solid case design is only half of PockulusC.H.I.P.’s magic. Mednafen, the multi-console emulation software, takes PockulusC.H.I.P. out of this world. Plus, it has support for our favorite VR platform. Yes, that’s right, Virtual Boy!

Crunch_Pocuolus

At the command line, simply type the following:
sudo apt-get update && sudo apt-get install mednafen

Track down some homebrew ROMs, and then launch Mednafen with this monstrous single-line command.

mednafen -video.fs 1-video.driver sdl -vb.default_color 0xff0000 -vb.3dmode sidebyside -vb.xres 470 -vb.yres 272 NAME_OF_ROM

Of course, make sure to replace NAME_OF_ROM with the path of the ROM file you want to play.

PockulusC.H.I.P.

PockulusC.H.I.P.

We’re so excited to get PocketC.H.I.P. in your hands and see what the you can do with it. Tell us how you’re planning to modify PocketC.H.I.P. on the forums or tweet us @nextthingco!

]]>
https://ntcblogbackup.wpengine.com/pockulusc-h-i-p-or-how-an-april-fools-joke-turned-pocketc-h-i-p-into-the-most-affordable-vr-headset-in-the-world/feed/ 3
Secure-A-C.H.I.P. https://ntcblogbackup.wpengine.com/secure-a-chip/ Tue, 22 Mar 2016 13:00:35 +0000 http://blog.nextthing.co/?p=308 Security is a big deal. Everyday brings a new story about how hackers are creating networks of bots and stealing information and identities.

It’s easy to dive into using C.H.I.P. without thinking about this stuff, so we want to provide some guidelines on how to make your C.H.I.P. secure. This is especially important if you’re working with C.H.I.P. remotely on a network. You’ll not only want a secure C.H.I.P., but you’ll want the process as streamlined as possible.

Here’s some tips on making it easy to log into your C.H.I.P., make logging in more secure, and make your C.H.I.P. unique so you know it’s yours.


There are three parts to this:

  • Change the default password
  • Change the host name
  • Create a password-free login between one computer and your C.H.I.P.

That last one may not sound very secure, but it’s actually more secure than typing in a password each time, and allows for automated management of your C.H.I.P.. Super slick!


CHANGE YOUR PASSWORD

passwd

It’s so easy, but you probably haven’t done it. From a terminal on C.H.I.P., simply type the command below and follow the prompts.
passwd

Now enter your new password into your password manager. What? You don’t have one? You should – that way, you can have more secure passwords and store them securely. Just research “password manager” in your favorite search engine for your operating system, and come back here when you are done.

Note: Also, make sure to change your root password as well!


CHANGE YOUR C.H.I.P. NAME

hostname
Every C.H.I.P. ships with a default computer name of “chip.” This has little influence on security, but if you are working with more than one C.H.I.P., it’s easy to get lost if they all have the same name. If you have more than one C.H.I.P. on the network and you type ssh chip@chip.local, how do you know where you will end up?

You don’t, really. So the first thing I do with a new C.H.I.P. is give it a new hostname. There’s two places you need need to change the word chip to your new name:
sudo nano /etc/hostname

and

sudo nano /etc/hosts

If you changed chip to totopo you can now ssh chip@totopo.local. If you reboot, you’ll see a new prompt that looks like: chip@totopo:~$.


FREE YOUR MIND AND YOUR PASS(WORD) WILL FOLLOW

ssh-keygen
When I’m working with a C.H.I.P. remotely, it gets irritating to constantly enter my password, especially if it’s a long, weird, secure password. I also like to sometimes run things like an automated update to several computers at once with rsync, and I don’t want to have to enter in a password. Good thing there’s a cure for my ill!

In Linux or OS X, open a terminal and generate an SSH keypair:
ssh-keygen -t rsa

Hit return for all questions, do not enter a password when asked.


Moving On…

Copy this key to C.H.I.P.’s root directory with scp:
scp ~/.ssh/id_rsa.pub chip@totopo.local:~/

Login to C.H.I.P.:
ssh chip@totopo.local
and enter your password to login.

Note: If you haven’t setup zeroconfig — that’s what enables you to use .local addresses — check out out the docs for instructions.

You may need to create a .ssh directory on C.H.I.P.:
mkdir .ssh

Now add the public key from your computer to C.H.I.P.’s log of authorized keys:
cat id_rsa.pub >> .ssh/authorized_keys && rm id_rsa.pub

Finally, you have to set up your permissions on C.H.I.P. so this key can be accessed when you try to log in:
chmod go-w ~ && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys


Windows Does It Differently

For Windows, the process is more involved, since the OS does not have built-in support for generating a key. If you are using PuTTY, a free SSH client, and don’t have PuTTYgen already, you can download it here.

Launch the program, and then click the Generate button. The program generates the keys for you. Hit return for all questions, do not enter a password when asked.

Save the key by clicking the ‘Save Private key’ to a file named “id_rsa.pub” to PuTTY’s keys folder (this is setup in PuTTY’s configuration panel in Connection/SSH/Auth). You will need to copy this file to C.H.I.P. with pscp (PuTTY scp). If you are using the Chrome terminal emulator Secure Shell or cygwin for your Windows terminal needs, the process is more or less the same as it is for Linux and Mac


YOU DID IT!

Your C.H.I.P. is now secure and even easier to use!

Got more security questions or solutions? Head over to the forums to ask and share with the community!

]]>